summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/shared/struct/shr_db_user.erl')
-rw-r--r-- | src/shared/struct/shr_db_user.erl | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/shared/struct/shr_db_user.erl b/src/shared/struct/shr_db_user.erl index 01840e2..991fb64 100644 --- a/src/shared/struct/shr_db_user.erl +++ b/src/shared/struct/shr_db_user.erl @@ -4,8 +4,8 @@ %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -type db_named_user() :: {'user', any()}. --type db_user() :: (db_named_user() | 'admin' | 'any'). --type db_permission() :: (list(db_named_user()) | 'any'). +-type db_user() :: (db_named_user() | 'admin' | 'any' | 'janitor'). +-type db_permission() :: (list(db_named_user()) | 'any' | 'janitor'). -type user() :: db_user(). @@ -27,5 +27,9 @@ -spec can_access (permission(), user()) -> boolean(). can_access (_, admin) -> true; can_access (any, _) -> true; -can_access (List, {'user', User}) -> - lists:member(User, List). +can_access (janitor, janitor) -> true; +can_access (List, {user, User}) -> + lists:member({user, User}, List); +can_access (janitor, janitor) -> true; +can_access (List, janitor) -> + lists:member(janitor, List). |