maleo-identity 0.0.5__tar.gz → 0.0.9__tar.gz

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 (119) hide show
  1. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/PKG-INFO +3 -3
  2. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/controllers/http/user.py +47 -0
  3. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/services/user.py +103 -0
  4. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/responses/user.py +12 -2
  5. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/results/user.py +5 -1
  6. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/general/user.py +3 -1
  7. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/client/user_system_role.py +6 -0
  8. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/general/user.py +8 -2
  9. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/general/user.py +5 -2
  10. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/query/user.py +10 -1
  11. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/general/user.py +5 -0
  12. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/query/user.py +5 -0
  13. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity.egg-info/PKG-INFO +3 -3
  14. maleo_identity-0.0.9/maleo_identity.egg-info/requires.txt +2 -0
  15. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/pyproject.toml +3 -3
  16. maleo_identity-0.0.5/maleo_identity.egg-info/requires.txt +0 -2
  17. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/README.md +0 -0
  18. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/__init__.py +0 -0
  19. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/__init__.py +0 -0
  20. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/controllers/__init__.py +0 -0
  21. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/controllers/http/__init__.py +0 -0
  22. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/controllers/http/organization.py +0 -0
  23. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/manager.py +0 -0
  24. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/services/__init__.py +0 -0
  25. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/client/services/organization.py +0 -0
  26. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/constants/__init__.py +0 -0
  27. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/constants/organization.py +0 -0
  28. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/constants/user.py +0 -0
  29. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/constants/user_organization.py +0 -0
  30. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/constants/user_profile.py +0 -0
  31. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/constants/user_system_role.py +0 -0
  32. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/db.py +0 -0
  33. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/enums/__init__.py +0 -0
  34. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/enums/general.py +0 -0
  35. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/enums/organization.py +0 -0
  36. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/enums/user.py +0 -0
  37. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/enums/user_organization.py +0 -0
  38. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/enums/user_profile.py +0 -0
  39. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/enums/user_system_role.py +0 -0
  40. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/__init__.py +0 -0
  41. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/responses/__init__.py +0 -0
  42. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/responses/organization.py +0 -0
  43. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/responses/user_organization.py +0 -0
  44. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/responses/user_profile.py +0 -0
  45. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/responses/user_system_role.py +0 -0
  46. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/__init__.py +0 -0
  47. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/general/__init__.py +0 -0
  48. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/general/organization.py +0 -0
  49. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/general/user.py +0 -0
  50. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/general/user_organization.py +0 -0
  51. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/general/user_profile.py +0 -0
  52. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/general/user_system_role.py +0 -0
  53. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/parameters/__init__.py +0 -0
  54. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/parameters/organization.py +0 -0
  55. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/parameters/user.py +0 -0
  56. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/parameters/user_organization.py +0 -0
  57. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/parameters/user_profile.py +0 -0
  58. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/parameters/user_system_role.py +0 -0
  59. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/results/__init__.py +0 -0
  60. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/results/organization.py +0 -0
  61. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/results/user_organization.py +0 -0
  62. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/results/user_profile.py +0 -0
  63. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/schemas/results/user_system_role.py +0 -0
  64. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/tables/__init__.py +0 -0
  65. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/tables/organization.py +0 -0
  66. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/tables/user.py +0 -0
  67. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/tables/user_organization.py +0 -0
  68. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/tables/user_profile.py +0 -0
  69. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/tables/user_system_role.py +0 -0
  70. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/__init__.py +0 -0
  71. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/general/__init__.py +0 -0
  72. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/general/organization.py +0 -0
  73. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/general/user_organization.py +0 -0
  74. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/general/user_profile.py +0 -0
  75. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/general/user_system_role.py +0 -0
  76. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/__init__.py +0 -0
  77. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/client/__init__.py +0 -0
  78. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/client/organization.py +0 -0
  79. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/client/user.py +0 -0
  80. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/client/user_organization.py +0 -0
  81. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/client/user_profile.py +0 -0
  82. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/general/__init__.py +0 -0
  83. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/general/organization.py +0 -0
  84. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/general/user_organization.py +0 -0
  85. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/general/user_profile.py +0 -0
  86. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/general/user_system_role.py +0 -0
  87. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/service/__init__.py +0 -0
  88. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/service/organization.py +0 -0
  89. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/service/user.py +0 -0
  90. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/service/user_organization.py +0 -0
  91. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/service/user_profile.py +0 -0
  92. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/parameters/service/user_system_role.py +0 -0
  93. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/__init__.py +0 -0
  94. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/general/__init__.py +0 -0
  95. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/general/organization.py +0 -0
  96. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/general/user_organization.py +0 -0
  97. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/general/user_profile.py +0 -0
  98. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/general/user_system_role.py +0 -0
  99. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/query/__init__.py +0 -0
  100. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/query/organization.py +0 -0
  101. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/query/user_organization.py +0 -0
  102. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/query/user_profile.py +0 -0
  103. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/models/transfers/results/query/user_system_role.py +0 -0
  104. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/__init__.py +0 -0
  105. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/__init__.py +0 -0
  106. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/general/__init__.py +0 -0
  107. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/general/organization.py +0 -0
  108. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/general/user_organization.py +0 -0
  109. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/general/user_profile.py +0 -0
  110. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/general/user_system_role.py +0 -0
  111. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/query/__init__.py +0 -0
  112. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/query/organization.py +0 -0
  113. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/query/user_organization.py +0 -0
  114. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/query/user_profile.py +0 -0
  115. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity/types/results/query/user_system_role.py +0 -0
  116. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity.egg-info/SOURCES.txt +0 -0
  117. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity.egg-info/dependency_links.txt +0 -0
  118. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/maleo_identity.egg-info/top_level.txt +0 -0
  119. {maleo_identity-0.0.5 → maleo_identity-0.0.9}/setup.cfg +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo-identity
3
- Version: 0.0.5
3
+ Version: 0.0.9
4
4
  Summary: MaleoIdentity service package
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
7
7
  Requires-Python: >=3.7
8
8
  Description-Content-Type: text/markdown
9
- Requires-Dist: maleo_foundation>=0.1.82
10
- Requires-Dist: maleo_metadata>=0.0.60
9
+ Requires-Dist: maleo_foundation>=0.1.91
10
+ Requires-Dist: maleo_metadata>=0.0.63
11
11
 
12
12
  # README #
13
13
 
@@ -2,7 +2,9 @@ from maleo_foundation.managers.client.base import BearerAuth
2
2
  from maleo_foundation.managers.client.maleo import MaleoClientHTTPController
3
3
  from maleo_foundation.models.transfers.results.client.controllers.http import BaseClientHTTPControllerResults
4
4
  from maleo_identity.models.transfers.parameters.general.user import MaleoIdentityUserGeneralParametersTransfers
5
+ from maleo_identity.models.transfers.parameters.general.user_system_role import MaleoIdentityUserSystemRoleGeneralParametersTransfers
5
6
  from maleo_identity.models.transfers.parameters.client.user import MaleoIdentityUserClientParametersTransfers
7
+ from maleo_identity.models.transfers.parameters.client.user_system_role import MaleoIdentityUserSystemRoleClientParametersTransfers
6
8
 
7
9
  class MaleoIdentityUserHTTPController(MaleoClientHTTPController):
8
10
  async def get_users(self, parameters:MaleoIdentityUserClientParametersTransfers.GetMultiple) -> BaseClientHTTPControllerResults:
@@ -73,4 +75,49 @@ class MaleoIdentityUserHTTPController(MaleoClientHTTPController):
73
75
 
74
76
  #* Send request and wait for response
75
77
  response = await client.put(url=url, json=json, params=params, auth=auth)
78
+ return BaseClientHTTPControllerResults(response=response)
79
+
80
+ async def get_password(self, parameters:MaleoIdentityUserGeneralParametersTransfers.GetSinglePassword) -> BaseClientHTTPControllerResults:
81
+ """Get user's password from MaleoIdentity"""
82
+ async with self._manager.get_client() as client:
83
+ #* Define URL
84
+ url = f"{self._manager.url.api}/v1/users/{parameters.identifier}/{parameters.value}/password"
85
+
86
+ #* Create auth
87
+ auth = BearerAuth(token=self._service_manager.token)
88
+
89
+ #* Send request and wait for response
90
+ response = await client.get(url=url, auth=auth)
91
+ return BaseClientHTTPControllerResults(response=response)
92
+
93
+ async def get_user_system_roles(self, parameters:MaleoIdentityUserSystemRoleClientParametersTransfers.GetMultipleFromUser) -> BaseClientHTTPControllerResults:
94
+ """Get user's system roles from MaleoIdentity"""
95
+ async with self._manager.get_client() as client:
96
+ #* Define URL
97
+ url = f"{self._manager.url.api}/v1/users/{parameters.user_id}/system-roles/"
98
+
99
+ #* Parse parameters to query params
100
+ params = MaleoIdentityUserSystemRoleClientParametersTransfers.GetMultipleFromUserQuery.model_validate(parameters.model_dump()).model_dump(exclude_none=True)
101
+
102
+ #* Create auth
103
+ auth = BearerAuth(token=self._service_manager.token)
104
+
105
+ #* Send request and wait for response
106
+ response = await client.get(url=url, params=params, auth=auth)
107
+ return BaseClientHTTPControllerResults(response=response)
108
+
109
+ async def get_user_system_role(self, parameters:MaleoIdentityUserSystemRoleGeneralParametersTransfers.GetSingle) -> BaseClientHTTPControllerResults:
110
+ """Get user's system role from MaleoIdentity"""
111
+ async with self._manager.get_client() as client:
112
+ #* Define URL
113
+ url = f"{self._manager.url.api}/v1/users/{parameters.user_id}/system-roles/{parameters.system_role}"
114
+
115
+ #* Parse parameters to query params
116
+ params = MaleoIdentityUserSystemRoleGeneralParametersTransfers.GetSingleQuery.model_validate(parameters.model_dump()).model_dump(exclude_none=True)
117
+
118
+ #* Create auth
119
+ auth = BearerAuth(token=self._service_manager.token)
120
+
121
+ #* Send request and wait for response
122
+ response = await client.get(url=url, params=params, auth=auth)
76
123
  return BaseClientHTTPControllerResults(response=response)
@@ -4,9 +4,13 @@ from maleo_foundation.utils.exceptions import BaseExceptions
4
4
  from maleo_identity.client.controllers import MaleoIdentityUserControllers
5
5
  from maleo_identity.enums.general import MaleoIdentityGeneralEnums
6
6
  from maleo_identity.models.transfers.parameters.general.user import MaleoIdentityUserGeneralParametersTransfers
7
+ from maleo_identity.models.transfers.parameters.general.user_system_role import MaleoIdentityUserSystemRoleGeneralParametersTransfers
7
8
  from maleo_identity.models.transfers.parameters.client.user import MaleoIdentityUserClientParametersTransfers
9
+ from maleo_identity.models.transfers.parameters.client.user_system_role import MaleoIdentityUserSystemRoleClientParametersTransfers
8
10
  from maleo_identity.models.transfers.results.general.user import MaleoIdentityUserGeneralResultsTransfers
11
+ from maleo_identity.models.transfers.results.general.user_system_role import MaleoIdentityUserSystemRoleGeneralResultsTransfers
9
12
  from maleo_identity.types.results.general.user import MaleoIdentityUserGeneralResultsTypes
13
+ from maleo_identity.types.results.general.user_system_role import MaleoIdentityUserSystemRoleGeneralResultsTypes
10
14
 
11
15
  class MaleoIdentityUserClientService(ClientService):
12
16
  def __init__(self, logger, controllers:MaleoIdentityUserControllers):
@@ -145,4 +149,103 @@ class MaleoIdentityUserClientService(ClientService):
145
149
  return MaleoIdentityUserGeneralResultsTransfers.NoData.model_validate(controller_result.content)
146
150
  else:
147
151
  return MaleoIdentityUserGeneralResultsTransfers.SingleData.model_validate(controller_result.content)
152
+ return await _impl()
153
+
154
+ async def get_password(
155
+ self,
156
+ parameters:MaleoIdentityUserGeneralParametersTransfers.GetSinglePassword,
157
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
158
+ ) -> MaleoIdentityUserGeneralResultsTypes.GetSinglePassword:
159
+ """Retrieve user's password from MaleoIdentity"""
160
+ @BaseExceptions.service_exception_handler(
161
+ operation="retrieving user's password",
162
+ logger=self._logger,
163
+ fail_result_class=MaleoIdentityUserGeneralResultsTransfers.Fail
164
+ )
165
+ async def _impl():
166
+ #* Validate chosen controller type
167
+ if not isinstance(controller_type, MaleoIdentityGeneralEnums.ClientControllerType):
168
+ message = "Invalid controller type"
169
+ description = "The provided controller type did not exists"
170
+ return MaleoIdentityUserGeneralResultsTransfers.Fail(message=message, description=description)
171
+ #* Retrieve user using chosen controller
172
+ if controller_type == MaleoIdentityGeneralEnums.ClientControllerType.HTTP:
173
+ controller_result = await self._controllers.http.get_password(parameters=parameters)
174
+ else:
175
+ message = "Invalid controller type"
176
+ description = "The provided controller type has not been implemented"
177
+ return MaleoIdentityUserGeneralResultsTransfers.Fail(message=message, description=description)
178
+ #* Return proper response
179
+ if not controller_result.success:
180
+ return MaleoIdentityUserGeneralResultsTransfers.Fail.model_validate(controller_result.content)
181
+ else:
182
+ return MaleoIdentityUserGeneralResultsTransfers.SinglePassword.model_validate(controller_result.content)
183
+ return await _impl()
184
+
185
+ async def get_user_system_roles(
186
+ self,
187
+ parameters:MaleoIdentityUserSystemRoleClientParametersTransfers.GetMultipleFromUser,
188
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
189
+ ) -> MaleoIdentityUserSystemRoleGeneralResultsTypes.GetMultiple:
190
+ """Retrieve user's system roles from MaleoIdentity"""
191
+ @BaseExceptions.service_exception_handler(
192
+ operation="retrieving user's system roles",
193
+ logger=self._logger,
194
+ fail_result_class=MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail
195
+ )
196
+ async def _impl():
197
+ #* Validate chosen controller type
198
+ if not isinstance(controller_type, MaleoIdentityGeneralEnums.ClientControllerType):
199
+ message = "Invalid controller type"
200
+ description = "The provided controller type did not exists"
201
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail(message=message, description=description)
202
+ #* Retrieve users using chosen controller
203
+ if controller_type == MaleoIdentityGeneralEnums.ClientControllerType.HTTP:
204
+ controller_result = await self._controllers.http.get_user_system_roles(parameters=parameters)
205
+ else:
206
+ message = "Invalid controller type"
207
+ description = "The provided controller type has not been implemented"
208
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail(message=message, description=description)
209
+ #* Return proper response
210
+ if not controller_result.success:
211
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail.model_validate(controller_result.content)
212
+ else:
213
+ if controller_result.content["data"] is None:
214
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.NoData.model_validate(controller_result.content)
215
+ else:
216
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.MultipleData.model_validate(controller_result.content)
217
+ return await _impl()
218
+
219
+ async def get_user_system_role(
220
+ self,
221
+ parameters:MaleoIdentityUserSystemRoleGeneralParametersTransfers.GetSingle,
222
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
223
+ ) -> MaleoIdentityUserSystemRoleGeneralResultsTypes.GetSingle:
224
+ """Retrieve user's system role from MaleoIdentity"""
225
+ @BaseExceptions.service_exception_handler(
226
+ operation="retrieving user's system role",
227
+ logger=self._logger,
228
+ fail_result_class=MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail
229
+ )
230
+ async def _impl():
231
+ #* Validate chosen controller type
232
+ if not isinstance(controller_type, MaleoIdentityGeneralEnums.ClientControllerType):
233
+ message = "Invalid controller type"
234
+ description = "The provided controller type did not exists"
235
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail(message=message, description=description)
236
+ #* Retrieve user using chosen controller
237
+ if controller_type == MaleoIdentityGeneralEnums.ClientControllerType.HTTP:
238
+ controller_result = await self._controllers.http.get_user_system_role(parameters=parameters)
239
+ else:
240
+ message = "Invalid controller type"
241
+ description = "The provided controller type has not been implemented"
242
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail(message=message, description=description)
243
+ #* Return proper response
244
+ if not controller_result.success:
245
+ if controller_result.status_code != status.HTTP_404_NOT_FOUND:
246
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.Fail.model_validate(controller_result.content)
247
+ else:
248
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.NoData.model_validate(controller_result.content)
249
+ else:
250
+ return MaleoIdentityUserSystemRoleGeneralResultsTransfers.SingleData.model_validate(controller_result.content)
148
251
  return await _impl()
@@ -1,7 +1,7 @@
1
1
  from pydantic import Field
2
2
  from maleo_foundation.models.responses import BaseResponses
3
3
  from maleo_identity.enums.user import MaleoIdentityUserEnums
4
- from maleo_identity.models.transfers.general.user import UserTransfers
4
+ from maleo_identity.models.transfers.general.user import UserTransfers, PasswordTransfers
5
5
 
6
6
  class MaleoIdentityUserResponses:
7
7
  class InvalidIdentifierType(BaseResponses.BadRequest):
@@ -43,4 +43,14 @@ class MaleoIdentityUserResponses:
43
43
  class UpdateSuccess(BaseResponses.SingleData):
44
44
  code:str = "IDT-USR-008"
45
45
  message:str = "Successfully updated user's data"
46
- data:UserTransfers = Field(..., description="User")
46
+ data:UserTransfers = Field(..., description="User")
47
+
48
+ class GetSinglePasswordFailed(BaseResponses.BadRequest):
49
+ code:str = "IDT-USR-009"
50
+ message:str = "Failed fetching user's password"
51
+
52
+ class GetSinglePasswordSuccess(BaseResponses.SingleData):
53
+ code:str = "IDT-USR-010"
54
+ message:str = "User's password found"
55
+ description:str = "Requested user's password found in database"
56
+ data:PasswordTransfers = Field(..., description="User's password")
@@ -10,9 +10,13 @@ class MaleoIdentityUserResultsSchemas:
10
10
  MaleoMetadataUserTypeExpandedSchemas.SimpleUserType
11
11
  ): pass
12
12
 
13
+ class PasswordGeneral(MaleoIdentityUserGeneralSchemas.Password): pass
14
+
13
15
  class Query(
14
16
  MaleoIdentityUserGeneralSchemas.Phone,
15
17
  MaleoIdentityUserGeneralSchemas.Email,
16
18
  MaleoIdentityUserGeneralSchemas.Username,
17
19
  MaleoMetadataUserTypeExpandedSchemas.SimpleUserType
18
- ): pass
20
+ ): pass
21
+
22
+ class PasswordQuery(MaleoIdentityUserGeneralSchemas.Password): pass
@@ -13,4 +13,6 @@ class UserTransfers(
13
13
  ): pass
14
14
 
15
15
  class OptionalExpandedUser(BaseModel):
16
- user_details:Optional[UserTransfers] = Field(None, description="User's details")
16
+ user_details:Optional[UserTransfers] = Field(None, description="User's details")
17
+
18
+ class PasswordTransfers(MaleoIdentityUserResultsSchemas.PasswordGeneral): pass
@@ -18,6 +18,12 @@ class MaleoIdentityUserSystemRoleClientParametersTransfers:
18
18
  BaseClientParametersTransfers.GetPaginatedMultiple
19
19
  ): pass
20
20
 
21
+ class GetMultipleFromUserQuery(
22
+ MaleoIdentityUserSystemRoleGeneralSchemas.Expand,
23
+ MaleoMetadataSystemRoleExpandedSchemas.OptionalListOfSimpleSystemRole,
24
+ BaseClientParametersTransfers.GetPaginatedMultipleQuery
25
+ ): pass
26
+
21
27
  class GetMultipleQuery(
22
28
  MaleoIdentityUserSystemRoleGeneralSchemas.Expand,
23
29
  MaleoMetadataSystemRoleExpandedSchemas.OptionalListOfSimpleSystemRole,
@@ -9,11 +9,17 @@ class MaleoIdentityUserGeneralParametersTransfers:
9
9
  BaseGeneralSchemas.Statuses
10
10
  ): pass
11
11
 
12
+ class BaseGetSingle(
13
+ BaseGeneralSchemas.IdentifierValue,
14
+ MaleoIdentityUserGeneralSchemas.IdentifierType
15
+ ): pass
16
+
17
+ class GetSinglePassword(BaseGetSingle): pass
18
+
12
19
  class GetSingle(
13
20
  MaleoIdentityUserGeneralSchemas.Expand,
14
21
  BaseGeneralSchemas.Statuses,
15
- BaseGeneralSchemas.IdentifierValue,
16
- MaleoIdentityUserGeneralSchemas.IdentifierType
22
+ BaseGetSingle
17
23
  ): pass
18
24
 
19
25
  class CreateOrUpdateQuery(MaleoIdentityUserGeneralSchemas.Expand): pass
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  from pydantic import Field
3
3
  from maleo_foundation.models.transfers.results.service.general import BaseServiceGeneralResultsTransfers
4
- from maleo_identity.models.transfers.general.user import UserTransfers
4
+ from maleo_identity.models.transfers.general.user import UserTransfers, PasswordTransfers
5
5
 
6
6
  class MaleoIdentityUserGeneralResultsTransfers:
7
7
  class Fail(BaseServiceGeneralResultsTransfers.Fail): pass
@@ -12,4 +12,7 @@ class MaleoIdentityUserGeneralResultsTransfers:
12
12
  data:UserTransfers = Field(..., description="Single user data")
13
13
 
14
14
  class MultipleData(BaseServiceGeneralResultsTransfers.PaginatedMultipleData):
15
- data:list[UserTransfers] = Field(..., description="Multiple users data")
15
+ data:list[UserTransfers] = Field(..., description="Multiple users data")
16
+
17
+ class SinglePassword(BaseServiceGeneralResultsTransfers.SingleData):
18
+ data:PasswordTransfers = Field(..., description="Single user password")
@@ -1,4 +1,5 @@
1
1
  from __future__ import annotations
2
+ from maleo_foundation.models.schemas.result import BaseResultSchemas
2
3
  from maleo_foundation.models.transfers.results.service.query import BaseServiceQueryResultsTransfers
3
4
  from maleo_identity.models.schemas.results.user import MaleoIdentityUserResultsSchemas
4
5
 
@@ -16,4 +17,12 @@ class MaleoIdentityUserQueryResultsTransfers:
16
17
  data:MaleoIdentityUserQueryResultsTransfers.Row
17
18
 
18
19
  class MultipleData(BaseServiceQueryResultsTransfers.PaginatedMultipleData):
19
- data:list[MaleoIdentityUserQueryResultsTransfers.Row]
20
+ data:list[MaleoIdentityUserQueryResultsTransfers.Row]
21
+
22
+ class PasswordRow(
23
+ MaleoIdentityUserResultsSchemas.PasswordQuery,
24
+ BaseResultSchemas.BaseRow
25
+ ): pass
26
+
27
+ class SinglePassword(BaseServiceQueryResultsTransfers.SingleData):
28
+ data:MaleoIdentityUserQueryResultsTransfers.PasswordRow
@@ -17,4 +17,9 @@ class MaleoIdentityUserGeneralResultsTypes:
17
17
  CreateOrUpdate = Union[
18
18
  MaleoIdentityUserGeneralResultsTransfers.Fail,
19
19
  MaleoIdentityUserGeneralResultsTransfers.SingleData
20
+ ]
21
+
22
+ GetSinglePassword = Union[
23
+ MaleoIdentityUserGeneralResultsTransfers.Fail,
24
+ MaleoIdentityUserGeneralResultsTransfers.SinglePassword
20
25
  ]
@@ -17,4 +17,9 @@ class MaleoIdentityUserQueryResultsTypes:
17
17
  CreateOrUpdate = Union[
18
18
  MaleoIdentityUserQueryResultsTransfers.Fail,
19
19
  MaleoIdentityUserQueryResultsTransfers.SingleData
20
+ ]
21
+
22
+ GetSinglePassword = Union[
23
+ MaleoIdentityUserQueryResultsTransfers.Fail,
24
+ MaleoIdentityUserQueryResultsTransfers.SinglePassword
20
25
  ]
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo-identity
3
- Version: 0.0.5
3
+ Version: 0.0.9
4
4
  Summary: MaleoIdentity service package
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
7
7
  Requires-Python: >=3.7
8
8
  Description-Content-Type: text/markdown
9
- Requires-Dist: maleo_foundation>=0.1.82
10
- Requires-Dist: maleo_metadata>=0.0.60
9
+ Requires-Dist: maleo_foundation>=0.1.91
10
+ Requires-Dist: maleo_metadata>=0.0.63
11
11
 
12
12
  # README #
13
13
 
@@ -0,0 +1,2 @@
1
+ maleo_foundation>=0.1.91
2
+ maleo_metadata>=0.0.63
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maleo-identity" # PyPI package name
7
- version = "0.0.5"
7
+ version = "0.0.9"
8
8
  description = "MaleoIdentity service package"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }
@@ -13,8 +13,8 @@ license = { text = "MIT" }
13
13
  readme = "README.md"
14
14
  requires-python = ">=3.7"
15
15
  dependencies = [
16
- "maleo_foundation>=0.1.82",
17
- "maleo_metadata>=0.0.60",
16
+ "maleo_foundation>=0.1.91",
17
+ "maleo_metadata>=0.0.63",
18
18
  ]
19
19
 
20
20
  [tool.setuptools.packages.find]
@@ -1,2 +0,0 @@
1
- maleo_foundation>=0.1.82
2
- maleo_metadata>=0.0.60
File without changes
File without changes