@temboplus/afloat 0.1.61 → 0.1.63

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.
Files changed (398) hide show
  1. package/README.md +246 -42
  2. package/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
  3. package/{script/npm/src/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
  4. package/dist/features/admin/admin.repository.d.ts +179 -0
  5. package/dist/features/admin/index.d.ts +2 -0
  6. package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
  7. package/dist/features/auth/access/access.repository.d.ts +55 -0
  8. package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
  9. package/dist/features/auth/auth.manager.d.ts +249 -0
  10. package/dist/features/auth/auth.repository.d.ts +66 -0
  11. package/dist/features/auth/auth.store.d.ts +139 -0
  12. package/{script/npm/src/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
  13. package/dist/features/auth/identity/identity.repository.d.ts +58 -0
  14. package/dist/features/auth/index.d.ts +5 -0
  15. package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
  16. package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
  17. package/dist/features/auth/profile/profile.repository.d.ts +56 -0
  18. package/{script/npm/src/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
  19. package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
  20. package/{script/npm/src/src → dist}/features/auth/storage/types.d.ts +1 -2
  21. package/dist/features/contact/contact-input-handler.d.ts +16 -0
  22. package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
  23. package/dist/features/contact/contact.dtos.d.ts +90 -0
  24. package/dist/features/contact/contact.repository.d.ts +116 -0
  25. package/dist/features/contact/index.d.ts +2 -0
  26. package/dist/features/payout/index.d.ts +3 -0
  27. package/dist/features/payout/payout-channel-handler.d.ts +108 -0
  28. package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
  29. package/dist/features/payout/payout.dtos.d.ts +365 -0
  30. package/dist/features/payout/payout.repository.d.ts +193 -0
  31. package/dist/features/wallet/index.d.ts +4 -0
  32. package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
  33. package/{script/npm/src/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
  34. package/dist/features/wallet/wallet.dtos.d.ts +204 -0
  35. package/dist/features/wallet/wallet.repository.d.ts +173 -0
  36. package/dist/features/wallet/wallet.utils.d.ts +17 -0
  37. package/dist/index.cjs.js +2 -0
  38. package/dist/index.cjs.js.map +1 -0
  39. package/dist/index.d.ts +7 -0
  40. package/dist/index.esm.js +2 -0
  41. package/dist/index.esm.js.map +1 -0
  42. package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
  43. package/{script/npm/src/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
  44. package/dist/lib/api/index.d.ts +2 -0
  45. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  46. package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  47. package/dist/lib/error/error.utils.d.ts +22 -0
  48. package/dist/lib/error/index.d.ts +3 -0
  49. package/dist/models/contact-info.model.d.ts +817 -0
  50. package/{script/npm/src/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
  51. package/dist/models/index.d.ts +11 -0
  52. package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
  53. package/dist/models/narration.model.d.ts +184 -0
  54. package/{script/npm/src/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +14 -16
  55. package/{esm/src → dist}/models/permission.d.ts +1 -2
  56. package/{script/npm/src/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
  57. package/{script/npm/src/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
  58. package/dist/models/statement-entry.model.d.ts +248 -0
  59. package/dist/models/user.model.d.ts +65 -0
  60. package/{script/npm/src/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
  61. package/package.json +47 -24
  62. package/LICENSE +0 -7
  63. package/esm/mod.d.ts +0 -8
  64. package/esm/mod.d.ts.map +0 -1
  65. package/esm/mod.js +0 -7
  66. package/esm/package.json +0 -3
  67. package/esm/src/errors/api_error.d.ts.map +0 -1
  68. package/esm/src/errors/api_error.js +0 -90
  69. package/esm/src/errors/index.d.ts +0 -3
  70. package/esm/src/errors/index.d.ts.map +0 -1
  71. package/esm/src/errors/index.js +0 -2
  72. package/esm/src/errors/permission_error.d.ts +0 -48
  73. package/esm/src/errors/permission_error.d.ts.map +0 -1
  74. package/esm/src/errors/permission_error.js +0 -70
  75. package/esm/src/features/admin/contract.d.ts.map +0 -1
  76. package/esm/src/features/admin/contract.js +0 -210
  77. package/esm/src/features/admin/index.d.ts +0 -4
  78. package/esm/src/features/admin/index.d.ts.map +0 -1
  79. package/esm/src/features/admin/index.js +0 -3
  80. package/esm/src/features/admin/repository.d.ts +0 -114
  81. package/esm/src/features/admin/repository.d.ts.map +0 -1
  82. package/esm/src/features/admin/repository.js +0 -248
  83. package/esm/src/features/admin/schemas.d.ts +0 -146
  84. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  85. package/esm/src/features/admin/schemas.js +0 -206
  86. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  87. package/esm/src/features/auth/access/contract.js +0 -14
  88. package/esm/src/features/auth/access/repository.d.ts +0 -11
  89. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  90. package/esm/src/features/auth/access/repository.js +0 -25
  91. package/esm/src/features/auth/contract.d.ts.map +0 -1
  92. package/esm/src/features/auth/contract.js +0 -43
  93. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  94. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  95. package/esm/src/features/auth/identity/contract.js +0 -17
  96. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  97. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  98. package/esm/src/features/auth/identity/repository.js +0 -30
  99. package/esm/src/features/auth/index.d.ts +0 -6
  100. package/esm/src/features/auth/index.d.ts.map +0 -1
  101. package/esm/src/features/auth/index.js +0 -5
  102. package/esm/src/features/auth/manager.d.ts +0 -105
  103. package/esm/src/features/auth/manager.d.ts.map +0 -1
  104. package/esm/src/features/auth/manager.js +0 -181
  105. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  106. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  107. package/esm/src/features/auth/profile/contract.js +0 -14
  108. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  109. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  110. package/esm/src/features/auth/profile/repository.js +0 -25
  111. package/esm/src/features/auth/repository.d.ts +0 -30
  112. package/esm/src/features/auth/repository.d.ts.map +0 -1
  113. package/esm/src/features/auth/repository.js +0 -69
  114. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  115. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  116. package/esm/src/features/auth/storage/client_store.js +0 -46
  117. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  118. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  119. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  120. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  121. package/esm/src/features/auth/storage/server_store.js +0 -34
  122. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  123. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  124. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  125. package/esm/src/features/auth/storage/types.d.ts +0 -42
  126. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  127. package/esm/src/features/auth/storage/types.js +0 -1
  128. package/esm/src/features/contact/contract.d.ts.map +0 -1
  129. package/esm/src/features/contact/contract.js +0 -49
  130. package/esm/src/features/contact/index.d.ts +0 -2
  131. package/esm/src/features/contact/index.d.ts.map +0 -1
  132. package/esm/src/features/contact/index.js +0 -1
  133. package/esm/src/features/contact/repository.d.ts +0 -58
  134. package/esm/src/features/contact/repository.d.ts.map +0 -1
  135. package/esm/src/features/contact/repository.js +0 -108
  136. package/esm/src/features/payout/contract.d.ts.map +0 -1
  137. package/esm/src/features/payout/contract.js +0 -75
  138. package/esm/src/features/payout/index.d.ts +0 -2
  139. package/esm/src/features/payout/index.d.ts.map +0 -1
  140. package/esm/src/features/payout/index.js +0 -1
  141. package/esm/src/features/payout/repository.d.ts +0 -67
  142. package/esm/src/features/payout/repository.d.ts.map +0 -1
  143. package/esm/src/features/payout/repository.js +0 -163
  144. package/esm/src/features/wallet/contract.d.ts +0 -137
  145. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  146. package/esm/src/features/wallet/contract.js +0 -38
  147. package/esm/src/features/wallet/index.d.ts +0 -2
  148. package/esm/src/features/wallet/index.d.ts.map +0 -1
  149. package/esm/src/features/wallet/index.js +0 -1
  150. package/esm/src/features/wallet/repository.d.ts +0 -57
  151. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  152. package/esm/src/features/wallet/repository.js +0 -93
  153. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  154. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  155. package/esm/src/models/contact/derivatives/contact.js +0 -266
  156. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  157. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  158. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  159. package/esm/src/models/contact/index.d.ts +0 -5
  160. package/esm/src/models/contact/index.d.ts.map +0 -1
  161. package/esm/src/models/contact/index.js +0 -4
  162. package/esm/src/models/contact/schemas.d.ts +0 -66
  163. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  164. package/esm/src/models/contact/schemas.js +0 -64
  165. package/esm/src/models/contact/validation.d.ts +0 -37
  166. package/esm/src/models/contact/validation.d.ts.map +0 -1
  167. package/esm/src/models/contact/validation.js +0 -146
  168. package/esm/src/models/index.d.ts +0 -7
  169. package/esm/src/models/index.d.ts.map +0 -1
  170. package/esm/src/models/index.js +0 -6
  171. package/esm/src/models/payout/api.d.ts +0 -29
  172. package/esm/src/models/payout/api.d.ts.map +0 -1
  173. package/esm/src/models/payout/api.js +0 -1
  174. package/esm/src/models/payout/channel.d.ts +0 -58
  175. package/esm/src/models/payout/channel.d.ts.map +0 -1
  176. package/esm/src/models/payout/channel.js +0 -53
  177. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  178. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  179. package/esm/src/models/payout/derivatives/payout.js +0 -265
  180. package/esm/src/models/payout/index.d.ts +0 -7
  181. package/esm/src/models/payout/index.d.ts.map +0 -1
  182. package/esm/src/models/payout/index.js +0 -6
  183. package/esm/src/models/payout/narration.d.ts +0 -164
  184. package/esm/src/models/payout/narration.d.ts.map +0 -1
  185. package/esm/src/models/payout/narration.js +0 -308
  186. package/esm/src/models/payout/schemas.d.ts +0 -156
  187. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  188. package/esm/src/models/payout/schemas.js +0 -105
  189. package/esm/src/models/payout/status.d.ts +0 -33
  190. package/esm/src/models/payout/status.d.ts.map +0 -1
  191. package/esm/src/models/payout/status.js +0 -34
  192. package/esm/src/models/permission.d.ts.map +0 -1
  193. package/esm/src/models/permission.js +0 -50
  194. package/esm/src/models/role.d.ts +0 -21
  195. package/esm/src/models/role.d.ts.map +0 -1
  196. package/esm/src/models/role.js +0 -73
  197. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  198. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  199. package/esm/src/models/user/authenticated-user.js +0 -226
  200. package/esm/src/models/user/index.d.ts +0 -4
  201. package/esm/src/models/user/index.d.ts.map +0 -1
  202. package/esm/src/models/user/index.js +0 -3
  203. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  204. package/esm/src/models/user/managed-user.js +0 -255
  205. package/esm/src/models/user/profile.d.ts +0 -161
  206. package/esm/src/models/user/profile.d.ts.map +0 -1
  207. package/esm/src/models/user/profile.js +0 -334
  208. package/esm/src/models/wallet/index.d.ts +0 -4
  209. package/esm/src/models/wallet/index.d.ts.map +0 -1
  210. package/esm/src/models/wallet/index.js +0 -3
  211. package/esm/src/models/wallet/schemas.d.ts +0 -95
  212. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  213. package/esm/src/models/wallet/schemas.js +0 -35
  214. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  215. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  216. package/esm/src/models/wallet/statement_entry.js +0 -255
  217. package/esm/src/models/wallet/wallet.d.ts +0 -147
  218. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  219. package/esm/src/models/wallet/wallet.js +0 -279
  220. package/esm/src/shared/base_repository.d.ts.map +0 -1
  221. package/esm/src/shared/base_repository.js +0 -153
  222. package/esm/src/shared/common_responses.d.ts +0 -13
  223. package/esm/src/shared/common_responses.d.ts.map +0 -1
  224. package/esm/src/shared/common_responses.js +0 -10
  225. package/esm/src/shared/index.d.ts +0 -3
  226. package/esm/src/shared/index.d.ts.map +0 -1
  227. package/esm/src/shared/index.js +0 -2
  228. package/esm/src/shared/token_required_repository.d.ts +0 -78
  229. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  230. package/esm/src/shared/token_required_repository.js +0 -128
  231. package/script/mod.d.ts +0 -8
  232. package/script/mod.d.ts.map +0 -1
  233. package/script/mod.js +0 -23
  234. package/script/npm/src/mod.d.ts +0 -8
  235. package/script/npm/src/mod.d.ts.map +0 -1
  236. package/script/npm/src/mod.js +0 -23
  237. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  238. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  239. package/script/npm/src/src/errors/api_error.js +0 -94
  240. package/script/npm/src/src/errors/index.d.ts +0 -3
  241. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  242. package/script/npm/src/src/errors/index.js +0 -18
  243. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  244. package/script/npm/src/src/errors/permission_error.js +0 -74
  245. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  246. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  247. package/script/npm/src/src/features/admin/contract.js +0 -213
  248. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  249. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  250. package/script/npm/src/src/features/admin/index.js +0 -19
  251. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  252. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  253. package/script/npm/src/src/features/admin/repository.js +0 -252
  254. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  255. package/script/npm/src/src/features/admin/schemas.js +0 -209
  256. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  257. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  258. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  259. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  260. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  261. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  262. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  263. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  264. package/script/npm/src/src/features/auth/contract.js +0 -46
  265. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  266. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  267. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  268. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  269. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  270. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  271. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  272. package/script/npm/src/src/features/auth/index.js +0 -21
  273. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  274. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  275. package/script/npm/src/src/features/auth/manager.js +0 -185
  276. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  277. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  278. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  279. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  280. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  281. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  282. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  283. package/script/npm/src/src/features/auth/repository.js +0 -73
  284. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  285. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  286. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  287. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  288. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  289. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  290. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  291. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  292. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  293. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  294. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  295. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  296. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  297. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  298. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  299. package/script/npm/src/src/features/contact/contract.js +0 -52
  300. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  301. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  302. package/script/npm/src/src/features/contact/index.js +0 -17
  303. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  304. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  305. package/script/npm/src/src/features/contact/repository.js +0 -112
  306. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  307. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  308. package/script/npm/src/src/features/payout/contract.js +0 -78
  309. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  310. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  311. package/script/npm/src/src/features/payout/index.js +0 -17
  312. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  313. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  314. package/script/npm/src/src/features/payout/repository.js +0 -167
  315. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  316. package/script/npm/src/src/features/wallet/contract.js +0 -41
  317. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  318. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  319. package/script/npm/src/src/features/wallet/index.js +0 -17
  320. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  321. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  322. package/script/npm/src/src/features/wallet/repository.js +0 -97
  323. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  324. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  325. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  326. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  327. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  328. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  329. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  330. package/script/npm/src/src/models/contact/index.js +0 -20
  331. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  332. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  333. package/script/npm/src/src/models/contact/schemas.js +0 -67
  334. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  335. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  336. package/script/npm/src/src/models/contact/validation.js +0 -153
  337. package/script/npm/src/src/models/index.d.ts +0 -7
  338. package/script/npm/src/src/models/index.d.ts.map +0 -1
  339. package/script/npm/src/src/models/index.js +0 -22
  340. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  341. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  342. package/script/npm/src/src/models/payout/api.js +0 -2
  343. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  344. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  345. package/script/npm/src/src/models/payout/channel.js +0 -56
  346. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  347. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -269
  348. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  349. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  350. package/script/npm/src/src/models/payout/index.js +0 -22
  351. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  352. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  353. package/script/npm/src/src/models/payout/narration.js +0 -312
  354. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  355. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  356. package/script/npm/src/src/models/payout/schemas.js +0 -108
  357. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  358. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  359. package/script/npm/src/src/models/payout/status.js +0 -37
  360. package/script/npm/src/src/models/permission.d.ts +0 -55
  361. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  362. package/script/npm/src/src/models/permission.js +0 -53
  363. package/script/npm/src/src/models/role.d.ts.map +0 -1
  364. package/script/npm/src/src/models/role.js +0 -77
  365. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  366. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  367. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  368. package/script/npm/src/src/models/user/index.d.ts +0 -4
  369. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  370. package/script/npm/src/src/models/user/index.js +0 -19
  371. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  372. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  373. package/script/npm/src/src/models/user/managed-user.js +0 -260
  374. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  375. package/script/npm/src/src/models/user/profile.js +0 -338
  376. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  377. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  378. package/script/npm/src/src/models/wallet/index.js +0 -19
  379. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  380. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  381. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  382. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  383. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  384. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  385. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  386. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  387. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  388. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  389. package/script/npm/src/src/shared/base_repository.js +0 -157
  390. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  391. package/script/npm/src/src/shared/common_responses.js +0 -13
  392. package/script/npm/src/src/shared/index.d.ts +0 -3
  393. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  394. package/script/npm/src/src/shared/index.js +0 -18
  395. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  396. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  397. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  398. package/script/package.json +0 -3
@@ -1,70 +0,0 @@
1
- import { Permissions } from "../models/permission.js";
2
- import { z } from "zod";
3
- /**
4
- * Custom error class representing an error caused by missing required permissions.
5
- * Extends the built-in {@link Error} class to include the `requiredPermissions` property.
6
- */
7
- export class PermissionError extends Error {
8
- /**
9
- * Creates a new `PermissionError` instance.
10
- * @param {Object} args - The constructor arguments.
11
- * @param {Permission[]} args.requiredPermissions - An array of permissions required for the operation.
12
- * @param {string} [args.message] - An optional custom error message. Defaults to listing the missing permissions.
13
- */
14
- constructor(args) {
15
- super(args.message ??
16
- `Missing required permissions: ${args.requiredPermissions.join(", ")}`);
17
- /**
18
- * The permissions that are required but were not present, causing the error.
19
- * @type {Permission[]}
20
- */
21
- Object.defineProperty(this, "requiredPermissions", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- });
27
- this.name = "PermissionError";
28
- this.requiredPermissions = args.requiredPermissions;
29
- }
30
- /**
31
- * Validates if an unknown value is a valid PermissionError instance.
32
- * Performs structural validation of the error object and its properties.
33
- *
34
- * @param {unknown} error - The value to validate.
35
- * @returns {error is PermissionError} Type predicate indicating if the value is a valid PermissionError.
36
- *
37
- * @example
38
- * try {
39
- * throw new Error('Access denied');
40
- * } catch (error) {
41
- * if (PermissionError.is(error)) {
42
- * // error is typed as PermissionError with properly typed requiredPermissions
43
- * console.log(error.requiredPermissions);
44
- * }
45
- * }
46
- *
47
- * @remarks
48
- * Validates the following:
49
- * - Has all required Error properties
50
- * - Has correct error name
51
- * - Contains properly structured requiredPermissions array
52
- * - Maintains proper prototype chain
53
- */
54
- static is(error) {
55
- const permissionSchema = z.union([
56
- z.enum(Object.values(Permissions.Profile)),
57
- z.enum(Object.values(Permissions.Contact)),
58
- z.enum(Object.values(Permissions.Payment)),
59
- z.enum(Object.values(Permissions.Payout)),
60
- z.enum(Object.values(Permissions.Transfer)),
61
- z.enum(Object.values(Permissions.Wallet)),
62
- ]);
63
- const errorSchema = z.object({
64
- name: z.literal("PermissionError"),
65
- message: z.string(),
66
- requiredPermissions: z.array(permissionSchema),
67
- });
68
- return errorSchema.safeParse(error).success;
69
- }
70
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsNjC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC"}
@@ -1,210 +0,0 @@
1
- import { initContract } from "@ts-rest/core";
2
- import { z } from "zod";
3
- import { UserManagementSchemas } from "./schemas.js";
4
- // ====================== API Contract ====================== //
5
- const c = initContract();
6
- export const userManagementContract = c.router({
7
- // List all users
8
- getUsers: {
9
- method: "GET",
10
- path: "/login",
11
- query: UserManagementSchemas.managedUserQueryParams,
12
- responses: {
13
- 200: z.array(UserManagementSchemas.managedUser),
14
- 401: z.object({
15
- message: z.string().optional(),
16
- }),
17
- 403: z.object({
18
- message: z.string().optional(),
19
- }),
20
- },
21
- summary: "List all user accounts",
22
- description: "Retrieve a list of all user accounts in the system",
23
- },
24
- // Get user by ID
25
- getUser: {
26
- method: "GET",
27
- path: "/login/:id",
28
- pathParams: z.object({
29
- id: z.string(),
30
- }),
31
- query: UserManagementSchemas.managedUserQueryParams,
32
- responses: {
33
- 200: UserManagementSchemas.managedUser,
34
- 401: z.object({
35
- message: z.string().optional(),
36
- }),
37
- 403: z.object({
38
- message: z.string().optional(),
39
- }),
40
- 404: z.object({
41
- message: z.string().optional(),
42
- }),
43
- },
44
- summary: "Get user account details",
45
- description: "Retrieve detailed information about a specific user account",
46
- },
47
- // Create new user
48
- createUser: {
49
- method: "POST",
50
- path: "/login",
51
- body: UserManagementSchemas.createUserRequest,
52
- responses: {
53
- 201: UserManagementSchemas.createUserResponse,
54
- 400: z.object({
55
- message: z.string().optional(),
56
- errors: z.array(z.string()).optional(),
57
- }),
58
- 401: z.object({
59
- message: z.string().optional(),
60
- }),
61
- 403: z.object({
62
- message: z.string().optional(),
63
- }),
64
- 409: z.object({
65
- message: z.string().optional(),
66
- }),
67
- },
68
- summary: "Create new user account",
69
- description: "Create a new user account with specified role and permissions",
70
- },
71
- // Update user
72
- updateUser: {
73
- method: "PATCH",
74
- path: "/login/:id",
75
- pathParams: z.object({
76
- id: z.string(),
77
- }),
78
- body: UserManagementSchemas.updateUserRequest,
79
- responses: {
80
- 200: UserManagementSchemas.managedUser,
81
- 400: z.object({
82
- message: z.string().optional(),
83
- errors: z.array(z.string()).optional(),
84
- }),
85
- 401: z.object({
86
- message: z.string().optional(),
87
- }),
88
- 403: z.object({
89
- message: z.string().optional(),
90
- }),
91
- 404: z.object({
92
- message: z.string().optional(),
93
- }),
94
- },
95
- summary: "Update user account",
96
- description: "Update user account information, role, status, or force password reset",
97
- },
98
- // Archive user (soft delete)
99
- archiveUser: {
100
- method: "POST",
101
- path: "/login/:id/archive",
102
- pathParams: z.object({
103
- id: z.string(),
104
- }),
105
- body: z.object({}),
106
- responses: {
107
- 200: UserManagementSchemas.managedUser,
108
- 401: z.object({
109
- message: z.string().optional(),
110
- }),
111
- 403: z.object({
112
- message: z.string().optional(),
113
- }),
114
- 404: z.object({
115
- message: z.string().optional(),
116
- }),
117
- },
118
- summary: "Archive user account",
119
- description: "Archive (soft delete) a user account",
120
- },
121
- // Archive user (soft delete)
122
- unArchiveUser: {
123
- method: "POST",
124
- path: "/login/:id/unarchive",
125
- pathParams: z.object({
126
- id: z.string(),
127
- }),
128
- body: z.object({}),
129
- responses: {
130
- 200: UserManagementSchemas.managedUser,
131
- 401: z.object({
132
- message: z.string().optional(),
133
- }),
134
- 403: z.object({
135
- message: z.string().optional(),
136
- }),
137
- 404: z.object({
138
- message: z.string().optional(),
139
- }),
140
- },
141
- summary: "Un-archive user account",
142
- description: "Un-archive (soft delete) a user account",
143
- },
144
- // Reset user password
145
- resetPassword: {
146
- method: "POST",
147
- path: "/login/:id/reset-password",
148
- pathParams: z.object({
149
- id: z.string(),
150
- }),
151
- body: UserManagementSchemas.resetPasswordRequest,
152
- responses: {
153
- 200: z.object({
154
- success: z.boolean(),
155
- }),
156
- 400: z.object({
157
- message: z.string().optional(),
158
- }),
159
- 401: z.object({
160
- message: z.string().optional(),
161
- }),
162
- 403: z.object({
163
- message: z.string().optional(),
164
- }),
165
- 404: z.object({
166
- message: z.string().optional(),
167
- }),
168
- },
169
- summary: "Reset user password",
170
- description: "Reset a user's password and optionally send notification",
171
- },
172
- // Get all roles
173
- getRoles: {
174
- method: "GET",
175
- path: "/role",
176
- responses: {
177
- 200: z.array(UserManagementSchemas.role),
178
- 401: z.object({
179
- message: z.string().optional(),
180
- }),
181
- 403: z.object({
182
- message: z.string().optional(),
183
- }),
184
- },
185
- summary: "List all roles",
186
- description: "Retrieve a list of all available roles in the system",
187
- },
188
- // Get role by ID
189
- getRole: {
190
- method: "GET",
191
- path: "/role/:id",
192
- pathParams: z.object({
193
- id: z.string(),
194
- }),
195
- responses: {
196
- 200: UserManagementSchemas.role,
197
- 401: z.object({
198
- message: z.string().optional(),
199
- }),
200
- 403: z.object({
201
- message: z.string().optional(),
202
- }),
203
- 404: z.object({
204
- message: z.string().optional(),
205
- }),
206
- },
207
- summary: "Get role details",
208
- description: "Retrieve detailed information about a specific role",
209
- },
210
- });
@@ -1,4 +0,0 @@
1
- export * from "./contract.js";
2
- export * from "./repository.js";
3
- export * from "./schemas.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from "./contract.js";
2
- export * from "./repository.js";
3
- export * from "./schemas.js";
@@ -1,114 +0,0 @@
1
- import { BaseRepository } from "../../shared/base_repository.js";
2
- import { userManagementContract } from "./contract.js";
3
- import type { CreateUserRequest, CreateUserResponse, ManagedUserQueryParams, ResetPasswordRequest, UpdateUserRequest } from "./schemas.js";
4
- import type { AfloatAuth } from "../auth/manager.js";
5
- import { ManagedUser } from "../../models/index.js";
6
- import { Role } from "../../models/role.js";
7
- /**
8
- * Repository class for managing user accounts through API interactions.
9
- * Extends the `BaseRepository` to leverage shared functionality.
10
- */
11
- export declare class UserManagementRepository extends BaseRepository<typeof userManagementContract> {
12
- /**
13
- * Creates an instance of `UserManagementRepository` using the user management contract.
14
- * @param {Object} [props] - Optional constructor properties
15
- * @param {AfloatAuth} [props.auth] - Optional auth instance to use
16
- * @param {string} [props.root] - Optional API root URL
17
- */
18
- constructor(props?: {
19
- auth?: AfloatAuth;
20
- root?: string;
21
- });
22
- /**
23
- * Creates a new user account.
24
- * @param {CreateUserRequest} input - The data required to create a new user account.
25
- * @returns {Promise<CreateUserResponse>} A promise that resolves to the newly created user response.
26
- * @throws {PermissionError} If the user lacks required permissions
27
- * @throws {APIError} If the response status code is not 201.
28
- */
29
- createUser(input: CreateUserRequest): Promise<CreateUserResponse>;
30
- /**
31
- * Updates an existing user account by ID.
32
- * @param {string} id - The unique identifier of the user account to update.
33
- * @param {UpdateUserRequest} input - The data to update the user account with.
34
- * @returns {Promise<ManagedUser>} A promise that resolves to the updated user account.
35
- * @throws {PermissionError} If the user lacks required permissions
36
- * @throws {APIError} If the response status code is not 200.
37
- */
38
- updateUser(id: string, input: UpdateUserRequest): Promise<ManagedUser>;
39
- /**
40
- * Archives (soft deletes) a user account by ID.
41
- * @param {string} id - The unique identifier of the user account to archive.
42
- * @returns {Promise<ManagedUser>} A promise with the updated user object.
43
- * @throws {PermissionError} If the user lacks required permissions
44
- * @throws {APIError} If the response status code is not 200.
45
- */
46
- archiveUser(id: string): Promise<ManagedUser>;
47
- /**
48
- * Archives (soft deletes) a user account by ID.
49
- * @param {string} id - The unique identifier of the user account to archive.
50
- * @returns {Promise<ManagedUser>} A promise with the updated user object.
51
- * @throws {PermissionError} If the user lacks required permissions
52
- * @throws {APIError} If the response status code is not 200.
53
- */
54
- unArchiveUser(id: string): Promise<ManagedUser>;
55
- /**
56
- * Resets a user's password.
57
- * @param {string} id - The unique identifier of the user account.
58
- * @param {ResetPasswordRequest} [input] - Optional password reset configuration.
59
- * @returns {Promise<void>} A promise that resolves when the password reset is complete.
60
- * @throws {PermissionError} If the user lacks required permissions
61
- * @throws {APIError} If the response status code is not 200.
62
- */
63
- resetUserPassword(id: string, input?: ResetPasswordRequest): Promise<{
64
- success: boolean;
65
- }>;
66
- /**
67
- * Retrieves all user accounts.
68
- * Results are ordered in descending order by creation date by default.
69
- *
70
- * @returns {Promise<ManagedUser[]>} A promise that resolves to an array of managed users.
71
- * @throws {PermissionError} If the user lacks required permissions
72
- * @throws {APIError} If the response status code is not 200.
73
- * @example
74
- * const repository = new UserManagementRepository();
75
- * repository.getAllUsers().then(users => console.log(users));
76
- */
77
- getAllUsers(query?: ManagedUserQueryParams): Promise<ManagedUser[]>;
78
- /**
79
- * Retrieves a specific user account by ID.
80
- *
81
- * @param {string} id - The unique identifier of the user account to retrieve.
82
- * @returns {Promise<ManagedUser>} A promise that resolves to the managed user.
83
- * @throws {PermissionError} If the user lacks required permissions
84
- * @throws {APIError} If the response status code is not 200 or user not found.
85
- * @example
86
- * const repository = new UserManagementRepository();
87
- * repository.getUser('user-id').then(user => console.log(user));
88
- */
89
- getUser(id: string, query?: ManagedUserQueryParams): Promise<ManagedUser>;
90
- /**
91
- * Retrieves all available roles in the system.
92
- *
93
- * @returns {Promise<Role[]>} A promise that resolves to an array of roles.
94
- * @throws {PermissionError} If the user lacks required permissions
95
- * @throws {APIError} If the response status code is not 200.
96
- * @example
97
- * const repository = new UserManagementRepository();
98
- * repository.getAllRoles().then(roles => console.log(roles));
99
- */
100
- getAllRoles(): Promise<Role[]>;
101
- /**
102
- * Retrieves a specific role by ID.
103
- *
104
- * @param {string} id - The unique identifier of the role to retrieve.
105
- * @returns {Promise<Role>} A promise that resolves to the role.
106
- * @throws {PermissionError} If the user lacks required permissions
107
- * @throws {APIError} If the response status code is not 200 or role not found.
108
- * @example
109
- * const repository = new UserManagementRepository();
110
- * repository.getRole('role-id').then(role => console.log(role));
111
- */
112
- getRole(id: string): Promise<Role>;
113
- }
114
- //# sourceMappingURL=repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,WAAW,EAGZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAiB,MAAM,sBAAsB,CAAC;AAE3D;;;GAGG;AACH,qBAAa,wBACX,SAAQ,cAAc,CAAC,OAAO,sBAAsB,CAAC;IACrD;;;;;OAKG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxD;;;;;;OAMG;IACG,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBvE;;;;;;;OAOG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAuB5E;;;;;;OAMG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoBnD;;;;;;OAMG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoBrD;;;;;;;OAOG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkBhC;;;;;;;;;;OAUG;IACG,WAAW,CACf,KAAK,GAAE,sBAA0C,GAChD,OAAO,CAAC,WAAW,EAAE,CAAC;IAgBzB;;;;;;;;;;OAUG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,sBAA0C,GAChD,OAAO,CAAC,WAAW,CAAC;IAoBvB;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAsBpC;;;;;;;;;;OAUG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBzC"}
@@ -1,248 +0,0 @@
1
- import { BaseRepository } from "../../shared/base_repository.js";
2
- import { userManagementContract } from "./contract.js";
3
- import { ManagedUser, Permissions, } from "../../models/index.js";
4
- import { PermissionError } from "../../errors/index.js";
5
- import { Role } from "../../models/role.js";
6
- /**
7
- * Repository class for managing user accounts through API interactions.
8
- * Extends the `BaseRepository` to leverage shared functionality.
9
- */
10
- export class UserManagementRepository extends BaseRepository {
11
- /**
12
- * Creates an instance of `UserManagementRepository` using the user management contract.
13
- * @param {Object} [props] - Optional constructor properties
14
- * @param {AfloatAuth} [props.auth] - Optional auth instance to use
15
- * @param {string} [props.root] - Optional API root URL
16
- */
17
- constructor(props) {
18
- super("admin", userManagementContract, props);
19
- }
20
- /**
21
- * Creates a new user account.
22
- * @param {CreateUserRequest} input - The data required to create a new user account.
23
- * @returns {Promise<CreateUserResponse>} A promise that resolves to the newly created user response.
24
- * @throws {PermissionError} If the user lacks required permissions
25
- * @throws {APIError} If the response status code is not 201.
26
- */
27
- async createUser(input) {
28
- const auth = this.getAuthForPermissionCheck();
29
- const requiredPerm = Permissions.UserManagement.CreateUser;
30
- if (!auth.checkPermission(requiredPerm)) {
31
- throw new PermissionError({
32
- message: "You are not authorized to create user accounts.",
33
- requiredPermissions: [requiredPerm],
34
- });
35
- }
36
- const result = await this.client.createUser({ body: input });
37
- const data = this.handleResponse(result, 201);
38
- return data;
39
- }
40
- /**
41
- * Updates an existing user account by ID.
42
- * @param {string} id - The unique identifier of the user account to update.
43
- * @param {UpdateUserRequest} input - The data to update the user account with.
44
- * @returns {Promise<ManagedUser>} A promise that resolves to the updated user account.
45
- * @throws {PermissionError} If the user lacks required permissions
46
- * @throws {APIError} If the response status code is not 200.
47
- */
48
- async updateUser(id, input) {
49
- const auth = this.getAuthForPermissionCheck();
50
- const requiredPerm = Permissions.UserManagement.UpdateUser;
51
- if (!auth.checkPermission(requiredPerm)) {
52
- throw new PermissionError({
53
- message: "You are not authorized to update user accounts.",
54
- requiredPermissions: [requiredPerm],
55
- });
56
- }
57
- const result = await this.client.updateUser({
58
- params: { id },
59
- body: input,
60
- });
61
- const data = this.handleResponse(result, 200);
62
- const managedUser = ManagedUser.from(data);
63
- if (!managedUser) {
64
- throw new Error("Invalid user data received from server");
65
- }
66
- return managedUser;
67
- }
68
- /**
69
- * Archives (soft deletes) a user account by ID.
70
- * @param {string} id - The unique identifier of the user account to archive.
71
- * @returns {Promise<ManagedUser>} A promise with the updated user object.
72
- * @throws {PermissionError} If the user lacks required permissions
73
- * @throws {APIError} If the response status code is not 200.
74
- */
75
- async archiveUser(id) {
76
- const auth = this.getAuthForPermissionCheck();
77
- const requiredPerm = Permissions.UserManagement.ArchiveUser;
78
- if (!auth.checkPermission(requiredPerm)) {
79
- throw new PermissionError({
80
- message: "You are not authorized to archive users.",
81
- requiredPermissions: [requiredPerm],
82
- });
83
- }
84
- const result = await this.client.archiveUser({ params: { id } });
85
- const data = this.handleResponse(result, 201);
86
- const managedUser = ManagedUser.from(data);
87
- if (!managedUser) {
88
- throw new Error("Invalid user data received from server");
89
- }
90
- return managedUser;
91
- }
92
- /**
93
- * Archives (soft deletes) a user account by ID.
94
- * @param {string} id - The unique identifier of the user account to archive.
95
- * @returns {Promise<ManagedUser>} A promise with the updated user object.
96
- * @throws {PermissionError} If the user lacks required permissions
97
- * @throws {APIError} If the response status code is not 200.
98
- */
99
- async unArchiveUser(id) {
100
- const auth = this.getAuthForPermissionCheck();
101
- const requiredPerm = Permissions.UserManagement.UnArchiveUser;
102
- if (!auth.checkPermission(requiredPerm)) {
103
- throw new PermissionError({
104
- message: "You are not authorized to un-archive users.",
105
- requiredPermissions: [requiredPerm],
106
- });
107
- }
108
- const result = await this.client.unArchiveUser({ params: { id } });
109
- const data = this.handleResponse(result, 201);
110
- const managedUser = ManagedUser.from(data);
111
- if (!managedUser) {
112
- throw new Error("Invalid user data received from server");
113
- }
114
- return managedUser;
115
- }
116
- /**
117
- * Resets a user's password.
118
- * @param {string} id - The unique identifier of the user account.
119
- * @param {ResetPasswordRequest} [input] - Optional password reset configuration.
120
- * @returns {Promise<void>} A promise that resolves when the password reset is complete.
121
- * @throws {PermissionError} If the user lacks required permissions
122
- * @throws {APIError} If the response status code is not 200.
123
- */
124
- async resetUserPassword(id, input = {}) {
125
- const auth = this.getAuthForPermissionCheck();
126
- const requiredPerm = Permissions.UserManagement.ResetPassword;
127
- if (!auth.checkPermission(requiredPerm)) {
128
- throw new PermissionError({
129
- message: "You are not authorized to reset user passwords.",
130
- requiredPermissions: [requiredPerm],
131
- });
132
- }
133
- const result = await this.client.resetPassword({
134
- params: { id },
135
- body: input,
136
- });
137
- return this.handleResponse(result, 201);
138
- }
139
- /**
140
- * Retrieves all user accounts.
141
- * Results are ordered in descending order by creation date by default.
142
- *
143
- * @returns {Promise<ManagedUser[]>} A promise that resolves to an array of managed users.
144
- * @throws {PermissionError} If the user lacks required permissions
145
- * @throws {APIError} If the response status code is not 200.
146
- * @example
147
- * const repository = new UserManagementRepository();
148
- * repository.getAllUsers().then(users => console.log(users));
149
- */
150
- async getAllUsers(query = { eager: "role" }) {
151
- const auth = this.getAuthForPermissionCheck();
152
- const requiredPerm = Permissions.UserManagement.ViewUsers;
153
- if (!auth.checkPermission(requiredPerm)) {
154
- throw new PermissionError({
155
- message: "You are not authorized to view user accounts.",
156
- requiredPermissions: [requiredPerm],
157
- });
158
- }
159
- const result = await this.client.getUsers({ query });
160
- const data = this.handleResponse(result, 200);
161
- return ManagedUser.createMany(data);
162
- }
163
- /**
164
- * Retrieves a specific user account by ID.
165
- *
166
- * @param {string} id - The unique identifier of the user account to retrieve.
167
- * @returns {Promise<ManagedUser>} A promise that resolves to the managed user.
168
- * @throws {PermissionError} If the user lacks required permissions
169
- * @throws {APIError} If the response status code is not 200 or user not found.
170
- * @example
171
- * const repository = new UserManagementRepository();
172
- * repository.getUser('user-id').then(user => console.log(user));
173
- */
174
- async getUser(id, query = { eager: "role" }) {
175
- const auth = this.getAuthForPermissionCheck();
176
- const requiredPerm = Permissions.UserManagement.ViewUser;
177
- if (!auth.checkPermission(requiredPerm)) {
178
- throw new PermissionError({
179
- message: "You are not authorized to view user account details.",
180
- requiredPermissions: [requiredPerm],
181
- });
182
- }
183
- const result = await this.client.getUser({ params: { id }, query });
184
- const data = this.handleResponse(result, 200);
185
- const managedUser = ManagedUser.from(data);
186
- if (!managedUser) {
187
- throw new Error("Invalid user data received from server");
188
- }
189
- return managedUser;
190
- }
191
- /**
192
- * Retrieves all available roles in the system.
193
- *
194
- * @returns {Promise<Role[]>} A promise that resolves to an array of roles.
195
- * @throws {PermissionError} If the user lacks required permissions
196
- * @throws {APIError} If the response status code is not 200.
197
- * @example
198
- * const repository = new UserManagementRepository();
199
- * repository.getAllRoles().then(roles => console.log(roles));
200
- */
201
- async getAllRoles() {
202
- const auth = this.getAuthForPermissionCheck();
203
- const requiredPerm = Permissions.Role.ViewRoles;
204
- if (!auth.checkPermission(requiredPerm)) {
205
- throw new PermissionError({
206
- message: "You are not authorized to view system roles.",
207
- requiredPermissions: [requiredPerm],
208
- });
209
- }
210
- const result = await this.client.getRoles();
211
- const data = this.handleResponse(result, 200);
212
- return data.map((roleData) => {
213
- const role = Role.from(roleData);
214
- if (!role) {
215
- throw new Error("Invalid role data received from server");
216
- }
217
- return role;
218
- });
219
- }
220
- /**
221
- * Retrieves a specific role by ID.
222
- *
223
- * @param {string} id - The unique identifier of the role to retrieve.
224
- * @returns {Promise<Role>} A promise that resolves to the role.
225
- * @throws {PermissionError} If the user lacks required permissions
226
- * @throws {APIError} If the response status code is not 200 or role not found.
227
- * @example
228
- * const repository = new UserManagementRepository();
229
- * repository.getRole('role-id').then(role => console.log(role));
230
- */
231
- async getRole(id) {
232
- const auth = this.getAuthForPermissionCheck();
233
- const requiredPerm = Permissions.Role.ViewRole;
234
- if (!auth.checkPermission(requiredPerm)) {
235
- throw new PermissionError({
236
- message: "You are not authorized to view role details.",
237
- requiredPermissions: [requiredPerm],
238
- });
239
- }
240
- const result = await this.client.getRole({ params: { id } });
241
- const data = this.handleResponse(result, 200);
242
- const role = Role.from(data);
243
- if (!role) {
244
- throw new Error("Invalid role data received from server");
245
- }
246
- return role;
247
- }
248
- }