2222from openedx_authz .api .permissions import get_permission_from_policy
2323from openedx_authz .engine .enforcer import AuthzEnforcer
2424
25- enforcer = AuthzEnforcer .get_enforcer ()
2625
2726__all__ = [
2827 "get_permissions_for_single_role" ,
@@ -61,7 +60,7 @@ def get_permissions_for_single_role(
6160 Returns:
6261 list[PermissionData]: A list of PermissionData objects associated with the given role.
6362 """
64- policies = enforcer .get_implicit_permissions_for_user (role .namespaced_key )
63+ policies = AuthzEnforcer . get_enforcer () .get_implicit_permissions_for_user (role .namespaced_key )
6564 return [get_permission_from_policy (policy ) for policy in policies ]
6665
6766
@@ -116,8 +115,7 @@ def get_permissions_for_active_roles_in_scope(
116115 dict[str, list[PermissionData]]: A dictionary mapping the role external_key to its
117116 permissions and scopes.
118117 """
119- enforcer .load_policy ()
120- filtered_policy = enforcer .get_filtered_grouping_policy (
118+ filtered_policy = AuthzEnforcer .get_enforcer ().get_filtered_grouping_policy (
121119 GroupingPolicyIndex .SCOPE .value , scope .namespaced_key
122120 )
123121
@@ -148,8 +146,7 @@ def get_role_definitions_in_scope(scope: ScopeData) -> list[RoleData]:
148146 Returns:
149147 list[Role]: A list of roles.
150148 """
151- enforcer .load_policy ()
152- policy_filtered = enforcer .get_filtered_policy (
149+ policy_filtered = AuthzEnforcer .get_enforcer ().get_filtered_policy (
153150 PolicyIndex .SCOPE .value , scope .namespaced_key
154151 )
155152
@@ -182,7 +179,7 @@ def get_all_roles_names() -> list[str]:
182179 Returns:
183180 list[str]: A list of role names.
184181 """
185- return enforcer .get_all_subjects ()
182+ return AuthzEnforcer . get_enforcer () .get_all_subjects ()
186183
187184
188185def get_all_roles_in_scope (scope : ScopeData ) -> list [list [str ]]:
@@ -194,8 +191,7 @@ def get_all_roles_in_scope(scope: ScopeData) -> list[list[str]]:
194191 Returns:
195192 list[list[str]]: A list of policies in the specified scope.
196193 """
197- enforcer .load_policy ()
198- return enforcer .get_filtered_grouping_policy (
194+ return AuthzEnforcer .get_enforcer ().get_filtered_grouping_policy (
199195 GroupingPolicyIndex .SCOPE .value , scope .namespaced_key
200196 )
201197
@@ -213,8 +209,7 @@ def assign_role_to_subject_in_scope(
213209 Returns:
214210 bool: True if the role was assigned successfully, False otherwise.
215211 """
216- enforcer .load_policy ()
217- return enforcer .add_role_for_user_in_domain (
212+ AuthzEnforcer .get_enforcer ().add_role_for_user_in_domain (
218213 subject .namespaced_key ,
219214 role .namespaced_key ,
220215 scope .namespaced_key ,
@@ -247,8 +242,7 @@ def unassign_role_from_subject_in_scope(
247242 Returns:
248243 bool: True if the role was unassigned successfully, False otherwise.
249244 """
250- enforcer .load_policy ()
251- return enforcer .delete_roles_for_user_in_domain (
245+ AuthzEnforcer .get_enforcer ().delete_roles_for_user_in_domain (
252246 subject .namespaced_key , role .namespaced_key , scope .namespaced_key
253247 )
254248
@@ -277,7 +271,7 @@ def get_subject_role_assignments(subject: SubjectData) -> list[RoleAssignmentDat
277271 list[RoleAssignmentData]: A list of role assignments for the subject.
278272 """
279273 role_assignments = []
280- for policy in enforcer .get_filtered_grouping_policy (
274+ for policy in AuthzEnforcer . get_enforcer () .get_filtered_grouping_policy (
281275 GroupingPolicyIndex .SUBJECT .value , subject .namespaced_key
282276 ):
283277 role = RoleData (namespaced_key = policy [GroupingPolicyIndex .ROLE .value ])
@@ -305,10 +299,10 @@ def get_subject_role_assignments_in_scope(
305299 Returns:
306300 list[RoleAssignmentData]: A list of role assignments for the subject in the scope.
307301 """
308- enforcer .load_policy ()
302+ AuthzEnforcer . get_enforcer () .load_policy ()
309303 # TODO: we still need to get the remaining data for the role like email, etc
310304 role_assignments = []
311- for namespaced_key in enforcer .get_roles_for_user_in_domain (
305+ for namespaced_key in AuthzEnforcer . get_enforcer () .get_roles_for_user_in_domain (
312306 subject .namespaced_key , scope .namespaced_key
313307 ):
314308 role = RoleData (namespaced_key = namespaced_key )
@@ -340,7 +334,7 @@ def get_subject_role_assignments_for_role_in_scope(
340334 list[RoleAssignmentData]: A list of subjects assigned to the specified role in the specified scope.
341335 """
342336 role_assignments = []
343- for subject in enforcer .get_users_for_role_in_domain (
337+ for subject in AuthzEnforcer . get_enforcer () .get_users_for_role_in_domain (
344338 role .namespaced_key , scope .namespaced_key
345339 ):
346340 if subject .startswith (f"{ RoleData .NAMESPACE } { RoleData .SEPARATOR } " ):
@@ -404,6 +398,8 @@ def get_subjects_for_role(role: RoleData) -> list[SubjectData]:
404398 Returns:
405399 list[SubjectData]: A list of subjects assigned to the specified role.
406400 """
407- enforcer .load_policy ()
408- policies = enforcer .get_filtered_grouping_policy (GroupingPolicyIndex .ROLE .value , role .namespaced_key )
401+ policies = AuthzEnforcer .get_enforcer ().get_filtered_grouping_policy (
402+ GroupingPolicyIndex .ROLE .value ,
403+ role .namespaced_key
404+ )
409405 return [SubjectData (namespaced_key = policy [GroupingPolicyIndex .SUBJECT .value ]) for policy in policies ]
0 commit comments