|
1 | 1 | from enum import Enum
|
| 2 | +from typing import ClassVar |
2 | 3 | from typing import Annotated
|
3 | 4 | from typing import Literal
|
4 | 5 | from typing import Optional
|
@@ -223,6 +224,7 @@ class User(Resource[AnyExtension]):
|
223 | 224 | """Unique identifier for the User, typically used by the user to directly
|
224 | 225 | authenticate to the service provider."""
|
225 | 226 |
|
| 227 | + Name: ClassVar[type[ComplexAttribute]] = Name |
226 | 228 | name: Optional[Name] = None
|
227 | 229 | """The components of the user's real name."""
|
228 | 230 |
|
@@ -268,32 +270,41 @@ class User(Resource[AnyExtension]):
|
268 | 270 | password: Annotated[Optional[str], Mutability.write_only, Returned.never] = None
|
269 | 271 | """The User's cleartext password."""
|
270 | 272 |
|
| 273 | + Emails: ClassVar[type[ComplexAttribute]] = Email |
271 | 274 | emails: Optional[list[Email]] = None
|
272 | 275 | """Email addresses for the user."""
|
273 | 276 |
|
| 277 | + PhoneNumbers: ClassVar[type[ComplexAttribute]] = PhoneNumber |
274 | 278 | phone_numbers: Optional[list[PhoneNumber]] = None
|
275 | 279 | """Phone numbers for the User."""
|
276 | 280 |
|
| 281 | + Ims: ClassVar[type[ComplexAttribute]] = Im |
277 | 282 | ims: Optional[list[Im]] = None
|
278 | 283 | """Instant messaging addresses for the User."""
|
279 | 284 |
|
| 285 | + Photos: ClassVar[type[ComplexAttribute]] = Photo |
280 | 286 | photos: Optional[list[Photo]] = None
|
281 | 287 | """URLs of photos of the User."""
|
282 | 288 |
|
| 289 | + Addresses: ClassVar[type[ComplexAttribute]] = Address |
283 | 290 | addresses: Optional[list[Address]] = None
|
284 | 291 | """A physical mailing address for this User."""
|
285 | 292 |
|
| 293 | + Groups: ClassVar[type[ComplexAttribute]] = GroupMembership |
286 | 294 | groups: Annotated[Optional[list[GroupMembership]], Mutability.read_only] = None
|
287 | 295 | """A list of groups to which the user belongs, either through direct
|
288 | 296 | membership, through nested groups, or dynamically calculated."""
|
289 | 297 |
|
| 298 | + Entitlements: ClassVar[type[ComplexAttribute]] = Entitlement |
290 | 299 | entitlements: Optional[list[Entitlement]] = None
|
291 | 300 | """A list of entitlements for the User that represent a thing the User
|
292 | 301 | has."""
|
293 | 302 |
|
| 303 | + Roles: ClassVar[type[ComplexAttribute]] = Role |
294 | 304 | roles: Optional[list[Role]] = None
|
295 | 305 | """A list of roles for the User that collectively represent who the User
|
296 | 306 | is, e.g., 'Student', 'Faculty'."""
|
297 | 307 |
|
| 308 | + X509Certificates: ClassVar[type[ComplexAttribute]] = X509Certificate |
298 | 309 | x509_certificates: Optional[list[X509Certificate]] = None
|
299 | 310 | """A list of certificates issued to the User."""
|
0 commit comments