about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBonfaceKilz2021-10-15 08:50:26 +0300
committerBonfaceKilz2021-10-25 14:00:14 +0300
commit3a1db0b113a6ab32926cf6070e7cc89459f83041 (patch)
treefcd632735dcdb07aa34997e6bdbd7c0439b7080b
parent6195ad475cddce2007b125b856829cbb41defd30 (diff)
downloadgenenetwork2-3a1db0b113a6ab32926cf6070e7cc89459f83041.tar.gz
Add immutable data structures for admin and data access roles
-rw-r--r--wqflask/wqflask/resource_manager.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/wqflask/wqflask/resource_manager.py b/wqflask/wqflask/resource_manager.py
index 330600ed..7f4718f0 100644
--- a/wqflask/wqflask/resource_manager.py
+++ b/wqflask/wqflask/resource_manager.py
@@ -2,7 +2,7 @@ import redis
 import json
 import functools
 
-from enum import Enum
+from enum import Enum, unique
 
 
 
@@ -23,8 +23,18 @@ class OrderedEnum(Enum):
         return NotImplemented
 
 
+@unique
+class DataRole(OrderedEnum):
+    NO_ACCESS = "no-access"
+    VIEW = "view"
+    EDIT = "edit"
 
 
+@unique
+class AdminRole(OrderedEnum):
+    NOT_ADMIN = "not-admin"
+    EDIT_ACCESS = "edit-access"
+    EDIT_ADMINS = "edit-admins"
 
 def get_user_membership(conn: redis.Redis, user_id: str,
                         group_id: str) -> Dict: