maleo-identity 0.0.73__py3-none-any.whl → 0.0.76__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-0.0.73.dist-info → maleo_identity-0.0.76.dist-info}/METADATA +3 -3
- maleo_identity-0.0.76.dist-info/RECORD +4 -0
- maleo_identity-0.0.76.dist-info/top_level.txt +1 -0
- maleo_identity/__init__.py +0 -0
- maleo_identity/client/__init__.py +0 -0
- maleo_identity/client/controllers/__init__.py +0 -17
- maleo_identity/client/controllers/http/__init__.py +0 -0
- maleo_identity/client/controllers/http/organization.py +0 -647
- maleo_identity/client/controllers/http/user.py +0 -541
- maleo_identity/client/manager.py +0 -77
- maleo_identity/client/services/__init__.py +0 -11
- maleo_identity/client/services/organization.py +0 -968
- maleo_identity/client/services/user.py +0 -817
- maleo_identity/constants/__init__.py +0 -17
- maleo_identity/constants/organization.py +0 -13
- maleo_identity/constants/organization_registration_code.py +0 -14
- maleo_identity/constants/organization_role.py +0 -22
- maleo_identity/constants/user.py +0 -27
- maleo_identity/constants/user_organization.py +0 -46
- maleo_identity/constants/user_organization_role.py +0 -35
- maleo_identity/constants/user_profile.py +0 -20
- maleo_identity/constants/user_system_role.py +0 -9
- maleo_identity/db.py +0 -6
- maleo_identity/enums/__init__.py +0 -19
- maleo_identity/enums/general.py +0 -5
- maleo_identity/enums/organization.py +0 -11
- maleo_identity/enums/organization_registration_code.py +0 -8
- maleo_identity/enums/organization_role.py +0 -7
- maleo_identity/enums/user.py +0 -16
- maleo_identity/enums/user_organization.py +0 -14
- maleo_identity/enums/user_organization_role.py +0 -15
- maleo_identity/enums/user_profile.py +0 -15
- maleo_identity/enums/user_system_role.py +0 -5
- maleo_identity/models/__init__.py +0 -11
- maleo_identity/models/responses/__init__.py +0 -17
- maleo_identity/models/responses/organization.py +0 -58
- maleo_identity/models/responses/organization_registration_code.py +0 -46
- maleo_identity/models/responses/organization_role.py +0 -25
- maleo_identity/models/responses/user.py +0 -68
- maleo_identity/models/responses/user_organization.py +0 -25
- maleo_identity/models/responses/user_organization_role.py +0 -25
- maleo_identity/models/responses/user_profile.py +0 -46
- maleo_identity/models/responses/user_system_role.py +0 -25
- maleo_identity/models/schemas/__init__.py +0 -19
- maleo_identity/models/schemas/general.py +0 -18
- maleo_identity/models/schemas/organization.py +0 -25
- maleo_identity/models/schemas/organization_registration_code.py +0 -21
- maleo_identity/models/schemas/organization_role.py +0 -15
- maleo_identity/models/schemas/user.py +0 -44
- maleo_identity/models/schemas/user_organization.py +0 -8
- maleo_identity/models/schemas/user_organization_role.py +0 -15
- maleo_identity/models/schemas/user_profile.py +0 -57
- maleo_identity/models/schemas/user_system_role.py +0 -8
- maleo_identity/models/tables/__init__.py +0 -19
- maleo_identity/models/tables/organization.py +0 -58
- maleo_identity/models/tables/organization_registration_code.py +0 -37
- maleo_identity/models/tables/organization_role.py +0 -43
- maleo_identity/models/tables/user.py +0 -43
- maleo_identity/models/tables/user_organization.py +0 -58
- maleo_identity/models/tables/user_organization_role.py +0 -69
- maleo_identity/models/tables/user_profile.py +0 -31
- maleo_identity/models/tables/user_system_role.py +0 -24
- maleo_identity/models/transfers/__init__.py +0 -9
- maleo_identity/models/transfers/general/__init__.py +0 -17
- maleo_identity/models/transfers/general/organization.py +0 -31
- maleo_identity/models/transfers/general/organization_registration_code.py +0 -19
- maleo_identity/models/transfers/general/organization_role.py +0 -20
- maleo_identity/models/transfers/general/user.py +0 -28
- maleo_identity/models/transfers/general/user_organization.py +0 -18
- maleo_identity/models/transfers/general/user_organization_role.py +0 -19
- maleo_identity/models/transfers/general/user_profile.py +0 -32
- maleo_identity/models/transfers/general/user_system_role.py +0 -17
- maleo_identity/models/transfers/parameters/__init__.py +0 -9
- maleo_identity/models/transfers/parameters/client/__init__.py +0 -17
- maleo_identity/models/transfers/parameters/client/organization.py +0 -77
- maleo_identity/models/transfers/parameters/client/organization_registration_code.py +0 -24
- maleo_identity/models/transfers/parameters/client/organization_role.py +0 -33
- maleo_identity/models/transfers/parameters/client/user.py +0 -34
- maleo_identity/models/transfers/parameters/client/user_organization.py +0 -45
- maleo_identity/models/transfers/parameters/client/user_organization_role.py +0 -36
- maleo_identity/models/transfers/parameters/client/user_profile.py +0 -23
- maleo_identity/models/transfers/parameters/client/user_system_role.py +0 -33
- maleo_identity/models/transfers/parameters/general/__init__.py +0 -17
- maleo_identity/models/transfers/parameters/general/organization.py +0 -35
- maleo_identity/models/transfers/parameters/general/organization_registration_code.py +0 -33
- maleo_identity/models/transfers/parameters/general/organization_role.py +0 -17
- maleo_identity/models/transfers/parameters/general/user.py +0 -77
- maleo_identity/models/transfers/parameters/general/user_organization.py +0 -31
- maleo_identity/models/transfers/parameters/general/user_organization_role.py +0 -18
- maleo_identity/models/transfers/parameters/general/user_profile.py +0 -55
- maleo_identity/models/transfers/parameters/general/user_system_role.py +0 -29
- maleo_identity/models/transfers/parameters/service/__init__.py +0 -17
- maleo_identity/models/transfers/parameters/service/organization.py +0 -66
- maleo_identity/models/transfers/parameters/service/organization_registration_code.py +0 -19
- maleo_identity/models/transfers/parameters/service/organization_role.py +0 -26
- maleo_identity/models/transfers/parameters/service/user.py +0 -34
- maleo_identity/models/transfers/parameters/service/user_organization.py +0 -31
- maleo_identity/models/transfers/parameters/service/user_organization_role.py +0 -28
- maleo_identity/models/transfers/parameters/service/user_profile.py +0 -23
- maleo_identity/models/transfers/parameters/service/user_system_role.py +0 -26
- maleo_identity/models/transfers/results/__init__.py +0 -5
- maleo_identity/models/transfers/results/client/__init__.py +0 -17
- maleo_identity/models/transfers/results/client/organization.py +0 -21
- maleo_identity/models/transfers/results/client/organization_registration_code.py +0 -15
- maleo_identity/models/transfers/results/client/organization_role.py +0 -15
- maleo_identity/models/transfers/results/client/user.py +0 -24
- maleo_identity/models/transfers/results/client/user_organization.py +0 -15
- maleo_identity/models/transfers/results/client/user_organization_role.py +0 -15
- maleo_identity/models/transfers/results/client/user_profile.py +0 -15
- maleo_identity/models/transfers/results/client/user_system_role.py +0 -15
- maleo_identity/models/transfers/results/service/__init__.py +0 -0
- maleo_identity/models/transfers/results/service/organization.py +0 -21
- maleo_identity/models/transfers/results/service/organization_registration_code.py +0 -15
- maleo_identity/models/transfers/results/service/organization_role.py +0 -15
- maleo_identity/models/transfers/results/service/user.py +0 -24
- maleo_identity/models/transfers/results/service/user_organization.py +0 -15
- maleo_identity/models/transfers/results/service/user_organization_role.py +0 -15
- maleo_identity/models/transfers/results/service/user_profile.py +0 -15
- maleo_identity/models/transfers/results/service/user_system_role.py +0 -15
- maleo_identity/types/__init__.py +0 -5
- maleo_identity/types/results/__init__.py +0 -5
- maleo_identity/types/results/client/__init__.py +0 -17
- maleo_identity/types/results/client/organization.py +0 -30
- maleo_identity/types/results/client/organization_registration_code.py +0 -20
- maleo_identity/types/results/client/organization_role.py +0 -14
- maleo_identity/types/results/client/user.py +0 -29
- maleo_identity/types/results/client/user_organization.py +0 -19
- maleo_identity/types/results/client/user_organization_role.py +0 -14
- maleo_identity/types/results/client/user_profile.py +0 -19
- maleo_identity/types/results/client/user_system_role.py +0 -19
- maleo_identity/types/results/service/__init__.py +0 -0
- maleo_identity/types/results/service/organization.py +0 -32
- maleo_identity/types/results/service/organization_registration_code.py +0 -21
- maleo_identity/types/results/service/organization_role.py +0 -15
- maleo_identity/types/results/service/user.py +0 -30
- maleo_identity/types/results/service/user_organization.py +0 -20
- maleo_identity/types/results/service/user_organization_role.py +0 -15
- maleo_identity/types/results/service/user_profile.py +0 -20
- maleo_identity/types/results/service/user_system_role.py +0 -20
- maleo_identity-0.0.73.dist-info/RECORD +0 -140
- maleo_identity-0.0.73.dist-info/top_level.txt +0 -1
- {maleo_identity-0.0.73.dist-info → maleo_identity-0.0.76.dist-info}/WHEEL +0 -0
|
@@ -1,541 +0,0 @@
|
|
|
1
|
-
from typing import Dict, Optional
|
|
2
|
-
from maleo_foundation.authorization import Authorization
|
|
3
|
-
from maleo_foundation.managers.client.base import BearerAuth
|
|
4
|
-
from maleo_foundation.managers.client.maleo import MaleoClientHTTPController
|
|
5
|
-
from maleo_foundation.models.transfers.results.client.controllers.http \
|
|
6
|
-
import BaseClientHTTPControllerResults
|
|
7
|
-
from maleo_foundation.utils.merger import deep_merge
|
|
8
|
-
from maleo_identity.models.transfers.parameters.general.user \
|
|
9
|
-
import MaleoIdentityUserGeneralParametersTransfers
|
|
10
|
-
from maleo_identity.models.transfers.parameters.general.user_organization \
|
|
11
|
-
import MaleoIdentityUserOrganizationGeneralParametersTransfers
|
|
12
|
-
from maleo_identity.models.transfers.parameters.general.user_system_role \
|
|
13
|
-
import MaleoIdentityUserSystemRoleGeneralParametersTransfers
|
|
14
|
-
from maleo_identity.models.transfers.parameters.general.user_organization_role \
|
|
15
|
-
import MaleoIdentityUserOrganizationRoleGeneralParametersTransfers
|
|
16
|
-
from maleo_identity.models.transfers.parameters.client.user \
|
|
17
|
-
import MaleoIdentityUserClientParametersTransfers
|
|
18
|
-
from maleo_identity.models.transfers.parameters.client.user_organization \
|
|
19
|
-
import MaleoIdentityUserOrganizationClientParametersTransfers
|
|
20
|
-
from maleo_identity.models.transfers.parameters.client.user_system_role \
|
|
21
|
-
import MaleoIdentityUserSystemRoleClientParametersTransfers
|
|
22
|
-
from maleo_identity.models.transfers.parameters.client.user_organization_role \
|
|
23
|
-
import MaleoIdentityUserOrganizationRoleClientParametersTransfers
|
|
24
|
-
|
|
25
|
-
class MaleoIdentityUserHTTPController(MaleoClientHTTPController):
|
|
26
|
-
async def get_users(
|
|
27
|
-
self,
|
|
28
|
-
parameters:MaleoIdentityUserClientParametersTransfers.GetMultiple,
|
|
29
|
-
authorization:Optional[Authorization] = None,
|
|
30
|
-
headers:Optional[Dict[str, str]] = None
|
|
31
|
-
) -> BaseClientHTTPControllerResults:
|
|
32
|
-
"""Fetch users from MaleoIdentity"""
|
|
33
|
-
async with self._manager.get_client() as client:
|
|
34
|
-
#* Define URL
|
|
35
|
-
url = f"{self._manager.url}/v1/users/"
|
|
36
|
-
|
|
37
|
-
#* Parse parameters to query params
|
|
38
|
-
params = (
|
|
39
|
-
MaleoIdentityUserClientParametersTransfers
|
|
40
|
-
.GetMultipleQuery
|
|
41
|
-
.model_validate(
|
|
42
|
-
parameters.model_dump()
|
|
43
|
-
)
|
|
44
|
-
.model_dump(
|
|
45
|
-
exclude={"sort_columns", "date_filters"},
|
|
46
|
-
exclude_none=True
|
|
47
|
-
)
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
#* Create headers
|
|
51
|
-
base_headers = {
|
|
52
|
-
"Content-Type": "application/json"
|
|
53
|
-
}
|
|
54
|
-
if headers is not None:
|
|
55
|
-
headers = deep_merge(
|
|
56
|
-
base_headers,
|
|
57
|
-
headers
|
|
58
|
-
)
|
|
59
|
-
else:
|
|
60
|
-
headers = base_headers
|
|
61
|
-
|
|
62
|
-
#* Create auth
|
|
63
|
-
token = None
|
|
64
|
-
if authorization and authorization.scheme == "Bearer":
|
|
65
|
-
token = authorization.credentials
|
|
66
|
-
elif self._service_manager.token:
|
|
67
|
-
token = self._service_manager.token
|
|
68
|
-
auth = BearerAuth(token) if token else None
|
|
69
|
-
|
|
70
|
-
#* Send request and wait for response
|
|
71
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
72
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
73
|
-
|
|
74
|
-
async def get_user(
|
|
75
|
-
self,
|
|
76
|
-
parameters:MaleoIdentityUserGeneralParametersTransfers.GetSingle,
|
|
77
|
-
authorization:Optional[Authorization] = None,
|
|
78
|
-
headers:Optional[Dict[str, str]] = None
|
|
79
|
-
) -> BaseClientHTTPControllerResults:
|
|
80
|
-
"""Fetch user from MaleoIdentity"""
|
|
81
|
-
async with self._manager.get_client() as client:
|
|
82
|
-
#* Define URL
|
|
83
|
-
url = f"{self._manager.url}/v1/users/{parameters.identifier}/{parameters.value}"
|
|
84
|
-
|
|
85
|
-
#* Parse parameters to query params
|
|
86
|
-
params = (
|
|
87
|
-
MaleoIdentityUserGeneralParametersTransfers
|
|
88
|
-
.GetSingleQuery
|
|
89
|
-
.model_validate(
|
|
90
|
-
parameters.model_dump()
|
|
91
|
-
)
|
|
92
|
-
.model_dump(exclude_none=True)
|
|
93
|
-
)
|
|
94
|
-
|
|
95
|
-
#* Create headers
|
|
96
|
-
base_headers = {
|
|
97
|
-
"Content-Type": "application/json"
|
|
98
|
-
}
|
|
99
|
-
if headers is not None:
|
|
100
|
-
headers = deep_merge(
|
|
101
|
-
base_headers,
|
|
102
|
-
headers
|
|
103
|
-
)
|
|
104
|
-
else:
|
|
105
|
-
headers = base_headers
|
|
106
|
-
|
|
107
|
-
#* Create auth
|
|
108
|
-
token = None
|
|
109
|
-
if authorization and authorization.scheme == "Bearer":
|
|
110
|
-
token = authorization.credentials
|
|
111
|
-
elif self._service_manager.token:
|
|
112
|
-
token = self._service_manager.token
|
|
113
|
-
auth = BearerAuth(token) if token else None
|
|
114
|
-
|
|
115
|
-
#* Send request and wait for response
|
|
116
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
117
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
118
|
-
|
|
119
|
-
async def create(
|
|
120
|
-
self,
|
|
121
|
-
parameters:MaleoIdentityUserGeneralParametersTransfers.Create,
|
|
122
|
-
authorization:Optional[Authorization] = None,
|
|
123
|
-
headers:Optional[Dict[str, str]] = None
|
|
124
|
-
) -> BaseClientHTTPControllerResults:
|
|
125
|
-
"""Create a new user in MaleoIdentity"""
|
|
126
|
-
async with self._manager.get_client() as client:
|
|
127
|
-
#* Define URL
|
|
128
|
-
url = f"{self._manager.url}/v1/users/"
|
|
129
|
-
|
|
130
|
-
#* Declare body
|
|
131
|
-
json = (
|
|
132
|
-
MaleoIdentityUserGeneralParametersTransfers
|
|
133
|
-
.CreateData
|
|
134
|
-
.model_validate(
|
|
135
|
-
parameters.model_dump()
|
|
136
|
-
)
|
|
137
|
-
.model_dump()
|
|
138
|
-
)
|
|
139
|
-
|
|
140
|
-
#* Parse parameters to query params
|
|
141
|
-
params = (
|
|
142
|
-
MaleoIdentityUserGeneralParametersTransfers
|
|
143
|
-
.CreateOrUpdateQuery
|
|
144
|
-
.model_validate(
|
|
145
|
-
parameters.model_dump()
|
|
146
|
-
)
|
|
147
|
-
.model_dump(exclude_none=True)
|
|
148
|
-
)
|
|
149
|
-
|
|
150
|
-
#* Create headers
|
|
151
|
-
base_headers = {
|
|
152
|
-
"Content-Type": "application/json"
|
|
153
|
-
}
|
|
154
|
-
if headers is not None:
|
|
155
|
-
headers = deep_merge(
|
|
156
|
-
base_headers,
|
|
157
|
-
headers
|
|
158
|
-
)
|
|
159
|
-
else:
|
|
160
|
-
headers = base_headers
|
|
161
|
-
|
|
162
|
-
#* Create auth
|
|
163
|
-
token = None
|
|
164
|
-
if authorization and authorization.scheme == "Bearer":
|
|
165
|
-
token = authorization.credentials
|
|
166
|
-
elif self._service_manager.token:
|
|
167
|
-
token = self._service_manager.token
|
|
168
|
-
auth = BearerAuth(token) if token else None
|
|
169
|
-
|
|
170
|
-
#* Send request and wait for response
|
|
171
|
-
response = await client.post(url=url, json=json, params=params, auth=auth)
|
|
172
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
173
|
-
|
|
174
|
-
async def update(
|
|
175
|
-
self,
|
|
176
|
-
parameters:MaleoIdentityUserGeneralParametersTransfers.Update,
|
|
177
|
-
authorization:Optional[Authorization] = None,
|
|
178
|
-
headers:Optional[Dict[str, str]] = None
|
|
179
|
-
) -> BaseClientHTTPControllerResults:
|
|
180
|
-
"""Update user's data in MaleoIdentity"""
|
|
181
|
-
async with self._manager.get_client() as client:
|
|
182
|
-
#* Define URL
|
|
183
|
-
url = f"{self._manager.url}/v1/users/{parameters.identifier}/{parameters.value}"
|
|
184
|
-
|
|
185
|
-
#* Declare body
|
|
186
|
-
json = (
|
|
187
|
-
MaleoIdentityUserGeneralParametersTransfers
|
|
188
|
-
.UpdateData
|
|
189
|
-
.model_validate(
|
|
190
|
-
parameters.model_dump()
|
|
191
|
-
)
|
|
192
|
-
.model_dump()
|
|
193
|
-
)
|
|
194
|
-
|
|
195
|
-
#* Parse parameters to query params
|
|
196
|
-
params = (
|
|
197
|
-
MaleoIdentityUserGeneralParametersTransfers
|
|
198
|
-
.CreateOrUpdateQuery
|
|
199
|
-
.model_validate(
|
|
200
|
-
parameters.model_dump()
|
|
201
|
-
)
|
|
202
|
-
.model_dump(exclude_none=True)
|
|
203
|
-
)
|
|
204
|
-
|
|
205
|
-
#* Create headers
|
|
206
|
-
base_headers = {
|
|
207
|
-
"Content-Type": "application/json"
|
|
208
|
-
}
|
|
209
|
-
if headers is not None:
|
|
210
|
-
headers = deep_merge(
|
|
211
|
-
base_headers,
|
|
212
|
-
headers
|
|
213
|
-
)
|
|
214
|
-
else:
|
|
215
|
-
headers = base_headers
|
|
216
|
-
|
|
217
|
-
#* Create auth
|
|
218
|
-
token = None
|
|
219
|
-
if authorization and authorization.scheme == "Bearer":
|
|
220
|
-
token = authorization.credentials
|
|
221
|
-
elif self._service_manager.token:
|
|
222
|
-
token = self._service_manager.token
|
|
223
|
-
auth = BearerAuth(token) if token else None
|
|
224
|
-
|
|
225
|
-
#* Send request and wait for response
|
|
226
|
-
response = await client.put(url=url, json=json, params=params, auth=auth)
|
|
227
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
228
|
-
|
|
229
|
-
async def get_password(
|
|
230
|
-
self,
|
|
231
|
-
parameters:MaleoIdentityUserGeneralParametersTransfers.GetSinglePassword,
|
|
232
|
-
authorization:Optional[Authorization] = None,
|
|
233
|
-
headers:Optional[Dict[str, str]] = None
|
|
234
|
-
) -> BaseClientHTTPControllerResults:
|
|
235
|
-
"""Get user's password from MaleoIdentity"""
|
|
236
|
-
async with self._manager.get_client() as client:
|
|
237
|
-
#* Define URL
|
|
238
|
-
url = f"{self._manager.url}/v1/users/{parameters.identifier}/{parameters.value}/password"
|
|
239
|
-
|
|
240
|
-
#* Create headers
|
|
241
|
-
base_headers = {
|
|
242
|
-
"Content-Type": "application/json"
|
|
243
|
-
}
|
|
244
|
-
if headers is not None:
|
|
245
|
-
headers = deep_merge(
|
|
246
|
-
base_headers,
|
|
247
|
-
headers
|
|
248
|
-
)
|
|
249
|
-
else:
|
|
250
|
-
headers = base_headers
|
|
251
|
-
|
|
252
|
-
#* Create auth
|
|
253
|
-
token = None
|
|
254
|
-
if authorization and authorization.scheme == "Bearer":
|
|
255
|
-
token = authorization.credentials
|
|
256
|
-
elif self._service_manager.token:
|
|
257
|
-
token = self._service_manager.token
|
|
258
|
-
auth = BearerAuth(token) if token else None
|
|
259
|
-
|
|
260
|
-
#* Send request and wait for response
|
|
261
|
-
response = await client.get(url=url, auth=auth)
|
|
262
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
263
|
-
|
|
264
|
-
async def get_user_system_roles(
|
|
265
|
-
self,
|
|
266
|
-
parameters:MaleoIdentityUserSystemRoleClientParametersTransfers.GetMultipleFromUser,
|
|
267
|
-
authorization:Optional[Authorization] = None,
|
|
268
|
-
headers:Optional[Dict[str, str]] = None
|
|
269
|
-
) -> BaseClientHTTPControllerResults:
|
|
270
|
-
"""Get user's system roles from MaleoIdentity"""
|
|
271
|
-
async with self._manager.get_client() as client:
|
|
272
|
-
#* Define URL
|
|
273
|
-
url = f"{self._manager.url}/v1/users/{parameters.user_id}/system-roles/"
|
|
274
|
-
|
|
275
|
-
#* Parse parameters to query params
|
|
276
|
-
params = (
|
|
277
|
-
MaleoIdentityUserSystemRoleClientParametersTransfers
|
|
278
|
-
.GetMultipleFromUserQuery
|
|
279
|
-
.model_validate(
|
|
280
|
-
parameters.model_dump()
|
|
281
|
-
)
|
|
282
|
-
.model_dump(
|
|
283
|
-
exclude={"sort_columns", "date_filters"},
|
|
284
|
-
exclude_none=True
|
|
285
|
-
)
|
|
286
|
-
)
|
|
287
|
-
|
|
288
|
-
#* Create headers
|
|
289
|
-
base_headers = {
|
|
290
|
-
"Content-Type": "application/json"
|
|
291
|
-
}
|
|
292
|
-
if headers is not None:
|
|
293
|
-
headers = deep_merge(
|
|
294
|
-
base_headers,
|
|
295
|
-
headers
|
|
296
|
-
)
|
|
297
|
-
else:
|
|
298
|
-
headers = base_headers
|
|
299
|
-
|
|
300
|
-
#* Create auth
|
|
301
|
-
token = None
|
|
302
|
-
if authorization and authorization.scheme == "Bearer":
|
|
303
|
-
token = authorization.credentials
|
|
304
|
-
elif self._service_manager.token:
|
|
305
|
-
token = self._service_manager.token
|
|
306
|
-
auth = BearerAuth(token) if token else None
|
|
307
|
-
|
|
308
|
-
#* Send request and wait for response
|
|
309
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
310
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
311
|
-
|
|
312
|
-
async def get_user_system_role(
|
|
313
|
-
self,
|
|
314
|
-
parameters:MaleoIdentityUserSystemRoleGeneralParametersTransfers.GetSingle,
|
|
315
|
-
authorization:Optional[Authorization] = None,
|
|
316
|
-
headers:Optional[Dict[str, str]] = None
|
|
317
|
-
) -> BaseClientHTTPControllerResults:
|
|
318
|
-
"""Get user's system role from MaleoIdentity"""
|
|
319
|
-
async with self._manager.get_client() as client:
|
|
320
|
-
#* Define URL
|
|
321
|
-
url = f"{self._manager.url}/v1/users/{parameters.user_id}/system-roles/{parameters.system_role}"
|
|
322
|
-
|
|
323
|
-
#* Parse parameters to query params
|
|
324
|
-
params = (
|
|
325
|
-
MaleoIdentityUserSystemRoleGeneralParametersTransfers
|
|
326
|
-
.GetSingleQuery
|
|
327
|
-
.model_validate(
|
|
328
|
-
parameters.model_dump()
|
|
329
|
-
)
|
|
330
|
-
.model_dump(exclude_none=True)
|
|
331
|
-
)
|
|
332
|
-
|
|
333
|
-
#* Create headers
|
|
334
|
-
base_headers = {
|
|
335
|
-
"Content-Type": "application/json"
|
|
336
|
-
}
|
|
337
|
-
if headers is not None:
|
|
338
|
-
headers = deep_merge(
|
|
339
|
-
base_headers,
|
|
340
|
-
headers
|
|
341
|
-
)
|
|
342
|
-
else:
|
|
343
|
-
headers = base_headers
|
|
344
|
-
|
|
345
|
-
#* Create auth
|
|
346
|
-
token = None
|
|
347
|
-
if authorization and authorization.scheme == "Bearer":
|
|
348
|
-
token = authorization.credentials
|
|
349
|
-
elif self._service_manager.token:
|
|
350
|
-
token = self._service_manager.token
|
|
351
|
-
auth = BearerAuth(token) if token else None
|
|
352
|
-
|
|
353
|
-
#* Send request and wait for response
|
|
354
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
355
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
356
|
-
|
|
357
|
-
async def get_user_organizations(
|
|
358
|
-
self,
|
|
359
|
-
parameters:MaleoIdentityUserOrganizationClientParametersTransfers.GetMultipleFromUser,
|
|
360
|
-
authorization:Optional[Authorization] = None,
|
|
361
|
-
headers:Optional[Dict[str, str]] = None
|
|
362
|
-
) -> BaseClientHTTPControllerResults:
|
|
363
|
-
"""Get user's organization roles from MaleoIdentity"""
|
|
364
|
-
async with self._manager.get_client() as client:
|
|
365
|
-
#* Define URL
|
|
366
|
-
url = f"{self._manager.url}/v1/users/{parameters.user_id}/organizations/"
|
|
367
|
-
|
|
368
|
-
#* Parse parameters to query params
|
|
369
|
-
params = (
|
|
370
|
-
MaleoIdentityUserOrganizationClientParametersTransfers
|
|
371
|
-
.GetMultipleFromUserQuery
|
|
372
|
-
.model_validate(
|
|
373
|
-
parameters.model_dump()
|
|
374
|
-
)
|
|
375
|
-
.model_dump(
|
|
376
|
-
exclude={"sort_columns", "date_filters"},
|
|
377
|
-
exclude_none=True
|
|
378
|
-
)
|
|
379
|
-
)
|
|
380
|
-
|
|
381
|
-
#* Create headers
|
|
382
|
-
base_headers = {
|
|
383
|
-
"Content-Type": "application/json"
|
|
384
|
-
}
|
|
385
|
-
if headers is not None:
|
|
386
|
-
headers = deep_merge(
|
|
387
|
-
base_headers,
|
|
388
|
-
headers
|
|
389
|
-
)
|
|
390
|
-
else:
|
|
391
|
-
headers = base_headers
|
|
392
|
-
|
|
393
|
-
#* Create auth
|
|
394
|
-
token = None
|
|
395
|
-
if authorization and authorization.scheme == "Bearer":
|
|
396
|
-
token = authorization.credentials
|
|
397
|
-
elif self._service_manager.token:
|
|
398
|
-
token = self._service_manager.token
|
|
399
|
-
auth = BearerAuth(token) if token else None
|
|
400
|
-
|
|
401
|
-
#* Send request and wait for response
|
|
402
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
403
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
404
|
-
|
|
405
|
-
async def get_user_organization(
|
|
406
|
-
self,
|
|
407
|
-
parameters:MaleoIdentityUserOrganizationGeneralParametersTransfers.GetSingle,
|
|
408
|
-
authorization:Optional[Authorization] = None,
|
|
409
|
-
headers:Optional[Dict[str, str]] = None
|
|
410
|
-
) -> BaseClientHTTPControllerResults:
|
|
411
|
-
"""Get user's organization role from MaleoIdentity"""
|
|
412
|
-
async with self._manager.get_client() as client:
|
|
413
|
-
#* Define URL
|
|
414
|
-
url = f"{self._manager.url}/v1/users/{parameters.user_id}/organizations/{parameters.organization_id}"
|
|
415
|
-
|
|
416
|
-
#* Parse parameters to query params
|
|
417
|
-
params = (
|
|
418
|
-
MaleoIdentityUserOrganizationGeneralParametersTransfers
|
|
419
|
-
.GetSingleQuery
|
|
420
|
-
.model_validate(
|
|
421
|
-
parameters.model_dump()
|
|
422
|
-
)
|
|
423
|
-
.model_dump(exclude_none=True)
|
|
424
|
-
)
|
|
425
|
-
|
|
426
|
-
#* Create headers
|
|
427
|
-
base_headers = {
|
|
428
|
-
"Content-Type": "application/json"
|
|
429
|
-
}
|
|
430
|
-
if headers is not None:
|
|
431
|
-
headers = deep_merge(
|
|
432
|
-
base_headers,
|
|
433
|
-
headers
|
|
434
|
-
)
|
|
435
|
-
else:
|
|
436
|
-
headers = base_headers
|
|
437
|
-
|
|
438
|
-
#* Create auth
|
|
439
|
-
token = None
|
|
440
|
-
if authorization and authorization.scheme == "Bearer":
|
|
441
|
-
token = authorization.credentials
|
|
442
|
-
elif self._service_manager.token:
|
|
443
|
-
token = self._service_manager.token
|
|
444
|
-
auth = BearerAuth(token) if token else None
|
|
445
|
-
|
|
446
|
-
#* Send request and wait for response
|
|
447
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
448
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
449
|
-
|
|
450
|
-
async def get_user_organization_roles(
|
|
451
|
-
self,
|
|
452
|
-
parameters:MaleoIdentityUserOrganizationRoleClientParametersTransfers.GetMultipleFromUserOrOrganization,
|
|
453
|
-
authorization:Optional[Authorization] = None,
|
|
454
|
-
headers:Optional[Dict[str, str]] = None
|
|
455
|
-
) -> BaseClientHTTPControllerResults:
|
|
456
|
-
"""Get user's organization roles from MaleoIdentity"""
|
|
457
|
-
async with self._manager.get_client() as client:
|
|
458
|
-
#* Define URL
|
|
459
|
-
url = f"{self._manager.url}/v1/users/{parameters.user_id}/organizations/{parameters.organization_id}/roles/"
|
|
460
|
-
|
|
461
|
-
#* Parse parameters to query params
|
|
462
|
-
params = (
|
|
463
|
-
MaleoIdentityUserOrganizationRoleClientParametersTransfers
|
|
464
|
-
.GetMultipleFromUserOrOrganizationQuery
|
|
465
|
-
.model_validate(
|
|
466
|
-
parameters.model_dump()
|
|
467
|
-
)
|
|
468
|
-
.model_dump(
|
|
469
|
-
exclude={"sort_columns", "date_filters"},
|
|
470
|
-
exclude_none=True
|
|
471
|
-
)
|
|
472
|
-
)
|
|
473
|
-
|
|
474
|
-
#* Create headers
|
|
475
|
-
base_headers = {
|
|
476
|
-
"Content-Type": "application/json"
|
|
477
|
-
}
|
|
478
|
-
if headers is not None:
|
|
479
|
-
headers = deep_merge(
|
|
480
|
-
base_headers,
|
|
481
|
-
headers
|
|
482
|
-
)
|
|
483
|
-
else:
|
|
484
|
-
headers = base_headers
|
|
485
|
-
|
|
486
|
-
#* Create auth
|
|
487
|
-
token = None
|
|
488
|
-
if authorization and authorization.scheme == "Bearer":
|
|
489
|
-
token = authorization.credentials
|
|
490
|
-
elif self._service_manager.token:
|
|
491
|
-
token = self._service_manager.token
|
|
492
|
-
auth = BearerAuth(token) if token else None
|
|
493
|
-
|
|
494
|
-
#* Send request and wait for response
|
|
495
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
496
|
-
return BaseClientHTTPControllerResults(response=response)
|
|
497
|
-
|
|
498
|
-
async def get_user_organization_role(
|
|
499
|
-
self,
|
|
500
|
-
parameters:MaleoIdentityUserOrganizationRoleGeneralParametersTransfers.GetSingle,
|
|
501
|
-
authorization:Optional[Authorization] = None,
|
|
502
|
-
headers:Optional[Dict[str, str]] = None
|
|
503
|
-
) -> BaseClientHTTPControllerResults:
|
|
504
|
-
"""Get user's organization role from MaleoIdentity"""
|
|
505
|
-
async with self._manager.get_client() as client:
|
|
506
|
-
#* Define URL
|
|
507
|
-
url = f"{self._manager.url}/v1/users/{parameters.user_id}/organizations/{parameters.organization_id}/roles/{parameters.key}"
|
|
508
|
-
|
|
509
|
-
#* Parse parameters to query params
|
|
510
|
-
params = (
|
|
511
|
-
MaleoIdentityUserOrganizationRoleGeneralParametersTransfers
|
|
512
|
-
.GetSingleQuery
|
|
513
|
-
.model_validate(
|
|
514
|
-
parameters.model_dump()
|
|
515
|
-
)
|
|
516
|
-
.model_dump(exclude_none=True)
|
|
517
|
-
)
|
|
518
|
-
|
|
519
|
-
#* Create headers
|
|
520
|
-
base_headers = {
|
|
521
|
-
"Content-Type": "application/json"
|
|
522
|
-
}
|
|
523
|
-
if headers is not None:
|
|
524
|
-
headers = deep_merge(
|
|
525
|
-
base_headers,
|
|
526
|
-
headers
|
|
527
|
-
)
|
|
528
|
-
else:
|
|
529
|
-
headers = base_headers
|
|
530
|
-
|
|
531
|
-
#* Create auth
|
|
532
|
-
token = None
|
|
533
|
-
if authorization and authorization.scheme == "Bearer":
|
|
534
|
-
token = authorization.credentials
|
|
535
|
-
elif self._service_manager.token:
|
|
536
|
-
token = self._service_manager.token
|
|
537
|
-
auth = BearerAuth(token) if token else None
|
|
538
|
-
|
|
539
|
-
#* Send request and wait for response
|
|
540
|
-
response = await client.get(url=url, params=params, headers=headers, auth=auth)
|
|
541
|
-
return BaseClientHTTPControllerResults(response=response)
|
maleo_identity/client/manager.py
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
from maleo_foundation.managers.client.maleo import MaleoClientManager
|
|
3
|
-
from maleo_foundation.managers.service import ServiceManager
|
|
4
|
-
from maleo_identity.client.controllers.http.organization \
|
|
5
|
-
import MaleoIdentityOrganizationHTTPController
|
|
6
|
-
from maleo_identity.client.controllers.http.user \
|
|
7
|
-
import MaleoIdentityUserHTTPController
|
|
8
|
-
from maleo_identity.client.controllers import (
|
|
9
|
-
MaleoIdentityOrganizationControllers,
|
|
10
|
-
MaleoIdentityUserControllers,
|
|
11
|
-
MaleoIdentityControllers
|
|
12
|
-
)
|
|
13
|
-
from maleo_identity.client.services import (
|
|
14
|
-
MaleoIdentityOrganizationClientService,
|
|
15
|
-
MaleoIdentityUserClientService,
|
|
16
|
-
MaleoIdentityServices
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
class MaleoIdentityClientManager(MaleoClientManager):
|
|
20
|
-
def __init__(self, service_manager:ServiceManager):
|
|
21
|
-
key = service_manager.configurations.client.maleo.identity.key
|
|
22
|
-
name = service_manager.configurations.client.maleo.identity.name
|
|
23
|
-
url = service_manager.configurations.client.maleo.identity.url
|
|
24
|
-
super().__init__(key, name, url, service_manager)
|
|
25
|
-
self._initialize_controllers()
|
|
26
|
-
self._initialize_services()
|
|
27
|
-
self._logger.info("Client manager initialized successfully")
|
|
28
|
-
|
|
29
|
-
def _initialize_controllers(self):
|
|
30
|
-
super()._initialize_controllers()
|
|
31
|
-
#* Organization controllers
|
|
32
|
-
organization_http_controller = MaleoIdentityOrganizationHTTPController(
|
|
33
|
-
service_manager=self.service_manager,
|
|
34
|
-
manager=self._controller_managers.http
|
|
35
|
-
)
|
|
36
|
-
organization_controllers = MaleoIdentityOrganizationControllers(
|
|
37
|
-
http=organization_http_controller
|
|
38
|
-
)
|
|
39
|
-
#* User controllers
|
|
40
|
-
user_http_controller = MaleoIdentityUserHTTPController(
|
|
41
|
-
service_manager=self.service_manager,
|
|
42
|
-
manager=self._controller_managers.http
|
|
43
|
-
)
|
|
44
|
-
user_controllers = MaleoIdentityUserControllers(
|
|
45
|
-
http=user_http_controller
|
|
46
|
-
)
|
|
47
|
-
#* All controllers
|
|
48
|
-
self._controllers = MaleoIdentityControllers(
|
|
49
|
-
organization=organization_controllers,
|
|
50
|
-
user=user_controllers
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
@property
|
|
54
|
-
def controllers(self) -> MaleoIdentityControllers:
|
|
55
|
-
return self._controllers
|
|
56
|
-
|
|
57
|
-
def _initialize_services(self):
|
|
58
|
-
super()._initialize_services()
|
|
59
|
-
organization_service = MaleoIdentityOrganizationClientService(
|
|
60
|
-
key=self._key,
|
|
61
|
-
logger=self._logger,
|
|
62
|
-
service_manager=self.service_manager,
|
|
63
|
-
controllers=self._controllers.organization
|
|
64
|
-
)
|
|
65
|
-
user_service = MaleoIdentityUserClientService(
|
|
66
|
-
key=self._key,
|
|
67
|
-
logger=self._logger,
|
|
68
|
-
service_manager=self.service_manager,
|
|
69
|
-
controllers=self._controllers.user)
|
|
70
|
-
self._services = MaleoIdentityServices(
|
|
71
|
-
organization=organization_service,
|
|
72
|
-
user=user_service
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
@property
|
|
76
|
-
def services(self) -> MaleoIdentityServices:
|
|
77
|
-
return self._services
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
from pydantic import Field
|
|
3
|
-
from maleo_foundation.managers.client.base import ClientServices
|
|
4
|
-
from maleo_identity.client.services.organization \
|
|
5
|
-
import MaleoIdentityOrganizationClientService
|
|
6
|
-
from maleo_identity.client.services.user \
|
|
7
|
-
import MaleoIdentityUserClientService
|
|
8
|
-
|
|
9
|
-
class MaleoIdentityServices(ClientServices):
|
|
10
|
-
organization:MaleoIdentityOrganizationClientService = Field(..., description="Organization's service")
|
|
11
|
-
user:MaleoIdentityUserClientService = Field(..., description="User's service")
|