maleo-identity 0.0.43__tar.gz → 0.0.44__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 (192) hide show
  1. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/PKG-INFO +3 -3
  2. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/controllers/http/organization.py +87 -0
  3. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/services/organization.py +380 -8
  4. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/services/user.py +108 -9
  5. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/user.py +0 -9
  6. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/user_system_role.py +6 -8
  7. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/user_system_role.py +3 -0
  8. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/__init__.py +2 -0
  9. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/organization.py +17 -5
  10. maleo_identity-0.0.44/maleo_identity/models/schemas/__init__.py +19 -0
  11. maleo_identity-0.0.44/maleo_identity/models/schemas/general.py +15 -0
  12. {maleo_identity-0.0.43/maleo_identity/models/schemas/general → maleo_identity-0.0.44/maleo_identity/models/schemas}/organization.py +10 -9
  13. maleo_identity-0.0.44/maleo_identity/models/schemas/organization_role.py +15 -0
  14. {maleo_identity-0.0.43/maleo_identity/models/schemas/general → maleo_identity-0.0.44/maleo_identity/models/schemas}/user.py +12 -11
  15. maleo_identity-0.0.44/maleo_identity/models/schemas/user_organization.py +8 -0
  16. maleo_identity-0.0.44/maleo_identity/models/schemas/user_organization_role.py +15 -0
  17. {maleo_identity-0.0.43/maleo_identity/models/schemas/general → maleo_identity-0.0.44/maleo_identity/models/schemas}/user_profile.py +5 -10
  18. maleo_identity-0.0.44/maleo_identity/models/schemas/user_system_role.py +8 -0
  19. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/organization.py +16 -2
  20. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/user.py +13 -1
  21. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/user_profile.py +2 -0
  22. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/user_system_role.py +2 -0
  23. maleo_identity-0.0.44/maleo_identity/models/transfers/general/organization.py +26 -0
  24. maleo_identity-0.0.44/maleo_identity/models/transfers/general/organization_role.py +16 -0
  25. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/general/user.py +8 -3
  26. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/general/user_organization.py +3 -2
  27. maleo_identity-0.0.44/maleo_identity/models/transfers/general/user_organization_role.py +19 -0
  28. maleo_identity-0.0.44/maleo_identity/models/transfers/general/user_profile.py +30 -0
  29. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/general/user_system_role.py +3 -2
  30. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/client/organization.py +77 -0
  31. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/client/organization_role.py +33 -0
  32. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/client/user.py +20 -20
  33. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/client/user_organization.py +45 -0
  34. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/client/user_organization_role.py +36 -0
  35. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/client/user_profile.py +10 -9
  36. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/client/user_system_role.py +13 -12
  37. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/general/organization.py +35 -0
  38. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/general/organization_role.py +17 -0
  39. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/general/user.py +50 -0
  40. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/general/user_organization.py +31 -0
  41. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/general/user_organization_role.py +18 -0
  42. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/general/user_profile.py +51 -0
  43. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/general/user_system_role.py +29 -0
  44. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/service/organization.py +66 -0
  45. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/service/organization_role.py +26 -0
  46. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/service/user.py +20 -20
  47. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/service/user_organization.py +31 -0
  48. maleo_identity-0.0.44/maleo_identity/models/transfers/parameters/service/user_organization_role.py +28 -0
  49. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/service/user_profile.py +10 -9
  50. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/service/user_system_role.py +10 -9
  51. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/organization.py +8 -2
  52. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/organization.py +8 -2
  53. maleo_identity-0.0.44/maleo_identity/models/transfers/results/repository/organization.py +21 -0
  54. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/repository/organization_role.py +4 -8
  55. maleo_identity-0.0.44/maleo_identity/models/transfers/results/repository/user.py +18 -0
  56. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/repository/user_organization.py +4 -8
  57. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/repository/user_organization_role.py +4 -8
  58. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/repository/user_profile.py +4 -8
  59. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/repository/user_system_role.py +4 -8
  60. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/organization.py +11 -0
  61. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/organization.py +12 -0
  62. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/organization.py +12 -0
  63. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity.egg-info/PKG-INFO +3 -3
  64. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity.egg-info/SOURCES.txt +8 -24
  65. maleo_identity-0.0.44/maleo_identity.egg-info/requires.txt +2 -0
  66. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/pyproject.toml +3 -3
  67. maleo_identity-0.0.43/maleo_identity/models/schemas/__init__.py +0 -9
  68. maleo_identity-0.0.43/maleo_identity/models/schemas/general/__init__.py +0 -17
  69. maleo_identity-0.0.43/maleo_identity/models/schemas/general/organization_role.py +0 -29
  70. maleo_identity-0.0.43/maleo_identity/models/schemas/general/user_organization.py +0 -20
  71. maleo_identity-0.0.43/maleo_identity/models/schemas/general/user_organization_role.py +0 -35
  72. maleo_identity-0.0.43/maleo_identity/models/schemas/general/user_system_role.py +0 -14
  73. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/__init__.py +0 -17
  74. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/organization.py +0 -10
  75. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/organization_role.py +0 -7
  76. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/user.py +0 -16
  77. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/user_organization.py +0 -7
  78. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/user_organization_role.py +0 -8
  79. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/user_profile.py +0 -22
  80. maleo_identity-0.0.43/maleo_identity/models/schemas/parameters/user_system_role.py +0 -8
  81. maleo_identity-0.0.43/maleo_identity/models/schemas/results/__init__.py +0 -17
  82. maleo_identity-0.0.43/maleo_identity/models/schemas/results/organization.py +0 -18
  83. maleo_identity-0.0.43/maleo_identity/models/schemas/results/organization_role.py +0 -10
  84. maleo_identity-0.0.43/maleo_identity/models/schemas/results/user.py +0 -22
  85. maleo_identity-0.0.43/maleo_identity/models/schemas/results/user_organization.py +0 -7
  86. maleo_identity-0.0.43/maleo_identity/models/schemas/results/user_organization_role.py +0 -11
  87. maleo_identity-0.0.43/maleo_identity/models/schemas/results/user_profile.py +0 -34
  88. maleo_identity-0.0.43/maleo_identity/models/schemas/results/user_system_role.py +0 -8
  89. maleo_identity-0.0.43/maleo_identity/models/transfers/general/organization.py +0 -24
  90. maleo_identity-0.0.43/maleo_identity/models/transfers/general/organization_role.py +0 -15
  91. maleo_identity-0.0.43/maleo_identity/models/transfers/general/user_organization_role.py +0 -18
  92. maleo_identity-0.0.43/maleo_identity/models/transfers/general/user_profile.py +0 -14
  93. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/client/organization.py +0 -26
  94. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/client/organization_role.py +0 -31
  95. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/client/user_organization.py +0 -44
  96. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/client/user_organization_role.py +0 -34
  97. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/general/organization.py +0 -30
  98. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/general/organization_role.py +0 -16
  99. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/general/user.py +0 -41
  100. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/general/user_organization.py +0 -27
  101. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/general/user_organization_role.py +0 -16
  102. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/general/user_profile.py +0 -35
  103. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/general/user_system_role.py +0 -25
  104. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/service/organization.py +0 -26
  105. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/service/organization_role.py +0 -24
  106. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/service/user_organization.py +0 -30
  107. maleo_identity-0.0.43/maleo_identity/models/transfers/parameters/service/user_organization_role.py +0 -26
  108. maleo_identity-0.0.43/maleo_identity/models/transfers/results/repository/organization.py +0 -19
  109. maleo_identity-0.0.43/maleo_identity/models/transfers/results/repository/user.py +0 -28
  110. maleo_identity-0.0.43/maleo_identity.egg-info/requires.txt +0 -2
  111. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/README.md +0 -0
  112. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/__init__.py +0 -0
  113. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/__init__.py +0 -0
  114. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/controllers/__init__.py +0 -0
  115. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/controllers/http/__init__.py +0 -0
  116. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/controllers/http/user.py +0 -0
  117. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/manager.py +0 -0
  118. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/client/services/__init__.py +0 -0
  119. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/__init__.py +0 -0
  120. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/organization.py +0 -0
  121. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/organization_role.py +0 -0
  122. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/user_organization.py +0 -0
  123. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/user_organization_role.py +0 -0
  124. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/constants/user_profile.py +0 -0
  125. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/db.py +0 -0
  126. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/__init__.py +0 -0
  127. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/general.py +0 -0
  128. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/organization.py +0 -0
  129. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/organization_role.py +0 -0
  130. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/user.py +0 -0
  131. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/user_organization.py +0 -0
  132. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/user_organization_role.py +0 -0
  133. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/enums/user_profile.py +0 -0
  134. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/__init__.py +0 -0
  135. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/organization_role.py +0 -0
  136. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/user.py +0 -0
  137. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/user_organization.py +0 -0
  138. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/user_organization_role.py +0 -0
  139. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/user_profile.py +0 -0
  140. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/responses/user_system_role.py +0 -0
  141. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/__init__.py +0 -0
  142. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/organization_role.py +0 -0
  143. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/user_organization.py +0 -0
  144. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/tables/user_organization_role.py +0 -0
  145. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/__init__.py +0 -0
  146. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/general/__init__.py +0 -0
  147. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/__init__.py +0 -0
  148. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/client/__init__.py +0 -0
  149. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/general/__init__.py +0 -0
  150. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/parameters/service/__init__.py +0 -0
  151. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/__init__.py +0 -0
  152. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/__init__.py +0 -0
  153. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/organization_role.py +0 -0
  154. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/user.py +0 -0
  155. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/user_organization.py +0 -0
  156. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/user_organization_role.py +0 -0
  157. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/user_profile.py +0 -0
  158. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/client/user_system_role.py +0 -0
  159. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/__init__.py +0 -0
  160. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/organization_role.py +0 -0
  161. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/user.py +0 -0
  162. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/user_organization.py +0 -0
  163. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/user_organization_role.py +0 -0
  164. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/user_profile.py +0 -0
  165. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/general/user_system_role.py +0 -0
  166. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/models/transfers/results/repository/__init__.py +0 -0
  167. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/__init__.py +0 -0
  168. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/__init__.py +0 -0
  169. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/__init__.py +0 -0
  170. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/organization_role.py +0 -0
  171. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/user.py +0 -0
  172. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/user_organization.py +0 -0
  173. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/user_organization_role.py +0 -0
  174. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/user_profile.py +0 -0
  175. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/client/user_system_role.py +0 -0
  176. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/__init__.py +0 -0
  177. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/organization_role.py +0 -0
  178. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/user.py +0 -0
  179. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/user_organization.py +0 -0
  180. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/user_organization_role.py +0 -0
  181. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/user_profile.py +0 -0
  182. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/general/user_system_role.py +0 -0
  183. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/__init__.py +0 -0
  184. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/organization_role.py +0 -0
  185. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/user.py +0 -0
  186. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/user_organization.py +0 -0
  187. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/user_organization_role.py +0 -0
  188. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/user_profile.py +0 -0
  189. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity/types/results/repository/user_system_role.py +0 -0
  190. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity.egg-info/dependency_links.txt +0 -0
  191. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/maleo_identity.egg-info/top_level.txt +0 -0
  192. {maleo_identity-0.0.43 → maleo_identity-0.0.44}/setup.cfg +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo-identity
3
- Version: 0.0.43
3
+ Version: 0.0.44
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.2.45
10
- Requires-Dist: maleo_metadata>=0.0.99
9
+ Requires-Dist: maleo_foundation>=0.2.58
10
+ Requires-Dist: maleo_metadata>=0.1.6
11
11
 
12
12
  # README #
13
13
 
@@ -50,6 +50,36 @@ class MaleoIdentityOrganizationHTTPController(MaleoClientHTTPController):
50
50
  response = await client.get(url=url, params=params, auth=auth)
51
51
  return BaseClientHTTPControllerResults(response=response)
52
52
 
53
+ async def get_structured_organizations(
54
+ self,
55
+ parameters:MaleoIdentityOrganizationClientParametersTransfers.GetMultipleStructured
56
+ ) -> BaseClientHTTPControllerResults:
57
+ """Fetch structured organizations from MaleoIdentity"""
58
+ async with self._manager.get_client() as client:
59
+ #* Define URL
60
+ url = f"{self._manager.url.api}/v1/organizations/structured"
61
+
62
+ #* Parse parameters to query params
63
+ params = (
64
+ MaleoIdentityOrganizationClientParametersTransfers
65
+ .GetMultipleStructuredQuery
66
+ .model_validate(
67
+ parameters.model_dump()
68
+ )
69
+ .model_dump(
70
+ exclude={"sort_columns", "date_filters"},
71
+ exclude_none=True
72
+ )
73
+ )
74
+
75
+ #* Create auth
76
+ token = self._service_manager.token
77
+ auth = BearerAuth(token=token) if token is not None else None
78
+
79
+ #* Send request and wait for response
80
+ response = await client.get(url=url, params=params, auth=auth)
81
+ return BaseClientHTTPControllerResults(response=response)
82
+
53
83
  async def get_organization(
54
84
  self,
55
85
  parameters:MaleoIdentityOrganizationGeneralParametersTransfers.GetSingle
@@ -77,6 +107,63 @@ class MaleoIdentityOrganizationHTTPController(MaleoClientHTTPController):
77
107
  response = await client.get(url=url, params=params, auth=auth)
78
108
  return BaseClientHTTPControllerResults(response=response)
79
109
 
110
+ async def get_structured_organization(
111
+ self,
112
+ parameters:MaleoIdentityOrganizationGeneralParametersTransfers.GetSingle
113
+ ) -> BaseClientHTTPControllerResults:
114
+ """Fetch structured organization from MaleoIdentity"""
115
+ async with self._manager.get_client() as client:
116
+ #* Define URL
117
+ url = f"{self._manager.url.api}/v1/organizations/{parameters.identifier}/{parameters.value}/structured"
118
+
119
+ #* Parse parameters to query params
120
+ params = (
121
+ MaleoIdentityOrganizationGeneralParametersTransfers
122
+ .GetSingleQuery
123
+ .model_validate(
124
+ parameters.model_dump()
125
+ )
126
+ .model_dump(exclude_none=True)
127
+ )
128
+
129
+ #* Create auth
130
+ token = self._service_manager.token
131
+ auth = BearerAuth(token=token) if token is not None else None
132
+
133
+ #* Send request and wait for response
134
+ response = await client.get(url=url, params=params, auth=auth)
135
+ return BaseClientHTTPControllerResults(response=response)
136
+
137
+ async def get_organization_children(
138
+ self,
139
+ parameters:MaleoIdentityOrganizationClientParametersTransfers.GetMultipleChildren
140
+ ) -> BaseClientHTTPControllerResults:
141
+ """Fetch organization's children from MaleoIdentity"""
142
+ async with self._manager.get_client() as client:
143
+ #* Define URL
144
+ url = f"{self._manager.url.api}/v1/organizations/{parameters.organization_id}/children"
145
+
146
+ #* Parse parameters to query params
147
+ params = (
148
+ MaleoIdentityOrganizationClientParametersTransfers
149
+ .GetMultipleChildrenQuery
150
+ .model_validate(
151
+ parameters.model_dump()
152
+ )
153
+ .model_dump(
154
+ exclude={"sort_columns", "date_filters"},
155
+ exclude_none=True
156
+ )
157
+ )
158
+
159
+ #* Create auth
160
+ token = self._service_manager.token
161
+ auth = BearerAuth(token=token) if token is not None else None
162
+
163
+ #* Send request and wait for response
164
+ response = await client.get(url=url, params=params, auth=auth)
165
+ return BaseClientHTTPControllerResults(response=response)
166
+
80
167
  async def create(
81
168
  self,
82
169
  parameters:MaleoIdentityOrganizationGeneralParametersTransfers.Create
@@ -72,13 +72,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
72
72
  no_data_class=MaleoIdentityOrganizationClientResultsTransfers.NoData
73
73
  )
74
74
  @cached(
75
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
75
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
76
76
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
77
77
  "organization",
78
78
  type=BaseEnums.CacheType.CLIENT,
79
79
  base_override=self.key
80
80
  ),
81
81
  key_builder=BaseCacheConfigurations.key_builder,
82
+ skip_cache_func=lambda x: (
83
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
84
+ or x is None
85
+ or (
86
+ isinstance(x, dict)
87
+ and (
88
+ x.get("success") in [False, None]
89
+ or (x.get("success") is True and x.get("data") is None)
90
+ )
91
+ )
92
+ ),
82
93
  cache=Cache.REDIS,
83
94
  serializer=JsonSerializer(),
84
95
  endpoint=self.service_manager.configs.cache.redis.host,
@@ -142,6 +153,104 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
142
153
  controller_type=controller_type
143
154
  )
144
155
 
156
+ async def get_structured_organizations(
157
+ self,
158
+ parameters:MaleoIdentityOrganizationClientParametersTransfers.GetMultipleStructured,
159
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
160
+ ) -> MaleoIdentityOrganizationClientResultsTypes.GetMultipleStructured:
161
+ """Retrieve structured organizations from MaleoIdentity"""
162
+ @BaseExceptions.service_exception_handler(
163
+ operation="retrieving structured organizations",
164
+ logger=self._logger,
165
+ fail_result_class=MaleoIdentityOrganizationClientResultsTransfers.Fail
166
+ )
167
+ @BaseClientUtils.result_processor(
168
+ fail_class=MaleoIdentityOrganizationClientResultsTransfers.Fail,
169
+ data_found_class=MaleoIdentityOrganizationClientResultsTransfers.MultipleStructured,
170
+ no_data_class=MaleoIdentityOrganizationClientResultsTransfers.NoData
171
+ )
172
+ @cached(
173
+ ttl=int(BaseEnums.CacheTTL.TTL_1WK),
174
+ namespace=self.service_manager.configs.cache.redis.namespaces.create(
175
+ "organization",
176
+ type=BaseEnums.CacheType.CLIENT,
177
+ base_override=self.key
178
+ ),
179
+ key_builder=BaseCacheConfigurations.key_builder,
180
+ skip_cache_func=lambda x: (
181
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
182
+ or x is None
183
+ or (
184
+ isinstance(x, dict)
185
+ and (
186
+ x.get("success") in [False, None]
187
+ or (x.get("success") is True and x.get("data") is None)
188
+ )
189
+ )
190
+ ),
191
+ cache=Cache.REDIS,
192
+ serializer=JsonSerializer(),
193
+ endpoint=self.service_manager.configs.cache.redis.host,
194
+ port=self.service_manager.configs.cache.redis.port,
195
+ password=self.service_manager.configs.cache.redis.password,
196
+ db=self.service_manager.configs.cache.redis.db
197
+ )
198
+ async def _impl(
199
+ parameters:MaleoIdentityOrganizationClientParametersTransfers.GetMultipleStructured,
200
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
201
+ ):
202
+ #* Validate chosen controller type
203
+ if not isinstance(
204
+ controller_type,
205
+ MaleoIdentityGeneralEnums.ClientControllerType
206
+ ):
207
+ message = "Invalid controller type"
208
+ description = "The provided controller type did not exists"
209
+ return MaleoIdentityOrganizationClientResultsTransfers.Fail(
210
+ message=message,
211
+ description=description
212
+ )
213
+ #* Retrieve structured organizations using chosen controller
214
+ if controller_type == MaleoIdentityGeneralEnums.ClientControllerType.HTTP:
215
+ controller_result = (
216
+ await self._controllers.http
217
+ .get_structured_organizations(parameters=parameters)
218
+ )
219
+ else:
220
+ message = "Invalid controller type"
221
+ description = "The provided controller type has not been implemented"
222
+ return MaleoIdentityOrganizationClientResultsTransfers.Fail(
223
+ message=message,
224
+ description=description
225
+ )
226
+ #* Return proper response
227
+ if not controller_result.success:
228
+ return (
229
+ MaleoIdentityOrganizationClientResultsTransfers
230
+ .Fail
231
+ .model_validate(controller_result.content)
232
+ .model_dump(mode="json")
233
+ )
234
+ else:
235
+ if controller_result.content["data"] is None:
236
+ return (
237
+ MaleoIdentityOrganizationClientResultsTransfers
238
+ .NoData
239
+ .model_validate(controller_result.content)
240
+ .model_dump(mode="json")
241
+ )
242
+ else:
243
+ return (
244
+ MaleoIdentityOrganizationClientResultsTransfers
245
+ .MultipleStructured
246
+ .model_validate(controller_result.content)
247
+ .model_dump(mode="json")
248
+ )
249
+ return await _impl(
250
+ parameters=parameters,
251
+ controller_type=controller_type
252
+ )
253
+
145
254
  async def get_organization(
146
255
  self,
147
256
  parameters:MaleoIdentityOrganizationGeneralParametersTransfers.GetSingle,
@@ -158,13 +267,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
158
267
  data_found_class=MaleoIdentityOrganizationClientResultsTransfers.SingleData
159
268
  )
160
269
  @cached(
161
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
270
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
162
271
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
163
272
  "organization",
164
273
  type=BaseEnums.CacheType.CLIENT,
165
274
  base_override=self.key
166
275
  ),
167
276
  key_builder=BaseCacheConfigurations.key_builder,
277
+ skip_cache_func=lambda x: (
278
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
279
+ or x is None
280
+ or (
281
+ isinstance(x, dict)
282
+ and (
283
+ x.get("success") in [False, None]
284
+ or (x.get("success") is True and x.get("data") is None)
285
+ )
286
+ )
287
+ ),
168
288
  cache=Cache.REDIS,
169
289
  serializer=JsonSerializer(),
170
290
  endpoint=self.service_manager.configs.cache.redis.host,
@@ -220,6 +340,192 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
220
340
  controller_type=controller_type
221
341
  )
222
342
 
343
+ async def get_structured_organization(
344
+ self,
345
+ parameters:MaleoIdentityOrganizationGeneralParametersTransfers.GetSingle,
346
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
347
+ ) -> MaleoIdentityOrganizationClientResultsTypes.GetSingleStructured:
348
+ """Retrieve structured organization from MaleoIdentity"""
349
+ @BaseExceptions.service_exception_handler(
350
+ operation="retrieving structured organization",
351
+ logger=self._logger,
352
+ fail_result_class=MaleoIdentityOrganizationClientResultsTransfers.Fail
353
+ )
354
+ @BaseClientUtils.result_processor(
355
+ fail_class=MaleoIdentityOrganizationClientResultsTransfers.Fail,
356
+ data_found_class=MaleoIdentityOrganizationClientResultsTransfers.SingleStructured
357
+ )
358
+ @cached(
359
+ ttl=int(BaseEnums.CacheTTL.TTL_1WK),
360
+ namespace=self.service_manager.configs.cache.redis.namespaces.create(
361
+ "organization",
362
+ type=BaseEnums.CacheType.CLIENT,
363
+ base_override=self.key
364
+ ),
365
+ key_builder=BaseCacheConfigurations.key_builder,
366
+ skip_cache_func=lambda x: (
367
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
368
+ or x is None
369
+ or (
370
+ isinstance(x, dict)
371
+ and (
372
+ x.get("success") in [False, None]
373
+ or (x.get("success") is True and x.get("data") is None)
374
+ )
375
+ )
376
+ ),
377
+ cache=Cache.REDIS,
378
+ serializer=JsonSerializer(),
379
+ endpoint=self.service_manager.configs.cache.redis.host,
380
+ port=self.service_manager.configs.cache.redis.port,
381
+ password=self.service_manager.configs.cache.redis.password,
382
+ db=self.service_manager.configs.cache.redis.db
383
+ )
384
+ async def _impl(
385
+ parameters:MaleoIdentityOrganizationGeneralParametersTransfers.GetSingle,
386
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
387
+ ):
388
+ #* Validate chosen controller type
389
+ if not isinstance(
390
+ controller_type,
391
+ MaleoIdentityGeneralEnums.ClientControllerType
392
+ ):
393
+ message = "Invalid controller type"
394
+ description = "The provided controller type did not exists"
395
+ return MaleoIdentityOrganizationClientResultsTransfers.Fail(
396
+ message=message,
397
+ description=description
398
+ )
399
+ #* Retrieve structured organization using chosen controller
400
+ if controller_type == MaleoIdentityGeneralEnums.ClientControllerType.HTTP:
401
+ controller_result = (
402
+ await self._controllers.http
403
+ .get_structured_organization(parameters=parameters)
404
+ )
405
+ else:
406
+ message = "Invalid controller type"
407
+ description = "The provided controller type has not been implemented"
408
+ return MaleoIdentityOrganizationClientResultsTransfers.Fail(
409
+ message=message,
410
+ description=description
411
+ )
412
+ #* Return proper response
413
+ if not controller_result.success:
414
+ return (
415
+ MaleoIdentityOrganizationClientResultsTransfers
416
+ .Fail
417
+ .model_validate(controller_result.content)
418
+ .model_dump(mode="json")
419
+ )
420
+ else:
421
+ return (
422
+ MaleoIdentityOrganizationClientResultsTransfers
423
+ .SingleStructured
424
+ .model_validate(controller_result.content)
425
+ .model_dump(mode="json")
426
+ )
427
+ return await _impl(
428
+ parameters=parameters,
429
+ controller_type=controller_type
430
+ )
431
+
432
+ async def get_organization_children(
433
+ self,
434
+ parameters:MaleoIdentityOrganizationClientParametersTransfers.GetMultipleChildren,
435
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
436
+ ) -> MaleoIdentityOrganizationClientResultsTypes.GetMultiple:
437
+ """Retrieve organization's children from MaleoIdentity"""
438
+ @BaseExceptions.service_exception_handler(
439
+ operation="retrieving organization's children",
440
+ logger=self._logger,
441
+ fail_result_class=MaleoIdentityOrganizationClientResultsTransfers.Fail
442
+ )
443
+ @BaseClientUtils.result_processor(
444
+ fail_class=MaleoIdentityOrganizationClientResultsTransfers.Fail,
445
+ data_found_class=MaleoIdentityOrganizationClientResultsTransfers.MultipleData
446
+ )
447
+ @cached(
448
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
449
+ namespace=self.service_manager.configs.cache.redis.namespaces.create(
450
+ "organization",
451
+ type=BaseEnums.CacheType.CLIENT,
452
+ base_override=self.key
453
+ ),
454
+ key_builder=BaseCacheConfigurations.key_builder,
455
+ skip_cache_func=lambda x: (
456
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
457
+ or x is None
458
+ or (
459
+ isinstance(x, dict)
460
+ and (
461
+ x.get("success") in [False, None]
462
+ or (x.get("success") is True and x.get("data") is None)
463
+ )
464
+ )
465
+ ),
466
+ cache=Cache.REDIS,
467
+ serializer=JsonSerializer(),
468
+ endpoint=self.service_manager.configs.cache.redis.host,
469
+ port=self.service_manager.configs.cache.redis.port,
470
+ password=self.service_manager.configs.cache.redis.password,
471
+ db=self.service_manager.configs.cache.redis.db
472
+ )
473
+ async def _impl(
474
+ parameters:MaleoIdentityOrganizationClientParametersTransfers.GetMultipleChildren,
475
+ controller_type:MaleoIdentityGeneralEnums.ClientControllerType = MaleoIdentityGeneralEnums.ClientControllerType.HTTP
476
+ ):
477
+ #* Validate chosen controller type
478
+ if not isinstance(
479
+ controller_type,
480
+ MaleoIdentityGeneralEnums.ClientControllerType
481
+ ):
482
+ message = "Invalid controller type"
483
+ description = "The provided controller type did not exists"
484
+ return MaleoIdentityOrganizationClientResultsTransfers.Fail(
485
+ message=message,
486
+ description=description
487
+ )
488
+ #* Retrieve organization's children using chosen controller
489
+ if controller_type == MaleoIdentityGeneralEnums.ClientControllerType.HTTP:
490
+ controller_result = (
491
+ await self._controllers.http
492
+ .get_organization_children(parameters=parameters)
493
+ )
494
+ else:
495
+ message = "Invalid controller type"
496
+ description = "The provided controller type has not been implemented"
497
+ return MaleoIdentityOrganizationClientResultsTransfers.Fail(
498
+ message=message,
499
+ description=description
500
+ )
501
+ #* Return proper response
502
+ if not controller_result.success:
503
+ return (
504
+ MaleoIdentityOrganizationClientResultsTransfers
505
+ .Fail
506
+ .model_validate(controller_result.content)
507
+ .model_dump(mode="json")
508
+ )
509
+ else:
510
+ if controller_result.content["data"] is None:
511
+ return (
512
+ MaleoIdentityOrganizationClientResultsTransfers
513
+ .NoData
514
+ .model_validate(controller_result.content)
515
+ .model_dump(mode="json")
516
+ )
517
+ else:
518
+ return (
519
+ MaleoIdentityOrganizationClientResultsTransfers
520
+ .MultipleData
521
+ .model_validate(controller_result.content)
522
+ .model_dump(mode="json")
523
+ )
524
+ return await _impl(
525
+ parameters=parameters,
526
+ controller_type=controller_type
527
+ )
528
+
223
529
  async def create(
224
530
  self,
225
531
  parameters:MaleoIdentityOrganizationGeneralParametersTransfers.Create,
@@ -351,13 +657,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
351
657
  no_data_class=MaleoIdentityUserOrganizationClientResultsTransfers.NoData
352
658
  )
353
659
  @cached(
354
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
660
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
355
661
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
356
662
  "organization_user",
357
663
  type=BaseEnums.CacheType.CLIENT,
358
664
  base_override=self.key
359
665
  ),
360
666
  key_builder=BaseCacheConfigurations.key_builder,
667
+ skip_cache_func=lambda x: (
668
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
669
+ or x is None
670
+ or (
671
+ isinstance(x, dict)
672
+ and (
673
+ x.get("success") in [False, None]
674
+ or (x.get("success") is True and x.get("data") is None)
675
+ )
676
+ )
677
+ ),
361
678
  cache=Cache.REDIS,
362
679
  serializer=JsonSerializer(),
363
680
  endpoint=self.service_manager.configs.cache.redis.host,
@@ -437,13 +754,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
437
754
  data_found_class=MaleoIdentityUserOrganizationClientResultsTransfers.SingleData
438
755
  )
439
756
  @cached(
440
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
757
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
441
758
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
442
759
  "user_organization",
443
760
  type=BaseEnums.CacheType.CLIENT,
444
761
  base_override=self.key
445
762
  ),
446
763
  key_builder=BaseCacheConfigurations.key_builder,
764
+ skip_cache_func=lambda x: (
765
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
766
+ or x is None
767
+ or (
768
+ isinstance(x, dict)
769
+ and (
770
+ x.get("success") in [False, None]
771
+ or (x.get("success") is True and x.get("data") is None)
772
+ )
773
+ )
774
+ ),
447
775
  cache=Cache.REDIS,
448
776
  serializer=JsonSerializer(),
449
777
  endpoint=self.service_manager.configs.cache.redis.host,
@@ -516,13 +844,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
516
844
  no_data_class=MaleoIdentityOrganizationRoleClientResultsTransfers.NoData
517
845
  )
518
846
  @cached(
519
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
847
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
520
848
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
521
849
  "organization_role",
522
850
  type=BaseEnums.CacheType.CLIENT,
523
851
  base_override=self.key
524
852
  ),
525
853
  key_builder=BaseCacheConfigurations.key_builder,
854
+ skip_cache_func=lambda x: (
855
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
856
+ or x is None
857
+ or (
858
+ isinstance(x, dict)
859
+ and (
860
+ x.get("success") in [False, None]
861
+ or (x.get("success") is True and x.get("data") is None)
862
+ )
863
+ )
864
+ ),
526
865
  cache=Cache.REDIS,
527
866
  serializer=JsonSerializer(),
528
867
  endpoint=self.service_manager.configs.cache.redis.host,
@@ -602,13 +941,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
602
941
  data_found_class=MaleoIdentityOrganizationRoleClientResultsTransfers.SingleData
603
942
  )
604
943
  @cached(
605
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
944
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
606
945
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
607
946
  "organization_role",
608
947
  type=BaseEnums.CacheType.CLIENT,
609
948
  base_override=self.key
610
949
  ),
611
950
  key_builder=BaseCacheConfigurations.key_builder,
951
+ skip_cache_func=lambda x: (
952
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
953
+ or x is None
954
+ or (
955
+ isinstance(x, dict)
956
+ and (
957
+ x.get("success") in [False, None]
958
+ or (x.get("success") is True and x.get("data") is None)
959
+ )
960
+ )
961
+ ),
612
962
  cache=Cache.REDIS,
613
963
  serializer=JsonSerializer(),
614
964
  endpoint=self.service_manager.configs.cache.redis.host,
@@ -681,13 +1031,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
681
1031
  no_data_class=MaleoIdentityUserOrganizationRoleClientResultsTransfers.NoData
682
1032
  )
683
1033
  @cached(
684
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
1034
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
685
1035
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
686
1036
  "user_organization_role",
687
1037
  type=BaseEnums.CacheType.CLIENT,
688
1038
  base_override=self.key
689
1039
  ),
690
1040
  key_builder=BaseCacheConfigurations.key_builder,
1041
+ skip_cache_func=lambda x: (
1042
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
1043
+ or x is None
1044
+ or (
1045
+ isinstance(x, dict)
1046
+ and (
1047
+ x.get("success") in [False, None]
1048
+ or (x.get("success") is True and x.get("data") is None)
1049
+ )
1050
+ )
1051
+ ),
691
1052
  cache=Cache.REDIS,
692
1053
  serializer=JsonSerializer(),
693
1054
  endpoint=self.service_manager.configs.cache.redis.host,
@@ -767,13 +1128,24 @@ class MaleoIdentityOrganizationClientService(MaleoClientService):
767
1128
  data_found_class=MaleoIdentityUserOrganizationRoleClientResultsTransfers.SingleData
768
1129
  )
769
1130
  @cached(
770
- ttl=int(BaseEnums.CacheTTL.TTL_1DY),
1131
+ ttl=int(BaseEnums.CacheTTL.TTL_30MN),
771
1132
  namespace=self.service_manager.configs.cache.redis.namespaces.create(
772
1133
  "user_organization_role",
773
1134
  type=BaseEnums.CacheType.CLIENT,
774
1135
  base_override=self.key
775
1136
  ),
776
1137
  key_builder=BaseCacheConfigurations.key_builder,
1138
+ skip_cache_func=lambda x: (
1139
+ self.service_manager.settings.ENVIRONMENT == BaseEnums.EnvironmentType.LOCAL
1140
+ or x is None
1141
+ or (
1142
+ isinstance(x, dict)
1143
+ and (
1144
+ x.get("success") in [False, None]
1145
+ or (x.get("success") is True and x.get("data") is None)
1146
+ )
1147
+ )
1148
+ ),
777
1149
  cache=Cache.REDIS,
778
1150
  serializer=JsonSerializer(),
779
1151
  endpoint=self.service_manager.configs.cache.redis.host,