@temboplus/afloat 0.1.61 → 0.1.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/README.md +246 -42
  2. package/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
  3. package/{script/npm/src/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
  4. package/dist/features/admin/admin.repository.d.ts +179 -0
  5. package/dist/features/admin/index.d.ts +2 -0
  6. package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
  7. package/dist/features/auth/access/access.repository.d.ts +55 -0
  8. package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
  9. package/dist/features/auth/auth.manager.d.ts +249 -0
  10. package/dist/features/auth/auth.repository.d.ts +66 -0
  11. package/dist/features/auth/auth.store.d.ts +139 -0
  12. package/{script/npm/src/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
  13. package/dist/features/auth/identity/identity.repository.d.ts +58 -0
  14. package/dist/features/auth/index.d.ts +5 -0
  15. package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
  16. package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
  17. package/dist/features/auth/profile/profile.repository.d.ts +56 -0
  18. package/{script/npm/src/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
  19. package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
  20. package/{script/npm/src/src → dist}/features/auth/storage/types.d.ts +1 -2
  21. package/dist/features/contact/contact-input-handler.d.ts +16 -0
  22. package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
  23. package/dist/features/contact/contact.dtos.d.ts +90 -0
  24. package/dist/features/contact/contact.repository.d.ts +116 -0
  25. package/dist/features/contact/index.d.ts +2 -0
  26. package/dist/features/payout/index.d.ts +3 -0
  27. package/dist/features/payout/payout-channel-handler.d.ts +108 -0
  28. package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
  29. package/dist/features/payout/payout.dtos.d.ts +365 -0
  30. package/dist/features/payout/payout.repository.d.ts +193 -0
  31. package/dist/features/wallet/index.d.ts +4 -0
  32. package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
  33. package/{script/npm/src/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
  34. package/dist/features/wallet/wallet.dtos.d.ts +204 -0
  35. package/dist/features/wallet/wallet.repository.d.ts +173 -0
  36. package/dist/features/wallet/wallet.utils.d.ts +17 -0
  37. package/dist/index.cjs.js +2 -0
  38. package/dist/index.cjs.js.map +1 -0
  39. package/dist/index.d.ts +7 -0
  40. package/dist/index.esm.js +2 -0
  41. package/dist/index.esm.js.map +1 -0
  42. package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
  43. package/{script/npm/src/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
  44. package/dist/lib/api/index.d.ts +2 -0
  45. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  46. package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  47. package/dist/lib/error/error.utils.d.ts +22 -0
  48. package/dist/lib/error/index.d.ts +3 -0
  49. package/dist/models/contact-info.model.d.ts +817 -0
  50. package/{script/npm/src/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
  51. package/dist/models/index.d.ts +11 -0
  52. package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
  53. package/dist/models/narration.model.d.ts +184 -0
  54. package/{script/npm/src/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +14 -16
  55. package/{esm/src → dist}/models/permission.d.ts +1 -2
  56. package/{script/npm/src/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
  57. package/{script/npm/src/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
  58. package/dist/models/statement-entry.model.d.ts +248 -0
  59. package/dist/models/user.model.d.ts +65 -0
  60. package/{script/npm/src/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
  61. package/package.json +47 -24
  62. package/LICENSE +0 -7
  63. package/esm/mod.d.ts +0 -8
  64. package/esm/mod.d.ts.map +0 -1
  65. package/esm/mod.js +0 -7
  66. package/esm/package.json +0 -3
  67. package/esm/src/errors/api_error.d.ts.map +0 -1
  68. package/esm/src/errors/api_error.js +0 -90
  69. package/esm/src/errors/index.d.ts +0 -3
  70. package/esm/src/errors/index.d.ts.map +0 -1
  71. package/esm/src/errors/index.js +0 -2
  72. package/esm/src/errors/permission_error.d.ts +0 -48
  73. package/esm/src/errors/permission_error.d.ts.map +0 -1
  74. package/esm/src/errors/permission_error.js +0 -70
  75. package/esm/src/features/admin/contract.d.ts.map +0 -1
  76. package/esm/src/features/admin/contract.js +0 -210
  77. package/esm/src/features/admin/index.d.ts +0 -4
  78. package/esm/src/features/admin/index.d.ts.map +0 -1
  79. package/esm/src/features/admin/index.js +0 -3
  80. package/esm/src/features/admin/repository.d.ts +0 -114
  81. package/esm/src/features/admin/repository.d.ts.map +0 -1
  82. package/esm/src/features/admin/repository.js +0 -248
  83. package/esm/src/features/admin/schemas.d.ts +0 -146
  84. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  85. package/esm/src/features/admin/schemas.js +0 -206
  86. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  87. package/esm/src/features/auth/access/contract.js +0 -14
  88. package/esm/src/features/auth/access/repository.d.ts +0 -11
  89. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  90. package/esm/src/features/auth/access/repository.js +0 -25
  91. package/esm/src/features/auth/contract.d.ts.map +0 -1
  92. package/esm/src/features/auth/contract.js +0 -43
  93. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  94. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  95. package/esm/src/features/auth/identity/contract.js +0 -17
  96. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  97. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  98. package/esm/src/features/auth/identity/repository.js +0 -30
  99. package/esm/src/features/auth/index.d.ts +0 -6
  100. package/esm/src/features/auth/index.d.ts.map +0 -1
  101. package/esm/src/features/auth/index.js +0 -5
  102. package/esm/src/features/auth/manager.d.ts +0 -105
  103. package/esm/src/features/auth/manager.d.ts.map +0 -1
  104. package/esm/src/features/auth/manager.js +0 -181
  105. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  106. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  107. package/esm/src/features/auth/profile/contract.js +0 -14
  108. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  109. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  110. package/esm/src/features/auth/profile/repository.js +0 -25
  111. package/esm/src/features/auth/repository.d.ts +0 -30
  112. package/esm/src/features/auth/repository.d.ts.map +0 -1
  113. package/esm/src/features/auth/repository.js +0 -69
  114. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  115. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  116. package/esm/src/features/auth/storage/client_store.js +0 -46
  117. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  118. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  119. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  120. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  121. package/esm/src/features/auth/storage/server_store.js +0 -34
  122. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  123. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  124. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  125. package/esm/src/features/auth/storage/types.d.ts +0 -42
  126. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  127. package/esm/src/features/auth/storage/types.js +0 -1
  128. package/esm/src/features/contact/contract.d.ts.map +0 -1
  129. package/esm/src/features/contact/contract.js +0 -49
  130. package/esm/src/features/contact/index.d.ts +0 -2
  131. package/esm/src/features/contact/index.d.ts.map +0 -1
  132. package/esm/src/features/contact/index.js +0 -1
  133. package/esm/src/features/contact/repository.d.ts +0 -58
  134. package/esm/src/features/contact/repository.d.ts.map +0 -1
  135. package/esm/src/features/contact/repository.js +0 -108
  136. package/esm/src/features/payout/contract.d.ts.map +0 -1
  137. package/esm/src/features/payout/contract.js +0 -75
  138. package/esm/src/features/payout/index.d.ts +0 -2
  139. package/esm/src/features/payout/index.d.ts.map +0 -1
  140. package/esm/src/features/payout/index.js +0 -1
  141. package/esm/src/features/payout/repository.d.ts +0 -67
  142. package/esm/src/features/payout/repository.d.ts.map +0 -1
  143. package/esm/src/features/payout/repository.js +0 -163
  144. package/esm/src/features/wallet/contract.d.ts +0 -137
  145. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  146. package/esm/src/features/wallet/contract.js +0 -38
  147. package/esm/src/features/wallet/index.d.ts +0 -2
  148. package/esm/src/features/wallet/index.d.ts.map +0 -1
  149. package/esm/src/features/wallet/index.js +0 -1
  150. package/esm/src/features/wallet/repository.d.ts +0 -57
  151. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  152. package/esm/src/features/wallet/repository.js +0 -93
  153. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  154. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  155. package/esm/src/models/contact/derivatives/contact.js +0 -266
  156. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  157. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  158. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  159. package/esm/src/models/contact/index.d.ts +0 -5
  160. package/esm/src/models/contact/index.d.ts.map +0 -1
  161. package/esm/src/models/contact/index.js +0 -4
  162. package/esm/src/models/contact/schemas.d.ts +0 -66
  163. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  164. package/esm/src/models/contact/schemas.js +0 -64
  165. package/esm/src/models/contact/validation.d.ts +0 -37
  166. package/esm/src/models/contact/validation.d.ts.map +0 -1
  167. package/esm/src/models/contact/validation.js +0 -146
  168. package/esm/src/models/index.d.ts +0 -7
  169. package/esm/src/models/index.d.ts.map +0 -1
  170. package/esm/src/models/index.js +0 -6
  171. package/esm/src/models/payout/api.d.ts +0 -29
  172. package/esm/src/models/payout/api.d.ts.map +0 -1
  173. package/esm/src/models/payout/api.js +0 -1
  174. package/esm/src/models/payout/channel.d.ts +0 -58
  175. package/esm/src/models/payout/channel.d.ts.map +0 -1
  176. package/esm/src/models/payout/channel.js +0 -53
  177. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  178. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  179. package/esm/src/models/payout/derivatives/payout.js +0 -265
  180. package/esm/src/models/payout/index.d.ts +0 -7
  181. package/esm/src/models/payout/index.d.ts.map +0 -1
  182. package/esm/src/models/payout/index.js +0 -6
  183. package/esm/src/models/payout/narration.d.ts +0 -164
  184. package/esm/src/models/payout/narration.d.ts.map +0 -1
  185. package/esm/src/models/payout/narration.js +0 -308
  186. package/esm/src/models/payout/schemas.d.ts +0 -156
  187. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  188. package/esm/src/models/payout/schemas.js +0 -105
  189. package/esm/src/models/payout/status.d.ts +0 -33
  190. package/esm/src/models/payout/status.d.ts.map +0 -1
  191. package/esm/src/models/payout/status.js +0 -34
  192. package/esm/src/models/permission.d.ts.map +0 -1
  193. package/esm/src/models/permission.js +0 -50
  194. package/esm/src/models/role.d.ts +0 -21
  195. package/esm/src/models/role.d.ts.map +0 -1
  196. package/esm/src/models/role.js +0 -73
  197. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  198. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  199. package/esm/src/models/user/authenticated-user.js +0 -226
  200. package/esm/src/models/user/index.d.ts +0 -4
  201. package/esm/src/models/user/index.d.ts.map +0 -1
  202. package/esm/src/models/user/index.js +0 -3
  203. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  204. package/esm/src/models/user/managed-user.js +0 -255
  205. package/esm/src/models/user/profile.d.ts +0 -161
  206. package/esm/src/models/user/profile.d.ts.map +0 -1
  207. package/esm/src/models/user/profile.js +0 -334
  208. package/esm/src/models/wallet/index.d.ts +0 -4
  209. package/esm/src/models/wallet/index.d.ts.map +0 -1
  210. package/esm/src/models/wallet/index.js +0 -3
  211. package/esm/src/models/wallet/schemas.d.ts +0 -95
  212. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  213. package/esm/src/models/wallet/schemas.js +0 -35
  214. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  215. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  216. package/esm/src/models/wallet/statement_entry.js +0 -255
  217. package/esm/src/models/wallet/wallet.d.ts +0 -147
  218. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  219. package/esm/src/models/wallet/wallet.js +0 -279
  220. package/esm/src/shared/base_repository.d.ts.map +0 -1
  221. package/esm/src/shared/base_repository.js +0 -153
  222. package/esm/src/shared/common_responses.d.ts +0 -13
  223. package/esm/src/shared/common_responses.d.ts.map +0 -1
  224. package/esm/src/shared/common_responses.js +0 -10
  225. package/esm/src/shared/index.d.ts +0 -3
  226. package/esm/src/shared/index.d.ts.map +0 -1
  227. package/esm/src/shared/index.js +0 -2
  228. package/esm/src/shared/token_required_repository.d.ts +0 -78
  229. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  230. package/esm/src/shared/token_required_repository.js +0 -128
  231. package/script/mod.d.ts +0 -8
  232. package/script/mod.d.ts.map +0 -1
  233. package/script/mod.js +0 -23
  234. package/script/npm/src/mod.d.ts +0 -8
  235. package/script/npm/src/mod.d.ts.map +0 -1
  236. package/script/npm/src/mod.js +0 -23
  237. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  238. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  239. package/script/npm/src/src/errors/api_error.js +0 -94
  240. package/script/npm/src/src/errors/index.d.ts +0 -3
  241. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  242. package/script/npm/src/src/errors/index.js +0 -18
  243. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  244. package/script/npm/src/src/errors/permission_error.js +0 -74
  245. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  246. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  247. package/script/npm/src/src/features/admin/contract.js +0 -213
  248. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  249. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  250. package/script/npm/src/src/features/admin/index.js +0 -19
  251. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  252. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  253. package/script/npm/src/src/features/admin/repository.js +0 -252
  254. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  255. package/script/npm/src/src/features/admin/schemas.js +0 -209
  256. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  257. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  258. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  259. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  260. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  261. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  262. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  263. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  264. package/script/npm/src/src/features/auth/contract.js +0 -46
  265. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  266. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  267. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  268. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  269. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  270. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  271. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  272. package/script/npm/src/src/features/auth/index.js +0 -21
  273. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  274. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  275. package/script/npm/src/src/features/auth/manager.js +0 -185
  276. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  277. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  278. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  279. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  280. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  281. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  282. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  283. package/script/npm/src/src/features/auth/repository.js +0 -73
  284. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  285. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  286. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  287. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  288. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  289. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  290. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  291. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  292. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  293. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  294. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  295. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  296. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  297. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  298. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  299. package/script/npm/src/src/features/contact/contract.js +0 -52
  300. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  301. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  302. package/script/npm/src/src/features/contact/index.js +0 -17
  303. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  304. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  305. package/script/npm/src/src/features/contact/repository.js +0 -112
  306. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  307. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  308. package/script/npm/src/src/features/payout/contract.js +0 -78
  309. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  310. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  311. package/script/npm/src/src/features/payout/index.js +0 -17
  312. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  313. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  314. package/script/npm/src/src/features/payout/repository.js +0 -167
  315. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  316. package/script/npm/src/src/features/wallet/contract.js +0 -41
  317. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  318. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  319. package/script/npm/src/src/features/wallet/index.js +0 -17
  320. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  321. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  322. package/script/npm/src/src/features/wallet/repository.js +0 -97
  323. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  324. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  325. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  326. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  327. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  328. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  329. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  330. package/script/npm/src/src/models/contact/index.js +0 -20
  331. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  332. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  333. package/script/npm/src/src/models/contact/schemas.js +0 -67
  334. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  335. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  336. package/script/npm/src/src/models/contact/validation.js +0 -153
  337. package/script/npm/src/src/models/index.d.ts +0 -7
  338. package/script/npm/src/src/models/index.d.ts.map +0 -1
  339. package/script/npm/src/src/models/index.js +0 -22
  340. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  341. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  342. package/script/npm/src/src/models/payout/api.js +0 -2
  343. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  344. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  345. package/script/npm/src/src/models/payout/channel.js +0 -56
  346. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  347. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -269
  348. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  349. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  350. package/script/npm/src/src/models/payout/index.js +0 -22
  351. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  352. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  353. package/script/npm/src/src/models/payout/narration.js +0 -312
  354. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  355. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  356. package/script/npm/src/src/models/payout/schemas.js +0 -108
  357. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  358. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  359. package/script/npm/src/src/models/payout/status.js +0 -37
  360. package/script/npm/src/src/models/permission.d.ts +0 -55
  361. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  362. package/script/npm/src/src/models/permission.js +0 -53
  363. package/script/npm/src/src/models/role.d.ts.map +0 -1
  364. package/script/npm/src/src/models/role.js +0 -77
  365. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  366. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  367. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  368. package/script/npm/src/src/models/user/index.d.ts +0 -4
  369. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  370. package/script/npm/src/src/models/user/index.js +0 -19
  371. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  372. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  373. package/script/npm/src/src/models/user/managed-user.js +0 -260
  374. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  375. package/script/npm/src/src/models/user/profile.js +0 -338
  376. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  377. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  378. package/script/npm/src/src/models/wallet/index.js +0 -19
  379. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  380. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  381. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  382. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  383. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  384. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  385. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  386. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  387. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  388. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  389. package/script/npm/src/src/shared/base_repository.js +0 -157
  390. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  391. package/script/npm/src/src/shared/common_responses.js +0 -13
  392. package/script/npm/src/src/shared/index.d.ts +0 -3
  393. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  394. package/script/npm/src/src/shared/index.js +0 -18
  395. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  396. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  397. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  398. package/script/package.json +0 -3
@@ -1,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
- }
@@ -1,172 +0,0 @@
1
- import { type ContactData, type ContactType } from "../schemas.js";
2
- import { type ContactInfo } from "./contact_info.js";
3
- /**
4
- * Contact class that wraps the Zod schema and provides additional functionality
5
- */
6
- export declare class Contact {
7
- private readonly data;
8
- /**
9
- * Private constructor - use static methods to create instances
10
- */
11
- private constructor();
12
- /**
13
- * Unique identifier for the contact
14
- */
15
- get id(): string;
16
- /**
17
- * Profile identifier associated with this contact
18
- */
19
- get profileId(): string;
20
- /**
21
- * Display name of the contact
22
- */
23
- get displayName(): string;
24
- /**
25
- * Type of contact (Bank or Mobile)
26
- */
27
- get type(): ContactType;
28
- /**
29
- * Creation timestamp of the contact
30
- */
31
- get createdAt(): Date;
32
- /**
33
- * Update timestamp of the contact
34
- */
35
- get updatedAt(): Date;
36
- /**
37
- * Detailed contact information based on contact type
38
- *
39
- * @returns {ContactInfo | undefined} Contact information object:
40
- * - MobileContactInfo for mobile money contacts
41
- * - BankContactInfo for bank contacts
42
- * - undefined if contact information cannot be constructed
43
- *
44
- * @remarks
45
- * For mobile contacts, constructs from phone number
46
- * For bank contacts, constructs from SWIFT code and account number
47
- */
48
- get info(): ContactInfo | undefined;
49
- /**
50
- * Payment channel for the contact
51
- *
52
- * @returns {string} Channel information:
53
- * - For valid contacts, returns formatted channel from ContactInfo
54
- * - For invalid contacts, falls back to account number
55
- */
56
- get channel(): string;
57
- /**
58
- * Account number for the contact
59
- *
60
- * @returns {string} Account number:
61
- * - For valid contacts, returns formatted account number from ContactInfo
62
- * - For invalid contacts, falls back to raw account number
63
- */
64
- get accNo(): string;
65
- /**
66
- * Account name for the contact
67
- * Always returns the display name
68
- */
69
- get accName(): string;
70
- /**
71
- * Label for the account number field based on contact type
72
- *
73
- * @returns {string} Appropriate label:
74
- * - "Phone Number" for mobile contacts
75
- * - "Bank Account Number" for bank contacts
76
- * - "Account Number" as fallback
77
- */
78
- get accNoLabel(): string;
79
- /**
80
- * Label for the channel field based on contact type
81
- *
82
- * @returns {string} Appropriate label:
83
- * - "Channel" for mobile contacts
84
- * - "Bank" for bank contacts
85
- * - "Channel" as fallback
86
- */
87
- get channelLabel(): string;
88
- /**
89
- * Label for the account name field based on contact type
90
- *
91
- * @returns {string} Appropriate label:
92
- * - "Full Name" for mobile contacts
93
- * - "Bank Account Name" for bank contacts
94
- * - "Display Name" as fallback
95
- */
96
- get accNameLabel(): string;
97
- /**
98
- * Creates a Contact instance from raw data
99
- * @throws {ZodError} if validation fails
100
- */
101
- static create(data: ContactData): Contact;
102
- /**
103
- * Creates multiple Contact instances from an array of raw data
104
- * @throws {ZodError} if validation fails for any item
105
- */
106
- static createMany(dataArray: ContactData[]): Contact[];
107
- /**
108
- * Creates a Contact instance from raw data without throwing
109
- * @returns {Contact | null} Contact instance or null if validation fails
110
- */
111
- static createSafe(data: ContactData): Contact | null;
112
- /**
113
- * Checks if an unknown value contains valid data to construct a Contact instance.
114
- * This is useful when validating raw data structures before instantiation.
115
- *
116
- * @param {unknown} obj - The value containing potential contact data
117
- * @returns {obj is Contact} Type predicate indicating if a Contact can be constructed
118
- *
119
- * @example
120
- * ```typescript
121
- * const rawData = await fetchFromAPI();
122
- * if (Contact.canConstruct(rawData)) {
123
- * const contact = Contact.create(rawData);
124
- * // TypeScript knows contact is valid here
125
- * console.log(contact.displayName);
126
- * }
127
- * ```
128
- *
129
- * @throws {never} This method never throws errors
130
- *
131
- * @remarks
132
- * This method performs strict validation against the {@link ContactData} schema.
133
- */
134
- static canConstruct(obj: unknown): obj is Contact;
135
- /**
136
- * Validates if an unknown value is a Contact instance.
137
- * This is a runtime type guard that ensures proper object structure and data validity.
138
- *
139
- * @param {unknown} obj - The value to validate
140
- * @returns {obj is Contact} Type predicate indicating if the value is a valid Contact
141
- *
142
- * @example
143
- * ```typescript
144
- * const maybeContact = getContactFromCache();
145
- * if (Contact.is(maybeContact)) {
146
- * // TypeScript knows maybeContact is a Contact here
147
- * console.log(maybeContact.displayName);
148
- * }
149
- * ```
150
- *
151
- * @throws {never} This method never throws errors
152
- *
153
- * @remarks
154
- * This method performs a complete structural validation:
155
- * 1. Checks if the value is an object
156
- * 2. Verifies presence of internal data property
157
- * 3. Validates the data against ContactData schema
158
- * 4. Ensures the object is a proper Contact instance
159
- *
160
- * Use this method when:
161
- * - Validating cached Contact instances
162
- * - Checking serialized Contact objects
163
- * - Verifying API responses
164
- * - Type narrowing in conditional blocks
165
- */
166
- static is(obj: unknown): obj is Contact;
167
- /**
168
- * Converts Payout instance to a plain object
169
- */
170
- toJSON(): ContactData;
171
- }
172
- //# sourceMappingURL=contact.d.ts.map