2020 SubjectData ,
2121)
2222from openedx_authz .api .permissions import get_permission_from_policy
23- from openedx_authz .engine .enforcer import enforcer
23+ from openedx_authz .engine .enforcer import AuthzEnforcer
2424
2525__all__ = [
2626 "get_permissions_for_single_role" ,
@@ -59,6 +59,7 @@ def get_permissions_for_single_role(
5959 Returns:
6060 list[PermissionData]: A list of PermissionData objects associated with the given role.
6161 """
62+ enforcer = AuthzEnforcer .get_enforcer ()
6263 policies = enforcer .get_implicit_permissions_for_user (role .namespaced_key )
6364 return [get_permission_from_policy (policy ) for policy in policies ]
6465
@@ -114,6 +115,7 @@ def get_permissions_for_active_roles_in_scope(
114115 dict[str, list[PermissionData]]: A dictionary mapping the role external_key to its
115116 permissions and scopes.
116117 """
118+ enforcer = AuthzEnforcer .get_enforcer ()
117119 enforcer .load_policy ()
118120 filtered_policy = enforcer .get_filtered_grouping_policy (
119121 GroupingPolicyIndex .SCOPE .value , scope .namespaced_key
@@ -146,6 +148,7 @@ def get_role_definitions_in_scope(scope: ScopeData) -> list[RoleData]:
146148 Returns:
147149 list[Role]: A list of roles.
148150 """
151+ enforcer = AuthzEnforcer .get_enforcer ()
149152 enforcer .load_policy ()
150153 policy_filtered = enforcer .get_filtered_policy (
151154 PolicyIndex .SCOPE .value , scope .namespaced_key
@@ -180,7 +183,7 @@ def get_all_roles_names() -> list[str]:
180183 Returns:
181184 list[str]: A list of role names.
182185 """
183- return enforcer .get_all_subjects ()
186+ return AuthzEnforcer . get_enforcer () .get_all_subjects ()
184187
185188
186189def get_all_roles_in_scope (scope : ScopeData ) -> list [list [str ]]:
@@ -192,6 +195,7 @@ def get_all_roles_in_scope(scope: ScopeData) -> list[list[str]]:
192195 Returns:
193196 list[list[str]]: A list of policies in the specified scope.
194197 """
198+ enforcer = AuthzEnforcer .get_enforcer ()
195199 enforcer .load_policy ()
196200 return enforcer .get_filtered_grouping_policy (
197201 GroupingPolicyIndex .SCOPE .value , scope .namespaced_key
@@ -211,6 +215,7 @@ def assign_role_to_subject_in_scope(
211215 Returns:
212216 bool: True if the role was assigned successfully, False otherwise.
213217 """
218+ enforcer = AuthzEnforcer .get_enforcer ()
214219 enforcer .load_policy ()
215220 return enforcer .add_role_for_user_in_domain (
216221 subject .namespaced_key ,
@@ -245,6 +250,7 @@ def unassign_role_from_subject_in_scope(
245250 Returns:
246251 bool: True if the role was unassigned successfully, False otherwise.
247252 """
253+ enforcer = AuthzEnforcer .get_enforcer ()
248254 enforcer .load_policy ()
249255 return enforcer .delete_roles_for_user_in_domain (
250256 subject .namespaced_key , role .namespaced_key , scope .namespaced_key
@@ -274,6 +280,7 @@ def get_subject_role_assignments(subject: SubjectData) -> list[RoleAssignmentDat
274280 Returns:
275281 list[RoleAssignmentData]: A list of role assignments for the subject.
276282 """
283+ enforcer = AuthzEnforcer .get_enforcer ()
277284 role_assignments = []
278285 for policy in enforcer .get_filtered_grouping_policy (
279286 GroupingPolicyIndex .SUBJECT .value , subject .namespaced_key
@@ -303,6 +310,7 @@ def get_subject_role_assignments_in_scope(
303310 Returns:
304311 list[RoleAssignmentData]: A list of role assignments for the subject in the scope.
305312 """
313+ enforcer = AuthzEnforcer .get_enforcer ()
306314 enforcer .load_policy ()
307315 # TODO: we still need to get the remaining data for the role like email, etc
308316 role_assignments = []
@@ -337,6 +345,7 @@ def get_subject_role_assignments_for_role_in_scope(
337345 Returns:
338346 list[RoleAssignmentData]: A list of subjects assigned to the specified role in the specified scope.
339347 """
348+ enforcer = AuthzEnforcer .get_enforcer ()
340349 role_assignments = []
341350 for subject in enforcer .get_users_for_role_in_domain (
342351 role .namespaced_key , scope .namespaced_key
@@ -402,6 +411,7 @@ def get_subjects_for_role(role: RoleData) -> list[SubjectData]:
402411 Returns:
403412 list[SubjectData]: A list of subjects assigned to the specified role.
404413 """
414+ enforcer = AuthzEnforcer .get_enforcer ()
405415 enforcer .load_policy ()
406416 policies = enforcer .get_filtered_grouping_policy (GroupingPolicyIndex .ROLE .value , role .namespaced_key )
407417 return [SubjectData (namespaced_key = policy [GroupingPolicyIndex .SUBJECT .value ]) for policy in policies ]
0 commit comments