diff --git a/src/govoplan_core/security/module_permissions.py b/src/govoplan_core/security/module_permissions.py index af2db63..0acbbbc 100644 --- a/src/govoplan_core/security/module_permissions.py +++ b/src/govoplan_core/security/module_permissions.py @@ -37,6 +37,7 @@ LEGACY_TO_MODULE_SCOPES: dict[str, str] = { "system:access:read": "access:system_role:read", "system:access:assign": "access:system_role:assign", "system:audit:read": "access:audit:read", + "system:audit:evidence:export": "audit:system_evidence:export", "system:settings:read": "access:system_setting:read", "system:settings:write": "access:system_setting:write", "system:maintenance:access": "access:maintenance:access", diff --git a/tests/test_module_system.py b/tests/test_module_system.py index 1b1fbff..6042db0 100644 --- a/tests/test_module_system.py +++ b/tests/test_module_system.py @@ -342,7 +342,25 @@ class ModuleSystemTests(unittest.TestCase): self.assertTrue(scopes_grant_compatible(["admin:users:read"], "access:membership:read")) self.assertTrue(scopes_grant_compatible(["access:tenant:read"], "system:tenants:read")) self.assertTrue(scopes_grant_compatible(["system:*"], "access:tenant:read")) + self.assertTrue( + scopes_grant_compatible( + ["system:*"], + "audit:system_evidence:export", + ) + ) + self.assertTrue( + scopes_grant_compatible( + ["system:audit:evidence:export"], + "audit:system_evidence:export", + ) + ) self.assertFalse(scopes_grant_compatible(["tenant:*"], "system:tenants:read")) + self.assertFalse( + scopes_grant_compatible( + ["tenant:*"], + "audit:system_evidence:export", + ) + ) self.assertFalse(scopes_grant_compatible(["tenant:*"], "access:tenant:read")) def test_core_webui_retired_legacy_admin_api_surface(self) -> None: diff --git a/webui/src/utils/permissions.ts b/webui/src/utils/permissions.ts index e42849d..843d741 100644 --- a/webui/src/utils/permissions.ts +++ b/webui/src/utils/permissions.ts @@ -32,6 +32,7 @@ const legacyToModuleScopes: Record = { "system:access:read": "access:system_role:read", "system:access:assign": "access:system_role:assign", "system:audit:read": "access:audit:read", + "system:audit:evidence:export": "audit:system_evidence:export", "system:settings:read": "access:system_setting:read", "system:settings:write": "access:system_setting:write", "system:maintenance:access": "access:maintenance:access",