Add privileges checks for system-level actions.
HEAD main1 files changed, 18 insertions, 0 deletions
diff --git a/gn_libs/privileges/system.py b/gn_libs/privileges/system.py
new file mode 100644
index 0000000..85e62f9
--- /dev/null
+++ b/gn_libs/privileges/system.py
@@ -0,0 +1,18 @@
+"""Checks for privileges for system-level actions."""
+import logging
+from functools import partial
+
+from .authspec import check
+
+
+logger = logging.getLogger(__name__)
+
+
+def can_link_data(system_privileges: tuple[str, ...]) -> bool:
+ """Check whether user is allowed to link data to user groups."""
+ return check("(AND system:data:link-to-group)", system_privileges)
+
+
+def can_masquerade(system_privileges: tuple[str, ...]) -> bool:
+ """Check whether the user is allowed to masquerade as a different user."""
+ return check("(AND system:user:masquerade)", system_privileges)
|