maleo-identity 0.1.9__py3-none-any.whl → 0.1.10__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.
Potentially problematic release.
This version of maleo-identity might be problematic. Click here for more details.
- maleo/identity/mixins/api_key.py +62 -1
- maleo/identity/mixins/organization.py +58 -2
- maleo/identity/mixins/organization_registration_code.py +85 -1
- maleo/identity/mixins/organization_relation.py +64 -1
- maleo/identity/mixins/patient.py +78 -2
- maleo/identity/mixins/user.py +75 -1
- maleo/identity/mixins/user_medical_role.py +63 -0
- maleo/identity/mixins/user_organization_role.py +65 -0
- maleo/identity/mixins/user_profile.py +77 -1
- maleo/identity/mixins/user_system_role.py +63 -0
- maleo/identity/schemas/api_key.py +36 -10
- maleo/identity/schemas/common.py +2 -2
- maleo/identity/schemas/organization.py +131 -16
- maleo/identity/schemas/organization_registration_code.py +139 -14
- maleo/identity/schemas/organization_relation.py +138 -19
- maleo/identity/schemas/patient.py +129 -19
- maleo/identity/schemas/user.py +126 -15
- maleo/identity/schemas/user_medical_role.py +134 -18
- maleo/identity/schemas/user_organization_role.py +135 -18
- maleo/identity/schemas/user_profile.py +134 -15
- maleo/identity/schemas/user_system_role.py +134 -18
- {maleo_identity-0.1.9.dist-info → maleo_identity-0.1.10.dist-info}/METADATA +7 -8
- {maleo_identity-0.1.9.dist-info → maleo_identity-0.1.10.dist-info}/RECORD +26 -23
- {maleo_identity-0.1.9.dist-info → maleo_identity-0.1.10.dist-info}/WHEEL +0 -0
- {maleo_identity-0.1.9.dist-info → maleo_identity-0.1.10.dist-info}/licenses/LICENSE +0 -0
- {maleo_identity-0.1.9.dist-info → maleo_identity-0.1.10.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from pydantic import BaseModel, Field
|
|
2
|
-
from typing import Generic, Literal,
|
|
2
|
+
from typing import Generic, Literal, TypeVar, overload
|
|
3
3
|
from uuid import UUID
|
|
4
4
|
from maleo.enums.medical import (
|
|
5
5
|
MedicalRole,
|
|
@@ -14,7 +14,7 @@ from maleo.enums.status import (
|
|
|
14
14
|
)
|
|
15
15
|
from maleo.schemas.mixins.filter import convert as convert_filter
|
|
16
16
|
from maleo.schemas.mixins.identity import (
|
|
17
|
-
|
|
17
|
+
IdentifierMixin,
|
|
18
18
|
Ids,
|
|
19
19
|
UUIDs,
|
|
20
20
|
IntUserId,
|
|
@@ -23,6 +23,7 @@ from maleo.schemas.mixins.identity import (
|
|
|
23
23
|
IntOrganizationIds,
|
|
24
24
|
)
|
|
25
25
|
from maleo.schemas.mixins.sort import convert as convert_sort
|
|
26
|
+
from maleo.schemas.operation.enums import ResourceOperationStatusUpdateType
|
|
26
27
|
from maleo.schemas.parameter import (
|
|
27
28
|
ReadSingleParameter as BaseReadSingleParameter,
|
|
28
29
|
ReadPaginatedMultipleParameter,
|
|
@@ -33,7 +34,8 @@ from maleo.types.dict import StrToAnyDict
|
|
|
33
34
|
from maleo.types.integer import OptInt, OptListOfInts
|
|
34
35
|
from maleo.types.uuid import OptListOfUUIDs
|
|
35
36
|
from ..enums.user_medical_role import IdentifierType
|
|
36
|
-
from ..
|
|
37
|
+
from ..mixins.user_medical_role import UserMedicalRoleIdentifier
|
|
38
|
+
from ..types.user_medical_role import CompositeIdentifier, IdentifierValueType
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
class CreateParameter(
|
|
@@ -77,7 +79,7 @@ class ReadMultipleParameter(
|
|
|
77
79
|
return params
|
|
78
80
|
|
|
79
81
|
|
|
80
|
-
class ReadSingleParameter(BaseReadSingleParameter[
|
|
82
|
+
class ReadSingleParameter(BaseReadSingleParameter[UserMedicalRoleIdentifier]):
|
|
81
83
|
@overload
|
|
82
84
|
@classmethod
|
|
83
85
|
def new(
|
|
@@ -101,7 +103,7 @@ class ReadSingleParameter(BaseReadSingleParameter[IdentifierType, IdentifierValu
|
|
|
101
103
|
def new(
|
|
102
104
|
cls,
|
|
103
105
|
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
104
|
-
identifier_value:
|
|
106
|
+
identifier_value: CompositeIdentifier,
|
|
105
107
|
statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
|
|
106
108
|
use_cache: bool = True,
|
|
107
109
|
) -> "ReadSingleParameter": ...
|
|
@@ -123,8 +125,9 @@ class ReadSingleParameter(BaseReadSingleParameter[IdentifierType, IdentifierValu
|
|
|
123
125
|
use_cache: bool = True,
|
|
124
126
|
) -> "ReadSingleParameter":
|
|
125
127
|
return cls(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
identifier=UserMedicalRoleIdentifier(
|
|
129
|
+
type=identifier_type, value=identifier_value
|
|
130
|
+
),
|
|
128
131
|
statuses=statuses,
|
|
129
132
|
use_cache=use_cache,
|
|
130
133
|
)
|
|
@@ -160,22 +163,135 @@ class UpdateDataMixin(BaseModel, Generic[UpdateDataT]):
|
|
|
160
163
|
|
|
161
164
|
class UpdateParameter(
|
|
162
165
|
UpdateDataMixin[UpdateDataT],
|
|
163
|
-
|
|
164
|
-
IdentifierType,
|
|
165
|
-
IdentifierValueType,
|
|
166
|
-
],
|
|
166
|
+
IdentifierMixin[UserMedicalRoleIdentifier],
|
|
167
167
|
Generic[UpdateDataT],
|
|
168
168
|
):
|
|
169
|
-
|
|
169
|
+
@overload
|
|
170
|
+
@classmethod
|
|
171
|
+
def new(
|
|
172
|
+
cls,
|
|
173
|
+
identifier_type: Literal[IdentifierType.ID],
|
|
174
|
+
identifier_value: int,
|
|
175
|
+
data: UpdateDataT,
|
|
176
|
+
) -> "UpdateParameter": ...
|
|
177
|
+
@overload
|
|
178
|
+
@classmethod
|
|
179
|
+
def new(
|
|
180
|
+
cls,
|
|
181
|
+
identifier_type: Literal[IdentifierType.UUID],
|
|
182
|
+
identifier_value: UUID,
|
|
183
|
+
data: UpdateDataT,
|
|
184
|
+
) -> "UpdateParameter": ...
|
|
185
|
+
@overload
|
|
186
|
+
@classmethod
|
|
187
|
+
def new(
|
|
188
|
+
cls,
|
|
189
|
+
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
190
|
+
identifier_value: CompositeIdentifier,
|
|
191
|
+
data: UpdateDataT,
|
|
192
|
+
) -> "UpdateParameter": ...
|
|
193
|
+
@overload
|
|
194
|
+
@classmethod
|
|
195
|
+
def new(
|
|
196
|
+
cls,
|
|
197
|
+
identifier_type: IdentifierType,
|
|
198
|
+
identifier_value: IdentifierValueType,
|
|
199
|
+
data: UpdateDataT,
|
|
200
|
+
) -> "UpdateParameter": ...
|
|
201
|
+
@classmethod
|
|
202
|
+
def new(
|
|
203
|
+
cls,
|
|
204
|
+
identifier_type: IdentifierType,
|
|
205
|
+
identifier_value: IdentifierValueType,
|
|
206
|
+
data: UpdateDataT,
|
|
207
|
+
) -> "UpdateParameter":
|
|
208
|
+
return cls(
|
|
209
|
+
identifier=UserMedicalRoleIdentifier(
|
|
210
|
+
type=identifier_type, value=identifier_value
|
|
211
|
+
),
|
|
212
|
+
data=data,
|
|
213
|
+
)
|
|
170
214
|
|
|
171
215
|
|
|
172
216
|
class StatusUpdateParameter(
|
|
173
|
-
BaseStatusUpdateParameter[
|
|
217
|
+
BaseStatusUpdateParameter[UserMedicalRoleIdentifier],
|
|
174
218
|
):
|
|
175
|
-
|
|
219
|
+
@overload
|
|
220
|
+
@classmethod
|
|
221
|
+
def new(
|
|
222
|
+
cls,
|
|
223
|
+
identifier_type: Literal[IdentifierType.ID],
|
|
224
|
+
identifier_value: int,
|
|
225
|
+
type: ResourceOperationStatusUpdateType,
|
|
226
|
+
) -> "StatusUpdateParameter": ...
|
|
227
|
+
@overload
|
|
228
|
+
@classmethod
|
|
229
|
+
def new(
|
|
230
|
+
cls,
|
|
231
|
+
identifier_type: Literal[IdentifierType.UUID],
|
|
232
|
+
identifier_value: UUID,
|
|
233
|
+
type: ResourceOperationStatusUpdateType,
|
|
234
|
+
) -> "StatusUpdateParameter": ...
|
|
235
|
+
@overload
|
|
236
|
+
@classmethod
|
|
237
|
+
def new(
|
|
238
|
+
cls,
|
|
239
|
+
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
240
|
+
identifier_value: CompositeIdentifier,
|
|
241
|
+
type: ResourceOperationStatusUpdateType,
|
|
242
|
+
) -> "StatusUpdateParameter": ...
|
|
243
|
+
@overload
|
|
244
|
+
@classmethod
|
|
245
|
+
def new(
|
|
246
|
+
cls,
|
|
247
|
+
identifier_type: IdentifierType,
|
|
248
|
+
identifier_value: IdentifierValueType,
|
|
249
|
+
type: ResourceOperationStatusUpdateType,
|
|
250
|
+
) -> "StatusUpdateParameter": ...
|
|
251
|
+
@classmethod
|
|
252
|
+
def new(
|
|
253
|
+
cls,
|
|
254
|
+
identifier_type: IdentifierType,
|
|
255
|
+
identifier_value: IdentifierValueType,
|
|
256
|
+
type: ResourceOperationStatusUpdateType,
|
|
257
|
+
) -> "StatusUpdateParameter":
|
|
258
|
+
return cls(
|
|
259
|
+
identifier=UserMedicalRoleIdentifier(
|
|
260
|
+
type=identifier_type, value=identifier_value
|
|
261
|
+
),
|
|
262
|
+
type=type,
|
|
263
|
+
)
|
|
176
264
|
|
|
177
265
|
|
|
178
|
-
class DeleteSingleParameter(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
266
|
+
class DeleteSingleParameter(BaseDeleteSingleParameter[UserMedicalRoleIdentifier]):
|
|
267
|
+
@overload
|
|
268
|
+
@classmethod
|
|
269
|
+
def new(
|
|
270
|
+
cls, identifier_type: Literal[IdentifierType.ID], identifier_value: int
|
|
271
|
+
) -> "DeleteSingleParameter": ...
|
|
272
|
+
@overload
|
|
273
|
+
@classmethod
|
|
274
|
+
def new(
|
|
275
|
+
cls, identifier_type: Literal[IdentifierType.UUID], identifier_value: UUID
|
|
276
|
+
) -> "DeleteSingleParameter": ...
|
|
277
|
+
@overload
|
|
278
|
+
@classmethod
|
|
279
|
+
def new(
|
|
280
|
+
cls,
|
|
281
|
+
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
282
|
+
identifier_value: CompositeIdentifier,
|
|
283
|
+
) -> "DeleteSingleParameter": ...
|
|
284
|
+
@overload
|
|
285
|
+
@classmethod
|
|
286
|
+
def new(
|
|
287
|
+
cls, identifier_type: IdentifierType, identifier_value: IdentifierValueType
|
|
288
|
+
) -> "DeleteSingleParameter": ...
|
|
289
|
+
@classmethod
|
|
290
|
+
def new(
|
|
291
|
+
cls, identifier_type: IdentifierType, identifier_value: IdentifierValueType
|
|
292
|
+
) -> "DeleteSingleParameter":
|
|
293
|
+
return cls(
|
|
294
|
+
identifier=UserMedicalRoleIdentifier(
|
|
295
|
+
type=identifier_type, value=identifier_value
|
|
296
|
+
)
|
|
297
|
+
)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from pydantic import BaseModel, Field
|
|
2
|
-
from typing import Generic, Literal,
|
|
2
|
+
from typing import Generic, Literal, TypeVar, overload
|
|
3
3
|
from uuid import UUID
|
|
4
4
|
from maleo.enums.organization import (
|
|
5
5
|
OrganizationRole,
|
|
@@ -14,7 +14,7 @@ from maleo.enums.status import (
|
|
|
14
14
|
)
|
|
15
15
|
from maleo.schemas.mixins.filter import convert as convert_filter
|
|
16
16
|
from maleo.schemas.mixins.identity import (
|
|
17
|
-
|
|
17
|
+
IdentifierMixin,
|
|
18
18
|
Ids,
|
|
19
19
|
UUIDs,
|
|
20
20
|
IntUserId,
|
|
@@ -23,6 +23,7 @@ from maleo.schemas.mixins.identity import (
|
|
|
23
23
|
IntOrganizationIds,
|
|
24
24
|
)
|
|
25
25
|
from maleo.schemas.mixins.sort import convert as convert_sort
|
|
26
|
+
from maleo.schemas.operation.enums import ResourceOperationStatusUpdateType
|
|
26
27
|
from maleo.schemas.parameter import (
|
|
27
28
|
ReadSingleParameter as BaseReadSingleParameter,
|
|
28
29
|
ReadPaginatedMultipleParameter,
|
|
@@ -33,7 +34,8 @@ from maleo.types.dict import StrToAnyDict
|
|
|
33
34
|
from maleo.types.integer import OptInt, OptListOfInts
|
|
34
35
|
from maleo.types.uuid import OptListOfUUIDs
|
|
35
36
|
from ..enums.user_organization_role import IdentifierType
|
|
36
|
-
from ..
|
|
37
|
+
from ..mixins.user_organization_role import UserOrganizationRoleIdentifier
|
|
38
|
+
from ..types.user_organization_role import CompositeIdentifier, IdentifierValueType
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
class CreateParameter(
|
|
@@ -77,7 +79,7 @@ class ReadMultipleParameter(
|
|
|
77
79
|
return params
|
|
78
80
|
|
|
79
81
|
|
|
80
|
-
class ReadSingleParameter(BaseReadSingleParameter[
|
|
82
|
+
class ReadSingleParameter(BaseReadSingleParameter[UserOrganizationRoleIdentifier]):
|
|
81
83
|
@overload
|
|
82
84
|
@classmethod
|
|
83
85
|
def new(
|
|
@@ -101,7 +103,7 @@ class ReadSingleParameter(BaseReadSingleParameter[IdentifierType, IdentifierValu
|
|
|
101
103
|
def new(
|
|
102
104
|
cls,
|
|
103
105
|
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
104
|
-
identifier_value:
|
|
106
|
+
identifier_value: CompositeIdentifier,
|
|
105
107
|
statuses: ListOfDataStatuses = list(FULL_DATA_STATUSES),
|
|
106
108
|
use_cache: bool = True,
|
|
107
109
|
) -> "ReadSingleParameter": ...
|
|
@@ -123,8 +125,10 @@ class ReadSingleParameter(BaseReadSingleParameter[IdentifierType, IdentifierValu
|
|
|
123
125
|
use_cache: bool = True,
|
|
124
126
|
) -> "ReadSingleParameter":
|
|
125
127
|
return cls(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
identifier=UserOrganizationRoleIdentifier(
|
|
129
|
+
type=identifier_type,
|
|
130
|
+
value=identifier_value,
|
|
131
|
+
),
|
|
128
132
|
statuses=statuses,
|
|
129
133
|
use_cache=use_cache,
|
|
130
134
|
)
|
|
@@ -160,22 +164,135 @@ class UpdateDataMixin(BaseModel, Generic[UpdateDataT]):
|
|
|
160
164
|
|
|
161
165
|
class UpdateParameter(
|
|
162
166
|
UpdateDataMixin[UpdateDataT],
|
|
163
|
-
|
|
164
|
-
IdentifierType,
|
|
165
|
-
IdentifierValueType,
|
|
166
|
-
],
|
|
167
|
+
IdentifierMixin[UserOrganizationRoleIdentifier],
|
|
167
168
|
Generic[UpdateDataT],
|
|
168
169
|
):
|
|
169
|
-
|
|
170
|
+
@overload
|
|
171
|
+
@classmethod
|
|
172
|
+
def new(
|
|
173
|
+
cls,
|
|
174
|
+
identifier_type: Literal[IdentifierType.ID],
|
|
175
|
+
identifier_value: int,
|
|
176
|
+
data: UpdateDataT,
|
|
177
|
+
) -> "UpdateParameter": ...
|
|
178
|
+
@overload
|
|
179
|
+
@classmethod
|
|
180
|
+
def new(
|
|
181
|
+
cls,
|
|
182
|
+
identifier_type: Literal[IdentifierType.UUID],
|
|
183
|
+
identifier_value: UUID,
|
|
184
|
+
data: UpdateDataT,
|
|
185
|
+
) -> "UpdateParameter": ...
|
|
186
|
+
@overload
|
|
187
|
+
@classmethod
|
|
188
|
+
def new(
|
|
189
|
+
cls,
|
|
190
|
+
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
191
|
+
identifier_value: CompositeIdentifier,
|
|
192
|
+
data: UpdateDataT,
|
|
193
|
+
) -> "UpdateParameter": ...
|
|
194
|
+
@overload
|
|
195
|
+
@classmethod
|
|
196
|
+
def new(
|
|
197
|
+
cls,
|
|
198
|
+
identifier_type: IdentifierType,
|
|
199
|
+
identifier_value: IdentifierValueType,
|
|
200
|
+
data: UpdateDataT,
|
|
201
|
+
) -> "UpdateParameter": ...
|
|
202
|
+
@classmethod
|
|
203
|
+
def new(
|
|
204
|
+
cls,
|
|
205
|
+
identifier_type: IdentifierType,
|
|
206
|
+
identifier_value: IdentifierValueType,
|
|
207
|
+
data: UpdateDataT,
|
|
208
|
+
) -> "UpdateParameter":
|
|
209
|
+
return cls(
|
|
210
|
+
identifier=UserOrganizationRoleIdentifier(
|
|
211
|
+
type=identifier_type, value=identifier_value
|
|
212
|
+
),
|
|
213
|
+
data=data,
|
|
214
|
+
)
|
|
170
215
|
|
|
171
216
|
|
|
172
217
|
class StatusUpdateParameter(
|
|
173
|
-
BaseStatusUpdateParameter[
|
|
218
|
+
BaseStatusUpdateParameter[UserOrganizationRoleIdentifier],
|
|
174
219
|
):
|
|
175
|
-
|
|
220
|
+
@overload
|
|
221
|
+
@classmethod
|
|
222
|
+
def new(
|
|
223
|
+
cls,
|
|
224
|
+
identifier_type: Literal[IdentifierType.ID],
|
|
225
|
+
identifier_value: int,
|
|
226
|
+
type: ResourceOperationStatusUpdateType,
|
|
227
|
+
) -> "StatusUpdateParameter": ...
|
|
228
|
+
@overload
|
|
229
|
+
@classmethod
|
|
230
|
+
def new(
|
|
231
|
+
cls,
|
|
232
|
+
identifier_type: Literal[IdentifierType.UUID],
|
|
233
|
+
identifier_value: UUID,
|
|
234
|
+
type: ResourceOperationStatusUpdateType,
|
|
235
|
+
) -> "StatusUpdateParameter": ...
|
|
236
|
+
@overload
|
|
237
|
+
@classmethod
|
|
238
|
+
def new(
|
|
239
|
+
cls,
|
|
240
|
+
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
241
|
+
identifier_value: CompositeIdentifier,
|
|
242
|
+
type: ResourceOperationStatusUpdateType,
|
|
243
|
+
) -> "StatusUpdateParameter": ...
|
|
244
|
+
@overload
|
|
245
|
+
@classmethod
|
|
246
|
+
def new(
|
|
247
|
+
cls,
|
|
248
|
+
identifier_type: IdentifierType,
|
|
249
|
+
identifier_value: IdentifierValueType,
|
|
250
|
+
type: ResourceOperationStatusUpdateType,
|
|
251
|
+
) -> "StatusUpdateParameter": ...
|
|
252
|
+
@classmethod
|
|
253
|
+
def new(
|
|
254
|
+
cls,
|
|
255
|
+
identifier_type: IdentifierType,
|
|
256
|
+
identifier_value: IdentifierValueType,
|
|
257
|
+
type: ResourceOperationStatusUpdateType,
|
|
258
|
+
) -> "StatusUpdateParameter":
|
|
259
|
+
return cls(
|
|
260
|
+
identifier=UserOrganizationRoleIdentifier(
|
|
261
|
+
type=identifier_type, value=identifier_value
|
|
262
|
+
),
|
|
263
|
+
type=type,
|
|
264
|
+
)
|
|
176
265
|
|
|
177
266
|
|
|
178
|
-
class DeleteSingleParameter(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
267
|
+
class DeleteSingleParameter(BaseDeleteSingleParameter[UserOrganizationRoleIdentifier]):
|
|
268
|
+
@overload
|
|
269
|
+
@classmethod
|
|
270
|
+
def new(
|
|
271
|
+
cls, identifier_type: Literal[IdentifierType.ID], identifier_value: int
|
|
272
|
+
) -> "DeleteSingleParameter": ...
|
|
273
|
+
@overload
|
|
274
|
+
@classmethod
|
|
275
|
+
def new(
|
|
276
|
+
cls, identifier_type: Literal[IdentifierType.UUID], identifier_value: UUID
|
|
277
|
+
) -> "DeleteSingleParameter": ...
|
|
278
|
+
@overload
|
|
279
|
+
@classmethod
|
|
280
|
+
def new(
|
|
281
|
+
cls,
|
|
282
|
+
identifier_type: Literal[IdentifierType.COMPOSITE],
|
|
283
|
+
identifier_value: CompositeIdentifier,
|
|
284
|
+
) -> "DeleteSingleParameter": ...
|
|
285
|
+
@overload
|
|
286
|
+
@classmethod
|
|
287
|
+
def new(
|
|
288
|
+
cls, identifier_type: IdentifierType, identifier_value: IdentifierValueType
|
|
289
|
+
) -> "DeleteSingleParameter": ...
|
|
290
|
+
@classmethod
|
|
291
|
+
def new(
|
|
292
|
+
cls, identifier_type: IdentifierType, identifier_value: IdentifierValueType
|
|
293
|
+
) -> "DeleteSingleParameter":
|
|
294
|
+
return cls(
|
|
295
|
+
identifier=UserOrganizationRoleIdentifier(
|
|
296
|
+
type=identifier_type, value=identifier_value
|
|
297
|
+
)
|
|
298
|
+
)
|
|
@@ -17,7 +17,7 @@ from maleo.enums.status import (
|
|
|
17
17
|
)
|
|
18
18
|
from maleo.schemas.mixins.filter import convert as convert_filter
|
|
19
19
|
from maleo.schemas.mixins.identity import (
|
|
20
|
-
|
|
20
|
+
IdentifierMixin,
|
|
21
21
|
Ids,
|
|
22
22
|
UUIDs,
|
|
23
23
|
IntUserId,
|
|
@@ -25,6 +25,7 @@ from maleo.schemas.mixins.identity import (
|
|
|
25
25
|
BirthDate,
|
|
26
26
|
)
|
|
27
27
|
from maleo.schemas.mixins.sort import convert as convert_sort
|
|
28
|
+
from maleo.schemas.operation.enums import ResourceOperationStatusUpdateType
|
|
28
29
|
from maleo.schemas.parameter import (
|
|
29
30
|
ReadSingleParameter as BaseReadSingleParameter,
|
|
30
31
|
ReadPaginatedMultipleParameter,
|
|
@@ -48,6 +49,7 @@ from ..mixins.user_profile import (
|
|
|
48
49
|
MiddleName,
|
|
49
50
|
LastName,
|
|
50
51
|
EndingTitle,
|
|
52
|
+
UserProfileIdentifier,
|
|
51
53
|
)
|
|
52
54
|
from ..types.user_profile import IdentifierValueType
|
|
53
55
|
|
|
@@ -102,7 +104,7 @@ class ReadMultipleParameter(
|
|
|
102
104
|
return params
|
|
103
105
|
|
|
104
106
|
|
|
105
|
-
class ReadSingleParameter(BaseReadSingleParameter[
|
|
107
|
+
class ReadSingleParameter(BaseReadSingleParameter[UserProfileIdentifier]):
|
|
106
108
|
@overload
|
|
107
109
|
@classmethod
|
|
108
110
|
def new(
|
|
@@ -139,8 +141,10 @@ class ReadSingleParameter(BaseReadSingleParameter[IdentifierType, IdentifierValu
|
|
|
139
141
|
use_cache: bool = True,
|
|
140
142
|
) -> "ReadSingleParameter":
|
|
141
143
|
return cls(
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
identifier=UserProfileIdentifier(
|
|
145
|
+
type=identifier_type,
|
|
146
|
+
value=identifier_value,
|
|
147
|
+
),
|
|
144
148
|
statuses=statuses,
|
|
145
149
|
use_cache=use_cache,
|
|
146
150
|
)
|
|
@@ -190,22 +194,137 @@ class UpdateDataMixin(BaseModel, Generic[UpdateDataT]):
|
|
|
190
194
|
|
|
191
195
|
class UpdateParameter(
|
|
192
196
|
UpdateDataMixin[UpdateDataT],
|
|
193
|
-
|
|
194
|
-
IdentifierType,
|
|
195
|
-
IdentifierValueType,
|
|
196
|
-
],
|
|
197
|
+
IdentifierMixin[UserProfileIdentifier],
|
|
197
198
|
Generic[UpdateDataT],
|
|
198
199
|
):
|
|
199
|
-
|
|
200
|
+
@overload
|
|
201
|
+
@classmethod
|
|
202
|
+
def new(
|
|
203
|
+
cls,
|
|
204
|
+
identifier_type: Literal[IdentifierType.ID, IdentifierType.USER_ID],
|
|
205
|
+
identifier_value: int,
|
|
206
|
+
data: UpdateDataT,
|
|
207
|
+
) -> "UpdateParameter": ...
|
|
208
|
+
@overload
|
|
209
|
+
@classmethod
|
|
210
|
+
def new(
|
|
211
|
+
cls,
|
|
212
|
+
identifier_type: Literal[IdentifierType.UUID],
|
|
213
|
+
identifier_value: UUID,
|
|
214
|
+
data: UpdateDataT,
|
|
215
|
+
) -> "UpdateParameter": ...
|
|
216
|
+
@overload
|
|
217
|
+
@classmethod
|
|
218
|
+
def new(
|
|
219
|
+
cls,
|
|
220
|
+
identifier_type: Literal[IdentifierType.ID_CARD],
|
|
221
|
+
identifier_value: str,
|
|
222
|
+
data: UpdateDataT,
|
|
223
|
+
) -> "UpdateParameter": ...
|
|
224
|
+
@overload
|
|
225
|
+
@classmethod
|
|
226
|
+
def new(
|
|
227
|
+
cls,
|
|
228
|
+
identifier_type: IdentifierType,
|
|
229
|
+
identifier_value: IdentifierValueType,
|
|
230
|
+
data: UpdateDataT,
|
|
231
|
+
) -> "UpdateParameter": ...
|
|
232
|
+
@classmethod
|
|
233
|
+
def new(
|
|
234
|
+
cls,
|
|
235
|
+
identifier_type: IdentifierType,
|
|
236
|
+
identifier_value: IdentifierValueType,
|
|
237
|
+
data: UpdateDataT,
|
|
238
|
+
) -> "UpdateParameter":
|
|
239
|
+
return cls(
|
|
240
|
+
identifier=UserProfileIdentifier(
|
|
241
|
+
type=identifier_type, value=identifier_value
|
|
242
|
+
),
|
|
243
|
+
data=data,
|
|
244
|
+
)
|
|
200
245
|
|
|
201
246
|
|
|
202
247
|
class StatusUpdateParameter(
|
|
203
|
-
BaseStatusUpdateParameter[
|
|
248
|
+
BaseStatusUpdateParameter[UserProfileIdentifier],
|
|
204
249
|
):
|
|
205
|
-
|
|
250
|
+
@overload
|
|
251
|
+
@classmethod
|
|
252
|
+
def new(
|
|
253
|
+
cls,
|
|
254
|
+
identifier_type: Literal[IdentifierType.ID, IdentifierType.USER_ID],
|
|
255
|
+
identifier_value: int,
|
|
256
|
+
type: ResourceOperationStatusUpdateType,
|
|
257
|
+
) -> "StatusUpdateParameter": ...
|
|
258
|
+
@overload
|
|
259
|
+
@classmethod
|
|
260
|
+
def new(
|
|
261
|
+
cls,
|
|
262
|
+
identifier_type: Literal[IdentifierType.UUID],
|
|
263
|
+
identifier_value: UUID,
|
|
264
|
+
type: ResourceOperationStatusUpdateType,
|
|
265
|
+
) -> "StatusUpdateParameter": ...
|
|
266
|
+
@overload
|
|
267
|
+
@classmethod
|
|
268
|
+
def new(
|
|
269
|
+
cls,
|
|
270
|
+
identifier_type: Literal[IdentifierType.ID_CARD],
|
|
271
|
+
identifier_value: str,
|
|
272
|
+
type: ResourceOperationStatusUpdateType,
|
|
273
|
+
) -> "StatusUpdateParameter": ...
|
|
274
|
+
@overload
|
|
275
|
+
@classmethod
|
|
276
|
+
def new(
|
|
277
|
+
cls,
|
|
278
|
+
identifier_type: IdentifierType,
|
|
279
|
+
identifier_value: IdentifierValueType,
|
|
280
|
+
type: ResourceOperationStatusUpdateType,
|
|
281
|
+
) -> "StatusUpdateParameter": ...
|
|
282
|
+
@classmethod
|
|
283
|
+
def new(
|
|
284
|
+
cls,
|
|
285
|
+
identifier_type: IdentifierType,
|
|
286
|
+
identifier_value: IdentifierValueType,
|
|
287
|
+
type: ResourceOperationStatusUpdateType,
|
|
288
|
+
) -> "StatusUpdateParameter":
|
|
289
|
+
return cls(
|
|
290
|
+
identifier=UserProfileIdentifier(
|
|
291
|
+
type=identifier_type, value=identifier_value
|
|
292
|
+
),
|
|
293
|
+
type=type,
|
|
294
|
+
)
|
|
206
295
|
|
|
207
296
|
|
|
208
|
-
class DeleteSingleParameter(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
297
|
+
class DeleteSingleParameter(BaseDeleteSingleParameter[UserProfileIdentifier]):
|
|
298
|
+
@overload
|
|
299
|
+
@classmethod
|
|
300
|
+
def new(
|
|
301
|
+
cls,
|
|
302
|
+
identifier_type: Literal[IdentifierType.ID, IdentifierType.USER_ID],
|
|
303
|
+
identifier_value: int,
|
|
304
|
+
) -> "DeleteSingleParameter": ...
|
|
305
|
+
@overload
|
|
306
|
+
@classmethod
|
|
307
|
+
def new(
|
|
308
|
+
cls, identifier_type: Literal[IdentifierType.UUID], identifier_value: UUID
|
|
309
|
+
) -> "DeleteSingleParameter": ...
|
|
310
|
+
@overload
|
|
311
|
+
@classmethod
|
|
312
|
+
def new(
|
|
313
|
+
cls,
|
|
314
|
+
identifier_type: Literal[IdentifierType.ID_CARD],
|
|
315
|
+
identifier_value: str,
|
|
316
|
+
) -> "DeleteSingleParameter": ...
|
|
317
|
+
@overload
|
|
318
|
+
@classmethod
|
|
319
|
+
def new(
|
|
320
|
+
cls, identifier_type: IdentifierType, identifier_value: IdentifierValueType
|
|
321
|
+
) -> "DeleteSingleParameter": ...
|
|
322
|
+
@classmethod
|
|
323
|
+
def new(
|
|
324
|
+
cls, identifier_type: IdentifierType, identifier_value: IdentifierValueType
|
|
325
|
+
) -> "DeleteSingleParameter":
|
|
326
|
+
return cls(
|
|
327
|
+
identifier=UserProfileIdentifier(
|
|
328
|
+
type=identifier_type, value=identifier_value
|
|
329
|
+
)
|
|
330
|
+
)
|