77from opaque_keys import InvalidKeyError
88from opaque_keys .edx .locator import LibraryLocatorV2
99
10+
11+ __all__ = [
12+ "UserData" ,
13+ "PermissionData" ,
14+ "GroupingPolicyIndex" ,
15+ "PolicyIndex" ,
16+ "ActionData" ,
17+ "RoleAssignmentData" ,
18+ "RoleData" ,
19+ "ScopeData" ,
20+ "SubjectData" ,
21+ ]
22+
1023AUTHZ_POLICY_ATTRIBUTES_SEPARATOR = "^"
1124
1225
@@ -289,6 +302,10 @@ class UserData(SubjectData):
289302 def username (self ) -> str :
290303 """The username for the user (e.g., 'john_doe').
291304
305+ TODO: Temporary :no-index: to avoid duplicate object warnings from wildcard import in __init__.py
306+
307+ :no-index:
308+
292309 This is an alias for external_key that represents the username without the namespace prefix.
293310
294311 Returns:
@@ -358,16 +375,22 @@ class RoleData(AuthZData):
358375 permissions: A list of permissions assigned to the role.
359376 metadata: A dictionary of metadata assigned to the role. This can include
360377 information such as the description of the role, creation date, etc.
378+
379+ TODO: Temporary :no-index: on attributes to avoid duplicate object warnings from wildcard import in __init__.py
361380 """
362381
363382 NAMESPACE : ClassVar [str ] = "role"
364- permissions : list [PermissionData ] = None
365- metadata : RoleMetadataData = None
383+ permissions : list [PermissionData ] = None #: :no-index:
384+ metadata : RoleMetadataData = None #: :no-index:
366385
367386 @property
368387 def name (self ) -> str :
369388 """The human-readable name of the role (e.g., 'Library Admin', 'Course Instructor').
370389
390+ TODO: Temporary :no-index: to avoid duplicate object warnings from wildcard import in __init__.py
391+
392+ :no-index:
393+
371394 This property transforms the external_key into a human-readable display name
372395 by replacing underscores with spaces and capitalizing each word.
373396
@@ -386,8 +409,10 @@ class RoleAssignmentData(AuthZData):
386409 email: The email of the user.
387410 role_name: The name of the role.
388411 scope: The scope in which the role is assigned.
412+
413+ TODO: Temporary :no-index: on attributes to avoid duplicate object warnings from wildcard import in __init__.py
389414 """
390415
391- subject : SubjectData = None # Needs defaults to avoid value error from attrs
416+ subject : SubjectData = None #: :no-index:
392417 role : RoleData = None
393- scope : ScopeData = None
418+ scope : ScopeData = None #: :no-index:
0 commit comments