maleo-identity 0.0.75__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.

Files changed (142) hide show
  1. {maleo_identity-0.0.75.dist-info → maleo_identity-0.0.76.dist-info}/METADATA +3 -3
  2. maleo_identity-0.0.76.dist-info/RECORD +4 -0
  3. maleo_identity-0.0.76.dist-info/top_level.txt +1 -0
  4. maleo_identity/__init__.py +0 -0
  5. maleo_identity/client/__init__.py +0 -0
  6. maleo_identity/client/controllers/__init__.py +0 -17
  7. maleo_identity/client/controllers/http/__init__.py +0 -0
  8. maleo_identity/client/controllers/http/organization.py +0 -647
  9. maleo_identity/client/controllers/http/user.py +0 -541
  10. maleo_identity/client/manager.py +0 -77
  11. maleo_identity/client/services/__init__.py +0 -11
  12. maleo_identity/client/services/organization.py +0 -968
  13. maleo_identity/client/services/user.py +0 -817
  14. maleo_identity/constants/__init__.py +0 -17
  15. maleo_identity/constants/organization.py +0 -13
  16. maleo_identity/constants/organization_registration_code.py +0 -14
  17. maleo_identity/constants/organization_role.py +0 -22
  18. maleo_identity/constants/user.py +0 -27
  19. maleo_identity/constants/user_organization.py +0 -46
  20. maleo_identity/constants/user_organization_role.py +0 -35
  21. maleo_identity/constants/user_profile.py +0 -20
  22. maleo_identity/constants/user_system_role.py +0 -9
  23. maleo_identity/db.py +0 -6
  24. maleo_identity/enums/__init__.py +0 -19
  25. maleo_identity/enums/general.py +0 -5
  26. maleo_identity/enums/organization.py +0 -11
  27. maleo_identity/enums/organization_registration_code.py +0 -8
  28. maleo_identity/enums/organization_role.py +0 -7
  29. maleo_identity/enums/user.py +0 -16
  30. maleo_identity/enums/user_organization.py +0 -14
  31. maleo_identity/enums/user_organization_role.py +0 -15
  32. maleo_identity/enums/user_profile.py +0 -15
  33. maleo_identity/enums/user_system_role.py +0 -5
  34. maleo_identity/models/__init__.py +0 -11
  35. maleo_identity/models/responses/__init__.py +0 -17
  36. maleo_identity/models/responses/organization.py +0 -58
  37. maleo_identity/models/responses/organization_registration_code.py +0 -46
  38. maleo_identity/models/responses/organization_role.py +0 -25
  39. maleo_identity/models/responses/user.py +0 -68
  40. maleo_identity/models/responses/user_organization.py +0 -25
  41. maleo_identity/models/responses/user_organization_role.py +0 -25
  42. maleo_identity/models/responses/user_profile.py +0 -46
  43. maleo_identity/models/responses/user_system_role.py +0 -25
  44. maleo_identity/models/schemas/__init__.py +0 -19
  45. maleo_identity/models/schemas/general.py +0 -18
  46. maleo_identity/models/schemas/organization.py +0 -25
  47. maleo_identity/models/schemas/organization_registration_code.py +0 -21
  48. maleo_identity/models/schemas/organization_role.py +0 -15
  49. maleo_identity/models/schemas/user.py +0 -44
  50. maleo_identity/models/schemas/user_organization.py +0 -8
  51. maleo_identity/models/schemas/user_organization_role.py +0 -15
  52. maleo_identity/models/schemas/user_profile.py +0 -57
  53. maleo_identity/models/schemas/user_system_role.py +0 -8
  54. maleo_identity/models/tables/__init__.py +0 -19
  55. maleo_identity/models/tables/organization.py +0 -58
  56. maleo_identity/models/tables/organization_registration_code.py +0 -37
  57. maleo_identity/models/tables/organization_role.py +0 -43
  58. maleo_identity/models/tables/user.py +0 -43
  59. maleo_identity/models/tables/user_organization.py +0 -58
  60. maleo_identity/models/tables/user_organization_role.py +0 -69
  61. maleo_identity/models/tables/user_profile.py +0 -31
  62. maleo_identity/models/tables/user_system_role.py +0 -24
  63. maleo_identity/models/transfers/__init__.py +0 -9
  64. maleo_identity/models/transfers/general/__init__.py +0 -17
  65. maleo_identity/models/transfers/general/organization.py +0 -31
  66. maleo_identity/models/transfers/general/organization_registration_code.py +0 -19
  67. maleo_identity/models/transfers/general/organization_role.py +0 -20
  68. maleo_identity/models/transfers/general/user.py +0 -28
  69. maleo_identity/models/transfers/general/user_organization.py +0 -18
  70. maleo_identity/models/transfers/general/user_organization_role.py +0 -19
  71. maleo_identity/models/transfers/general/user_profile.py +0 -32
  72. maleo_identity/models/transfers/general/user_system_role.py +0 -17
  73. maleo_identity/models/transfers/parameters/__init__.py +0 -9
  74. maleo_identity/models/transfers/parameters/client/__init__.py +0 -17
  75. maleo_identity/models/transfers/parameters/client/organization.py +0 -77
  76. maleo_identity/models/transfers/parameters/client/organization_registration_code.py +0 -24
  77. maleo_identity/models/transfers/parameters/client/organization_role.py +0 -33
  78. maleo_identity/models/transfers/parameters/client/user.py +0 -34
  79. maleo_identity/models/transfers/parameters/client/user_organization.py +0 -45
  80. maleo_identity/models/transfers/parameters/client/user_organization_role.py +0 -36
  81. maleo_identity/models/transfers/parameters/client/user_profile.py +0 -23
  82. maleo_identity/models/transfers/parameters/client/user_system_role.py +0 -33
  83. maleo_identity/models/transfers/parameters/general/__init__.py +0 -17
  84. maleo_identity/models/transfers/parameters/general/organization.py +0 -35
  85. maleo_identity/models/transfers/parameters/general/organization_registration_code.py +0 -33
  86. maleo_identity/models/transfers/parameters/general/organization_role.py +0 -17
  87. maleo_identity/models/transfers/parameters/general/user.py +0 -77
  88. maleo_identity/models/transfers/parameters/general/user_organization.py +0 -31
  89. maleo_identity/models/transfers/parameters/general/user_organization_role.py +0 -18
  90. maleo_identity/models/transfers/parameters/general/user_profile.py +0 -55
  91. maleo_identity/models/transfers/parameters/general/user_system_role.py +0 -29
  92. maleo_identity/models/transfers/parameters/service/__init__.py +0 -17
  93. maleo_identity/models/transfers/parameters/service/organization.py +0 -66
  94. maleo_identity/models/transfers/parameters/service/organization_registration_code.py +0 -19
  95. maleo_identity/models/transfers/parameters/service/organization_role.py +0 -26
  96. maleo_identity/models/transfers/parameters/service/user.py +0 -34
  97. maleo_identity/models/transfers/parameters/service/user_organization.py +0 -31
  98. maleo_identity/models/transfers/parameters/service/user_organization_role.py +0 -28
  99. maleo_identity/models/transfers/parameters/service/user_profile.py +0 -23
  100. maleo_identity/models/transfers/parameters/service/user_system_role.py +0 -26
  101. maleo_identity/models/transfers/results/__init__.py +0 -5
  102. maleo_identity/models/transfers/results/client/__init__.py +0 -17
  103. maleo_identity/models/transfers/results/client/organization.py +0 -21
  104. maleo_identity/models/transfers/results/client/organization_registration_code.py +0 -15
  105. maleo_identity/models/transfers/results/client/organization_role.py +0 -15
  106. maleo_identity/models/transfers/results/client/user.py +0 -24
  107. maleo_identity/models/transfers/results/client/user_organization.py +0 -15
  108. maleo_identity/models/transfers/results/client/user_organization_role.py +0 -15
  109. maleo_identity/models/transfers/results/client/user_profile.py +0 -15
  110. maleo_identity/models/transfers/results/client/user_system_role.py +0 -15
  111. maleo_identity/models/transfers/results/service/__init__.py +0 -0
  112. maleo_identity/models/transfers/results/service/organization.py +0 -21
  113. maleo_identity/models/transfers/results/service/organization_registration_code.py +0 -15
  114. maleo_identity/models/transfers/results/service/organization_role.py +0 -15
  115. maleo_identity/models/transfers/results/service/user.py +0 -24
  116. maleo_identity/models/transfers/results/service/user_organization.py +0 -15
  117. maleo_identity/models/transfers/results/service/user_organization_role.py +0 -15
  118. maleo_identity/models/transfers/results/service/user_profile.py +0 -15
  119. maleo_identity/models/transfers/results/service/user_system_role.py +0 -15
  120. maleo_identity/types/__init__.py +0 -5
  121. maleo_identity/types/results/__init__.py +0 -5
  122. maleo_identity/types/results/client/__init__.py +0 -17
  123. maleo_identity/types/results/client/organization.py +0 -30
  124. maleo_identity/types/results/client/organization_registration_code.py +0 -20
  125. maleo_identity/types/results/client/organization_role.py +0 -14
  126. maleo_identity/types/results/client/user.py +0 -29
  127. maleo_identity/types/results/client/user_organization.py +0 -19
  128. maleo_identity/types/results/client/user_organization_role.py +0 -14
  129. maleo_identity/types/results/client/user_profile.py +0 -19
  130. maleo_identity/types/results/client/user_system_role.py +0 -19
  131. maleo_identity/types/results/service/__init__.py +0 -0
  132. maleo_identity/types/results/service/organization.py +0 -32
  133. maleo_identity/types/results/service/organization_registration_code.py +0 -21
  134. maleo_identity/types/results/service/organization_role.py +0 -15
  135. maleo_identity/types/results/service/user.py +0 -30
  136. maleo_identity/types/results/service/user_organization.py +0 -20
  137. maleo_identity/types/results/service/user_organization_role.py +0 -15
  138. maleo_identity/types/results/service/user_profile.py +0 -20
  139. maleo_identity/types/results/service/user_system_role.py +0 -20
  140. maleo_identity-0.0.75.dist-info/RECORD +0 -140
  141. maleo_identity-0.0.75.dist-info/top_level.txt +0 -1
  142. {maleo_identity-0.0.75.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)
@@ -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")