maleo-identity 0.1.27__py3-none-any.whl → 0.1.31__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,4 +1,5 @@
1
1
  from maleo.schemas.resource import Resource, ResourceIdentifier
2
+ from maleo.types.string import SeqOfStrs
2
3
 
3
4
 
4
5
  USER_PROFILE_RESOURCE = Resource(
@@ -9,3 +10,17 @@ USER_PROFILE_RESOURCE = Resource(
9
10
  ],
10
11
  details=None,
11
12
  )
13
+
14
+
15
+ VALID_EXTENSIONS: SeqOfStrs = (
16
+ ".jpeg",
17
+ ".jpg",
18
+ ".png",
19
+ )
20
+
21
+
22
+ VALID_MIME_TYPES: SeqOfStrs = (
23
+ "image/jpeg",
24
+ "image/jpg",
25
+ "image/png",
26
+ )
@@ -20,3 +20,16 @@ class IdentifierType(StrEnum):
20
20
  elif self is IdentifierType.COMPOSITE:
21
21
  return ("source_id", "target_id", "relation")
22
22
  raise ValueError(f"Unknown column(s) for identifier type: {self}")
23
+
24
+
25
+ class ExpandableField(StrEnum):
26
+ ORGANIZATION_TYPE = "organization_type"
27
+
28
+ @classmethod
29
+ def choices(cls) -> ListOfStrs:
30
+ return [e.value for e in cls]
31
+
32
+
33
+ OptExpandableField = ExpandableField | None
34
+ ListOfExpandableFields = list[ExpandableField]
35
+ OptListOfExpandableFields = ListOfExpandableFields | None
@@ -6,7 +6,7 @@ from maleo.types.any import ManyAny
6
6
  from maleo.types.boolean import OptBoolT
7
7
  from maleo.types.misc import OptListOfAnyOrStrToAnyDict
8
8
  from maleo.types.string import ManyStrs
9
- from ..enums.organization_relation import IdentifierType
9
+ from ..enums.organization_relation import IdentifierType, OptListOfExpandableFields
10
10
  from ..types.organization_relation import CompositeIdentifierType, IdentifierValueType
11
11
 
12
12
 
@@ -18,6 +18,12 @@ class Meta(BaseModel):
18
18
  meta: Annotated[OptListOfAnyOrStrToAnyDict, Field(None, description="Meta")] = None
19
19
 
20
20
 
21
+ class Expand(BaseModel):
22
+ expand: Annotated[
23
+ OptListOfExpandableFields, Field(None, description="Expanded field(s)")
24
+ ] = None
25
+
26
+
21
27
  class OrganizationRelationIdentifier(Identifier[IdentifierType, IdentifierValueType]):
22
28
  @property
23
29
  def columns_and_values(self) -> tuple[ManyStrs, ManyAny]:
@@ -2,7 +2,7 @@ from pydantic import BaseModel, Field
2
2
  from typing import Annotated, Generic, Literal, TypeGuard
3
3
  from uuid import UUID
4
4
  from maleo.schemas.mixins.identity import Identifier
5
- from maleo.types.string import OptStr, OptStrT
5
+ from maleo.types.string import OptStrT
6
6
  from ..enums.user_profile import IdentifierType, OptListOfExpandableFields
7
7
  from ..types.user_profile import IdentifierValueType
8
8
 
@@ -39,9 +39,7 @@ class EndingTitle(BaseModel, Generic[OptStrT]):
39
39
 
40
40
  class Avatar(BaseModel):
41
41
  content: Annotated[bytes, Field(..., description="Avatar's content")]
42
- content_type: Annotated[
43
- OptStr, Field(None, description="Avatar's content type")
44
- ] = None
42
+ content_type: Annotated[str, Field(..., description="Avatar's content type")]
45
43
  filename: Annotated[str, Field(..., description="Avatar's filename")]
46
44
 
47
45
 
@@ -191,6 +191,18 @@ class OrganizationSchemaMixin(BaseModel, Generic[AnyOrganizationSchemaT]):
191
191
  ]
192
192
 
193
193
 
194
+ class OrganizationRelationSchema(
195
+ Meta,
196
+ IsBidirectional[bool],
197
+ TargetOrganizationSchemaMixin,
198
+ SourceOrganizationSchemaMixin,
199
+ SimpleDataStatusMixin[DataStatusEnum],
200
+ LifecycleTimestamp,
201
+ DataIdentifier,
202
+ ):
203
+ pass
204
+
205
+
194
206
  class UserMedicalRoleSchema(
195
207
  FullMedicalRoleMixin[MedicalRoleKeyOrStandardSchema],
196
208
  IntOrganizationId[int],
@@ -33,16 +33,18 @@ from maleo.types.boolean import OptBool
33
33
  from maleo.types.dict import StrToAnyDict
34
34
  from maleo.types.integer import OptListOfInts
35
35
  from maleo.types.uuid import OptListOfUUIDs
36
- from ..enums.organization_relation import IdentifierType
36
+ from ..enums.organization_relation import IdentifierType, OptListOfExpandableFields
37
37
  from ..mixins.organization_relation import (
38
38
  IsBidirectional,
39
39
  Meta,
40
40
  OrganizationRelationIdentifier,
41
+ Expand,
41
42
  )
42
43
  from ..types.organization_relation import CompositeIdentifierType, IdentifierValueType
43
44
 
44
45
 
45
46
  class CreateParameter(
47
+ Expand,
46
48
  Meta,
47
49
  IsBidirectional[bool],
48
50
  SimpleOrganizationRelationMixin[OrganizationRelation],
@@ -55,8 +57,10 @@ class CreateParameter(
55
57
 
56
58
 
57
59
  class ReadMultipleParameter(
60
+ Expand,
58
61
  ReadPaginatedMultipleParameter,
59
62
  SimpleOrganizationRelationsMixin[OptListOfOrganizationRelations],
63
+ IsBidirectional[OptBool],
60
64
  IntTargetIds[OptListOfInts],
61
65
  IntSourceIds[OptListOfInts],
62
66
  UUIDs[OptListOfUUIDs],
@@ -66,6 +70,9 @@ class ReadMultipleParameter(
66
70
  uuids: Annotated[OptListOfUUIDs, Field(None, description="UUIDs")] = None
67
71
  source_ids: Annotated[OptListOfInts, Field(None, description="Source's IDs")] = None
68
72
  target_ids: Annotated[OptListOfInts, Field(None, description="Target's IDs")] = None
73
+ is_bidirectional: Annotated[
74
+ OptBool, Field(None, description="Whether is bidirectional")
75
+ ] = None
69
76
  relations: Annotated[
70
77
  OptListOfOrganizationRelations,
71
78
  Field(None, description="Organization Relations"),
@@ -79,11 +86,13 @@ class ReadMultipleParameter(
79
86
  "statuses",
80
87
  "source_ids",
81
88
  "target_ids",
89
+ "is_bidirectional",
82
90
  "relations",
83
91
  "search",
84
92
  "page",
85
93
  "limit",
86
94
  "use_cache",
95
+ "expand",
87
96
  }
88
97
 
89
98
  def to_query_params(self) -> StrToAnyDict:
@@ -96,15 +105,20 @@ class ReadMultipleParameter(
96
105
  return params
97
106
 
98
107
 
99
- class ReadSingleParameter(BaseReadSingleParameter[OrganizationRelationIdentifier]):
108
+ class ReadSingleParameter(
109
+ Expand, BaseReadSingleParameter[OrganizationRelationIdentifier]
110
+ ):
100
111
  @classmethod
101
112
  def from_identifier(
102
113
  cls,
103
114
  identifier: OrganizationRelationIdentifier,
104
115
  statuses: ListOfDataStatuses = FULL_DATA_STATUSES,
105
116
  use_cache: bool = True,
117
+ expand: OptListOfExpandableFields = None,
106
118
  ) -> "ReadSingleParameter":
107
- return cls(identifier=identifier, statuses=statuses, use_cache=use_cache)
119
+ return cls(
120
+ identifier=identifier, statuses=statuses, use_cache=use_cache, expand=expand
121
+ )
108
122
 
109
123
  @overload
110
124
  @classmethod
@@ -114,6 +128,7 @@ class ReadSingleParameter(BaseReadSingleParameter[OrganizationRelationIdentifier
114
128
  identifier_value: int,
115
129
  statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
116
130
  use_cache: bool = True,
131
+ expand: OptListOfExpandableFields = None,
117
132
  ) -> "ReadSingleParameter": ...
118
133
  @overload
119
134
  @classmethod
@@ -123,6 +138,7 @@ class ReadSingleParameter(BaseReadSingleParameter[OrganizationRelationIdentifier
123
138
  identifier_value: UUID,
124
139
  statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
125
140
  use_cache: bool = True,
141
+ expand: OptListOfExpandableFields = None,
126
142
  ) -> "ReadSingleParameter": ...
127
143
  @overload
128
144
  @classmethod
@@ -132,6 +148,7 @@ class ReadSingleParameter(BaseReadSingleParameter[OrganizationRelationIdentifier
132
148
  identifier_value: CompositeIdentifierType,
133
149
  statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
134
150
  use_cache: bool = True,
151
+ expand: OptListOfExpandableFields = None,
135
152
  ) -> "ReadSingleParameter": ...
136
153
  @overload
137
154
  @classmethod
@@ -141,6 +158,7 @@ class ReadSingleParameter(BaseReadSingleParameter[OrganizationRelationIdentifier
141
158
  identifier_value: IdentifierValueType,
142
159
  statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
143
160
  use_cache: bool = True,
161
+ expand: OptListOfExpandableFields = None,
144
162
  ) -> "ReadSingleParameter": ...
145
163
  @classmethod
146
164
  def new(
@@ -149,6 +167,7 @@ class ReadSingleParameter(BaseReadSingleParameter[OrganizationRelationIdentifier
149
167
  identifier_value: IdentifierValueType,
150
168
  statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
151
169
  use_cache: bool = True,
170
+ expand: OptListOfExpandableFields = None,
152
171
  ) -> "ReadSingleParameter":
153
172
  return cls(
154
173
  identifier=OrganizationRelationIdentifier(
@@ -156,11 +175,12 @@ class ReadSingleParameter(BaseReadSingleParameter[OrganizationRelationIdentifier
156
175
  ),
157
176
  statuses=statuses,
158
177
  use_cache=use_cache,
178
+ expand=expand,
159
179
  )
160
180
 
161
181
  def to_query_params(self) -> StrToAnyDict:
162
182
  return self.model_dump(
163
- mode="json", include={"statuses", "use_cache"}, exclude_none=True
183
+ mode="json", include={"statuses", "use_cache", "expand"}, exclude_none=True
164
184
  )
165
185
 
166
186
 
@@ -180,6 +200,7 @@ class UpdateDataMixin(BaseModel, Generic[UpdateDataT]):
180
200
 
181
201
 
182
202
  class UpdateParameter(
203
+ Expand,
183
204
  UpdateDataMixin[UpdateDataT],
184
205
  IdentifierMixin[OrganizationRelationIdentifier],
185
206
  Generic[UpdateDataT],
@@ -191,6 +212,7 @@ class UpdateParameter(
191
212
  identifier_type: Literal[IdentifierType.ID],
192
213
  identifier_value: int,
193
214
  data: UpdateDataT,
215
+ expand: OptListOfExpandableFields = None,
194
216
  ) -> "UpdateParameter": ...
195
217
  @overload
196
218
  @classmethod
@@ -199,6 +221,7 @@ class UpdateParameter(
199
221
  identifier_type: Literal[IdentifierType.UUID],
200
222
  identifier_value: UUID,
201
223
  data: UpdateDataT,
224
+ expand: OptListOfExpandableFields = None,
202
225
  ) -> "UpdateParameter": ...
203
226
  @overload
204
227
  @classmethod
@@ -207,6 +230,7 @@ class UpdateParameter(
207
230
  identifier_type: Literal[IdentifierType.COMPOSITE],
208
231
  identifier_value: CompositeIdentifierType,
209
232
  data: UpdateDataT,
233
+ expand: OptListOfExpandableFields = None,
210
234
  ) -> "UpdateParameter": ...
211
235
  @overload
212
236
  @classmethod
@@ -215,6 +239,7 @@ class UpdateParameter(
215
239
  identifier_type: IdentifierType,
216
240
  identifier_value: IdentifierValueType,
217
241
  data: UpdateDataT,
242
+ expand: OptListOfExpandableFields = None,
218
243
  ) -> "UpdateParameter": ...
219
244
  @classmethod
220
245
  def new(
@@ -222,16 +247,19 @@ class UpdateParameter(
222
247
  identifier_type: IdentifierType,
223
248
  identifier_value: IdentifierValueType,
224
249
  data: UpdateDataT,
250
+ expand: OptListOfExpandableFields = None,
225
251
  ) -> "UpdateParameter":
226
252
  return cls(
227
253
  identifier=OrganizationRelationIdentifier(
228
254
  type=identifier_type, value=identifier_value
229
255
  ),
230
256
  data=data,
257
+ expand=expand,
231
258
  )
232
259
 
233
260
 
234
261
  class StatusUpdateParameter(
262
+ Expand,
235
263
  BaseStatusUpdateParameter[OrganizationRelationIdentifier],
236
264
  ):
237
265
  @overload
@@ -241,6 +269,7 @@ class StatusUpdateParameter(
241
269
  identifier_type: Literal[IdentifierType.ID],
242
270
  identifier_value: int,
243
271
  type: ResourceOperationStatusUpdateType,
272
+ expand: OptListOfExpandableFields = None,
244
273
  ) -> "StatusUpdateParameter": ...
245
274
  @overload
246
275
  @classmethod
@@ -249,6 +278,7 @@ class StatusUpdateParameter(
249
278
  identifier_type: Literal[IdentifierType.UUID],
250
279
  identifier_value: UUID,
251
280
  type: ResourceOperationStatusUpdateType,
281
+ expand: OptListOfExpandableFields = None,
252
282
  ) -> "StatusUpdateParameter": ...
253
283
  @overload
254
284
  @classmethod
@@ -257,6 +287,7 @@ class StatusUpdateParameter(
257
287
  identifier_type: Literal[IdentifierType.COMPOSITE],
258
288
  identifier_value: CompositeIdentifierType,
259
289
  type: ResourceOperationStatusUpdateType,
290
+ expand: OptListOfExpandableFields = None,
260
291
  ) -> "StatusUpdateParameter": ...
261
292
  @overload
262
293
  @classmethod
@@ -265,6 +296,7 @@ class StatusUpdateParameter(
265
296
  identifier_type: IdentifierType,
266
297
  identifier_value: IdentifierValueType,
267
298
  type: ResourceOperationStatusUpdateType,
299
+ expand: OptListOfExpandableFields = None,
268
300
  ) -> "StatusUpdateParameter": ...
269
301
  @classmethod
270
302
  def new(
@@ -272,12 +304,14 @@ class StatusUpdateParameter(
272
304
  identifier_type: IdentifierType,
273
305
  identifier_value: IdentifierValueType,
274
306
  type: ResourceOperationStatusUpdateType,
307
+ expand: OptListOfExpandableFields = None,
275
308
  ) -> "StatusUpdateParameter":
276
309
  return cls(
277
310
  identifier=OrganizationRelationIdentifier(
278
311
  type=identifier_type, value=identifier_value
279
312
  ),
280
313
  type=type,
314
+ expand=expand,
281
315
  )
282
316
 
283
317
 
@@ -40,7 +40,6 @@ from maleo.types.uuid import OptListOfUUIDs
40
40
  from ..enums.user_profile import IdentifierType, OptListOfExpandableFields
41
41
  from ..mixins.common import (
42
42
  IdCard,
43
- FullName,
44
43
  BirthPlace,
45
44
  )
46
45
  from ..mixins.user_profile import (
@@ -56,34 +55,24 @@ from ..mixins.user_profile import (
56
55
  from ..types.user_profile import IdentifierValueType
57
56
 
58
57
 
59
- class StandardCreateData(
58
+ class CreateParameter(
59
+ Expand,
60
60
  AvatarMixin,
61
61
  BloodTypeMixin[OptBloodType],
62
62
  GenderMixin[OptGender],
63
63
  BirthDate[OptDate],
64
64
  BirthPlace[OptStr],
65
- FullName[str],
66
65
  EndingTitle[OptStr],
67
66
  LastName[str],
68
67
  MiddleName[OptStr],
69
68
  FirstName[str],
70
69
  LeadingTitle[OptStr],
71
70
  IdCard[OptStr],
72
- ):
73
- pass
74
-
75
-
76
- class FullCreateData(
77
- StandardCreateData,
78
71
  IntUserId[int],
79
72
  ):
80
73
  pass
81
74
 
82
75
 
83
- class CreateParameter(Expand, FullCreateData):
84
- pass
85
-
86
-
87
76
  class ReadMultipleParameter(
88
77
  Expand,
89
78
  ReadPaginatedMultipleParameter,
@@ -201,7 +190,7 @@ class ReadSingleParameter(Expand, BaseReadSingleParameter[UserProfileIdentifier]
201
190
 
202
191
  def to_query_params(self) -> StrToAnyDict:
203
192
  return self.model_dump(
204
- mode="json", include={"statuses", "use_cache"}, exclude_none=True
193
+ mode="json", include={"statuses", "use_cache", "expand"}, exclude_none=True
205
194
  )
206
195
 
207
196
 
@@ -2,6 +2,6 @@ from typing import Tuple
2
2
  from uuid import UUID
3
3
  from maleo.enums.organization import OrganizationRelation
4
4
 
5
-
5
+ BasicIdentifierType = int | UUID
6
6
  CompositeIdentifierType = Tuple[int, int, OrganizationRelation]
7
- IdentifierValueType = int | UUID | CompositeIdentifierType
7
+ IdentifierValueType = BasicIdentifierType | CompositeIdentifierType
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo-identity
3
- Version: 0.1.27
3
+ Version: 0.1.31
4
4
  Summary: MaleoIdentity service package
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: Proprietary
@@ -8,13 +8,13 @@ maleo/identity/constants/patient.py,sha256=F_OP2yp67L34ygbvPV7GLhezWW7RV7KE7OZsO
8
8
  maleo/identity/constants/user.py,sha256=lIwXkUzbE6WtHc8RdHSmVa4BAVlLHtdUj2-l0TVY7EY,189
9
9
  maleo/identity/constants/user_medical_role.py,sha256=jxPDawhnauLBoWqJ1SW4p6nUkPASIJVYrHPcdTo_7qI,302
10
10
  maleo/identity/constants/user_organization_role.py,sha256=g7JTYhv6jih0QoF4-HrQmNf4DS3dnIVONTcQZgOONjI,322
11
- maleo/identity/constants/user_profile.py,sha256=qNox8XB8gQlVj2rnsTU8j59gLgLRINRQN0rcyVuEQAw,257
11
+ maleo/identity/constants/user_profile.py,sha256=uPy2ptpH7EVTEyrx6WNIW8SwGJe71RK8YU24mMPNENg,459
12
12
  maleo/identity/constants/user_system_role.py,sha256=zc44fMwguNkErmHQ2P7I-L_KU__7PpX8ihdAyVKUx-Y,400
13
13
  maleo/identity/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  maleo/identity/enums/api_key.py,sha256=twpkiI21x52roagXHJjq4vhMLv9WPGhWFtPM55LSZ-w,721
15
15
  maleo/identity/enums/organization.py,sha256=y9sLqKPx9iC2402MKY8GTZ0_WWNRJT5_rVQkG_CCgso,476
16
16
  maleo/identity/enums/organization_registration_code.py,sha256=Cz7ZIo2a1lTXko9rJLQerNP90qMvrvV7gSAKkGup418,352
17
- maleo/identity/enums/organization_relation.py,sha256=-GxBCzUi-PFrICnHqray2PtFZb6LoG7NluDmyjljOa8,628
17
+ maleo/identity/enums/organization_relation.py,sha256=dENAiIZ2mSrAuCj2Vk3kcmBCBlLlGxiLTT-FoVPdHVU,949
18
18
  maleo/identity/enums/patient.py,sha256=gonmheVM5S99Wtddha7uJI4FzVOl9V0l1-ov1a-Kcqc,623
19
19
  maleo/identity/enums/user.py,sha256=Vv_5fHov_cPxKCcaxVeNNJgZL_wa2uewtr7w4smiVVU,506
20
20
  maleo/identity/enums/user_medical_role.py,sha256=KvPDu66wIh_sqvx0dyW38aTlCt5e_kRDcJ05Rk0rOd4,636
@@ -26,30 +26,30 @@ maleo/identity/mixins/api_key.py,sha256=T-MupQfKe5ru_kO-AQ3JZ11aqK92lFOgsIUy2cJW
26
26
  maleo/identity/mixins/common.py,sha256=diWtUiPMI_ypHtDrmI5y8IArxCdomo9Gt6X69iFhyuw,905
27
27
  maleo/identity/mixins/organization.py,sha256=P_GW483KCK4_ds9Jm82RVXEszwGgSzq1PHQk0ykgghk,2556
28
28
  maleo/identity/mixins/organization_registration_code.py,sha256=t_OHVoJobjYyfOVwAw_I3nebIFgG-AodApmIhDCVYmM,4693
29
- maleo/identity/mixins/organization_relation.py,sha256=Fz_-2d6kdX8olzj67AN2UYj_Dw741SqS6ZQSllnujL8,2881
29
+ maleo/identity/mixins/organization_relation.py,sha256=EGelkrwNo4qod-HbEESkefJ4qvBe6dqnHOLs7x1ElB4,3051
30
30
  maleo/identity/mixins/patient.py,sha256=unDmyazC5tyIsoXtAjMyWjAOOoxgMXa2DYfg6vZbLGI,2193
31
31
  maleo/identity/mixins/user.py,sha256=ShTtmt5mTSrJwbffnFePP7IXC08j2q1BKsAmV32YEiM,3537
32
32
  maleo/identity/mixins/user_medical_role.py,sha256=DHdh3-JMysspWUM2A7Yx-OFcUz-KxwGHvgLDQuRXv08,2421
33
33
  maleo/identity/mixins/user_organization_role.py,sha256=rU4Ci0iVqG4QFVRZM8PmCTgvDg5PqS2Ea-DSENYgj6Y,2512
34
- maleo/identity/mixins/user_profile.py,sha256=hha88X83ugGEPsXAdUw-0iQK11eGZyutMCQLkk3pywQ,4401
34
+ maleo/identity/mixins/user_profile.py,sha256=Bnc4JRrUfFbVYi7kqFZkh_ke1CoJehN3n5Ob8pDAE8g,4368
35
35
  maleo/identity/mixins/user_system_role.py,sha256=7L0C-sFCMzjUZYk2ZJZ6FLXJwvMO66KaYWODW1oFXAE,2585
36
36
  maleo/identity/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  maleo/identity/schemas/api_key.py,sha256=_JWrUwrRCqxTrcan-eKMegNVU1T46gERNcr8pNK_Y-U,5376
38
- maleo/identity/schemas/common.py,sha256=-ijdgmyz1xo8CYpKkh34iioZtIs-im5akHt1C54DzY0,9110
38
+ maleo/identity/schemas/common.py,sha256=ihLXhdRsPj1CvKZCla2sKdtatMklLKvJjH3u_QCVr7Q,9352
39
39
  maleo/identity/schemas/organization.py,sha256=0oVnuvB-E55AZ2h-PFoprY9wyyKi-xPLErXJW6yrBn8,9302
40
40
  maleo/identity/schemas/organization_registration_code.py,sha256=6LzKsIXt5DNQv1605dRsv2DmaonDLN36jgHyi9xxY-k,9192
41
- maleo/identity/schemas/organization_relation.py,sha256=9HGZypuhpK9egCHVDS1nh_lm5D0osxYM_4KmEEV8sHI,9487
41
+ maleo/identity/schemas/organization_relation.py,sha256=gjMPoSOgF9liNMDjqI4VDbASHh8N2MQWxEb_BwX-ksg,10715
42
42
  maleo/identity/schemas/patient.py,sha256=qhycLtZfEDL8FWdT5GSe63so_9fdRXW_vAPNU0-kNi8,10222
43
43
  maleo/identity/schemas/user.py,sha256=y2X_2QckxrO2qWPYbn5RIMsK4MYgJU1V3huKTX3C7ds,9390
44
44
  maleo/identity/schemas/user_medical_role.py,sha256=zZdsRmty2InIthAvEgrXDWu7uv7Ez5dQ0XX86-JSE4E,9303
45
45
  maleo/identity/schemas/user_organization_role.py,sha256=r_9zEjL7tmDzSdsflf80qez2DgbGNEoueHCmM9wWOZo,9475
46
- maleo/identity/schemas/user_profile.py,sha256=h_hwlHabHahGToio3YXIbquM-41y7qtT2GFxt8DR4YU,11167
46
+ maleo/identity/schemas/user_profile.py,sha256=SqPYTMegEjMkxof5I9ezW2EJFBNO0sEDkJnCHxZX0rE,11035
47
47
  maleo/identity/schemas/user_system_role.py,sha256=89vucqAxQjjfe0CFd6Z76008de5JxnZb56Zi1GU-Y-A,10095
48
48
  maleo/identity/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  maleo/identity/types/api_key.py,sha256=dJ4dnw9xYwedJVmSlQhGJrDFlY91T7-2EibP5FI_-rM,198
50
50
  maleo/identity/types/organization.py,sha256=UqOBL4v138jumjQstCAZ-2ZV1Ax8-Cr4SvL36nx8brw,63
51
51
  maleo/identity/types/organization_registration_code.py,sha256=UqOBL4v138jumjQstCAZ-2ZV1Ax8-Cr4SvL36nx8brw,63
52
- maleo/identity/types/organization_relation.py,sha256=slyRLcaT1gatzXCufzawAspwM18KeuCBTND0c3tLzQc,230
52
+ maleo/identity/types/organization_relation.py,sha256=PhBG7Ti8H5kDNDUBsRBoAU3TW8z575FZ3eZjFuz5jl0,271
53
53
  maleo/identity/types/patient.py,sha256=DJ-l-Ft2atX2oMzExo381PTSgdpVCtqBVSxZlmF_pCA,57
54
54
  maleo/identity/types/user.py,sha256=UqOBL4v138jumjQstCAZ-2ZV1Ax8-Cr4SvL36nx8brw,63
55
55
  maleo/identity/types/user_medical_role.py,sha256=xQohfQyK1D6ngjUUiJYfA5pMJaFYi7_nNmeuNvgMlMg,207
@@ -59,8 +59,8 @@ maleo/identity/types/user_system_role.py,sha256=9kNZ56HOMCdiT7fsT9uB2w0p8iQyfclY
59
59
  maleo/identity/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  maleo/identity/utils/organization.py,sha256=aEegzeoNLUptrScUB5kWrYlJj7dzTZeVXymltE5lWpE,874
61
61
  maleo/identity/utils/user.py,sha256=1pyfmAbXkAEOo6WM2KRA_kRnFi0O_A2ZUEqv01wY-cU,794
62
- maleo_identity-0.1.27.dist-info/licenses/LICENSE,sha256=aftGsecnk7TWVX-7KW94FqK4Syy6YSZ8PZEF7EcIp3M,2621
63
- maleo_identity-0.1.27.dist-info/METADATA,sha256=Sw79f_sMcza3NRQ-Hd60mow7zoZpGJG4o41_ZxltTO0,3584
64
- maleo_identity-0.1.27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
- maleo_identity-0.1.27.dist-info/top_level.txt,sha256=3Tpd1siVsfYoeI9FEOJNYnffx_shzZ3wsPpTvz5bljc,6
66
- maleo_identity-0.1.27.dist-info/RECORD,,
62
+ maleo_identity-0.1.31.dist-info/licenses/LICENSE,sha256=aftGsecnk7TWVX-7KW94FqK4Syy6YSZ8PZEF7EcIp3M,2621
63
+ maleo_identity-0.1.31.dist-info/METADATA,sha256=YyfKzAYa0fZOxztM48EgzA0nIc3_4Tgc2NLYJ8PqZvg,3584
64
+ maleo_identity-0.1.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
+ maleo_identity-0.1.31.dist-info/top_level.txt,sha256=3Tpd1siVsfYoeI9FEOJNYnffx_shzZ3wsPpTvz5bljc,6
66
+ maleo_identity-0.1.31.dist-info/RECORD,,