Coverage for core/permissions.py: 92.86%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-09-03 15:30 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-09-03 15:30 +0000
1from enum import Enum
4class Permission(Enum):
5 """Attributes for roles"""
7 # User management attributes
8 VIEW_USERS = ("view-users", "system-management", "user-management")
9 MANAGE_USERS = ("manage-users", "system-management", "user-management")
11 # Role management attributes
12 VIEW_ROLES = ("view-roles", "system-management", "role-management")
13 MANAGE_ROLES = ("manage-roles", "system-management", "role-management")
15 def __init__(
16 self,
17 value: str,
18 group: str | None = None,
19 category: str | None = None,
20 ):
21 self._value_ = value
22 self.group = group
23 self.category = category
25 def __str__(self) -> str:
26 """Return string value of Permission.VIEW_USERS"""
27 return self.value
30def get_attributes() -> list[dict[str, str]]:
31 """Get default role attributes configuration"""
32 return [
33 {
34 "name": permission.value,
35 "group": getattr(permission, "group", None),
36 "category": getattr(permission, "category", None),
37 }
38 for permission in Permission
39 ]