@temboplus/afloat 0.1.77-beta.9 → 0.1.79

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 (415) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +42 -246
  3. package/esm/mod.d.ts +8 -0
  4. package/esm/mod.d.ts.map +1 -0
  5. package/esm/mod.js +7 -0
  6. package/esm/package.json +3 -0
  7. package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
  8. package/esm/src/errors/api_error.d.ts.map +1 -0
  9. package/esm/src/errors/api_error.js +90 -0
  10. package/esm/src/errors/index.d.ts +3 -0
  11. package/esm/src/errors/index.d.ts.map +1 -0
  12. package/esm/src/errors/index.js +2 -0
  13. package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
  14. package/esm/src/errors/permission_error.d.ts.map +1 -0
  15. package/esm/src/errors/permission_error.js +70 -0
  16. package/{dist/modules/team-member/team-member.contract.d.ts → esm/src/features/admin/contract.d.ts} +158 -233
  17. package/esm/src/features/admin/contract.d.ts.map +1 -0
  18. package/esm/src/features/admin/contract.js +210 -0
  19. package/esm/src/features/admin/index.d.ts +4 -0
  20. package/esm/src/features/admin/index.d.ts.map +1 -0
  21. package/esm/src/features/admin/index.js +3 -0
  22. package/esm/src/features/admin/repository.d.ts +114 -0
  23. package/esm/src/features/admin/repository.d.ts.map +1 -0
  24. package/esm/src/features/admin/repository.js +248 -0
  25. package/esm/src/features/admin/schemas.d.ts +146 -0
  26. package/esm/src/features/admin/schemas.d.ts.map +1 -0
  27. package/esm/src/features/admin/schemas.js +206 -0
  28. package/esm/src/features/auth/access/contract.d.ts +14 -0
  29. package/esm/src/features/auth/access/contract.d.ts.map +1 -0
  30. package/esm/src/features/auth/access/contract.js +14 -0
  31. package/esm/src/features/auth/access/repository.d.ts +11 -0
  32. package/esm/src/features/auth/access/repository.d.ts.map +1 -0
  33. package/esm/src/features/auth/access/repository.js +25 -0
  34. package/{dist/modules/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +19 -16
  35. package/esm/src/features/auth/contract.d.ts.map +1 -0
  36. package/esm/src/features/auth/contract.js +43 -0
  37. package/esm/src/features/auth/identity/contract.d.ts +23 -0
  38. package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
  39. package/esm/src/features/auth/identity/contract.js +17 -0
  40. package/esm/src/features/auth/identity/repository.d.ts +22 -0
  41. package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
  42. package/esm/src/features/auth/identity/repository.js +30 -0
  43. package/esm/src/features/auth/index.d.ts +6 -0
  44. package/esm/src/features/auth/index.d.ts.map +1 -0
  45. package/esm/src/features/auth/index.js +5 -0
  46. package/esm/src/features/auth/manager.d.ts +105 -0
  47. package/esm/src/features/auth/manager.d.ts.map +1 -0
  48. package/esm/src/features/auth/manager.js +181 -0
  49. package/{dist/modules/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
  50. package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
  51. package/esm/src/features/auth/profile/contract.js +14 -0
  52. package/esm/src/features/auth/profile/repository.d.ts +11 -0
  53. package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
  54. package/esm/src/features/auth/profile/repository.js +25 -0
  55. package/esm/src/features/auth/repository.d.ts +30 -0
  56. package/esm/src/features/auth/repository.d.ts.map +1 -0
  57. package/esm/src/features/auth/repository.js +69 -0
  58. package/{dist/modules/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +2 -1
  59. package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
  60. package/esm/src/features/auth/storage/client_store.js +46 -0
  61. package/{dist/modules/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +1 -0
  62. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  63. package/esm/src/features/auth/storage/client_token_handler.js +36 -0
  64. package/esm/src/features/auth/storage/server_store.d.ts +24 -0
  65. package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
  66. package/esm/src/features/auth/storage/server_store.js +34 -0
  67. package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
  68. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  69. package/esm/src/features/auth/storage/server_token_handler.js +115 -0
  70. package/{dist/modules → esm/src/features}/auth/storage/types.d.ts +2 -1
  71. package/esm/src/features/auth/storage/types.d.ts.map +1 -0
  72. package/esm/src/features/auth/storage/types.js +1 -0
  73. package/{dist/modules/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +55 -88
  74. package/esm/src/features/contact/contract.d.ts.map +1 -0
  75. package/esm/src/features/contact/contract.js +49 -0
  76. package/esm/src/features/contact/index.d.ts +2 -0
  77. package/esm/src/features/contact/index.d.ts.map +1 -0
  78. package/esm/src/features/contact/index.js +1 -0
  79. package/esm/src/features/contact/repository.d.ts +58 -0
  80. package/esm/src/features/contact/repository.d.ts.map +1 -0
  81. package/esm/src/features/contact/repository.js +108 -0
  82. package/{dist/modules/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +197 -340
  83. package/esm/src/features/payout/contract.d.ts.map +1 -0
  84. package/esm/src/features/payout/contract.js +75 -0
  85. package/esm/src/features/payout/index.d.ts +2 -0
  86. package/esm/src/features/payout/index.d.ts.map +1 -0
  87. package/esm/src/features/payout/index.js +1 -0
  88. package/esm/src/features/payout/repository.d.ts +67 -0
  89. package/esm/src/features/payout/repository.d.ts.map +1 -0
  90. package/esm/src/features/payout/repository.js +163 -0
  91. package/{dist/modules/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +11 -13
  92. package/esm/src/features/wallet/contract.d.ts.map +1 -0
  93. package/esm/src/features/wallet/contract.js +38 -0
  94. package/esm/src/features/wallet/index.d.ts +2 -0
  95. package/esm/src/features/wallet/index.d.ts.map +1 -0
  96. package/esm/src/features/wallet/index.js +1 -0
  97. package/esm/src/features/wallet/repository.d.ts +57 -0
  98. package/esm/src/features/wallet/repository.d.ts.map +1 -0
  99. package/esm/src/features/wallet/repository.js +93 -0
  100. package/esm/src/models/contact/derivatives/contact.d.ts +172 -0
  101. package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
  102. package/esm/src/models/contact/derivatives/contact.js +266 -0
  103. package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
  104. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  105. package/esm/src/models/contact/derivatives/contact_info.js +255 -0
  106. package/esm/src/models/contact/index.d.ts +5 -0
  107. package/esm/src/models/contact/index.d.ts.map +1 -0
  108. package/esm/src/models/contact/index.js +4 -0
  109. package/esm/src/models/contact/schemas.d.ts +66 -0
  110. package/esm/src/models/contact/schemas.d.ts.map +1 -0
  111. package/esm/src/models/contact/schemas.js +64 -0
  112. package/esm/src/models/contact/validation.d.ts +37 -0
  113. package/esm/src/models/contact/validation.d.ts.map +1 -0
  114. package/esm/src/models/contact/validation.js +146 -0
  115. package/esm/src/models/index.d.ts +7 -0
  116. package/esm/src/models/index.d.ts.map +1 -0
  117. package/esm/src/models/index.js +6 -0
  118. package/esm/src/models/payout/api.d.ts +29 -0
  119. package/esm/src/models/payout/api.d.ts.map +1 -0
  120. package/esm/src/models/payout/api.js +1 -0
  121. package/esm/src/models/payout/channel.d.ts +58 -0
  122. package/esm/src/models/payout/channel.d.ts.map +1 -0
  123. package/esm/src/models/payout/channel.js +53 -0
  124. package/esm/src/models/payout/derivatives/payout.d.ts +158 -0
  125. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
  126. package/esm/src/models/payout/derivatives/payout.js +271 -0
  127. package/esm/src/models/payout/index.d.ts +7 -0
  128. package/esm/src/models/payout/index.d.ts.map +1 -0
  129. package/esm/src/models/payout/index.js +6 -0
  130. package/esm/src/models/payout/narration.d.ts +164 -0
  131. package/esm/src/models/payout/narration.d.ts.map +1 -0
  132. package/esm/src/models/payout/narration.js +308 -0
  133. package/esm/src/models/payout/schemas.d.ts +156 -0
  134. package/esm/src/models/payout/schemas.d.ts.map +1 -0
  135. package/esm/src/models/payout/schemas.js +105 -0
  136. package/esm/src/models/payout/status.d.ts +33 -0
  137. package/esm/src/models/payout/status.d.ts.map +1 -0
  138. package/esm/src/models/payout/status.js +34 -0
  139. package/{dist/modules/login/permission.type.d.ts → esm/src/models/permission.d.ts} +9 -8
  140. package/esm/src/models/permission.d.ts.map +1 -0
  141. package/esm/src/models/permission.js +50 -0
  142. package/esm/src/models/role.d.ts +21 -0
  143. package/esm/src/models/role.d.ts.map +1 -0
  144. package/esm/src/models/role.js +73 -0
  145. package/esm/src/models/user/authenticated-user.d.ts +77 -0
  146. package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
  147. package/esm/src/models/user/authenticated-user.js +226 -0
  148. package/esm/src/models/user/index.d.ts +4 -0
  149. package/esm/src/models/user/index.d.ts.map +1 -0
  150. package/esm/src/models/user/index.js +3 -0
  151. package/esm/src/models/user/managed-user.d.ts +108 -0
  152. package/esm/src/models/user/managed-user.d.ts.map +1 -0
  153. package/esm/src/models/user/managed-user.js +255 -0
  154. package/{dist/modules/profile/profile.model.d.ts → esm/src/models/user/profile.d.ts} +52 -81
  155. package/esm/src/models/user/profile.d.ts.map +1 -0
  156. package/esm/src/models/user/profile.js +334 -0
  157. package/esm/src/models/wallet/index.d.ts +4 -0
  158. package/esm/src/models/wallet/index.d.ts.map +1 -0
  159. package/esm/src/models/wallet/index.js +3 -0
  160. package/esm/src/models/wallet/schemas.d.ts +95 -0
  161. package/esm/src/models/wallet/schemas.d.ts.map +1 -0
  162. package/esm/src/models/wallet/schemas.js +35 -0
  163. package/esm/src/models/wallet/statement_entry.d.ts +160 -0
  164. package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
  165. package/esm/src/models/wallet/statement_entry.js +255 -0
  166. package/{dist/modules/wallet/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +37 -31
  167. package/esm/src/models/wallet/wallet.d.ts.map +1 -0
  168. package/esm/src/models/wallet/wallet.js +279 -0
  169. package/esm/src/shared/base_repository.d.ts +80 -0
  170. package/esm/src/shared/base_repository.d.ts.map +1 -0
  171. package/esm/src/shared/base_repository.js +153 -0
  172. package/esm/src/shared/common_responses.d.ts +13 -0
  173. package/esm/src/shared/common_responses.d.ts.map +1 -0
  174. package/esm/src/shared/common_responses.js +10 -0
  175. package/esm/src/shared/index.d.ts +3 -0
  176. package/esm/src/shared/index.d.ts.map +1 -0
  177. package/esm/src/shared/index.js +2 -0
  178. package/esm/src/shared/token_required_repository.d.ts +78 -0
  179. package/esm/src/shared/token_required_repository.d.ts.map +1 -0
  180. package/esm/src/shared/token_required_repository.js +128 -0
  181. package/package.json +23 -49
  182. package/script/mod.d.ts +8 -0
  183. package/script/mod.d.ts.map +1 -0
  184. package/script/mod.js +23 -0
  185. package/script/npm/src/mod.d.ts +8 -0
  186. package/script/npm/src/mod.d.ts.map +1 -0
  187. package/script/npm/src/mod.js +23 -0
  188. package/script/npm/src/src/errors/api_error.d.ts +63 -0
  189. package/script/npm/src/src/errors/api_error.d.ts.map +1 -0
  190. package/script/npm/src/src/errors/api_error.js +94 -0
  191. package/script/npm/src/src/errors/index.d.ts +3 -0
  192. package/script/npm/src/src/errors/index.d.ts.map +1 -0
  193. package/script/npm/src/src/errors/index.js +18 -0
  194. package/script/npm/src/src/errors/permission_error.d.ts +48 -0
  195. package/script/npm/src/src/errors/permission_error.d.ts.map +1 -0
  196. package/script/npm/src/src/errors/permission_error.js +74 -0
  197. package/script/npm/src/src/features/admin/contract.d.ts +842 -0
  198. package/script/npm/src/src/features/admin/contract.d.ts.map +1 -0
  199. package/script/npm/src/src/features/admin/contract.js +213 -0
  200. package/script/npm/src/src/features/admin/index.d.ts +4 -0
  201. package/script/npm/src/src/features/admin/index.d.ts.map +1 -0
  202. package/script/npm/src/src/features/admin/index.js +19 -0
  203. package/script/npm/src/src/features/admin/repository.d.ts +114 -0
  204. package/script/npm/src/src/features/admin/repository.d.ts.map +1 -0
  205. package/script/npm/src/src/features/admin/repository.js +252 -0
  206. package/script/npm/src/src/features/admin/schemas.d.ts +146 -0
  207. package/script/npm/src/src/features/admin/schemas.d.ts.map +1 -0
  208. package/script/npm/src/src/features/admin/schemas.js +209 -0
  209. package/script/npm/src/src/features/auth/access/contract.d.ts +14 -0
  210. package/script/npm/src/src/features/auth/access/contract.d.ts.map +1 -0
  211. package/script/npm/src/src/features/auth/access/contract.js +17 -0
  212. package/script/npm/src/src/features/auth/access/repository.d.ts +11 -0
  213. package/script/npm/src/src/features/auth/access/repository.d.ts.map +1 -0
  214. package/script/npm/src/src/features/auth/access/repository.js +29 -0
  215. package/script/npm/src/src/features/auth/contract.d.ts +112 -0
  216. package/script/npm/src/src/features/auth/contract.d.ts.map +1 -0
  217. package/script/npm/src/src/features/auth/contract.js +46 -0
  218. package/script/npm/src/src/features/auth/identity/contract.d.ts +23 -0
  219. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +1 -0
  220. package/script/npm/src/src/features/auth/identity/contract.js +20 -0
  221. package/script/npm/src/src/features/auth/identity/repository.d.ts +22 -0
  222. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +1 -0
  223. package/script/npm/src/src/features/auth/identity/repository.js +34 -0
  224. package/script/npm/src/src/features/auth/index.d.ts +6 -0
  225. package/script/npm/src/src/features/auth/index.d.ts.map +1 -0
  226. package/script/npm/src/src/features/auth/index.js +21 -0
  227. package/script/npm/src/src/features/auth/manager.d.ts +105 -0
  228. package/script/npm/src/src/features/auth/manager.d.ts.map +1 -0
  229. package/script/npm/src/src/features/auth/manager.js +185 -0
  230. package/script/npm/src/src/features/auth/profile/contract.d.ts +37 -0
  231. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +1 -0
  232. package/script/npm/src/src/features/auth/profile/contract.js +17 -0
  233. package/script/npm/src/src/features/auth/profile/repository.d.ts +11 -0
  234. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +1 -0
  235. package/script/npm/src/src/features/auth/profile/repository.js +29 -0
  236. package/script/npm/src/src/features/auth/repository.d.ts +30 -0
  237. package/script/npm/src/src/features/auth/repository.d.ts.map +1 -0
  238. package/script/npm/src/src/features/auth/repository.js +73 -0
  239. package/script/npm/src/src/features/auth/storage/client_store.d.ts +30 -0
  240. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +1 -0
  241. package/script/npm/src/src/features/auth/storage/client_store.js +51 -0
  242. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +32 -0
  243. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  244. package/script/npm/src/src/features/auth/storage/client_token_handler.js +40 -0
  245. package/script/npm/src/src/features/auth/storage/server_store.d.ts +24 -0
  246. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +1 -0
  247. package/script/npm/src/src/features/auth/storage/server_store.js +38 -0
  248. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +36 -0
  249. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  250. package/script/npm/src/src/features/auth/storage/server_token_handler.js +119 -0
  251. package/script/npm/src/src/features/auth/storage/types.d.ts +42 -0
  252. package/script/npm/src/src/features/auth/storage/types.d.ts.map +1 -0
  253. package/script/npm/src/src/features/auth/storage/types.js +2 -0
  254. package/script/npm/src/src/features/contact/contract.d.ts +170 -0
  255. package/script/npm/src/src/features/contact/contract.d.ts.map +1 -0
  256. package/script/npm/src/src/features/contact/contract.js +52 -0
  257. package/script/npm/src/src/features/contact/index.d.ts +2 -0
  258. package/script/npm/src/src/features/contact/index.d.ts.map +1 -0
  259. package/script/npm/src/src/features/contact/index.js +17 -0
  260. package/script/npm/src/src/features/contact/repository.d.ts +58 -0
  261. package/script/npm/src/src/features/contact/repository.d.ts.map +1 -0
  262. package/script/npm/src/src/features/contact/repository.js +112 -0
  263. package/script/npm/src/src/features/payout/contract.d.ts +623 -0
  264. package/script/npm/src/src/features/payout/contract.d.ts.map +1 -0
  265. package/script/npm/src/src/features/payout/contract.js +78 -0
  266. package/script/npm/src/src/features/payout/index.d.ts +2 -0
  267. package/script/npm/src/src/features/payout/index.d.ts.map +1 -0
  268. package/script/npm/src/src/features/payout/index.js +17 -0
  269. package/script/npm/src/src/features/payout/repository.d.ts +67 -0
  270. package/script/npm/src/src/features/payout/repository.d.ts.map +1 -0
  271. package/script/npm/src/src/features/payout/repository.js +167 -0
  272. package/script/npm/src/src/features/wallet/contract.d.ts +137 -0
  273. package/script/npm/src/src/features/wallet/contract.d.ts.map +1 -0
  274. package/script/npm/src/src/features/wallet/contract.js +41 -0
  275. package/script/npm/src/src/features/wallet/index.d.ts +2 -0
  276. package/script/npm/src/src/features/wallet/index.d.ts.map +1 -0
  277. package/script/npm/src/src/features/wallet/index.js +17 -0
  278. package/script/npm/src/src/features/wallet/repository.d.ts +57 -0
  279. package/script/npm/src/src/features/wallet/repository.d.ts.map +1 -0
  280. package/script/npm/src/src/features/wallet/repository.js +97 -0
  281. package/script/npm/src/src/models/contact/derivatives/contact.d.ts +172 -0
  282. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +1 -0
  283. package/script/npm/src/src/models/contact/derivatives/contact.js +270 -0
  284. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +188 -0
  285. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  286. package/script/npm/src/src/models/contact/derivatives/contact_info.js +260 -0
  287. package/script/npm/src/src/models/contact/index.d.ts +5 -0
  288. package/script/npm/src/src/models/contact/index.d.ts.map +1 -0
  289. package/script/npm/src/src/models/contact/index.js +20 -0
  290. package/script/npm/src/src/models/contact/schemas.d.ts +66 -0
  291. package/script/npm/src/src/models/contact/schemas.d.ts.map +1 -0
  292. package/script/npm/src/src/models/contact/schemas.js +67 -0
  293. package/script/npm/src/src/models/contact/validation.d.ts +37 -0
  294. package/script/npm/src/src/models/contact/validation.d.ts.map +1 -0
  295. package/script/npm/src/src/models/contact/validation.js +153 -0
  296. package/script/npm/src/src/models/index.d.ts +7 -0
  297. package/script/npm/src/src/models/index.d.ts.map +1 -0
  298. package/script/npm/src/src/models/index.js +22 -0
  299. package/script/npm/src/src/models/payout/api.d.ts +29 -0
  300. package/script/npm/src/src/models/payout/api.d.ts.map +1 -0
  301. package/script/npm/src/src/models/payout/api.js +2 -0
  302. package/script/npm/src/src/models/payout/channel.d.ts +58 -0
  303. package/script/npm/src/src/models/payout/channel.d.ts.map +1 -0
  304. package/script/npm/src/src/models/payout/channel.js +56 -0
  305. package/script/npm/src/src/models/payout/derivatives/payout.d.ts +158 -0
  306. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +1 -0
  307. package/script/npm/src/src/models/payout/derivatives/payout.js +275 -0
  308. package/script/npm/src/src/models/payout/index.d.ts +7 -0
  309. package/script/npm/src/src/models/payout/index.d.ts.map +1 -0
  310. package/script/npm/src/src/models/payout/index.js +22 -0
  311. package/script/npm/src/src/models/payout/narration.d.ts +164 -0
  312. package/script/npm/src/src/models/payout/narration.d.ts.map +1 -0
  313. package/script/npm/src/src/models/payout/narration.js +312 -0
  314. package/script/npm/src/src/models/payout/schemas.d.ts +156 -0
  315. package/script/npm/src/src/models/payout/schemas.d.ts.map +1 -0
  316. package/script/npm/src/src/models/payout/schemas.js +108 -0
  317. package/script/npm/src/src/models/payout/status.d.ts +33 -0
  318. package/script/npm/src/src/models/payout/status.d.ts.map +1 -0
  319. package/script/npm/src/src/models/payout/status.js +37 -0
  320. package/script/npm/src/src/models/permission.d.ts +55 -0
  321. package/script/npm/src/src/models/permission.d.ts.map +1 -0
  322. package/script/npm/src/src/models/permission.js +53 -0
  323. package/script/npm/src/src/models/role.d.ts +21 -0
  324. package/script/npm/src/src/models/role.d.ts.map +1 -0
  325. package/script/npm/src/src/models/role.js +77 -0
  326. package/script/npm/src/src/models/user/authenticated-user.d.ts +77 -0
  327. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +1 -0
  328. package/script/npm/src/src/models/user/authenticated-user.js +230 -0
  329. package/script/npm/src/src/models/user/index.d.ts +4 -0
  330. package/script/npm/src/src/models/user/index.d.ts.map +1 -0
  331. package/script/npm/src/src/models/user/index.js +19 -0
  332. package/script/npm/src/src/models/user/managed-user.d.ts +108 -0
  333. package/script/npm/src/src/models/user/managed-user.d.ts.map +1 -0
  334. package/script/npm/src/src/models/user/managed-user.js +260 -0
  335. package/script/npm/src/src/models/user/profile.d.ts +161 -0
  336. package/script/npm/src/src/models/user/profile.d.ts.map +1 -0
  337. package/script/npm/src/src/models/user/profile.js +338 -0
  338. package/script/npm/src/src/models/wallet/index.d.ts +4 -0
  339. package/script/npm/src/src/models/wallet/index.d.ts.map +1 -0
  340. package/script/npm/src/src/models/wallet/index.js +19 -0
  341. package/script/npm/src/src/models/wallet/schemas.d.ts +95 -0
  342. package/script/npm/src/src/models/wallet/schemas.d.ts.map +1 -0
  343. package/script/npm/src/src/models/wallet/schemas.js +38 -0
  344. package/script/npm/src/src/models/wallet/statement_entry.d.ts +160 -0
  345. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +1 -0
  346. package/script/npm/src/src/models/wallet/statement_entry.js +259 -0
  347. package/script/npm/src/src/models/wallet/wallet.d.ts +147 -0
  348. package/script/npm/src/src/models/wallet/wallet.d.ts.map +1 -0
  349. package/script/npm/src/src/models/wallet/wallet.js +283 -0
  350. package/script/npm/src/src/shared/base_repository.d.ts +80 -0
  351. package/script/npm/src/src/shared/base_repository.d.ts.map +1 -0
  352. package/script/npm/src/src/shared/base_repository.js +157 -0
  353. package/script/npm/src/src/shared/common_responses.d.ts +13 -0
  354. package/script/npm/src/src/shared/common_responses.d.ts.map +1 -0
  355. package/script/npm/src/src/shared/common_responses.js +13 -0
  356. package/script/npm/src/src/shared/index.d.ts +3 -0
  357. package/script/npm/src/src/shared/index.d.ts.map +1 -0
  358. package/script/npm/src/src/shared/index.js +18 -0
  359. package/script/npm/src/src/shared/token_required_repository.d.ts +78 -0
  360. package/script/npm/src/src/shared/token_required_repository.d.ts.map +1 -0
  361. package/script/npm/src/src/shared/token_required_repository.js +132 -0
  362. package/script/package.json +3 -0
  363. package/dist/index.cjs.js +0 -2
  364. package/dist/index.cjs.js.map +0 -1
  365. package/dist/index.d.ts +0 -10
  366. package/dist/index.esm.js +0 -2
  367. package/dist/index.esm.js.map +0 -1
  368. package/dist/lib/api/base-repository.d.ts +0 -175
  369. package/dist/lib/api/index.d.ts +0 -1
  370. package/dist/lib/error/error.utils.d.ts +0 -22
  371. package/dist/lib/error/index.d.ts +0 -3
  372. package/dist/lib/query/index.d.ts +0 -4
  373. package/dist/lib/query/pagination/pagination.d.ts +0 -73
  374. package/dist/lib/query/pagination/pagination.schemas.d.ts +0 -83
  375. package/dist/lib/query/query.builder.d.ts +0 -71
  376. package/dist/lib/query/query.types.d.ts +0 -36
  377. package/dist/modules/auth/auth.manager.d.ts +0 -249
  378. package/dist/modules/auth/auth.repository.d.ts +0 -83
  379. package/dist/modules/auth/auth.store.d.ts +0 -139
  380. package/dist/modules/auth/company-membership.model.d.ts +0 -171
  381. package/dist/modules/auth/index.d.ts +0 -4
  382. package/dist/modules/auth/user.model.d.ts +0 -363
  383. package/dist/modules/contact/contact-info.model.d.ts +0 -485
  384. package/dist/modules/contact/contact-input-handler.d.ts +0 -16
  385. package/dist/modules/contact/contact.dtos.d.ts +0 -84
  386. package/dist/modules/contact/contact.model.d.ts +0 -441
  387. package/dist/modules/contact/contact.repository.d.ts +0 -116
  388. package/dist/modules/contact/index.d.ts +0 -4
  389. package/dist/modules/login/index.d.ts +0 -4
  390. package/dist/modules/login/login.api-contract.d.ts +0 -51
  391. package/dist/modules/login/login.dtos.d.ts +0 -85
  392. package/dist/modules/login/login.model.d.ts +0 -168
  393. package/dist/modules/login/login.repository.d.ts +0 -58
  394. package/dist/modules/payout/index.d.ts +0 -5
  395. package/dist/modules/payout/payout-channel-handler.d.ts +0 -82
  396. package/dist/modules/payout/payout.dtos.d.ts +0 -605
  397. package/dist/modules/payout/payout.model.d.ts +0 -379
  398. package/dist/modules/payout/payout.query.d.ts +0 -133
  399. package/dist/modules/payout/payout.repository.d.ts +0 -181
  400. package/dist/modules/profile/index.d.ts +0 -3
  401. package/dist/modules/profile/profile.dtos.d.ts +0 -80
  402. package/dist/modules/profile/profile.repository.d.ts +0 -56
  403. package/dist/modules/team-member/index.d.ts +0 -4
  404. package/dist/modules/team-member/role.model.d.ts +0 -61
  405. package/dist/modules/team-member/team-member.dtos.d.ts +0 -261
  406. package/dist/modules/team-member/team-member.model.d.ts +0 -237
  407. package/dist/modules/team-member/team-member.repository.d.ts +0 -179
  408. package/dist/modules/wallet/index.d.ts +0 -7
  409. package/dist/modules/wallet/narration.model.d.ts +0 -225
  410. package/dist/modules/wallet/statement-entry.model.d.ts +0 -299
  411. package/dist/modules/wallet/wallet-manager.session.d.ts +0 -143
  412. package/dist/modules/wallet/wallet.dtos.d.ts +0 -204
  413. package/dist/modules/wallet/wallet.query.d.ts +0 -95
  414. package/dist/modules/wallet/wallet.repository.d.ts +0 -205
  415. package/dist/modules/wallet/wallet.utils.d.ts +0 -17
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contract = exports.DEFAULT_ORDER_BY_DESC = exports.DEFAULT_PAYOUT_API_EAGER = void 0;
4
+ const index_js_1 = require("../../models/payout/index.js");
5
+ const api_error_js_1 = require("../../errors/api_error.js");
6
+ const core_1 = require("@ts-rest/core");
7
+ const zod_1 = require("zod");
8
+ /** Default eager loading settings for payout API */
9
+ exports.DEFAULT_PAYOUT_API_EAGER = "[createdBy,actionedBy]";
10
+ /** Default sort order for payout listings */
11
+ exports.DEFAULT_ORDER_BY_DESC = "createdAt";
12
+ /**
13
+ * Payout management API contract
14
+ * Defines endpoints for creating and managing payouts
15
+ *
16
+ * @property {Object} getPayouts - List payouts with filtering (GET /)
17
+ * @property {Object} getPayoutsByApprovalStatus - List payouts by approval status (GET /)
18
+ * @property {Object} postPayout - Create new payout (POST /)
19
+ * @property {Object} approve - Approve/reject payout (POST /:id/approve)
20
+ */
21
+ exports.contract = (0, core_1.initContract)().router({
22
+ getPayouts: {
23
+ method: "GET",
24
+ path: "",
25
+ query: zod_1.z.object({
26
+ rangeStart: zod_1.z.number(),
27
+ rangeEnd: zod_1.z.number(),
28
+ eager: zod_1.z.string(),
29
+ approvalStatus: index_js_1.PayoutSchemas.payoutApprovalStatus.nullable().optional(),
30
+ orderByDesc: zod_1.z.string(),
31
+ }),
32
+ responses: {
33
+ 200: zod_1.z.object({
34
+ results: zod_1.z.array(index_js_1.PayoutSchemas.payoutData),
35
+ total: zod_1.z.number(),
36
+ }),
37
+ },
38
+ },
39
+ getPayoutsByApprovalStatus: {
40
+ method: "GET",
41
+ path: "",
42
+ query: zod_1.z.object({
43
+ rangeStart: zod_1.z.number(),
44
+ rangeEnd: zod_1.z.number(),
45
+ eager: zod_1.z.string(),
46
+ approvalStatus: index_js_1.PayoutSchemas.payoutApprovalStatus,
47
+ orderByDesc: zod_1.z.string(),
48
+ }),
49
+ responses: {
50
+ 200: zod_1.z.object({
51
+ results: zod_1.z.array(index_js_1.PayoutSchemas.payoutData),
52
+ total: zod_1.z.number(),
53
+ }),
54
+ },
55
+ },
56
+ postPayout: {
57
+ method: "POST",
58
+ path: "",
59
+ body: index_js_1.PayoutSchemas.payoutInput,
60
+ responses: {
61
+ 201: index_js_1.PayoutSchemas.payoutData,
62
+ 400: api_error_js_1.APIError.schema,
63
+ },
64
+ },
65
+ approve: {
66
+ method: "POST",
67
+ path: "/:id/approve",
68
+ body: zod_1.z.object({
69
+ action: zod_1.z.enum(["Approve", "Reject"]),
70
+ notes: zod_1.z.string().optional(),
71
+ }),
72
+ responses: {
73
+ 201: index_js_1.PayoutSchemas.payoutData,
74
+ 404: zod_1.z.object({}),
75
+ 409: zod_1.z.object({}),
76
+ },
77
+ },
78
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./repository.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/payout/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./repository.js"), exports);
@@ -0,0 +1,67 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayoutRepository = void 0;
4
+ const index_js_1 = require("../../shared/index.js");
5
+ const contract_js_1 = require("./contract.js");
6
+ const index_js_2 = require("../../models/payout/index.js");
7
+ const permission_js_1 = require("../../models/permission.js");
8
+ const index_js_3 = require("../../errors/index.js");
9
+ const payout_js_1 = require("../../models/payout/derivatives/payout.js");
10
+ /**
11
+ * Repository class for managing payout operations including creation, approval,
12
+ * rejection, and retrieval of payouts.
13
+ * @extends {BaseRepository<PayoutAPI>}
14
+ */
15
+ class PayoutRepository extends index_js_1.BaseRepository {
16
+ /**
17
+ * Creates an instance of PayoutRepository initialized with the payout contract.
18
+ * @param {Object} [props] - Optional constructor properties
19
+ * @param {AfloatAuth} [props.auth] - Optional auth instance to use
20
+ */
21
+ constructor(props) {
22
+ super("payout", contract_js_1.contract, { auth: props?.auth });
23
+ }
24
+ /**
25
+ * Retrieves a paginated list of payouts with optional filtering for pending status.
26
+ * @param {GetPayoutsAPIArgs} [args] - Optional arguments for filtering and pagination
27
+ * @param {number} [args.rangeStart=0] - Starting index for pagination
28
+ * @param {number} [args.rangeEnd=10] - Ending index for pagination
29
+ * @param {boolean} [args.pending] - Filter for pending payouts only
30
+ * @throws {PermissionError} If user lacks the Payout.List permission
31
+ * @throws {APIError} If range is invalid or if the fetch operation fails
32
+ * @returns {Promise<{results: Payout[]; total: number}>} Paginated payout results and total count
33
+ */
34
+ async getAll(args) {
35
+ const auth = this.getAuthForPermissionCheck();
36
+ const requiredPerm = permission_js_1.Permissions.Payout.List;
37
+ if (!auth.checkPermission(requiredPerm)) {
38
+ throw new index_js_3.PermissionError({
39
+ message: "You are not authorized to view payouts.",
40
+ requiredPermissions: [requiredPerm],
41
+ });
42
+ }
43
+ const rangeStart = args?.rangeStart ?? 0;
44
+ const rangeEnd = args?.rangeEnd ?? 10;
45
+ const pendingStatus = index_js_2.PAYOUT_APPROVAL_STATUS.PENDING;
46
+ const query = {
47
+ rangeStart,
48
+ rangeEnd,
49
+ eager: "[createdBy,actionedBy]",
50
+ orderByDesc: "createdAt",
51
+ };
52
+ if (args?.pending) {
53
+ Object.assign(query, { approvalStatus: pendingStatus });
54
+ }
55
+ if (rangeEnd <= rangeStart) {
56
+ throw new index_js_3.APIError({
57
+ message: "Invalid range: end-date must be greater than start-date",
58
+ statusCode: 400,
59
+ });
60
+ }
61
+ const result = await this.client.getPayouts({ query: query });
62
+ if (result.status === 200) {
63
+ return {
64
+ results: payout_js_1.Payout.createMany(result.body.results),
65
+ total: result.body.total,
66
+ };
67
+ }
68
+ throw index_js_3.APIError.unknown("An error occured while fetching payouts");
69
+ }
70
+ /**
71
+ * Creates a new payout with the provided input data.
72
+ * @param {PayoutInput} input - The payout creation data
73
+ * @throws {PermissionError} If user lacks the Payout.Create permission
74
+ * @throws {APIError} If the input is invalid or if the creation operation fails
75
+ * @returns {Promise<Payout>} The created payout
76
+ */
77
+ async pay(input) {
78
+ const auth = this.getAuthForPermissionCheck();
79
+ const requiredPerm = permission_js_1.Permissions.Payout.Create;
80
+ if (!auth.checkPermission(requiredPerm)) {
81
+ throw new index_js_3.PermissionError({
82
+ message: "You are not authorized to create payouts.",
83
+ requiredPermissions: [requiredPerm],
84
+ });
85
+ }
86
+ const result = await this.client.postPayout({ body: input });
87
+ if (result.status === 201)
88
+ return payout_js_1.Payout.create(result.body);
89
+ if (result.status === 400) {
90
+ throw new index_js_3.APIError(result.body);
91
+ }
92
+ throw index_js_3.APIError.unknown();
93
+ }
94
+ /**
95
+ * Approves a payout with optional notes.
96
+ * @param {string} id - The ID of the payout to approve
97
+ * @param {Object} [args] - Optional arguments
98
+ * @param {string} [args.notes] - Optional notes for the approval
99
+ * @throws {PermissionError} If user lacks the Payout.Approve permission
100
+ * @throws {APIError} If payout is not found, already approved, or if the operation fails
101
+ * @returns {Promise<Payout>} The approved payout
102
+ */
103
+ async approve(id, args) {
104
+ const auth = this.getAuthForPermissionCheck();
105
+ const requiredPerm = permission_js_1.Permissions.Payout.Approve;
106
+ if (!auth.checkPermission(requiredPerm)) {
107
+ throw new index_js_3.PermissionError({
108
+ message: "You are not authorized to approve or reject payouts.",
109
+ requiredPermissions: [requiredPerm],
110
+ });
111
+ }
112
+ const result = await this.client.approve({
113
+ params: { id },
114
+ body: { action: "Approve", notes: args?.notes },
115
+ });
116
+ if (result.status === 201) {
117
+ return payout_js_1.Payout.create(result.body);
118
+ }
119
+ if (result.status === 404) {
120
+ throw new index_js_3.APIError({ message: "Payout not found", statusCode: 404 });
121
+ }
122
+ if (result.status === 409) {
123
+ throw new index_js_3.APIError({
124
+ message: "Payout already approved",
125
+ statusCode: 409,
126
+ });
127
+ }
128
+ throw index_js_3.APIError.unknown();
129
+ }
130
+ /**
131
+ * Rejects a payout with optional notes.
132
+ * @param {string} id - The ID of the payout to reject
133
+ * @param {Object} [args] - Optional arguments
134
+ * @param {string} [args.notes] - Optional notes for the rejection
135
+ * @throws {PermissionError} If user lacks the Payout.Approve permission
136
+ * @throws {APIError} If payout is not found, already rejected, or if the operation fails
137
+ * @returns {Promise<Payout>} The rejected payout
138
+ */
139
+ async reject(id, args) {
140
+ const auth = this.getAuthForPermissionCheck();
141
+ const requiredPerm = permission_js_1.Permissions.Payout.Approve;
142
+ if (!auth.checkPermission(requiredPerm)) {
143
+ throw new index_js_3.PermissionError({
144
+ message: "You are not authorized to approve or reject payouts.",
145
+ requiredPermissions: [requiredPerm],
146
+ });
147
+ }
148
+ const result = await this.client.approve({
149
+ params: { id },
150
+ body: { action: "Reject", notes: args?.notes },
151
+ });
152
+ if (result.status === 201) {
153
+ return payout_js_1.Payout.create(result.body);
154
+ }
155
+ if (result.status === 404) {
156
+ throw new index_js_3.APIError({ message: "Payout not found", statusCode: 404 });
157
+ }
158
+ if (result.status === 409) {
159
+ throw new index_js_3.APIError({
160
+ message: "Payout already rejected",
161
+ statusCode: 409,
162
+ });
163
+ }
164
+ throw index_js_3.APIError.unknown();
165
+ }
166
+ }
167
+ exports.PayoutRepository = PayoutRepository;
@@ -0,0 +1,137 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contract = void 0;
4
+ const zod_1 = require("zod");
5
+ const core_1 = require("@ts-rest/core");
6
+ const index_js_1 = require("../../models/wallet/index.js");
7
+ exports.contract = (0, core_1.initContract)().router({
8
+ getWallets: {
9
+ method: "GET",
10
+ path: "/",
11
+ query: index_js_1.WalletSchemas.walletQuery,
12
+ responses: {
13
+ 200: zod_1.z.array(index_js_1.WalletSchemas.wallet),
14
+ },
15
+ },
16
+ getBalance: {
17
+ method: "POST",
18
+ path: "/balance",
19
+ body: zod_1.z.object({
20
+ accountNo: zod_1.z.string().optional(),
21
+ }),
22
+ responses: {
23
+ 201: zod_1.z.object({
24
+ availableBalance: zod_1.z.coerce.number(),
25
+ }),
26
+ },
27
+ },
28
+ getStatement: {
29
+ method: "POST",
30
+ path: "/statement",
31
+ summary: "Get Wallet Statement",
32
+ body: zod_1.z.object({
33
+ endDate: zod_1.z.date(),
34
+ startDate: zod_1.z.date(),
35
+ accountNo: zod_1.z.string().optional(),
36
+ }),
37
+ responses: {
38
+ 201: zod_1.z.array(index_js_1.WalletSchemas.statementEntry),
39
+ },
40
+ },
41
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./repository.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./repository.js"), exports);
@@ -0,0 +1,57 @@
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
@@ -0,0 +1 @@
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"}