11"""Utility functions for the Open edX AuthZ REST API."""
22
3- from dataclasses import dataclass
43import logging
4+ from dataclasses import dataclass
55
66from django .contrib .auth import get_user_model
7- from django .db .models import Q
87
98from openedx_authz .api .data import (
109 GLOBAL_SCOPE_WILDCARD ,
@@ -66,26 +65,6 @@ def get_user_map(usernames: list[str]) -> dict[str, User]:
6665 return {user .username : user for user in users }
6766
6867
69- def get_user_by_username_or_email (username_or_email : str ) -> User :
70- """
71- Retrieve a user by their username or email address.
72-
73- Args:
74- username_or_email (str): The username or email address to search for.
75-
76- Returns:
77- User: The User object if found and not retired.
78-
79- Raises:
80- User.DoesNotExist: If no user matches the provided username or email,
81- or if the user has an associated retirement request.
82- """
83- user = User .objects .get (Q (email = username_or_email ) | Q (username = username_or_email ))
84- if hasattr (user , "userretirementrequest" ):
85- raise User .DoesNotExist
86- return user
87-
88-
8968def sort_users (
9069 users : list [dict ],
9170 sort_by : SortField = SortField .USERNAME ,
@@ -174,9 +153,7 @@ def get_user_assignment_map(role_assignments: list[RoleAssignmentData]) -> list[
174153 return users_with_assignments
175154
176155
177- def filter_allowed_assignments (
178- user : "User" , assignments : list [RoleAssignmentData ]
179- ) -> list [RoleAssignmentData ]:
156+ def filter_allowed_assignments (user : "User" , assignments : list [RoleAssignmentData ]) -> list [RoleAssignmentData ]:
180157 """
181158 Filter the given role assignments to only include those that the user has permission to view.
182159 """
@@ -193,7 +170,7 @@ def filter_allowed_assignments(
193170 if permission and is_user_allowed (
194171 user_external_key = user .username ,
195172 action_external_key = permission ,
196- scope_external_key = assignment .scope .external_key
173+ scope_external_key = assignment .scope .external_key ,
197174 ):
198175 allowed_assignments .append (assignment )
199176
0 commit comments