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

1from enum import Enum 

2 

3 

4class Permission(Enum): 

5 """Attributes for roles""" 

6 

7 # User management attributes 

8 VIEW_USERS = ("view-users", "system-management", "user-management") 

9 MANAGE_USERS = ("manage-users", "system-management", "user-management") 

10 

11 # Role management attributes 

12 VIEW_ROLES = ("view-roles", "system-management", "role-management") 

13 MANAGE_ROLES = ("manage-roles", "system-management", "role-management") 

14 

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 

24 

25 def __str__(self) -> str: 

26 """Return string value of Permission.VIEW_USERS""" 

27 return self.value 

28 

29 

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 ]