@temboplus/afloat 0.1.60 → 0.1.62

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 (554) 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 +120 -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} +13 -17
  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 -25
  62. package/LICENSE +0 -7
  63. package/esm/_dnt.test_shims.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  65. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  68. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  69. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  71. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  72. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  74. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  75. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  77. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  78. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  80. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  81. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  83. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  84. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  86. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  87. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  92. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  97. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  98. package/esm/mod.d.ts +0 -8
  99. package/esm/mod.d.ts.map +0 -1
  100. package/esm/mod.js +0 -7
  101. package/esm/package.json +0 -3
  102. package/esm/src/errors/api_error.d.ts.map +0 -1
  103. package/esm/src/errors/api_error.js +0 -90
  104. package/esm/src/errors/index.d.ts +0 -3
  105. package/esm/src/errors/index.d.ts.map +0 -1
  106. package/esm/src/errors/index.js +0 -2
  107. package/esm/src/errors/permission_error.d.ts +0 -48
  108. package/esm/src/errors/permission_error.d.ts.map +0 -1
  109. package/esm/src/errors/permission_error.js +0 -70
  110. package/esm/src/features/admin/contract.d.ts.map +0 -1
  111. package/esm/src/features/admin/contract.js +0 -210
  112. package/esm/src/features/admin/index.d.ts +0 -4
  113. package/esm/src/features/admin/index.d.ts.map +0 -1
  114. package/esm/src/features/admin/index.js +0 -3
  115. package/esm/src/features/admin/repository.d.ts +0 -114
  116. package/esm/src/features/admin/repository.d.ts.map +0 -1
  117. package/esm/src/features/admin/repository.js +0 -248
  118. package/esm/src/features/admin/schemas.d.ts +0 -146
  119. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  120. package/esm/src/features/admin/schemas.js +0 -206
  121. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  122. package/esm/src/features/auth/access/contract.js +0 -14
  123. package/esm/src/features/auth/access/repository.d.ts +0 -11
  124. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  125. package/esm/src/features/auth/access/repository.js +0 -25
  126. package/esm/src/features/auth/contract.d.ts.map +0 -1
  127. package/esm/src/features/auth/contract.js +0 -43
  128. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  129. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  130. package/esm/src/features/auth/identity/contract.js +0 -17
  131. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  132. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  133. package/esm/src/features/auth/identity/repository.js +0 -30
  134. package/esm/src/features/auth/index.d.ts +0 -6
  135. package/esm/src/features/auth/index.d.ts.map +0 -1
  136. package/esm/src/features/auth/index.js +0 -5
  137. package/esm/src/features/auth/manager.d.ts +0 -105
  138. package/esm/src/features/auth/manager.d.ts.map +0 -1
  139. package/esm/src/features/auth/manager.js +0 -181
  140. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  141. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  142. package/esm/src/features/auth/profile/contract.js +0 -14
  143. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  144. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  145. package/esm/src/features/auth/profile/repository.js +0 -25
  146. package/esm/src/features/auth/repository.d.ts +0 -30
  147. package/esm/src/features/auth/repository.d.ts.map +0 -1
  148. package/esm/src/features/auth/repository.js +0 -69
  149. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  150. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  151. package/esm/src/features/auth/storage/client_store.js +0 -46
  152. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  153. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  154. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  155. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  156. package/esm/src/features/auth/storage/server_store.js +0 -34
  157. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  158. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  159. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  160. package/esm/src/features/auth/storage/types.d.ts +0 -42
  161. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  162. package/esm/src/features/auth/storage/types.js +0 -1
  163. package/esm/src/features/contact/contract.d.ts.map +0 -1
  164. package/esm/src/features/contact/contract.js +0 -49
  165. package/esm/src/features/contact/index.d.ts +0 -2
  166. package/esm/src/features/contact/index.d.ts.map +0 -1
  167. package/esm/src/features/contact/index.js +0 -1
  168. package/esm/src/features/contact/repository.d.ts +0 -58
  169. package/esm/src/features/contact/repository.d.ts.map +0 -1
  170. package/esm/src/features/contact/repository.js +0 -108
  171. package/esm/src/features/payout/contract.d.ts.map +0 -1
  172. package/esm/src/features/payout/contract.js +0 -75
  173. package/esm/src/features/payout/index.d.ts +0 -2
  174. package/esm/src/features/payout/index.d.ts.map +0 -1
  175. package/esm/src/features/payout/index.js +0 -1
  176. package/esm/src/features/payout/repository.d.ts +0 -67
  177. package/esm/src/features/payout/repository.d.ts.map +0 -1
  178. package/esm/src/features/payout/repository.js +0 -163
  179. package/esm/src/features/wallet/contract.d.ts +0 -137
  180. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  181. package/esm/src/features/wallet/contract.js +0 -38
  182. package/esm/src/features/wallet/index.d.ts +0 -2
  183. package/esm/src/features/wallet/index.d.ts.map +0 -1
  184. package/esm/src/features/wallet/index.js +0 -1
  185. package/esm/src/features/wallet/repository.d.ts +0 -57
  186. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  187. package/esm/src/features/wallet/repository.js +0 -93
  188. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  189. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  190. package/esm/src/models/contact/derivatives/contact.js +0 -266
  191. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  192. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  193. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  194. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  195. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  196. package/esm/src/models/contact/index.d.ts +0 -5
  197. package/esm/src/models/contact/index.d.ts.map +0 -1
  198. package/esm/src/models/contact/index.js +0 -4
  199. package/esm/src/models/contact/schemas.d.ts +0 -66
  200. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  201. package/esm/src/models/contact/schemas.js +0 -64
  202. package/esm/src/models/contact/validation.d.ts +0 -37
  203. package/esm/src/models/contact/validation.d.ts.map +0 -1
  204. package/esm/src/models/contact/validation.js +0 -146
  205. package/esm/src/models/contact/validation.test.d.ts.map +0 -1
  206. package/esm/src/models/index.d.ts +0 -7
  207. package/esm/src/models/index.d.ts.map +0 -1
  208. package/esm/src/models/index.js +0 -6
  209. package/esm/src/models/payout/api.d.ts +0 -29
  210. package/esm/src/models/payout/api.d.ts.map +0 -1
  211. package/esm/src/models/payout/api.js +0 -1
  212. package/esm/src/models/payout/channel.d.ts +0 -58
  213. package/esm/src/models/payout/channel.d.ts.map +0 -1
  214. package/esm/src/models/payout/channel.js +0 -53
  215. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  216. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  217. package/esm/src/models/payout/derivatives/payout.js +0 -265
  218. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  219. package/esm/src/models/payout/index.d.ts +0 -7
  220. package/esm/src/models/payout/index.d.ts.map +0 -1
  221. package/esm/src/models/payout/index.js +0 -6
  222. package/esm/src/models/payout/narration.d.ts +0 -164
  223. package/esm/src/models/payout/narration.d.ts.map +0 -1
  224. package/esm/src/models/payout/narration.js +0 -308
  225. package/esm/src/models/payout/schemas.d.ts +0 -156
  226. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  227. package/esm/src/models/payout/schemas.js +0 -105
  228. package/esm/src/models/payout/status.d.ts +0 -33
  229. package/esm/src/models/payout/status.d.ts.map +0 -1
  230. package/esm/src/models/payout/status.js +0 -34
  231. package/esm/src/models/permission.d.ts.map +0 -1
  232. package/esm/src/models/permission.js +0 -50
  233. package/esm/src/models/role.d.ts +0 -21
  234. package/esm/src/models/role.d.ts.map +0 -1
  235. package/esm/src/models/role.js +0 -73
  236. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  237. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  238. package/esm/src/models/user/authenticated-user.js +0 -226
  239. package/esm/src/models/user/index.d.ts +0 -4
  240. package/esm/src/models/user/index.d.ts.map +0 -1
  241. package/esm/src/models/user/index.js +0 -3
  242. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  243. package/esm/src/models/user/managed-user.js +0 -255
  244. package/esm/src/models/user/profile.d.ts +0 -161
  245. package/esm/src/models/user/profile.d.ts.map +0 -1
  246. package/esm/src/models/user/profile.js +0 -334
  247. package/esm/src/models/wallet/index.d.ts +0 -4
  248. package/esm/src/models/wallet/index.d.ts.map +0 -1
  249. package/esm/src/models/wallet/index.js +0 -3
  250. package/esm/src/models/wallet/schemas.d.ts +0 -95
  251. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  252. package/esm/src/models/wallet/schemas.js +0 -35
  253. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  254. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  255. package/esm/src/models/wallet/statement_entry.js +0 -255
  256. package/esm/src/models/wallet/wallet.d.ts +0 -147
  257. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  258. package/esm/src/models/wallet/wallet.js +0 -279
  259. package/esm/src/shared/base_repository.d.ts.map +0 -1
  260. package/esm/src/shared/base_repository.js +0 -153
  261. package/esm/src/shared/common_responses.d.ts +0 -13
  262. package/esm/src/shared/common_responses.d.ts.map +0 -1
  263. package/esm/src/shared/common_responses.js +0 -10
  264. package/esm/src/shared/index.d.ts +0 -3
  265. package/esm/src/shared/index.d.ts.map +0 -1
  266. package/esm/src/shared/index.js +0 -2
  267. package/esm/src/shared/token_required_repository.d.ts +0 -78
  268. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  269. package/esm/src/shared/token_required_repository.js +0 -128
  270. package/script/mod.d.ts +0 -8
  271. package/script/mod.d.ts.map +0 -1
  272. package/script/mod.js +0 -23
  273. package/script/npm/src/_dnt.test_shims.d.ts +0 -6
  274. package/script/npm/src/_dnt.test_shims.d.ts.map +0 -1
  275. package/script/npm/src/_dnt.test_shims.js +0 -65
  276. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts +0 -29
  277. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  278. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.js +0 -49
  279. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts +0 -24
  280. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  281. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.js +0 -49
  282. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.d.ts +0 -16
  283. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  284. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.js +0 -25
  285. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts +0 -26
  286. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  287. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.js +0 -34
  288. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.d.ts +0 -17
  289. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  290. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.js +0 -209
  291. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.d.ts +0 -35
  292. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  293. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.js +0 -61
  294. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.d.ts +0 -18
  295. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  296. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.js +0 -30
  297. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.d.ts +0 -15
  298. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  299. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.js +0 -23
  300. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.d.ts +0 -18
  301. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  302. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.js +0 -25
  303. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.d.ts +0 -20
  304. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  305. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.js +0 -32
  306. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts +0 -20
  307. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  308. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.js +0 -32
  309. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts +0 -23
  310. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  311. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.js +0 -55
  312. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts +0 -25
  313. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  314. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.js +0 -56
  315. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.d.ts +0 -19
  316. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  317. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.js +0 -31
  318. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts +0 -20
  319. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  320. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.js +0 -32
  321. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.d.ts +0 -18
  322. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  323. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.js +0 -29
  324. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.d.ts +0 -44
  325. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  326. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.js +0 -61
  327. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts +0 -21
  328. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  329. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.js +0 -36
  330. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts +0 -20
  331. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  332. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.js +0 -32
  333. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts +0 -18
  334. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  335. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.js +0 -29
  336. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts +0 -23
  337. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  338. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.js +0 -35
  339. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts +0 -29
  340. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  341. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.js +0 -163
  342. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts +0 -42
  343. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  344. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.js +0 -56
  345. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts +0 -24
  346. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  347. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.js +0 -60
  348. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts +0 -18
  349. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  350. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.js +0 -29
  351. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.d.ts +0 -45
  352. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  353. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.js +0 -47
  354. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts +0 -15
  355. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  356. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.js +0 -23
  357. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts +0 -15
  358. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  359. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.js +0 -23
  360. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +0 -82
  361. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  362. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.js +0 -115
  363. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +0 -140
  364. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  365. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.js +0 -283
  366. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +0 -99
  367. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  368. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.js +0 -185
  369. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.d.ts +0 -2
  370. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  371. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.js +0 -63
  372. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +0 -159
  373. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  374. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.js +0 -242
  375. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.d.ts +0 -16
  376. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  377. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.js +0 -3
  378. package/script/npm/src/mod.d.ts +0 -8
  379. package/script/npm/src/mod.d.ts.map +0 -1
  380. package/script/npm/src/mod.js +0 -23
  381. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  382. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  383. package/script/npm/src/src/errors/api_error.js +0 -94
  384. package/script/npm/src/src/errors/index.d.ts +0 -3
  385. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  386. package/script/npm/src/src/errors/index.js +0 -18
  387. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  388. package/script/npm/src/src/errors/permission_error.js +0 -74
  389. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  390. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  391. package/script/npm/src/src/features/admin/contract.js +0 -213
  392. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  393. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  394. package/script/npm/src/src/features/admin/index.js +0 -19
  395. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  396. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  397. package/script/npm/src/src/features/admin/repository.js +0 -252
  398. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  399. package/script/npm/src/src/features/admin/schemas.js +0 -209
  400. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  401. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  402. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  403. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  404. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  405. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  406. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  407. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  408. package/script/npm/src/src/features/auth/contract.js +0 -46
  409. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  410. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  411. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  412. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  413. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  414. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  415. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  416. package/script/npm/src/src/features/auth/index.js +0 -21
  417. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  418. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  419. package/script/npm/src/src/features/auth/manager.js +0 -185
  420. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  421. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  422. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  423. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  424. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  425. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  426. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  427. package/script/npm/src/src/features/auth/repository.js +0 -73
  428. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  429. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  430. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  431. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  432. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  433. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  434. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  435. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  436. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  437. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  438. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  439. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  440. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  441. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  442. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  443. package/script/npm/src/src/features/contact/contract.js +0 -52
  444. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  445. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  446. package/script/npm/src/src/features/contact/index.js +0 -17
  447. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  448. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  449. package/script/npm/src/src/features/contact/repository.js +0 -112
  450. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  451. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  452. package/script/npm/src/src/features/payout/contract.js +0 -78
  453. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  454. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  455. package/script/npm/src/src/features/payout/index.js +0 -17
  456. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  457. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  458. package/script/npm/src/src/features/payout/repository.js +0 -167
  459. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  460. package/script/npm/src/src/features/wallet/contract.js +0 -41
  461. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  462. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  463. package/script/npm/src/src/features/wallet/index.js +0 -17
  464. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  465. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  466. package/script/npm/src/src/features/wallet/repository.js +0 -97
  467. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  468. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  469. package/script/npm/src/src/models/contact/derivatives/contact.test.d.ts +0 -1
  470. package/script/npm/src/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  471. package/script/npm/src/src/models/contact/derivatives/contact.test.js +0 -64
  472. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  473. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  474. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  475. package/script/npm/src/src/models/contact/derivatives/contact_info.test.d.ts +0 -1
  476. package/script/npm/src/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  477. package/script/npm/src/src/models/contact/derivatives/contact_info.test.js +0 -331
  478. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  479. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  480. package/script/npm/src/src/models/contact/index.js +0 -20
  481. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  482. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  483. package/script/npm/src/src/models/contact/schemas.js +0 -67
  484. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  485. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  486. package/script/npm/src/src/models/contact/validation.js +0 -153
  487. package/script/npm/src/src/models/contact/validation.test.d.ts +0 -2
  488. package/script/npm/src/src/models/contact/validation.test.d.ts.map +0 -1
  489. package/script/npm/src/src/models/contact/validation.test.js +0 -186
  490. package/script/npm/src/src/models/index.d.ts +0 -7
  491. package/script/npm/src/src/models/index.d.ts.map +0 -1
  492. package/script/npm/src/src/models/index.js +0 -22
  493. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  494. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  495. package/script/npm/src/src/models/payout/api.js +0 -2
  496. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  497. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  498. package/script/npm/src/src/models/payout/channel.js +0 -56
  499. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  500. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -269
  501. package/script/npm/src/src/models/payout/derivatives/payout.test.d.ts +0 -1
  502. package/script/npm/src/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  503. package/script/npm/src/src/models/payout/derivatives/payout.test.js +0 -76
  504. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  505. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  506. package/script/npm/src/src/models/payout/index.js +0 -22
  507. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  508. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  509. package/script/npm/src/src/models/payout/narration.js +0 -312
  510. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  511. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  512. package/script/npm/src/src/models/payout/schemas.js +0 -108
  513. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  514. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  515. package/script/npm/src/src/models/payout/status.js +0 -37
  516. package/script/npm/src/src/models/permission.d.ts +0 -55
  517. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  518. package/script/npm/src/src/models/permission.js +0 -53
  519. package/script/npm/src/src/models/role.d.ts.map +0 -1
  520. package/script/npm/src/src/models/role.js +0 -77
  521. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  522. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  523. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  524. package/script/npm/src/src/models/user/index.d.ts +0 -4
  525. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  526. package/script/npm/src/src/models/user/index.js +0 -19
  527. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  528. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  529. package/script/npm/src/src/models/user/managed-user.js +0 -260
  530. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  531. package/script/npm/src/src/models/user/profile.js +0 -338
  532. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  533. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  534. package/script/npm/src/src/models/wallet/index.js +0 -19
  535. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  536. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  537. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  538. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  539. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  540. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  541. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  542. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  543. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  544. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  545. package/script/npm/src/src/shared/base_repository.js +0 -157
  546. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  547. package/script/npm/src/src/shared/common_responses.js +0 -13
  548. package/script/npm/src/src/shared/index.d.ts +0 -3
  549. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  550. package/script/npm/src/src/shared/index.js +0 -18
  551. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  552. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  553. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  554. package/script/package.json +0 -3
@@ -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
- }
@@ -1,146 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Type definition for password schema using Zod.
4
- * This is used as a TypeScript type helper for the actual schema implementation.
5
- */
6
- type _PasswordType = z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
7
- /**
8
- * Type definition for role schema using Zod.
9
- * This is used as a TypeScript type helper for the actual schema implementation.
10
- */
11
- type _RoleType = z.ZodObject<{
12
- id: z.ZodString;
13
- name: z.ZodString;
14
- description: z.ZodOptional<z.ZodString>;
15
- access: z.ZodArray<z.ZodString>;
16
- createdAt: z.ZodString;
17
- updatedAt: z.ZodString;
18
- }>;
19
- /**
20
- * Type definition for managed user schema using Zod.
21
- * This is used as a TypeScript type helper for the actual schema implementation.
22
- */
23
- type _ManagedUserType = z.ZodObject<{
24
- id: z.ZodString;
25
- name: z.ZodString;
26
- identity: z.ZodString;
27
- type: z.ZodString;
28
- profileId: z.ZodString;
29
- roleId: z.ZodString;
30
- resetPassword: z.ZodBoolean;
31
- isActive: z.ZodBoolean;
32
- isArchived: z.ZodBoolean;
33
- role: z.ZodOptional<z.ZodType<Role>>;
34
- createdAt: z.ZodString;
35
- updatedAt: z.ZodString;
36
- }>;
37
- /**
38
- * Type definition for create user request schema using Zod.
39
- * This is used as a TypeScript type helper for the actual schema implementation.
40
- */
41
- type _CreateUserRequestType = z.ZodObject<{
42
- name: z.ZodString;
43
- identity: z.ZodString;
44
- password: z.ZodOptional<_PasswordType>;
45
- roleId: z.ZodOptional<z.ZodString>;
46
- resetPassword: z.ZodOptional<z.ZodBoolean>;
47
- }>;
48
- /**
49
- * Type definition for update user request schema using Zod.
50
- * This is used as a TypeScript type helper for the actual schema implementation.
51
- */
52
- type _UpdateUserRequestType = z.ZodObject<{
53
- name: z.ZodOptional<z.ZodString>;
54
- roleId: z.ZodOptional<z.ZodString>;
55
- password: z.ZodOptional<_PasswordType>;
56
- resetPassword: z.ZodOptional<z.ZodBoolean>;
57
- isActive: z.ZodOptional<z.ZodBoolean>;
58
- }>;
59
- /**
60
- * Type definition for reset password request schema using Zod.
61
- * This is used as a TypeScript type helper for the actual schema implementation.
62
- */
63
- type _ResetPasswordRequestType = z.ZodObject<{
64
- newPassword: z.ZodOptional<_PasswordType>;
65
- sendNotification: z.ZodOptional<z.ZodBoolean>;
66
- }>;
67
- /**
68
- * Type definition for create user response schema using Zod.
69
- * This is used as a TypeScript type helper for the actual schema implementation.
70
- */
71
- type _CreateUserResponseType = z.ZodObject<{
72
- id: z.ZodString;
73
- name: z.ZodString;
74
- identity: z.ZodString;
75
- type: z.ZodString;
76
- profileId: z.ZodString;
77
- roleId: z.ZodString;
78
- isActive: z.ZodBoolean;
79
- isArchived: z.ZodBoolean;
80
- createdAt: z.ZodString;
81
- }>;
82
- /**
83
- * Type definition for managed user query parameters schema using Zod.
84
- * This is used as a TypeScript type helper for the actual schema implementation.
85
- */
86
- type _ManagedUserQueryParamsType = z.ZodObject<{
87
- id: z.ZodOptional<z.ZodString>;
88
- name: z.ZodOptional<z.ZodString>;
89
- identity: z.ZodOptional<z.ZodString>;
90
- type: z.ZodOptional<z.ZodString>;
91
- profileId: z.ZodOptional<z.ZodString>;
92
- roleId: z.ZodOptional<z.ZodString>;
93
- resetPassword: z.ZodOptional<z.ZodNumber>;
94
- isActive: z.ZodOptional<z.ZodNumber>;
95
- isArchived: z.ZodOptional<z.ZodNumber>;
96
- createdAt: z.ZodOptional<z.ZodString>;
97
- updatedAt: z.ZodOptional<z.ZodString>;
98
- eager: z.ZodOptional<z.ZodString>;
99
- }>;
100
- /**
101
- * Collection of user management schemas for export.
102
- * Provides access to all user and role validation schemas.
103
- */
104
- export declare const UserManagementSchemas: {
105
- role: _RoleType;
106
- managedUser: _ManagedUserType;
107
- managedUserQueryParams: _ManagedUserQueryParamsType;
108
- createUserRequest: _CreateUserRequestType;
109
- updateUserRequest: _UpdateUserRequestType;
110
- resetPasswordRequest: _ResetPasswordRequestType;
111
- createUserResponse: _CreateUserResponseType;
112
- password: _PasswordType;
113
- };
114
- /**
115
- * TypeScript type for a validated role object.
116
- * Use this type for role instances that have been validated against the schema.
117
- */
118
- type Role = z.infer<typeof UserManagementSchemas.role>;
119
- /**
120
- * TypeScript type for a create user request object.
121
- * Use this type for user creation requests that have been validated against the schema.
122
- */
123
- export type CreateUserRequest = z.infer<typeof UserManagementSchemas.createUserRequest>;
124
- /**
125
- * TypeScript type for an update user request object.
126
- * Use this type for user update requests that have been validated against the schema.
127
- */
128
- export type UpdateUserRequest = z.infer<typeof UserManagementSchemas.updateUserRequest>;
129
- /**
130
- * TypeScript type for a reset password request object.
131
- * Use this type for password reset requests that have been validated against the schema.
132
- */
133
- export type ResetPasswordRequest = z.infer<typeof UserManagementSchemas.resetPasswordRequest>;
134
- /**
135
- * TypeScript type for a create user response object.
136
- * Use this type for user creation responses that have been validated against the schema.
137
- */
138
- export type CreateUserResponse = z.infer<typeof UserManagementSchemas.createUserResponse>;
139
- /**
140
- * TypeScript type for managed user query parameters.
141
- * Use this type for query parameter objects that have been validated against the schema.
142
- * All fields are optional to allow flexible filtering and searching.
143
- */
144
- export type ManagedUserQueryParams = z.infer<typeof UserManagementSchemas.managedUserQueryParams>;
145
- export {};
146
- //# sourceMappingURL=schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,206 +0,0 @@
1
- import { z } from "zod";
2
- // ====================== Custom Schema Definitions ====================== //
3
- /**
4
- * Custom password schema that enforces strong password requirements.
5
- * Password must contain:
6
- * - At least 8 characters
7
- * - At least one uppercase letter
8
- * - At least one lowercase letter
9
- * - At least one number
10
- * - At least one special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
11
- * - No common passwords or sequential patterns
12
- */
13
- const passwordSchema = z
14
- .string()
15
- .min(8, "Password must be at least 8 characters long")
16
- .max(128, "Password must not exceed 128 characters")
17
- .regex(/[A-Z]/, "Password must contain at least one uppercase letter")
18
- .regex(/[a-z]/, "Password must contain at least one lowercase letter")
19
- .regex(/[0-9]/, "Password must contain at least one number")
20
- .regex(/[!@#$%^&*()_+\-=\[\]{}|;:,.<>?]/, "Password must contain at least one special character (!@#$%^&*()_+-=[]{}|;:,.<>?)")
21
- .refine((password) => {
22
- // Check for common weak patterns
23
- const weakPatterns = [
24
- /(.)\1{2,}/, // Three or more consecutive identical characters
25
- /123456|654321|abcdef|qwerty|password|admin|user/i, // Common passwords
26
- /^[0-9]+$/, // Only numbers
27
- /^[a-zA-Z]+$/, // Only letters
28
- ];
29
- return !weakPatterns.some((pattern) => pattern.test(password));
30
- }, "Password contains weak patterns. Avoid repeated characters, common words, or simple sequences")
31
- .refine((password) => {
32
- // Check for sequential characters (e.g., "abcd", "1234")
33
- const hasSequential = /(?:abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz|012|123|234|345|456|567|678|789)/i
34
- .test(password);
35
- return !hasSequential;
36
- }, "Password should not contain sequential characters")
37
- .refine((password) => {
38
- // Check for keyboard patterns (e.g., "qwer", "asdf")
39
- const keyboardPatterns = /(?:qwer|wert|erty|rtyu|tyui|yuio|uiop|asdf|sdfg|dfgh|fghj|ghjk|hjkl|zxcv|xcvb|cvbn|vbnm)/i;
40
- return !keyboardPatterns.test(password);
41
- }, "Password should not contain keyboard patterns");
42
- // ====================== Schema Definitions ====================== //
43
- /**
44
- * Schema definition for a role.
45
- * Represents a user role with permissions in the system.
46
- *
47
- * @property {string} id - Unique identifier for the role
48
- * @property {string} name - Display name of the role
49
- * @property {string} description - Optional description of the role
50
- * @property {string[]} access - Array of permission strings
51
- * @property {string} createdAt - ISO datetime string of role creation
52
- * @property {string} updatedAt - ISO datetime string of last role update
53
- */
54
- const roleSchema = z.object({
55
- id: z.string().min(1),
56
- name: z.string().min(1, "Role name is required"),
57
- description: z.string().optional(),
58
- access: z.array(z.string()),
59
- createdAt: z.string().datetime("Invalid creation timestamp"),
60
- updatedAt: z.string().datetime("Invalid update timestamp"),
61
- });
62
- /**
63
- * Schema definition for a managed user account.
64
- * Represents a user account from the admin management perspective.
65
- *
66
- * @property {string} id - Unique identifier for the user account
67
- * @property {string} name - Full name of the user
68
- * @property {string} identity - User's email address or phone number
69
- * @property {string} type - Type of user account
70
- * @property {string} profileId - ID of the associated profile
71
- * @property {string} roleId - ID of the assigned role
72
- * @property {boolean} resetPassword - Whether user must reset password on next login
73
- * @property {boolean} isActive - Whether the account is currently active
74
- * @property {Role} role - Full role object with permissions
75
- * @property {string} createdAt - ISO datetime string of account creation
76
- * @property {string} updatedAt - ISO datetime string of last account update
77
- */
78
- const managedUserSchema = z.object({
79
- id: z.string().min(1),
80
- name: z.string().min(1, "User name is required"),
81
- identity: z.string().email("Invalid email address"),
82
- type: z.string().min(1, "User type is required"),
83
- profileId: z.string().min(1, "Profile ID is required"),
84
- roleId: z.string().min(1, "Role ID is required"),
85
- resetPassword: z.boolean(),
86
- isActive: z.boolean(),
87
- isArchived: z.boolean(),
88
- role: roleSchema.optional(),
89
- createdAt: z.string().datetime("Invalid creation timestamp"),
90
- updatedAt: z.string().datetime("Invalid update timestamp"),
91
- });
92
- /**
93
- * Schema definition for managed user query parameters.
94
- * Contains all primitive fields from ManagedUserData for filtering/searching users.
95
- * Excludes complex object fields like 'role' which are not suitable for query parameters.
96
- *
97
- * @property {string} id - Optional filter by user ID
98
- * @property {string} name - Optional filter by user name (partial match)
99
- * @property {string} identity - Optional filter by user identity (email/phone)
100
- * @property {string} type - Optional filter by user type
101
- * @property {string} profileId - Optional filter by profile ID
102
- * @property {string} roleId - Optional filter by role ID
103
- * @property {number} resetPassword - Optional filter by password reset requirement
104
- * @property {number} isActive - Optional filter by account active status
105
- * @property {number} isArchived - Optional filter by account archived status
106
- * @property {string} createdAt - Optional filter by creation date (ISO datetime)
107
- * @property {string} updatedAt - Optional filter by last update date (ISO datetime)
108
- */
109
- const managedUserQueryParamsSchema = z.object({
110
- id: z.string().min(1).optional(),
111
- name: z.string().min(1).optional(),
112
- identity: z.string().email("Invalid email address").optional(),
113
- type: z.string().min(1).optional(),
114
- profileId: z.string().min(1).optional(),
115
- roleId: z.string().min(1).optional(),
116
- resetPassword: z.number().optional(),
117
- isActive: z.number().optional(),
118
- isArchived: z.number().optional(),
119
- createdAt: z.string().datetime("Invalid creation timestamp").optional(),
120
- updatedAt: z.string().datetime("Invalid update timestamp").optional(),
121
- eager: z.string().optional(),
122
- });
123
- /**
124
- * Schema definition for creating a new user account.
125
- * Defines the required and optional fields for user creation.
126
- *
127
- * @property {string} name - Full name of the user
128
- * @property {string} identity - User's email address
129
- * @property {string} password - Initial password for the account
130
- * @property {string} roleId - Optional role ID (defaults to system default)
131
- * @property {boolean} resetPassword - Optional flag to force password reset (defaults to true)
132
- */
133
- const createUserRequestSchema = z.object({
134
- name: z.string().min(1, "User name is required"),
135
- identity: z.string().email("Valid email address is required"),
136
- password: passwordSchema.optional(),
137
- roleId: z.string().optional(),
138
- resetPassword: z.boolean().optional(),
139
- });
140
- /**
141
- * Schema definition for updating a user account.
142
- * All fields are optional for partial updates.
143
- *
144
- * @property {string} name - Optional updated name
145
- * @property {string} roleId - Optional updated role ID
146
- * @property {string} password - Optional new password
147
- * @property {boolean} resetPassword - Optional flag to force password reset
148
- * @property {boolean} isActive - Optional account activation status
149
- */
150
- const updateUserRequestSchema = z.object({
151
- name: z.string().min(1, "User name cannot be empty").optional(),
152
- roleId: z.string().min(1, "Role ID cannot be empty").optional(),
153
- password: passwordSchema.optional(),
154
- resetPassword: z.boolean().optional(),
155
- isActive: z.boolean().optional(),
156
- });
157
- /**
158
- * Schema definition for resetting a user's password.
159
- * Both fields are optional with system defaults.
160
- *
161
- * @property {string} newPassword - Optional new password (random generated if not provided)
162
- * @property {boolean} sendNotification - Optional flag to send notification to user
163
- */
164
- const resetPasswordRequestSchema = z.object({
165
- newPassword: passwordSchema.optional(),
166
- sendNotification: z.boolean().optional(),
167
- });
168
- /**
169
- * Schema definition for the response when creating a user.
170
- * Returns basic user information without sensitive data.
171
- *
172
- * @property {string} id - Unique identifier for the created user
173
- * @property {string} name - Full name of the user
174
- * @property {string} identity - User's email address
175
- * @property {string} type - Type of user account
176
- * @property {string} profileId - ID of the associated profile
177
- * @property {string} roleId - ID of the assigned role
178
- * @property {boolean} isActive - Whether the account is active
179
- * @property {string} createdAt - ISO datetime string of account creation
180
- */
181
- const createUserResponseSchema = z.object({
182
- id: z.string(),
183
- name: z.string(),
184
- identity: z.string(),
185
- type: z.string(),
186
- profileId: z.string(),
187
- roleId: z.string(),
188
- isActive: z.boolean(),
189
- isArchived: z.boolean(),
190
- createdAt: z.string().datetime(),
191
- });
192
- // ====================== Schema Collections ====================== //
193
- /**
194
- * Collection of user management schemas for export.
195
- * Provides access to all user and role validation schemas.
196
- */
197
- export const UserManagementSchemas = {
198
- role: roleSchema,
199
- managedUser: managedUserSchema,
200
- managedUserQueryParams: managedUserQueryParamsSchema,
201
- createUserRequest: createUserRequestSchema,
202
- updateUserRequest: updateUserRequestSchema,
203
- resetPasswordRequest: resetPasswordRequestSchema,
204
- createUserResponse: createUserResponseSchema,
205
- password: passwordSchema, // Export password schema for reuse
206
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/access/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAQzB,CAAC"}
@@ -1,14 +0,0 @@
1
- import { z } from "zod";
2
- import { initContract } from "@ts-rest/core";
3
- /**
4
- * Auth API contract
5
- */
6
- export const accessContract = initContract().router({
7
- getAccessList: {
8
- method: "GET",
9
- path: "/access",
10
- responses: {
11
- 200: z.string().array(),
12
- },
13
- },
14
- });
@@ -1,11 +0,0 @@
1
- import { Profile } from "../../../models/index.js";
2
- import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
3
- import { accessContract } from "./contract.js";
4
- export declare class AccessRepository extends TokenRequiredRepository<typeof accessContract> {
5
- /**
6
- * Initializes an instance of ProfileRepository.
7
- */
8
- constructor();
9
- getCurrentProfile(token: string): Promise<Profile>;
10
- }
11
- //# sourceMappingURL=repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/access/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,qBAAa,gBACX,SAAQ,uBAAuB,CAAC,OAAO,cAAc,CAAC;IACtD;;OAEG;;IAKG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAazD"}
@@ -1,25 +0,0 @@
1
- import { Profile } from "../../../models/index.js";
2
- import { APIError } from "../../../errors/api_error.js";
3
- import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
4
- import { accessContract } from "./contract.js";
5
- export class AccessRepository extends TokenRequiredRepository {
6
- /**
7
- * Initializes an instance of ProfileRepository.
8
- */
9
- constructor() {
10
- super("auth", accessContract, "");
11
- }
12
- async getCurrentProfile(token) {
13
- this.setToken(token);
14
- const result = await this.client.getAccessList();
15
- if (result.status === 200) {
16
- const profile = Profile.from(result.body);
17
- if (profile)
18
- return profile;
19
- }
20
- throw new APIError({
21
- message: "An error occurred while trying to get the current access list",
22
- statusCode: 502,
23
- });
24
- }
25
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/src/features/auth/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCvB,CAAC"}