From 02b9a68981e15f1c8a976b5ddd36431d4c88b971 Mon Sep 17 00:00:00 2001 From: Fabian Wilkens Date: Sun, 14 Mar 2021 18:51:33 +0100 Subject: [PATCH] Update permission system --- manifest.json | 2 +- scripts/install | 9 +++++---- scripts/upgrade | 26 +++++--------------------- 3 files changed, 11 insertions(+), 26 deletions(-) diff --git a/manifest.json b/manifest.json index 0b17e55..75b64c0 100644 --- a/manifest.json +++ b/manifest.json @@ -13,7 +13,7 @@ "email": "46000361+FabianWilkens@users.noreply.github.com" }, "requirements": { - "yunohost": ">= 4.1.0" + "yunohost": ">= 4.1.2" }, "multi_instance": true, "services": [ diff --git a/scripts/install b/scripts/install index 63ac027..2b55862 100755 --- a/scripts/install +++ b/scripts/install @@ -52,7 +52,6 @@ ynh_script_progression --message="Storing installation settings..." --weight=3 ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=is_public --value=$is_public ynh_app_setting_set --app=$app --key=access_domain --value=$access_domain ynh_app_setting_set --app=$app --key=mail --value=$mail redis_db=$(ynh_redis_get_free_db) @@ -270,11 +269,13 @@ ynh_add_fail2ban_config --use_template --others_var="\ # SETUP SSOWAT #================================================= ynh_script_progression --message="Configuring SSOwat..." --weight=3 -# Make app public if necessary or protect it + +# Make app public if necessary if [ $is_public -eq 1 ] then - # Create the visitors permission if needed - ynh_permission_update --permission "main" --add "visitors" --remove "all_users" + # Everyone can access the app. + # The "main" permission is automatically created before the install script. + ynh_permission_update --permission="main" --add="visitors" --remove="all_users" fi #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 780a40d..c849af8 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -20,7 +20,6 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) -is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name @@ -63,13 +62,11 @@ ynh_abort_if_errors #================================================= ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 -# Fix is_public as a boolean value -if [ "$is_public" = "Yes" ]; then - ynh_app_setting_set --app=$app --key=is_public --value=1 - is_public=1 -elif [ "$is_public" = "No" ]; then - ynh_app_setting_set --app=$app --key=is_public --value=0 - is_public=0 +# Cleaning legacy permissions +if ynh_legacy_permissions_exists; then + ynh_legacy_permissions_delete_all + + ynh_app_setting_delete --app=$app --key=is_public fi # If db_name doesn't exist, create it @@ -365,19 +362,6 @@ ynh_add_fail2ban_config --use_template --others_var="\ path_url \ " -#================================================= -# SETUP SSOWAT -#================================================= -ynh_script_progression --message="Upgrading SSOwat configuration..." --weight=1 -# Make app public if necessary or protect it -if [ $is_public -eq 1 ] -then - # Create the visitors permission if needed - if ! ynh_permission_exists --permission "main"; then - ynh_permission_create --permission "main" --allowed "visitors" - fi -fi - #================================================= # START SYSTEMD SERVICE #=================================================