mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge pull request #840 from kay0u/permissions-helpers
[enh] Improve permission helpers
This commit is contained in:
commit
5fbf567448
1 changed files with 19 additions and 1 deletions
|
@ -257,6 +257,7 @@ ynh_webpath_register () {
|
||||||
# re:/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$
|
# re:/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$
|
||||||
# re:domain.tld/app/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$
|
# re:domain.tld/app/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$
|
||||||
#
|
#
|
||||||
|
# Requires YunoHost version 3.7.0 or higher.
|
||||||
ynh_permission_create() {
|
ynh_permission_create() {
|
||||||
declare -Ar args_array=( [p]=permission= [u]=url= [a]=allowed= )
|
declare -Ar args_array=( [p]=permission= [u]=url= [a]=allowed= )
|
||||||
local permission
|
local permission
|
||||||
|
@ -284,6 +285,7 @@ ynh_permission_create() {
|
||||||
# usage: ynh_permission_delete --permission "permission"
|
# usage: ynh_permission_delete --permission "permission"
|
||||||
# | arg: permission - the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
|
# | arg: permission - the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
|
||||||
#
|
#
|
||||||
|
# Requires YunoHost version 3.7.0 or higher.
|
||||||
ynh_permission_delete() {
|
ynh_permission_delete() {
|
||||||
declare -Ar args_array=( [p]=permission= )
|
declare -Ar args_array=( [p]=permission= )
|
||||||
local permission
|
local permission
|
||||||
|
@ -292,12 +294,27 @@ ynh_permission_delete() {
|
||||||
yunohost tools shell -c "from yunohost.permission import permission_delete; permission_delete('$app.$permission', sync_perm=False)"
|
yunohost tools shell -c "from yunohost.permission import permission_delete; permission_delete('$app.$permission', sync_perm=False)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Check if a permission exists
|
||||||
|
#
|
||||||
|
# usage: ynh_permission_exists --permission=permission
|
||||||
|
# | arg: -p, --permission - the permission to check
|
||||||
|
#
|
||||||
|
# Requires YunoHost version 3.7.0 or higher.
|
||||||
|
ynh_permission_exists() {
|
||||||
|
declare -Ar args_array=( [p]=permission= )
|
||||||
|
local permission
|
||||||
|
ynh_handle_getopts_args "$@"
|
||||||
|
|
||||||
|
yunohost user permission list -s | grep -w -q "$app.$permission"
|
||||||
|
}
|
||||||
|
|
||||||
# Redefine the url associated to a permission
|
# Redefine the url associated to a permission
|
||||||
#
|
#
|
||||||
# usage: ynh_permission_url --permission "permission" --url "url"
|
# usage: ynh_permission_url --permission "permission" --url "url"
|
||||||
# | arg: permission - the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
|
# | arg: permission - the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
|
||||||
# | arg: url - (optional) URL for which access will be allowed/forbidden
|
# | arg: url - (optional) URL for which access will be allowed/forbidden
|
||||||
#
|
#
|
||||||
|
# Requires YunoHost version 3.7.0 or higher.
|
||||||
ynh_permission_url() {
|
ynh_permission_url() {
|
||||||
declare -Ar args_array=([p]=permission= [u]=url=)
|
declare -Ar args_array=([p]=permission= [u]=url=)
|
||||||
local permission
|
local permission
|
||||||
|
@ -322,6 +339,7 @@ ynh_permission_url() {
|
||||||
# | arg: remove - the list of group or users to remove from the permission
|
# | arg: remove - the list of group or users to remove from the permission
|
||||||
#
|
#
|
||||||
# example: ynh_permission_update --permission admin --add samdoe --remove all_users
|
# example: ynh_permission_update --permission admin --add samdoe --remove all_users
|
||||||
|
# Requires YunoHost version 3.7.0 or higher.
|
||||||
ynh_permission_update() {
|
ynh_permission_update() {
|
||||||
declare -Ar args_array=( [p]=permission= [a]=add= [r]=remove= )
|
declare -Ar args_array=( [p]=permission= [a]=add= [r]=remove= )
|
||||||
local permission
|
local permission
|
||||||
|
|
Loading…
Add table
Reference in a new issue