From 78c54eed593e1ddd6fb31745e101b4d9a1d2647d Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Wed, 22 Apr 2026 11:42:47 -0500 Subject: Add privileges checks for system-level actions. --- gn_libs/privileges/system.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 gn_libs/privileges/system.py 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) -- cgit 1.4.1