scim2-models 0.3.2__py3-none-any.whl → 0.3.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,12 @@
1
1
  from typing import Annotated
2
+ from typing import ClassVar
2
3
  from typing import Literal
3
4
  from typing import Optional
4
5
  from typing import Union
5
6
 
6
7
  from pydantic import Field
7
8
 
9
+ from ..base import ComplexAttribute
8
10
  from ..base import MultiValuedComplexAttribute
9
11
  from ..base import Mutability
10
12
  from ..base import Reference
@@ -41,3 +43,5 @@ class Group(Resource):
41
43
 
42
44
  members: Optional[list[GroupMember]] = None
43
45
  """A list of members of the Group."""
46
+
47
+ Members: ClassVar[type[ComplexAttribute]] = GroupMember
@@ -1,5 +1,6 @@
1
1
  from enum import Enum
2
2
  from typing import Annotated
3
+ from typing import ClassVar
3
4
  from typing import Literal
4
5
  from typing import Optional
5
6
  from typing import Union
@@ -17,6 +18,7 @@ from ..base import Required
17
18
  from ..base import Returned
18
19
  from ..base import Uniqueness
19
20
  from ..utils import Base64Bytes
21
+ from .resource import AnyExtension
20
22
  from .resource import Resource
21
23
 
22
24
 
@@ -213,7 +215,7 @@ class X509Certificate(MultiValuedComplexAttribute):
213
215
  """The value of an X.509 certificate."""
214
216
 
215
217
 
216
- class User(Resource):
218
+ class User(Resource[AnyExtension]):
217
219
  schemas: Annotated[list[str], Required.true] = [
218
220
  "urn:ietf:params:scim:schemas:core:2.0:User"
219
221
  ]
@@ -225,6 +227,8 @@ class User(Resource):
225
227
  name: Optional[Name] = None
226
228
  """The components of the user's real name."""
227
229
 
230
+ Name: ClassVar[type[ComplexAttribute]] = Name
231
+
228
232
  display_name: Optional[str] = None
229
233
  """The name of the User, suitable for display to end-users."""
230
234
 
@@ -270,29 +274,47 @@ class User(Resource):
270
274
  emails: Optional[list[Email]] = None
271
275
  """Email addresses for the user."""
272
276
 
277
+ Emails: ClassVar[type[ComplexAttribute]] = Email
278
+
273
279
  phone_numbers: Optional[list[PhoneNumber]] = None
274
280
  """Phone numbers for the User."""
275
281
 
282
+ PhoneNumbers: ClassVar[type[ComplexAttribute]] = PhoneNumber
283
+
276
284
  ims: Optional[list[Im]] = None
277
285
  """Instant messaging addresses for the User."""
278
286
 
287
+ Ims: ClassVar[type[ComplexAttribute]] = Im
288
+
279
289
  photos: Optional[list[Photo]] = None
280
290
  """URLs of photos of the User."""
281
291
 
292
+ Photos: ClassVar[type[ComplexAttribute]] = Photo
293
+
282
294
  addresses: Optional[list[Address]] = None
283
295
  """A physical mailing address for this User."""
284
296
 
297
+ Addresses: ClassVar[type[ComplexAttribute]] = Address
298
+
285
299
  groups: Annotated[Optional[list[GroupMembership]], Mutability.read_only] = None
286
300
  """A list of groups to which the user belongs, either through direct
287
301
  membership, through nested groups, or dynamically calculated."""
288
302
 
303
+ Groups: ClassVar[type[ComplexAttribute]] = GroupMembership
304
+
289
305
  entitlements: Optional[list[Entitlement]] = None
290
306
  """A list of entitlements for the User that represent a thing the User
291
307
  has."""
292
308
 
309
+ Entitlements: ClassVar[type[ComplexAttribute]] = Entitlement
310
+
293
311
  roles: Optional[list[Role]] = None
294
312
  """A list of roles for the User that collectively represent who the User
295
313
  is, e.g., 'Student', 'Faculty'."""
296
314
 
315
+ Roles: ClassVar[type[ComplexAttribute]] = Role
316
+
297
317
  x509_certificates: Optional[list[X509Certificate]] = None
298
318
  """A list of certificates issued to the User."""
319
+
320
+ X509Certificates: ClassVar[type[ComplexAttribute]] = X509Certificate
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scim2-models
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: SCIM2 models serialization and validation with pydantic
5
5
  Project-URL: documentation, https://scim2-models.readthedocs.io
6
6
  Project-URL: repository, https://github.com/python-scim/scim2-models
@@ -5,12 +5,12 @@ scim2_models/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  scim2_models/utils.py,sha256=MzZz212-lkVWgXcpXvNwoi_u28wBTpkTwPrfYC5v92A,2771
6
6
  scim2_models/rfc7643/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  scim2_models/rfc7643/enterprise_user.py,sha256=EaxdHH2dcBrwWwGpaZC6iZ9dbcaVN1NpoRLAdkTYssQ,1781
8
- scim2_models/rfc7643/group.py,sha256=CBmSnlzd4JktCpOmg4XkfJJUd8oD6KbYFRTt0dSdixE,1302
8
+ scim2_models/rfc7643/group.py,sha256=JML8OtgKjvHHv2YufiYcTtbZuN5GFVQTbm1J6MLtp8o,1427
9
9
  scim2_models/rfc7643/resource.py,sha256=zMyk02Traoq6XNBcS_fSnXIOadZwxTdA9CV4vLuy38k,12648
10
10
  scim2_models/rfc7643/resource_type.py,sha256=p8IKV5IakPMBX6d2Fv2MFqaQL5iTw152vmozVVSC8gU,3196
11
11
  scim2_models/rfc7643/schema.py,sha256=B7TzMbT6ngYQrMqvqW5_LberN6EaqtZaFwBVsgoA3S0,10388
12
12
  scim2_models/rfc7643/service_provider_config.py,sha256=deMNCXlqiNzuLcVRN9mdHiTUxhczDnvi-oO6k-Anj8U,5402
13
- scim2_models/rfc7643/user.py,sha256=-wlO2IC0MxFWUJpaddEwAG5LsEcORnbHfkRwGG3fVSk,9942
13
+ scim2_models/rfc7643/user.py,sha256=EEje4V_zbMVwVYOu2Gj1W7GjD90WnC0lUK3FJuh4jWE,10607
14
14
  scim2_models/rfc7644/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  scim2_models/rfc7644/bulk.py,sha256=I6S40kyJPwDQwPFi668wFFDVTST7z6QTe9HTL5QUViI,2577
16
16
  scim2_models/rfc7644/error.py,sha256=l4-vtGQYm5u13-ParhbHSeqXEil0E09QXSO9twAT3SU,6185
@@ -18,7 +18,7 @@ scim2_models/rfc7644/list_response.py,sha256=ltjV1WII2fNy8j3RX8J0_Jb5DW4hTFoO6P-
18
18
  scim2_models/rfc7644/message.py,sha256=F4kPqbHAka3-wZzap9a45noQZw-o1vznTJypNABBF7w,253
19
19
  scim2_models/rfc7644/patch_op.py,sha256=OE-ixDanTkY5zQP7EK7OAp88uE_fMk03mqmaZHxgJ-g,2210
20
20
  scim2_models/rfc7644/search_request.py,sha256=DRGlixcWtYtbUuP9MT7PsnvyxlONLcXGEcQveWdqQng,3003
21
- scim2_models-0.3.2.dist-info/METADATA,sha256=G_YKWFiVIugNcYr3nqGTPjkcFd3mnUz9U7jqM8Yk9P0,16288
22
- scim2_models-0.3.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
- scim2_models-0.3.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
24
- scim2_models-0.3.2.dist-info/RECORD,,
21
+ scim2_models-0.3.4.dist-info/METADATA,sha256=K4xDCV3A2Hv7Wq-QiCoXrPU3XoDKFaeqAzTQL8aKybY,16288
22
+ scim2_models-0.3.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
+ scim2_models-0.3.4.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
24
+ scim2_models-0.3.4.dist-info/RECORD,,