@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,75 +0,0 @@
1
- import { PayoutSchemas } from "../../models/payout/index.js";
2
- import { APIError } from "../../errors/api_error.js";
3
- import { initContract } from "@ts-rest/core";
4
- import { z } from "zod";
5
- /** Default eager loading settings for payout API */
6
- export const DEFAULT_PAYOUT_API_EAGER = "[createdBy,actionedBy]";
7
- /** Default sort order for payout listings */
8
- export const DEFAULT_ORDER_BY_DESC = "createdAt";
9
- /**
10
- * Payout management API contract
11
- * Defines endpoints for creating and managing payouts
12
- *
13
- * @property {Object} getPayouts - List payouts with filtering (GET /)
14
- * @property {Object} getPayoutsByApprovalStatus - List payouts by approval status (GET /)
15
- * @property {Object} postPayout - Create new payout (POST /)
16
- * @property {Object} approve - Approve/reject payout (POST /:id/approve)
17
- */
18
- export const contract = initContract().router({
19
- getPayouts: {
20
- method: "GET",
21
- path: "",
22
- query: z.object({
23
- rangeStart: z.number(),
24
- rangeEnd: z.number(),
25
- eager: z.string(),
26
- approvalStatus: PayoutSchemas.payoutApprovalStatus.nullable().optional(),
27
- orderByDesc: z.string(),
28
- }),
29
- responses: {
30
- 200: z.object({
31
- results: z.array(PayoutSchemas.payoutData),
32
- total: z.number(),
33
- }),
34
- },
35
- },
36
- getPayoutsByApprovalStatus: {
37
- method: "GET",
38
- path: "",
39
- query: z.object({
40
- rangeStart: z.number(),
41
- rangeEnd: z.number(),
42
- eager: z.string(),
43
- approvalStatus: PayoutSchemas.payoutApprovalStatus,
44
- orderByDesc: z.string(),
45
- }),
46
- responses: {
47
- 200: z.object({
48
- results: z.array(PayoutSchemas.payoutData),
49
- total: z.number(),
50
- }),
51
- },
52
- },
53
- postPayout: {
54
- method: "POST",
55
- path: "",
56
- body: PayoutSchemas.payoutInput,
57
- responses: {
58
- 201: PayoutSchemas.payoutData,
59
- 400: APIError.schema,
60
- },
61
- },
62
- approve: {
63
- method: "POST",
64
- path: "/:id/approve",
65
- body: z.object({
66
- action: z.enum(["Approve", "Reject"]),
67
- notes: z.string().optional(),
68
- }),
69
- responses: {
70
- 201: PayoutSchemas.payoutData,
71
- 404: z.object({}),
72
- 409: z.object({}),
73
- },
74
- },
75
- });
@@ -1,2 +0,0 @@
1
- export * from "./repository.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/features/payout/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- export * from "./repository.js";
@@ -1,67 +0,0 @@
1
- import { BaseRepository } from "../../shared/index.js";
2
- import { type PayoutAPI } from "./contract.js";
3
- import { type GetPayoutsAPIArgs, type PayoutInput } from "../../models/payout/index.js";
4
- import type { AfloatAuth } from "../auth/manager.js";
5
- import { Payout } from "../../models/payout/derivatives/payout.js";
6
- /**
7
- * Repository class for managing payout operations including creation, approval,
8
- * rejection, and retrieval of payouts.
9
- * @extends {BaseRepository<PayoutAPI>}
10
- */
11
- export declare class PayoutRepository extends BaseRepository<PayoutAPI> {
12
- /**
13
- * Creates an instance of PayoutRepository initialized with the payout contract.
14
- * @param {Object} [props] - Optional constructor properties
15
- * @param {AfloatAuth} [props.auth] - Optional auth instance to use
16
- */
17
- constructor(props?: {
18
- auth?: AfloatAuth;
19
- });
20
- /**
21
- * Retrieves a paginated list of payouts with optional filtering for pending status.
22
- * @param {GetPayoutsAPIArgs} [args] - Optional arguments for filtering and pagination
23
- * @param {number} [args.rangeStart=0] - Starting index for pagination
24
- * @param {number} [args.rangeEnd=10] - Ending index for pagination
25
- * @param {boolean} [args.pending] - Filter for pending payouts only
26
- * @throws {PermissionError} If user lacks the Payout.List permission
27
- * @throws {APIError} If range is invalid or if the fetch operation fails
28
- * @returns {Promise<{results: Payout[]; total: number}>} Paginated payout results and total count
29
- */
30
- getAll(args?: GetPayoutsAPIArgs): Promise<{
31
- results: Payout[];
32
- total: number;
33
- }>;
34
- /**
35
- * Creates a new payout with the provided input data.
36
- * @param {PayoutInput} input - The payout creation data
37
- * @throws {PermissionError} If user lacks the Payout.Create permission
38
- * @throws {APIError} If the input is invalid or if the creation operation fails
39
- * @returns {Promise<Payout>} The created payout
40
- */
41
- pay(input: PayoutInput): Promise<Payout>;
42
- /**
43
- * Approves a payout with optional notes.
44
- * @param {string} id - The ID of the payout to approve
45
- * @param {Object} [args] - Optional arguments
46
- * @param {string} [args.notes] - Optional notes for the approval
47
- * @throws {PermissionError} If user lacks the Payout.Approve permission
48
- * @throws {APIError} If payout is not found, already approved, or if the operation fails
49
- * @returns {Promise<Payout>} The approved payout
50
- */
51
- approve(id: string, args?: {
52
- notes?: string;
53
- }): Promise<Payout>;
54
- /**
55
- * Rejects a payout with optional notes.
56
- * @param {string} id - The ID of the payout to reject
57
- * @param {Object} [args] - Optional arguments
58
- * @param {string} [args.notes] - Optional notes for the rejection
59
- * @throws {PermissionError} If user lacks the Payout.Approve permission
60
- * @throws {APIError} If payout is not found, already rejected, or if the operation fails
61
- * @returns {Promise<Payout>} The rejected payout
62
- */
63
- reject(id: string, args?: {
64
- notes?: string;
65
- }): Promise<Payout>;
66
- }
67
- //# sourceMappingURL=repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/payout/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,SAAS,CAAC;IAC7D;;;;OAIG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE;IAIzC;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IA6CF;;;;;;OAMG;IACG,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB9C;;;;;;;;OAQG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCrE;;;;;;;;OAQG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CA+BrE"}
@@ -1,163 +0,0 @@
1
- import { BaseRepository } from "../../shared/index.js";
2
- import { contract } from "./contract.js";
3
- import { PAYOUT_APPROVAL_STATUS, } from "../../models/payout/index.js";
4
- import { Permissions } from "../../models/permission.js";
5
- import { APIError, PermissionError } from "../../errors/index.js";
6
- import { Payout } from "../../models/payout/derivatives/payout.js";
7
- /**
8
- * Repository class for managing payout operations including creation, approval,
9
- * rejection, and retrieval of payouts.
10
- * @extends {BaseRepository<PayoutAPI>}
11
- */
12
- export class PayoutRepository extends BaseRepository {
13
- /**
14
- * Creates an instance of PayoutRepository initialized with the payout contract.
15
- * @param {Object} [props] - Optional constructor properties
16
- * @param {AfloatAuth} [props.auth] - Optional auth instance to use
17
- */
18
- constructor(props) {
19
- super("payout", contract, { auth: props?.auth });
20
- }
21
- /**
22
- * Retrieves a paginated list of payouts with optional filtering for pending status.
23
- * @param {GetPayoutsAPIArgs} [args] - Optional arguments for filtering and pagination
24
- * @param {number} [args.rangeStart=0] - Starting index for pagination
25
- * @param {number} [args.rangeEnd=10] - Ending index for pagination
26
- * @param {boolean} [args.pending] - Filter for pending payouts only
27
- * @throws {PermissionError} If user lacks the Payout.List permission
28
- * @throws {APIError} If range is invalid or if the fetch operation fails
29
- * @returns {Promise<{results: Payout[]; total: number}>} Paginated payout results and total count
30
- */
31
- async getAll(args) {
32
- const auth = this.getAuthForPermissionCheck();
33
- const requiredPerm = Permissions.Payout.List;
34
- if (!auth.checkPermission(requiredPerm)) {
35
- throw new PermissionError({
36
- message: "You are not authorized to view payouts.",
37
- requiredPermissions: [requiredPerm],
38
- });
39
- }
40
- const rangeStart = args?.rangeStart ?? 0;
41
- const rangeEnd = args?.rangeEnd ?? 10;
42
- const pendingStatus = PAYOUT_APPROVAL_STATUS.PENDING;
43
- const query = {
44
- rangeStart,
45
- rangeEnd,
46
- eager: "[createdBy,actionedBy]",
47
- orderByDesc: "createdAt",
48
- };
49
- if (args?.pending) {
50
- Object.assign(query, { approvalStatus: pendingStatus });
51
- }
52
- if (rangeEnd <= rangeStart) {
53
- throw new APIError({
54
- message: "Invalid range: end-date must be greater than start-date",
55
- statusCode: 400,
56
- });
57
- }
58
- const result = await this.client.getPayouts({ query: query });
59
- if (result.status === 200) {
60
- return {
61
- results: Payout.createMany(result.body.results),
62
- total: result.body.total,
63
- };
64
- }
65
- throw APIError.unknown("An error occured while fetching payouts");
66
- }
67
- /**
68
- * Creates a new payout with the provided input data.
69
- * @param {PayoutInput} input - The payout creation data
70
- * @throws {PermissionError} If user lacks the Payout.Create permission
71
- * @throws {APIError} If the input is invalid or if the creation operation fails
72
- * @returns {Promise<Payout>} The created payout
73
- */
74
- async pay(input) {
75
- const auth = this.getAuthForPermissionCheck();
76
- const requiredPerm = Permissions.Payout.Create;
77
- if (!auth.checkPermission(requiredPerm)) {
78
- throw new PermissionError({
79
- message: "You are not authorized to create payouts.",
80
- requiredPermissions: [requiredPerm],
81
- });
82
- }
83
- const result = await this.client.postPayout({ body: input });
84
- if (result.status === 201)
85
- return Payout.create(result.body);
86
- if (result.status === 400) {
87
- throw new APIError(result.body);
88
- }
89
- throw APIError.unknown();
90
- }
91
- /**
92
- * Approves a payout with optional notes.
93
- * @param {string} id - The ID of the payout to approve
94
- * @param {Object} [args] - Optional arguments
95
- * @param {string} [args.notes] - Optional notes for the approval
96
- * @throws {PermissionError} If user lacks the Payout.Approve permission
97
- * @throws {APIError} If payout is not found, already approved, or if the operation fails
98
- * @returns {Promise<Payout>} The approved payout
99
- */
100
- async approve(id, args) {
101
- const auth = this.getAuthForPermissionCheck();
102
- const requiredPerm = Permissions.Payout.Approve;
103
- if (!auth.checkPermission(requiredPerm)) {
104
- throw new PermissionError({
105
- message: "You are not authorized to approve or reject payouts.",
106
- requiredPermissions: [requiredPerm],
107
- });
108
- }
109
- const result = await this.client.approve({
110
- params: { id },
111
- body: { action: "Approve", notes: args?.notes },
112
- });
113
- if (result.status === 201) {
114
- return Payout.create(result.body);
115
- }
116
- if (result.status === 404) {
117
- throw new APIError({ message: "Payout not found", statusCode: 404 });
118
- }
119
- if (result.status === 409) {
120
- throw new APIError({
121
- message: "Payout already approved",
122
- statusCode: 409,
123
- });
124
- }
125
- throw APIError.unknown();
126
- }
127
- /**
128
- * Rejects a payout with optional notes.
129
- * @param {string} id - The ID of the payout to reject
130
- * @param {Object} [args] - Optional arguments
131
- * @param {string} [args.notes] - Optional notes for the rejection
132
- * @throws {PermissionError} If user lacks the Payout.Approve permission
133
- * @throws {APIError} If payout is not found, already rejected, or if the operation fails
134
- * @returns {Promise<Payout>} The rejected payout
135
- */
136
- async reject(id, args) {
137
- const auth = this.getAuthForPermissionCheck();
138
- const requiredPerm = Permissions.Payout.Approve;
139
- if (!auth.checkPermission(requiredPerm)) {
140
- throw new PermissionError({
141
- message: "You are not authorized to approve or reject payouts.",
142
- requiredPermissions: [requiredPerm],
143
- });
144
- }
145
- const result = await this.client.approve({
146
- params: { id },
147
- body: { action: "Reject", notes: args?.notes },
148
- });
149
- if (result.status === 201) {
150
- return Payout.create(result.body);
151
- }
152
- if (result.status === 404) {
153
- throw new APIError({ message: "Payout not found", statusCode: 404 });
154
- }
155
- if (result.status === 409) {
156
- throw new APIError({
157
- message: "Payout already rejected",
158
- statusCode: 409,
159
- });
160
- }
161
- throw APIError.unknown();
162
- }
163
- }
@@ -1,137 +0,0 @@
1
- import { z } from "zod";
2
- export declare const contract: {
3
- getWallets: {
4
- query: z.ZodObject<{
5
- id: z.ZodOptional<z.ZodString>;
6
- profileId: z.ZodOptional<z.ZodString>;
7
- accountNo: z.ZodOptional<z.ZodString>;
8
- accountName: z.ZodOptional<z.ZodString>;
9
- channel: z.ZodOptional<z.ZodString>;
10
- countryCode: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>>;
11
- currencyCode: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>>;
12
- }, "strip", z.ZodTypeAny, {
13
- id?: string | undefined;
14
- accountNo?: string | undefined;
15
- channel?: string | undefined;
16
- profileId?: string | undefined;
17
- accountName?: string | undefined;
18
- countryCode?: string | undefined;
19
- currencyCode?: string | undefined;
20
- }, {
21
- id?: string | undefined;
22
- accountNo?: string | undefined;
23
- channel?: string | undefined;
24
- profileId?: string | undefined;
25
- accountName?: string | undefined;
26
- countryCode?: string | undefined;
27
- currencyCode?: string | undefined;
28
- }>;
29
- method: "GET";
30
- path: "/";
31
- responses: {
32
- 200: z.ZodArray<z.ZodObject<{
33
- id: z.ZodString;
34
- profileId: z.ZodString;
35
- accountNo: z.ZodString;
36
- accountName: z.ZodString;
37
- channel: z.ZodString;
38
- countryCode: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
39
- currencyCode: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
40
- createdAt: z.ZodString;
41
- updatedAt: z.ZodString;
42
- }, "strip", z.ZodTypeAny, {
43
- id: string;
44
- accountNo: string;
45
- channel: string;
46
- profileId: string;
47
- createdAt: string;
48
- updatedAt: string;
49
- accountName: string;
50
- countryCode: string;
51
- currencyCode: string;
52
- }, {
53
- id: string;
54
- accountNo: string;
55
- channel: string;
56
- profileId: string;
57
- createdAt: string;
58
- updatedAt: string;
59
- accountName: string;
60
- countryCode?: string | undefined;
61
- currencyCode?: string | undefined;
62
- }>, "many">;
63
- };
64
- };
65
- getBalance: {
66
- method: "POST";
67
- body: z.ZodObject<{
68
- accountNo: z.ZodOptional<z.ZodString>;
69
- }, "strip", z.ZodTypeAny, {
70
- accountNo?: string | undefined;
71
- }, {
72
- accountNo?: string | undefined;
73
- }>;
74
- path: "/balance";
75
- responses: {
76
- 201: z.ZodObject<{
77
- availableBalance: z.ZodNumber;
78
- }, "strip", z.ZodTypeAny, {
79
- availableBalance: number;
80
- }, {
81
- availableBalance: number;
82
- }>;
83
- };
84
- };
85
- getStatement: {
86
- summary: "Get Wallet Statement";
87
- method: "POST";
88
- body: z.ZodObject<{
89
- endDate: z.ZodDate;
90
- startDate: z.ZodDate;
91
- accountNo: z.ZodOptional<z.ZodString>;
92
- }, "strip", z.ZodTypeAny, {
93
- endDate: Date;
94
- startDate: Date;
95
- accountNo?: string | undefined;
96
- }, {
97
- endDate: Date;
98
- startDate: Date;
99
- accountNo?: string | undefined;
100
- }>;
101
- path: "/statement";
102
- responses: {
103
- 201: z.ZodArray<z.ZodObject<{
104
- accountNo: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
105
- debitOrCredit: z.ZodString;
106
- tranRefNo: z.ZodString;
107
- narration: z.ZodString;
108
- txnDate: z.ZodDate;
109
- valueDate: z.ZodDate;
110
- amountCredited: z.ZodNumber;
111
- amountDebited: z.ZodNumber;
112
- balance: z.ZodNumber;
113
- }, "strip", z.ZodTypeAny, {
114
- debitOrCredit: string;
115
- tranRefNo: string;
116
- narration: string;
117
- txnDate: Date;
118
- valueDate: Date;
119
- amountCredited: number;
120
- amountDebited: number;
121
- balance: number;
122
- accountNo?: string | undefined;
123
- }, {
124
- debitOrCredit: string;
125
- tranRefNo: string;
126
- narration: string;
127
- txnDate: Date;
128
- valueDate: Date;
129
- amountCredited: number;
130
- amountDebited: number;
131
- balance: number;
132
- accountNo?: string | undefined;
133
- }>, "many">;
134
- };
135
- };
136
- };
137
- //# sourceMappingURL=contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/src/features/wallet/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCnB,CAAC"}
@@ -1,38 +0,0 @@
1
- import { z } from "zod";
2
- import { initContract } from "@ts-rest/core";
3
- import { WalletSchemas } from "../../models/wallet/index.js";
4
- export const contract = initContract().router({
5
- getWallets: {
6
- method: "GET",
7
- path: "/",
8
- query: WalletSchemas.walletQuery,
9
- responses: {
10
- 200: z.array(WalletSchemas.wallet),
11
- },
12
- },
13
- getBalance: {
14
- method: "POST",
15
- path: "/balance",
16
- body: z.object({
17
- accountNo: z.string().optional(),
18
- }),
19
- responses: {
20
- 201: z.object({
21
- availableBalance: z.coerce.number(),
22
- }),
23
- },
24
- },
25
- getStatement: {
26
- method: "POST",
27
- path: "/statement",
28
- summary: "Get Wallet Statement",
29
- body: z.object({
30
- endDate: z.date(),
31
- startDate: z.date(),
32
- accountNo: z.string().optional(),
33
- }),
34
- responses: {
35
- 201: z.array(WalletSchemas.statementEntry),
36
- },
37
- },
38
- });
@@ -1,2 +0,0 @@
1
- export * from "./repository.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/features/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- export * from "./repository.js";
@@ -1,57 +0,0 @@
1
- import { BaseRepository } from "../../shared/base_repository.js";
2
- import { contract } from "./contract.js";
3
- import { Wallet, type WalletSchemas, WalletStatementEntry } from "../../models/wallet/index.js";
4
- import type { AfloatAuth } from "../auth/manager.js";
5
- import type z from "zod";
6
- /**
7
- * Repository class for managing wallet operations including balance checking,
8
- * statement generation, and wallet information retrieval.
9
- * @extends {BaseRepository<typeof contract>}
10
- */
11
- export declare class WalletRepo extends BaseRepository<typeof contract> {
12
- /**
13
- * Creates an instance of WalletRepo initialized with the wallet contract.
14
- * @param {Object} [options] - Optional configuration
15
- * @param {string} [options.root] - Custom API root URL
16
- * @param {AfloatAuth} [options.auth] - Auth instance to use
17
- */
18
- constructor(props?: {
19
- root?: string;
20
- auth?: AfloatAuth;
21
- });
22
- /**
23
- * Retrieves the current available balance for the wallet.
24
- * @throws {PermissionError} If user lacks the ViewBalance permission
25
- * @throws {Error} If the balance fetch operation fails
26
- * @returns {Promise<number>} The available balance amount
27
- */
28
- getBalance(props: {
29
- accountNo?: string;
30
- }): Promise<number>;
31
- /**
32
- * Retrieves all wallets associated with the current context.
33
- * @throws {Error} If the wallet fetch operation fails
34
- * @returns {Promise<Wallet[]>} Array of wallet objects
35
- */
36
- getWallets(args?: z.infer<typeof WalletSchemas.walletQuery>): Promise<Wallet[]>;
37
- /**
38
- * Retrieves wallet statement items for a specified date range and account.
39
- * If no range is provided, defaults to the current month (1st to 30th).
40
- * @param {Object} props - The statement request properties
41
- * @param {Object} [props.range] - Optional date range for the statement
42
- * @param {Date} props.range.startDate - Start date for the statement period
43
- * @param {Date} props.range.endDate - End date for the statement period
44
- * @param {string} [props.accountNo] - Optional account number to fetch statement for
45
- * @throws {PermissionError} If user lacks the ViewStatement permission
46
- * @throws {Error} If the statement fetch operation fails
47
- * @returns {Promise<WalletStatementEntry[]>} Array of statement items for the specified period
48
- */
49
- getStatement(props: {
50
- range?: {
51
- startDate: Date;
52
- endDate: Date;
53
- };
54
- accountNo?: string;
55
- }): Promise<WalletStatementEntry[]>;
56
- }
57
- //# sourceMappingURL=repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/wallet/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EAClB,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,cAAc,CAAC,OAAO,QAAQ,CAAC;IAC7D;;;;;OAKG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE;IAOxD;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBhE;;;;OAIG;IACG,UAAU,CACd,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,WAAW,CAAC,GAC/C,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,KAAK,EAAE;QACL,KAAK,CAAC,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,OAAO,EAAE,IAAI,CAAA;SAAE,CAAC;QAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA2BnC"}
@@ -1,93 +0,0 @@
1
- import { BaseRepository } from "../../shared/base_repository.js";
2
- import { contract } from "./contract.js";
3
- import { Wallet, WalletStatementEntry, } from "../../models/wallet/index.js";
4
- import { Permissions } from "../../models/permission.js";
5
- import { PermissionError } from "../../errors/index.js";
6
- /**
7
- * Repository class for managing wallet operations including balance checking,
8
- * statement generation, and wallet information retrieval.
9
- * @extends {BaseRepository<typeof contract>}
10
- */
11
- export class WalletRepo extends BaseRepository {
12
- /**
13
- * Creates an instance of WalletRepo initialized with the wallet contract.
14
- * @param {Object} [options] - Optional configuration
15
- * @param {string} [options.root] - Custom API root URL
16
- * @param {AfloatAuth} [options.auth] - Auth instance to use
17
- */
18
- constructor(props) {
19
- super("wallet", contract, {
20
- root: props?.root,
21
- auth: props?.auth,
22
- });
23
- }
24
- /**
25
- * Retrieves the current available balance for the wallet.
26
- * @throws {PermissionError} If user lacks the ViewBalance permission
27
- * @throws {Error} If the balance fetch operation fails
28
- * @returns {Promise<number>} The available balance amount
29
- */
30
- async getBalance(props) {
31
- const auth = this.getAuthForPermissionCheck();
32
- const requirePerm = Permissions.Wallet.ViewBalance;
33
- if (!auth.checkPermission(requirePerm)) {
34
- throw new PermissionError({
35
- message: "You are not authorized to view the account balance.",
36
- requiredPermissions: [requirePerm],
37
- });
38
- }
39
- const result = await this.client.getBalance({
40
- body: { accountNo: props.accountNo },
41
- });
42
- if (result.status === 201) {
43
- return result.body.availableBalance;
44
- }
45
- throw new Error("An error occured while fetching balance");
46
- }
47
- /**
48
- * Retrieves all wallets associated with the current context.
49
- * @throws {Error} If the wallet fetch operation fails
50
- * @returns {Promise<Wallet[]>} Array of wallet objects
51
- */
52
- async getWallets(args) {
53
- const result = await this.client.getWallets({ query: args });
54
- if (result.status === 200) {
55
- return result.body.map((w) => Wallet.from(w));
56
- }
57
- throw new Error("An error occured while fetching wallets");
58
- }
59
- /**
60
- * Retrieves wallet statement items for a specified date range and account.
61
- * If no range is provided, defaults to the current month (1st to 30th).
62
- * @param {Object} props - The statement request properties
63
- * @param {Object} [props.range] - Optional date range for the statement
64
- * @param {Date} props.range.startDate - Start date for the statement period
65
- * @param {Date} props.range.endDate - End date for the statement period
66
- * @param {string} [props.accountNo] - Optional account number to fetch statement for
67
- * @throws {PermissionError} If user lacks the ViewStatement permission
68
- * @throws {Error} If the statement fetch operation fails
69
- * @returns {Promise<WalletStatementEntry[]>} Array of statement items for the specified period
70
- */
71
- async getStatement(props) {
72
- const auth = this.getAuthForPermissionCheck();
73
- const requirePerm = Permissions.Wallet.ViewStatement;
74
- if (!auth.checkPermission(requirePerm)) {
75
- throw new PermissionError({
76
- message: "You are not authorized to view the statement.",
77
- requiredPermissions: [requirePerm],
78
- });
79
- }
80
- const now = new Date();
81
- const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
82
- const monthEnd = new Date(now.getFullYear(), now.getMonth(), 30);
83
- const range = props.range !== undefined
84
- ? { startDate: props.range.startDate, endDate: props.range.endDate }
85
- : { startDate: monthStart, endDate: monthEnd };
86
- const body = { ...range, accountNo: props.accountNo };
87
- const result = await this.client.getStatement({ body });
88
- if (result.status === 201) {
89
- return result.body.map((e) => WalletStatementEntry.from(e));
90
- }
91
- throw new Error("An error occured while fetching statement");
92
- }
93
- }