maleo-identity 0.1.24__py3-none-any.whl → 0.1.27__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.
- maleo/identity/enums/user_profile.py +14 -0
- maleo/identity/mixins/api_key.py +3 -1
- maleo/identity/mixins/organization_relation.py +3 -1
- maleo/identity/mixins/user_medical_role.py +3 -1
- maleo/identity/mixins/user_organization_role.py +3 -1
- maleo/identity/mixins/user_profile.py +23 -2
- maleo/identity/mixins/user_system_role.py +3 -1
- maleo/identity/schemas/common.py +1 -1
- maleo/identity/schemas/user_profile.py +47 -13
- {maleo_identity-0.1.24.dist-info → maleo_identity-0.1.27.dist-info}/METADATA +1 -1
- {maleo_identity-0.1.24.dist-info → maleo_identity-0.1.27.dist-info}/RECORD +14 -14
- {maleo_identity-0.1.24.dist-info → maleo_identity-0.1.27.dist-info}/WHEEL +0 -0
- {maleo_identity-0.1.24.dist-info → maleo_identity-0.1.27.dist-info}/licenses/LICENSE +0 -0
- {maleo_identity-0.1.24.dist-info → maleo_identity-0.1.27.dist-info}/top_level.txt +0 -0
|
@@ -15,3 +15,17 @@ class IdentifierType(StrEnum):
|
|
|
15
15
|
@property
|
|
16
16
|
def column(self) -> str:
|
|
17
17
|
return self.value
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ExpandableField(StrEnum):
|
|
21
|
+
GENDER = "gender"
|
|
22
|
+
BLOOD_TYPE = "blood_type"
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def choices(cls) -> ListOfStrs:
|
|
26
|
+
return [e.value for e in cls]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
OptExpandableField = ExpandableField | None
|
|
30
|
+
ListOfExpandableFields = list[ExpandableField]
|
|
31
|
+
OptListOfExpandableFields = ListOfExpandableFields | None
|
maleo/identity/mixins/api_key.py
CHANGED
|
@@ -41,7 +41,9 @@ class CompositeAPIKeyIdentifier(
|
|
|
41
41
|
Literal[IdentifierType.COMPOSITE],
|
|
42
42
|
Field(IdentifierType.COMPOSITE, description="Identifier's type"),
|
|
43
43
|
] = IdentifierType.COMPOSITE
|
|
44
|
-
value: Annotated[
|
|
44
|
+
value: Annotated[
|
|
45
|
+
CompositeIdentifierType, Field(..., description="Identifier's value")
|
|
46
|
+
]
|
|
45
47
|
|
|
46
48
|
|
|
47
49
|
AnyAPIKeyIdentifier = (
|
|
@@ -49,7 +49,9 @@ class CompositeOrganizationRelationIdentifier(
|
|
|
49
49
|
Literal[IdentifierType.COMPOSITE],
|
|
50
50
|
Field(IdentifierType.COMPOSITE, description="Identifier's type"),
|
|
51
51
|
] = IdentifierType.COMPOSITE
|
|
52
|
-
value: Annotated[
|
|
52
|
+
value: Annotated[
|
|
53
|
+
CompositeIdentifierType, Field(..., description="Identifier's value")
|
|
54
|
+
]
|
|
53
55
|
|
|
54
56
|
|
|
55
57
|
AnyOrganizationRelationIdentifier = (
|
|
@@ -37,7 +37,9 @@ class CompositeUserMedicalRoleIdentifier(
|
|
|
37
37
|
Literal[IdentifierType.COMPOSITE],
|
|
38
38
|
Field(IdentifierType.COMPOSITE, description="Identifier's type"),
|
|
39
39
|
] = IdentifierType.COMPOSITE
|
|
40
|
-
value: Annotated[
|
|
40
|
+
value: Annotated[
|
|
41
|
+
CompositeIdentifierType, Field(..., description="Identifier's value")
|
|
42
|
+
]
|
|
41
43
|
|
|
42
44
|
|
|
43
45
|
AnyUserMedicalRoleIdentifier = (
|
|
@@ -39,7 +39,9 @@ class CompositeUserOrganizationRoleIdentifier(
|
|
|
39
39
|
Literal[IdentifierType.COMPOSITE],
|
|
40
40
|
Field(IdentifierType.COMPOSITE, description="Identifier's type"),
|
|
41
41
|
] = IdentifierType.COMPOSITE
|
|
42
|
-
value: Annotated[
|
|
42
|
+
value: Annotated[
|
|
43
|
+
CompositeIdentifierType, Field(..., description="Identifier's value")
|
|
44
|
+
]
|
|
43
45
|
|
|
44
46
|
|
|
45
47
|
AnyUserOrganizationRoleIdentifier = (
|
|
@@ -2,8 +2,8 @@ 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 OptStrT
|
|
6
|
-
from ..enums.user_profile import IdentifierType
|
|
5
|
+
from maleo.types.string import OptStr, OptStrT
|
|
6
|
+
from ..enums.user_profile import IdentifierType, OptListOfExpandableFields
|
|
7
7
|
from ..types.user_profile import IdentifierValueType
|
|
8
8
|
|
|
9
9
|
|
|
@@ -37,6 +37,21 @@ class EndingTitle(BaseModel, Generic[OptStrT]):
|
|
|
37
37
|
]
|
|
38
38
|
|
|
39
39
|
|
|
40
|
+
class Avatar(BaseModel):
|
|
41
|
+
content: Annotated[bytes, Field(..., description="Avatar's content")]
|
|
42
|
+
content_type: Annotated[
|
|
43
|
+
OptStr, Field(None, description="Avatar's content type")
|
|
44
|
+
] = None
|
|
45
|
+
filename: Annotated[str, Field(..., description="Avatar's filename")]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
OptAvatar = Avatar | None
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class AvatarMixin(BaseModel):
|
|
52
|
+
avatar: Annotated[OptAvatar, Field(None, description="Avatar")]
|
|
53
|
+
|
|
54
|
+
|
|
40
55
|
class AvatarName(BaseModel, Generic[OptStrT]):
|
|
41
56
|
avatar_name: Annotated[OptStrT, Field(..., description="User's Avatar Name")]
|
|
42
57
|
|
|
@@ -45,6 +60,12 @@ class AvatarUrl(BaseModel, Generic[OptStrT]):
|
|
|
45
60
|
avatar_url: Annotated[OptStrT, Field(..., description="User's Avatar URL")]
|
|
46
61
|
|
|
47
62
|
|
|
63
|
+
class Expand(BaseModel):
|
|
64
|
+
expand: Annotated[
|
|
65
|
+
OptListOfExpandableFields, Field(None, description="Expanded field(s)")
|
|
66
|
+
] = None
|
|
67
|
+
|
|
68
|
+
|
|
48
69
|
class UserProfileIdentifier(Identifier[IdentifierType, IdentifierValueType]):
|
|
49
70
|
@property
|
|
50
71
|
def column_and_value(self) -> tuple[str, IdentifierValueType]:
|
|
@@ -43,7 +43,9 @@ class CompositeUserSystemRoleIdentifier(
|
|
|
43
43
|
Literal[IdentifierType.COMPOSITE],
|
|
44
44
|
Field(IdentifierType.COMPOSITE, description="Identifier's type"),
|
|
45
45
|
] = IdentifierType.COMPOSITE
|
|
46
|
-
value: Annotated[
|
|
46
|
+
value: Annotated[
|
|
47
|
+
CompositeIdentifierType, Field(..., description="Identifier's value")
|
|
48
|
+
]
|
|
47
49
|
|
|
48
50
|
|
|
49
51
|
AnyUserSystemRoleIdentifier = (
|
maleo/identity/schemas/common.py
CHANGED
|
@@ -22,7 +22,6 @@ from maleo.schemas.mixins.identity import (
|
|
|
22
22
|
UUIDs,
|
|
23
23
|
IntUserId,
|
|
24
24
|
IntUserIds,
|
|
25
|
-
IntOrganizationIds,
|
|
26
25
|
BirthDate,
|
|
27
26
|
)
|
|
28
27
|
from maleo.schemas.mixins.sort import convert as convert_sort
|
|
@@ -38,7 +37,7 @@ from maleo.types.dict import StrToAnyDict
|
|
|
38
37
|
from maleo.types.integer import OptListOfInts
|
|
39
38
|
from maleo.types.string import OptStr
|
|
40
39
|
from maleo.types.uuid import OptListOfUUIDs
|
|
41
|
-
from ..enums.user_profile import IdentifierType
|
|
40
|
+
from ..enums.user_profile import IdentifierType, OptListOfExpandableFields
|
|
42
41
|
from ..mixins.common import (
|
|
43
42
|
IdCard,
|
|
44
43
|
FullName,
|
|
@@ -50,12 +49,15 @@ from ..mixins.user_profile import (
|
|
|
50
49
|
MiddleName,
|
|
51
50
|
LastName,
|
|
52
51
|
EndingTitle,
|
|
52
|
+
AvatarMixin,
|
|
53
|
+
Expand,
|
|
53
54
|
UserProfileIdentifier,
|
|
54
55
|
)
|
|
55
56
|
from ..types.user_profile import IdentifierValueType
|
|
56
57
|
|
|
57
58
|
|
|
58
|
-
class
|
|
59
|
+
class StandardCreateData(
|
|
60
|
+
AvatarMixin,
|
|
59
61
|
BloodTypeMixin[OptBloodType],
|
|
60
62
|
GenderMixin[OptGender],
|
|
61
63
|
BirthDate[OptDate],
|
|
@@ -67,26 +69,33 @@ class CreateParameter(
|
|
|
67
69
|
FirstName[str],
|
|
68
70
|
LeadingTitle[OptStr],
|
|
69
71
|
IdCard[OptStr],
|
|
72
|
+
):
|
|
73
|
+
pass
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class FullCreateData(
|
|
77
|
+
StandardCreateData,
|
|
70
78
|
IntUserId[int],
|
|
71
79
|
):
|
|
72
80
|
pass
|
|
73
81
|
|
|
74
82
|
|
|
83
|
+
class CreateParameter(Expand, FullCreateData):
|
|
84
|
+
pass
|
|
85
|
+
|
|
86
|
+
|
|
75
87
|
class ReadMultipleParameter(
|
|
88
|
+
Expand,
|
|
76
89
|
ReadPaginatedMultipleParameter,
|
|
77
90
|
BloodTypesMixin[OptListOfBloodTypes],
|
|
78
91
|
GendersMixin[OptListOfGenders],
|
|
92
|
+
IntUserIds[OptListOfInts],
|
|
79
93
|
UUIDs[OptListOfUUIDs],
|
|
80
94
|
Ids[OptListOfInts],
|
|
81
|
-
IntOrganizationIds[OptListOfInts],
|
|
82
|
-
IntUserIds[OptListOfInts],
|
|
83
95
|
):
|
|
84
|
-
user_ids: Annotated[OptListOfInts, Field(None, description="User's IDs")] = None
|
|
85
|
-
organization_ids: Annotated[
|
|
86
|
-
OptListOfInts, Field(None, description="Organization's IDs")
|
|
87
|
-
] = None
|
|
88
96
|
ids: Annotated[OptListOfInts, Field(None, description="Ids")] = None
|
|
89
97
|
uuids: Annotated[OptListOfUUIDs, Field(None, description="UUIDs")] = None
|
|
98
|
+
user_ids: Annotated[OptListOfInts, Field(None, description="User's IDs")] = None
|
|
90
99
|
genders: Annotated[OptListOfGenders, Field(None, description="Genders")] = None
|
|
91
100
|
blood_types: Annotated[
|
|
92
101
|
OptListOfBloodTypes, Field(None, description="Blood Types")
|
|
@@ -95,17 +104,17 @@ class ReadMultipleParameter(
|
|
|
95
104
|
@property
|
|
96
105
|
def _query_param_fields(self) -> set[str]:
|
|
97
106
|
return {
|
|
98
|
-
"user_ids",
|
|
99
|
-
"organization_ids",
|
|
100
107
|
"ids",
|
|
101
108
|
"uuids",
|
|
102
109
|
"statuses",
|
|
110
|
+
"user_ids",
|
|
103
111
|
"genders",
|
|
104
112
|
"blood_types",
|
|
105
113
|
"search",
|
|
106
114
|
"page",
|
|
107
115
|
"limit",
|
|
108
116
|
"use_cache",
|
|
117
|
+
"expand",
|
|
109
118
|
}
|
|
110
119
|
|
|
111
120
|
def to_query_params(self) -> StrToAnyDict:
|
|
@@ -118,15 +127,18 @@ class ReadMultipleParameter(
|
|
|
118
127
|
return params
|
|
119
128
|
|
|
120
129
|
|
|
121
|
-
class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
130
|
+
class ReadSingleParameter(Expand, BaseReadSingleParameter[UserProfileIdentifier]):
|
|
122
131
|
@classmethod
|
|
123
132
|
def from_identifier(
|
|
124
133
|
cls,
|
|
125
134
|
identifier: UserProfileIdentifier,
|
|
126
135
|
statuses: ListOfDataStatuses = FULL_DATA_STATUSES,
|
|
127
136
|
use_cache: bool = True,
|
|
137
|
+
expand: OptListOfExpandableFields = None,
|
|
128
138
|
) -> "ReadSingleParameter":
|
|
129
|
-
return cls(
|
|
139
|
+
return cls(
|
|
140
|
+
identifier=identifier, statuses=statuses, use_cache=use_cache, expand=expand
|
|
141
|
+
)
|
|
130
142
|
|
|
131
143
|
@overload
|
|
132
144
|
@classmethod
|
|
@@ -136,6 +148,7 @@ class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
|
136
148
|
identifier_value: int,
|
|
137
149
|
statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
|
|
138
150
|
use_cache: bool = True,
|
|
151
|
+
expand: OptListOfExpandableFields = None,
|
|
139
152
|
) -> "ReadSingleParameter": ...
|
|
140
153
|
@overload
|
|
141
154
|
@classmethod
|
|
@@ -145,6 +158,7 @@ class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
|
145
158
|
identifier_value: UUID,
|
|
146
159
|
statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
|
|
147
160
|
use_cache: bool = True,
|
|
161
|
+
expand: OptListOfExpandableFields = None,
|
|
148
162
|
) -> "ReadSingleParameter": ...
|
|
149
163
|
@overload
|
|
150
164
|
@classmethod
|
|
@@ -154,6 +168,7 @@ class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
|
154
168
|
identifier_value: str,
|
|
155
169
|
statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
|
|
156
170
|
use_cache: bool = True,
|
|
171
|
+
expand: OptListOfExpandableFields = None,
|
|
157
172
|
) -> "ReadSingleParameter": ...
|
|
158
173
|
@overload
|
|
159
174
|
@classmethod
|
|
@@ -163,6 +178,7 @@ class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
|
163
178
|
identifier_value: IdentifierValueType,
|
|
164
179
|
statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
|
|
165
180
|
use_cache: bool = True,
|
|
181
|
+
expand: OptListOfExpandableFields = None,
|
|
166
182
|
) -> "ReadSingleParameter": ...
|
|
167
183
|
@classmethod
|
|
168
184
|
def new(
|
|
@@ -171,6 +187,7 @@ class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
|
171
187
|
identifier_value: IdentifierValueType,
|
|
172
188
|
statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
|
|
173
189
|
use_cache: bool = True,
|
|
190
|
+
expand: OptListOfExpandableFields = None,
|
|
174
191
|
) -> "ReadSingleParameter":
|
|
175
192
|
return cls(
|
|
176
193
|
identifier=UserProfileIdentifier(
|
|
@@ -179,6 +196,7 @@ class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
|
179
196
|
),
|
|
180
197
|
statuses=statuses,
|
|
181
198
|
use_cache=use_cache,
|
|
199
|
+
expand=expand,
|
|
182
200
|
)
|
|
183
201
|
|
|
184
202
|
def to_query_params(self) -> StrToAnyDict:
|
|
@@ -188,6 +206,7 @@ class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
|
188
206
|
|
|
189
207
|
|
|
190
208
|
class FullUpdateData(
|
|
209
|
+
AvatarMixin,
|
|
191
210
|
BloodTypeMixin[OptBloodType],
|
|
192
211
|
GenderMixin[OptGender],
|
|
193
212
|
BirthDate[OptDate],
|
|
@@ -203,6 +222,7 @@ class FullUpdateData(
|
|
|
203
222
|
|
|
204
223
|
|
|
205
224
|
class PartialUpdateData(
|
|
225
|
+
AvatarMixin,
|
|
206
226
|
BloodTypeMixin[OptBloodType],
|
|
207
227
|
GenderMixin[OptGender],
|
|
208
228
|
BirthDate[OptDate],
|
|
@@ -225,6 +245,7 @@ class UpdateDataMixin(BaseModel, Generic[UpdateDataT]):
|
|
|
225
245
|
|
|
226
246
|
|
|
227
247
|
class UpdateParameter(
|
|
248
|
+
Expand,
|
|
228
249
|
UpdateDataMixin[UpdateDataT],
|
|
229
250
|
IdentifierMixin[UserProfileIdentifier],
|
|
230
251
|
Generic[UpdateDataT],
|
|
@@ -236,6 +257,7 @@ class UpdateParameter(
|
|
|
236
257
|
identifier_type: Literal[IdentifierType.ID, IdentifierType.USER_ID],
|
|
237
258
|
identifier_value: int,
|
|
238
259
|
data: UpdateDataT,
|
|
260
|
+
expand: OptListOfExpandableFields = None,
|
|
239
261
|
) -> "UpdateParameter": ...
|
|
240
262
|
@overload
|
|
241
263
|
@classmethod
|
|
@@ -244,6 +266,7 @@ class UpdateParameter(
|
|
|
244
266
|
identifier_type: Literal[IdentifierType.UUID],
|
|
245
267
|
identifier_value: UUID,
|
|
246
268
|
data: UpdateDataT,
|
|
269
|
+
expand: OptListOfExpandableFields = None,
|
|
247
270
|
) -> "UpdateParameter": ...
|
|
248
271
|
@overload
|
|
249
272
|
@classmethod
|
|
@@ -252,6 +275,7 @@ class UpdateParameter(
|
|
|
252
275
|
identifier_type: Literal[IdentifierType.ID_CARD],
|
|
253
276
|
identifier_value: str,
|
|
254
277
|
data: UpdateDataT,
|
|
278
|
+
expand: OptListOfExpandableFields = None,
|
|
255
279
|
) -> "UpdateParameter": ...
|
|
256
280
|
@overload
|
|
257
281
|
@classmethod
|
|
@@ -260,6 +284,7 @@ class UpdateParameter(
|
|
|
260
284
|
identifier_type: IdentifierType,
|
|
261
285
|
identifier_value: IdentifierValueType,
|
|
262
286
|
data: UpdateDataT,
|
|
287
|
+
expand: OptListOfExpandableFields = None,
|
|
263
288
|
) -> "UpdateParameter": ...
|
|
264
289
|
@classmethod
|
|
265
290
|
def new(
|
|
@@ -267,16 +292,19 @@ class UpdateParameter(
|
|
|
267
292
|
identifier_type: IdentifierType,
|
|
268
293
|
identifier_value: IdentifierValueType,
|
|
269
294
|
data: UpdateDataT,
|
|
295
|
+
expand: OptListOfExpandableFields = None,
|
|
270
296
|
) -> "UpdateParameter":
|
|
271
297
|
return cls(
|
|
272
298
|
identifier=UserProfileIdentifier(
|
|
273
299
|
type=identifier_type, value=identifier_value
|
|
274
300
|
),
|
|
275
301
|
data=data,
|
|
302
|
+
expand=expand,
|
|
276
303
|
)
|
|
277
304
|
|
|
278
305
|
|
|
279
306
|
class StatusUpdateParameter(
|
|
307
|
+
Expand,
|
|
280
308
|
BaseStatusUpdateParameter[UserProfileIdentifier],
|
|
281
309
|
):
|
|
282
310
|
@overload
|
|
@@ -286,6 +314,7 @@ class StatusUpdateParameter(
|
|
|
286
314
|
identifier_type: Literal[IdentifierType.ID, IdentifierType.USER_ID],
|
|
287
315
|
identifier_value: int,
|
|
288
316
|
type: ResourceOperationStatusUpdateType,
|
|
317
|
+
expand: OptListOfExpandableFields = None,
|
|
289
318
|
) -> "StatusUpdateParameter": ...
|
|
290
319
|
@overload
|
|
291
320
|
@classmethod
|
|
@@ -294,6 +323,7 @@ class StatusUpdateParameter(
|
|
|
294
323
|
identifier_type: Literal[IdentifierType.UUID],
|
|
295
324
|
identifier_value: UUID,
|
|
296
325
|
type: ResourceOperationStatusUpdateType,
|
|
326
|
+
expand: OptListOfExpandableFields = None,
|
|
297
327
|
) -> "StatusUpdateParameter": ...
|
|
298
328
|
@overload
|
|
299
329
|
@classmethod
|
|
@@ -302,6 +332,7 @@ class StatusUpdateParameter(
|
|
|
302
332
|
identifier_type: Literal[IdentifierType.ID_CARD],
|
|
303
333
|
identifier_value: str,
|
|
304
334
|
type: ResourceOperationStatusUpdateType,
|
|
335
|
+
expand: OptListOfExpandableFields = None,
|
|
305
336
|
) -> "StatusUpdateParameter": ...
|
|
306
337
|
@overload
|
|
307
338
|
@classmethod
|
|
@@ -310,6 +341,7 @@ class StatusUpdateParameter(
|
|
|
310
341
|
identifier_type: IdentifierType,
|
|
311
342
|
identifier_value: IdentifierValueType,
|
|
312
343
|
type: ResourceOperationStatusUpdateType,
|
|
344
|
+
expand: OptListOfExpandableFields = None,
|
|
313
345
|
) -> "StatusUpdateParameter": ...
|
|
314
346
|
@classmethod
|
|
315
347
|
def new(
|
|
@@ -317,12 +349,14 @@ class StatusUpdateParameter(
|
|
|
317
349
|
identifier_type: IdentifierType,
|
|
318
350
|
identifier_value: IdentifierValueType,
|
|
319
351
|
type: ResourceOperationStatusUpdateType,
|
|
352
|
+
expand: OptListOfExpandableFields = None,
|
|
320
353
|
) -> "StatusUpdateParameter":
|
|
321
354
|
return cls(
|
|
322
355
|
identifier=UserProfileIdentifier(
|
|
323
356
|
type=identifier_type, value=identifier_value
|
|
324
357
|
),
|
|
325
358
|
type=type,
|
|
359
|
+
expand=expand,
|
|
326
360
|
)
|
|
327
361
|
|
|
328
362
|
|
|
@@ -19,23 +19,23 @@ maleo/identity/enums/patient.py,sha256=gonmheVM5S99Wtddha7uJI4FzVOl9V0l1-ov1a-Kc
|
|
|
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
|
|
21
21
|
maleo/identity/enums/user_organization_role.py,sha256=bV07sZYttbJPfefkp7u9Bkc4V1e3xsyhtErtpkXb-Xg,641
|
|
22
|
-
maleo/identity/enums/user_profile.py,sha256=
|
|
22
|
+
maleo/identity/enums/user_profile.py,sha256=WvlEnYqKxlImEgYARl-NvEkz3Zm-HLvHCbsXxoePjTI,671
|
|
23
23
|
maleo/identity/enums/user_system_role.py,sha256=zINGAt5D1nZ95ddvLXrFZaO_2k15S5gc4S9jF8sZ72s,925
|
|
24
24
|
maleo/identity/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
maleo/identity/mixins/api_key.py,sha256=
|
|
25
|
+
maleo/identity/mixins/api_key.py,sha256=T-MupQfKe5ru_kO-AQ3JZ11aqK92lFOgsIUy2cJWoo8,2383
|
|
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=
|
|
29
|
+
maleo/identity/mixins/organization_relation.py,sha256=Fz_-2d6kdX8olzj67AN2UYj_Dw741SqS6ZQSllnujL8,2881
|
|
30
30
|
maleo/identity/mixins/patient.py,sha256=unDmyazC5tyIsoXtAjMyWjAOOoxgMXa2DYfg6vZbLGI,2193
|
|
31
31
|
maleo/identity/mixins/user.py,sha256=ShTtmt5mTSrJwbffnFePP7IXC08j2q1BKsAmV32YEiM,3537
|
|
32
|
-
maleo/identity/mixins/user_medical_role.py,sha256=
|
|
33
|
-
maleo/identity/mixins/user_organization_role.py,sha256=
|
|
34
|
-
maleo/identity/mixins/user_profile.py,sha256=
|
|
35
|
-
maleo/identity/mixins/user_system_role.py,sha256=
|
|
32
|
+
maleo/identity/mixins/user_medical_role.py,sha256=DHdh3-JMysspWUM2A7Yx-OFcUz-KxwGHvgLDQuRXv08,2421
|
|
33
|
+
maleo/identity/mixins/user_organization_role.py,sha256=rU4Ci0iVqG4QFVRZM8PmCTgvDg5PqS2Ea-DSENYgj6Y,2512
|
|
34
|
+
maleo/identity/mixins/user_profile.py,sha256=hha88X83ugGEPsXAdUw-0iQK11eGZyutMCQLkk3pywQ,4401
|
|
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
|
|
38
|
+
maleo/identity/schemas/common.py,sha256=-ijdgmyz1xo8CYpKkh34iioZtIs-im5akHt1C54DzY0,9110
|
|
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
41
|
maleo/identity/schemas/organization_relation.py,sha256=9HGZypuhpK9egCHVDS1nh_lm5D0osxYM_4KmEEV8sHI,9487
|
|
@@ -43,7 +43,7 @@ maleo/identity/schemas/patient.py,sha256=qhycLtZfEDL8FWdT5GSe63so_9fdRXW_vAPNU0-
|
|
|
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=
|
|
46
|
+
maleo/identity/schemas/user_profile.py,sha256=h_hwlHabHahGToio3YXIbquM-41y7qtT2GFxt8DR4YU,11167
|
|
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
|
|
@@ -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.
|
|
63
|
-
maleo_identity-0.1.
|
|
64
|
-
maleo_identity-0.1.
|
|
65
|
-
maleo_identity-0.1.
|
|
66
|
-
maleo_identity-0.1.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|