|
2 | 2 |
|
3 | 3 | from rest_framework import serializers |
4 | 4 |
|
| 5 | +from openedx_authz.api.data import RoleAssignmentData |
5 | 6 | from openedx_authz.rest_api.enums import SortField, SortOrder |
6 | 7 | from openedx_authz.rest_api.utils import get_user_by_username_or_email |
7 | 8 | from openedx_authz.rest_api.v1.fields import CommaSeparatedListField, LowercaseCharField |
@@ -88,21 +89,21 @@ def __init__(self, *args, **kwargs): |
88 | 89 | super().__init__(*args, **kwargs) |
89 | 90 | self._user_cache = {} |
90 | 91 |
|
91 | | - def _get_user(self, obj): |
| 92 | + def _get_user(self, obj: RoleAssignmentData): |
92 | 93 | """Cache user lookups to avoid duplicate DB queries.""" |
93 | 94 | username = obj.subject.username |
94 | 95 | if username not in self._user_cache: |
95 | 96 | self._user_cache[username] = get_user_by_username_or_email(username) |
96 | 97 | return self._user_cache[username] |
97 | 98 |
|
98 | | - def get_username(self, obj): |
| 99 | + def get_username(self, obj: RoleAssignmentData): |
99 | 100 | return obj.subject.username |
100 | 101 |
|
101 | | - def get_full_name(self, obj): |
| 102 | + def get_full_name(self, obj: RoleAssignmentData): |
102 | 103 | return self._get_user(obj).profile.name |
103 | 104 |
|
104 | | - def get_email(self, obj): |
| 105 | + def get_email(self, obj: RoleAssignmentData): |
105 | 106 | return self._get_user(obj).email |
106 | 107 |
|
107 | | - def get_roles(self, obj): |
| 108 | + def get_roles(self, obj: RoleAssignmentData): |
108 | 109 | return [role.external_key for role in obj.roles] |
0 commit comments