@temboplus/afloat 0.1.81 → 0.2.0-beta.2

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 (413) hide show
  1. package/README.md +246 -42
  2. package/dist/index.cjs.js +2 -0
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.d.ts +10 -0
  5. package/dist/index.esm.js +2 -0
  6. package/dist/index.esm.js.map +1 -0
  7. package/dist/lib/api/base-repository.d.ts +177 -0
  8. package/dist/lib/api/index.d.ts +1 -0
  9. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  10. package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  11. package/dist/lib/error/error.utils.d.ts +22 -0
  12. package/dist/lib/error/index.d.ts +3 -0
  13. package/dist/lib/query/index.d.ts +4 -0
  14. package/dist/lib/query/pagination/pagination.d.ts +73 -0
  15. package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
  16. package/dist/lib/query/query.builder.d.ts +75 -0
  17. package/dist/lib/query/query.types.d.ts +36 -0
  18. package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
  19. package/dist/modules/auth/auth.repository.d.ts +83 -0
  20. package/dist/modules/auth/company-membership.model.d.ts +171 -0
  21. package/dist/modules/auth/index.d.ts +3 -0
  22. package/dist/modules/auth/user.model.d.ts +363 -0
  23. package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
  24. package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
  25. package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
  26. package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
  27. package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
  28. package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
  29. package/dist/modules/beneficiary/index.d.ts +6 -0
  30. package/dist/modules/login/index.d.ts +4 -0
  31. package/dist/modules/login/login.api-contract.d.ts +51 -0
  32. package/dist/modules/login/login.dtos.d.ts +85 -0
  33. package/dist/modules/login/login.model.d.ts +168 -0
  34. package/dist/modules/login/login.repository.d.ts +58 -0
  35. package/{esm/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +9 -10
  36. package/dist/modules/payout/index.d.ts +5 -0
  37. package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
  38. package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
  39. package/dist/modules/payout/payout.dtos.d.ts +607 -0
  40. package/dist/modules/payout/payout.model.d.ts +383 -0
  41. package/dist/modules/payout/payout.query.d.ts +134 -0
  42. package/dist/modules/payout/payout.repository.d.ts +204 -0
  43. package/dist/modules/profile/index.d.ts +3 -0
  44. package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
  45. package/dist/modules/profile/profile.dtos.d.ts +80 -0
  46. package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
  47. package/dist/modules/profile/profile.repository.d.ts +56 -0
  48. package/dist/modules/team-member/index.d.ts +4 -0
  49. package/dist/modules/team-member/role.model.d.ts +61 -0
  50. package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
  51. package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
  52. package/dist/modules/team-member/team-member.model.d.ts +237 -0
  53. package/dist/modules/team-member/team-member.repository.d.ts +179 -0
  54. package/dist/modules/wallet/index.d.ts +6 -0
  55. package/dist/modules/wallet/narration.model.d.ts +225 -0
  56. package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
  57. package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
  58. package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
  59. package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
  60. package/dist/modules/wallet/wallet.query.d.ts +95 -0
  61. package/dist/modules/wallet/wallet.repository.d.ts +205 -0
  62. package/dist/modules/wallet/wallet.utils.d.ts +17 -0
  63. package/package.json +49 -23
  64. package/LICENSE +0 -7
  65. package/esm/mod.d.ts +0 -8
  66. package/esm/mod.d.ts.map +0 -1
  67. package/esm/mod.js +0 -7
  68. package/esm/package.json +0 -3
  69. package/esm/src/errors/api_error.d.ts.map +0 -1
  70. package/esm/src/errors/api_error.js +0 -90
  71. package/esm/src/errors/index.d.ts +0 -3
  72. package/esm/src/errors/index.d.ts.map +0 -1
  73. package/esm/src/errors/index.js +0 -2
  74. package/esm/src/errors/permission_error.d.ts +0 -48
  75. package/esm/src/errors/permission_error.d.ts.map +0 -1
  76. package/esm/src/errors/permission_error.js +0 -70
  77. package/esm/src/features/admin/contract.d.ts.map +0 -1
  78. package/esm/src/features/admin/contract.js +0 -210
  79. package/esm/src/features/admin/index.d.ts +0 -4
  80. package/esm/src/features/admin/index.d.ts.map +0 -1
  81. package/esm/src/features/admin/index.js +0 -3
  82. package/esm/src/features/admin/repository.d.ts +0 -114
  83. package/esm/src/features/admin/repository.d.ts.map +0 -1
  84. package/esm/src/features/admin/repository.js +0 -248
  85. package/esm/src/features/admin/schemas.d.ts +0 -146
  86. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  87. package/esm/src/features/admin/schemas.js +0 -206
  88. package/esm/src/features/auth/access/contract.d.ts +0 -14
  89. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  90. package/esm/src/features/auth/access/contract.js +0 -14
  91. package/esm/src/features/auth/access/repository.d.ts +0 -11
  92. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  93. package/esm/src/features/auth/access/repository.js +0 -25
  94. package/esm/src/features/auth/contract.d.ts.map +0 -1
  95. package/esm/src/features/auth/contract.js +0 -43
  96. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  97. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  98. package/esm/src/features/auth/identity/contract.js +0 -17
  99. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  100. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  101. package/esm/src/features/auth/identity/repository.js +0 -30
  102. package/esm/src/features/auth/index.d.ts +0 -6
  103. package/esm/src/features/auth/index.d.ts.map +0 -1
  104. package/esm/src/features/auth/index.js +0 -5
  105. package/esm/src/features/auth/manager.d.ts +0 -105
  106. package/esm/src/features/auth/manager.d.ts.map +0 -1
  107. package/esm/src/features/auth/manager.js +0 -181
  108. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  109. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  110. package/esm/src/features/auth/profile/contract.js +0 -14
  111. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  112. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  113. package/esm/src/features/auth/profile/repository.js +0 -25
  114. package/esm/src/features/auth/repository.d.ts +0 -30
  115. package/esm/src/features/auth/repository.d.ts.map +0 -1
  116. package/esm/src/features/auth/repository.js +0 -69
  117. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  118. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  119. package/esm/src/features/auth/storage/client_store.js +0 -46
  120. package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
  121. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  122. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  123. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  124. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  125. package/esm/src/features/auth/storage/server_store.js +0 -34
  126. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  127. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  128. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  129. package/esm/src/features/auth/storage/types.d.ts +0 -42
  130. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  131. package/esm/src/features/auth/storage/types.js +0 -1
  132. package/esm/src/features/contact/contract.d.ts +0 -170
  133. package/esm/src/features/contact/contract.d.ts.map +0 -1
  134. package/esm/src/features/contact/contract.js +0 -49
  135. package/esm/src/features/contact/index.d.ts +0 -2
  136. package/esm/src/features/contact/index.d.ts.map +0 -1
  137. package/esm/src/features/contact/index.js +0 -1
  138. package/esm/src/features/contact/repository.d.ts +0 -58
  139. package/esm/src/features/contact/repository.d.ts.map +0 -1
  140. package/esm/src/features/contact/repository.js +0 -108
  141. package/esm/src/features/payout/contract.d.ts.map +0 -1
  142. package/esm/src/features/payout/contract.js +0 -75
  143. package/esm/src/features/payout/index.d.ts +0 -2
  144. package/esm/src/features/payout/index.d.ts.map +0 -1
  145. package/esm/src/features/payout/index.js +0 -1
  146. package/esm/src/features/payout/repository.d.ts +0 -67
  147. package/esm/src/features/payout/repository.d.ts.map +0 -1
  148. package/esm/src/features/payout/repository.js +0 -179
  149. package/esm/src/features/wallet/contract.d.ts +0 -137
  150. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  151. package/esm/src/features/wallet/contract.js +0 -38
  152. package/esm/src/features/wallet/index.d.ts +0 -2
  153. package/esm/src/features/wallet/index.d.ts.map +0 -1
  154. package/esm/src/features/wallet/index.js +0 -1
  155. package/esm/src/features/wallet/repository.d.ts +0 -57
  156. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  157. package/esm/src/features/wallet/repository.js +0 -93
  158. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  159. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  160. package/esm/src/models/contact/derivatives/contact.js +0 -266
  161. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  162. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  163. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  164. package/esm/src/models/contact/index.d.ts +0 -5
  165. package/esm/src/models/contact/index.d.ts.map +0 -1
  166. package/esm/src/models/contact/index.js +0 -4
  167. package/esm/src/models/contact/schemas.d.ts +0 -66
  168. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  169. package/esm/src/models/contact/schemas.js +0 -64
  170. package/esm/src/models/contact/validation.d.ts +0 -37
  171. package/esm/src/models/contact/validation.d.ts.map +0 -1
  172. package/esm/src/models/contact/validation.js +0 -146
  173. package/esm/src/models/index.d.ts +0 -7
  174. package/esm/src/models/index.d.ts.map +0 -1
  175. package/esm/src/models/index.js +0 -6
  176. package/esm/src/models/payout/api.d.ts +0 -29
  177. package/esm/src/models/payout/api.d.ts.map +0 -1
  178. package/esm/src/models/payout/api.js +0 -1
  179. package/esm/src/models/payout/channel.d.ts +0 -58
  180. package/esm/src/models/payout/channel.d.ts.map +0 -1
  181. package/esm/src/models/payout/channel.js +0 -53
  182. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  183. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  184. package/esm/src/models/payout/derivatives/payout.js +0 -271
  185. package/esm/src/models/payout/index.d.ts +0 -7
  186. package/esm/src/models/payout/index.d.ts.map +0 -1
  187. package/esm/src/models/payout/index.js +0 -6
  188. package/esm/src/models/payout/narration.d.ts +0 -164
  189. package/esm/src/models/payout/narration.d.ts.map +0 -1
  190. package/esm/src/models/payout/narration.js +0 -308
  191. package/esm/src/models/payout/schemas.d.ts +0 -156
  192. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  193. package/esm/src/models/payout/schemas.js +0 -105
  194. package/esm/src/models/payout/status.d.ts +0 -33
  195. package/esm/src/models/payout/status.d.ts.map +0 -1
  196. package/esm/src/models/payout/status.js +0 -34
  197. package/esm/src/models/permission.d.ts.map +0 -1
  198. package/esm/src/models/permission.js +0 -50
  199. package/esm/src/models/role.d.ts +0 -21
  200. package/esm/src/models/role.d.ts.map +0 -1
  201. package/esm/src/models/role.js +0 -73
  202. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  203. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  204. package/esm/src/models/user/authenticated-user.js +0 -226
  205. package/esm/src/models/user/index.d.ts +0 -4
  206. package/esm/src/models/user/index.d.ts.map +0 -1
  207. package/esm/src/models/user/index.js +0 -3
  208. package/esm/src/models/user/managed-user.d.ts +0 -108
  209. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  210. package/esm/src/models/user/managed-user.js +0 -255
  211. package/esm/src/models/user/profile.d.ts +0 -161
  212. package/esm/src/models/user/profile.d.ts.map +0 -1
  213. package/esm/src/models/user/profile.js +0 -334
  214. package/esm/src/models/wallet/index.d.ts +0 -4
  215. package/esm/src/models/wallet/index.d.ts.map +0 -1
  216. package/esm/src/models/wallet/index.js +0 -3
  217. package/esm/src/models/wallet/schemas.d.ts +0 -95
  218. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  219. package/esm/src/models/wallet/schemas.js +0 -35
  220. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  221. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  222. package/esm/src/models/wallet/statement_entry.js +0 -255
  223. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  224. package/esm/src/models/wallet/wallet.js +0 -279
  225. package/esm/src/shared/base_repository.d.ts +0 -80
  226. package/esm/src/shared/base_repository.d.ts.map +0 -1
  227. package/esm/src/shared/base_repository.js +0 -153
  228. package/esm/src/shared/common_responses.d.ts +0 -13
  229. package/esm/src/shared/common_responses.d.ts.map +0 -1
  230. package/esm/src/shared/common_responses.js +0 -10
  231. package/esm/src/shared/index.d.ts +0 -3
  232. package/esm/src/shared/index.d.ts.map +0 -1
  233. package/esm/src/shared/index.js +0 -2
  234. package/esm/src/shared/token_required_repository.d.ts +0 -78
  235. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  236. package/esm/src/shared/token_required_repository.js +0 -128
  237. package/script/mod.d.ts +0 -8
  238. package/script/mod.d.ts.map +0 -1
  239. package/script/mod.js +0 -23
  240. package/script/npm/src/mod.d.ts +0 -8
  241. package/script/npm/src/mod.d.ts.map +0 -1
  242. package/script/npm/src/mod.js +0 -23
  243. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  244. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  245. package/script/npm/src/src/errors/api_error.js +0 -94
  246. package/script/npm/src/src/errors/index.d.ts +0 -3
  247. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  248. package/script/npm/src/src/errors/index.js +0 -18
  249. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  250. package/script/npm/src/src/errors/permission_error.js +0 -74
  251. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  252. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  253. package/script/npm/src/src/features/admin/contract.js +0 -213
  254. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  255. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  256. package/script/npm/src/src/features/admin/index.js +0 -19
  257. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  258. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  259. package/script/npm/src/src/features/admin/repository.js +0 -252
  260. package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
  261. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  262. package/script/npm/src/src/features/admin/schemas.js +0 -209
  263. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  264. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  265. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  266. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  267. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  268. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  269. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  270. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  271. package/script/npm/src/src/features/auth/contract.js +0 -46
  272. package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
  273. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  274. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  275. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  276. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  277. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  278. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  279. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  280. package/script/npm/src/src/features/auth/index.js +0 -21
  281. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  282. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  283. package/script/npm/src/src/features/auth/manager.js +0 -185
  284. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  285. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  286. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  287. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  288. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  289. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  290. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  291. package/script/npm/src/src/features/auth/repository.js +0 -73
  292. package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
  293. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  294. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  295. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  296. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  297. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  298. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  299. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  300. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  301. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  302. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  303. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  304. package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
  305. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  306. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  307. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  308. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  309. package/script/npm/src/src/features/contact/contract.js +0 -52
  310. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  311. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  312. package/script/npm/src/src/features/contact/index.js +0 -17
  313. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  314. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  315. package/script/npm/src/src/features/contact/repository.js +0 -112
  316. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  317. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  318. package/script/npm/src/src/features/payout/contract.js +0 -78
  319. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  320. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  321. package/script/npm/src/src/features/payout/index.js +0 -17
  322. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  323. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  324. package/script/npm/src/src/features/payout/repository.js +0 -183
  325. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  326. package/script/npm/src/src/features/wallet/contract.js +0 -41
  327. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  328. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  329. package/script/npm/src/src/features/wallet/index.js +0 -17
  330. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  331. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  332. package/script/npm/src/src/features/wallet/repository.js +0 -97
  333. package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
  334. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  335. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  336. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  337. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  338. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  339. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  340. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  341. package/script/npm/src/src/models/contact/index.js +0 -20
  342. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  343. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  344. package/script/npm/src/src/models/contact/schemas.js +0 -67
  345. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  346. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  347. package/script/npm/src/src/models/contact/validation.js +0 -153
  348. package/script/npm/src/src/models/index.d.ts +0 -7
  349. package/script/npm/src/src/models/index.d.ts.map +0 -1
  350. package/script/npm/src/src/models/index.js +0 -22
  351. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  352. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  353. package/script/npm/src/src/models/payout/api.js +0 -2
  354. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  355. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  356. package/script/npm/src/src/models/payout/channel.js +0 -56
  357. package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
  358. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  359. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
  360. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  361. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  362. package/script/npm/src/src/models/payout/index.js +0 -22
  363. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  364. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  365. package/script/npm/src/src/models/payout/narration.js +0 -312
  366. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  367. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  368. package/script/npm/src/src/models/payout/schemas.js +0 -108
  369. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  370. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  371. package/script/npm/src/src/models/payout/status.js +0 -37
  372. package/script/npm/src/src/models/permission.d.ts +0 -55
  373. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  374. package/script/npm/src/src/models/permission.js +0 -53
  375. package/script/npm/src/src/models/role.d.ts +0 -21
  376. package/script/npm/src/src/models/role.d.ts.map +0 -1
  377. package/script/npm/src/src/models/role.js +0 -77
  378. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  379. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  380. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  381. package/script/npm/src/src/models/user/index.d.ts +0 -4
  382. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  383. package/script/npm/src/src/models/user/index.js +0 -19
  384. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  385. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  386. package/script/npm/src/src/models/user/managed-user.js +0 -260
  387. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  388. package/script/npm/src/src/models/user/profile.js +0 -338
  389. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  390. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  391. package/script/npm/src/src/models/wallet/index.js +0 -19
  392. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  393. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  394. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  395. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  396. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  397. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  398. package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
  399. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  400. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  401. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  402. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  403. package/script/npm/src/src/shared/base_repository.js +0 -157
  404. package/script/npm/src/src/shared/common_responses.d.ts +0 -13
  405. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  406. package/script/npm/src/src/shared/common_responses.js +0 -13
  407. package/script/npm/src/src/shared/index.d.ts +0 -3
  408. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  409. package/script/npm/src/src/shared/index.js +0 -18
  410. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  411. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  412. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  413. package/script/package.json +0 -3
@@ -1,67 +0,0 @@
1
- import { BaseRepository } from "../../shared/index.js";
2
- import { type PayoutAPI } from "./contract.js";
3
- import { type GetPayoutsAPIArgs, type PayoutInput } from "../../models/payout/index.js";
4
- import type { AfloatAuth } from "../auth/manager.js";
5
- import { Payout } from "../../models/payout/derivatives/payout.js";
6
- /**
7
- * Repository class for managing payout operations including creation, approval,
8
- * rejection, and retrieval of payouts.
9
- * @extends {BaseRepository<PayoutAPI>}
10
- */
11
- export declare class PayoutRepository extends BaseRepository<PayoutAPI> {
12
- /**
13
- * Creates an instance of PayoutRepository initialized with the payout contract.
14
- * @param {Object} [props] - Optional constructor properties
15
- * @param {AfloatAuth} [props.auth] - Optional auth instance to use
16
- */
17
- constructor(props?: {
18
- auth?: AfloatAuth;
19
- });
20
- /**
21
- * Retrieves a paginated list of payouts with optional filtering for pending status.
22
- * @param {GetPayoutsAPIArgs} [args] - Optional arguments for filtering and pagination
23
- * @param {number} [args.rangeStart=0] - Starting index for pagination
24
- * @param {number} [args.rangeEnd=10] - Ending index for pagination
25
- * @param {boolean} [args.pending] - Filter for pending payouts only
26
- * @throws {PermissionError} If user lacks the Payout.List permission
27
- * @throws {APIError} If range is invalid or if the fetch operation fails
28
- * @returns {Promise<{results: Payout[]; total: number}>} Paginated payout results and total count
29
- */
30
- getAll(args?: GetPayoutsAPIArgs): Promise<{
31
- results: Payout[];
32
- total: number;
33
- }>;
34
- /**
35
- * Creates a new payout with the provided input data.
36
- * @param {PayoutInput} input - The payout creation data
37
- * @throws {PermissionError} If user lacks the Payout.Create permission
38
- * @throws {APIError} If the input is invalid or if the creation operation fails
39
- * @returns {Promise<Payout>} The created payout
40
- */
41
- pay(input: PayoutInput): Promise<Payout>;
42
- /**
43
- * Approves a payout with optional notes.
44
- * @param {string} id - The ID of the payout to approve
45
- * @param {Object} [args] - Optional arguments
46
- * @param {string} [args.notes] - Optional notes for the approval
47
- * @throws {PermissionError} If user lacks the Payout.Approve permission
48
- * @throws {APIError} If payout is not found, already approved, or if the operation fails
49
- * @returns {Promise<Payout>} The approved payout
50
- */
51
- approve(id: string, args?: {
52
- notes?: string;
53
- }): Promise<Payout>;
54
- /**
55
- * Rejects a payout with optional notes.
56
- * @param {string} id - The ID of the payout to reject
57
- * @param {Object} [args] - Optional arguments
58
- * @param {string} [args.notes] - Optional notes for the rejection
59
- * @throws {PermissionError} If user lacks the Payout.Approve permission
60
- * @throws {APIError} If payout is not found, already rejected, or if the operation fails
61
- * @returns {Promise<Payout>} The rejected payout
62
- */
63
- reject(id: string, args?: {
64
- notes?: string;
65
- }): Promise<Payout>;
66
- }
67
- //# sourceMappingURL=repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/payout/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,SAAS,CAAC;IAC7D;;;;OAIG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE;IAIzC;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IA6CF;;;;;;OAMG;IACG,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAsC9C;;;;;;;;OAQG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCrE;;;;;;;;OAQG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CA+BrE"}
@@ -1,179 +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
- // Clean MSISDN: trim + remove all internal spaces (space, tab, newline)
84
- const sanitizeMsisdn = (value) => {
85
- if (!value)
86
- return value;
87
- return value
88
- .trim() // remove leading & trailing whitespace
89
- .replace(/\s+/g, ""); // remove ANY whitespace inside (spaces, tabs, newlines)
90
- };
91
- const body = {
92
- description: input.description?.trim(),
93
- amount: input.amount,
94
- channel: input.channel,
95
- msisdn: sanitizeMsisdn(input.msisdn),
96
- payeeName: input.payeeName?.trim(),
97
- notes: input.notes?.trim(),
98
- };
99
- const result = await this.client.postPayout({ body });
100
- if (result.status === 201)
101
- return Payout.create(result.body);
102
- if (result.status === 400) {
103
- throw new APIError(result.body);
104
- }
105
- throw APIError.unknown();
106
- }
107
- /**
108
- * Approves a payout with optional notes.
109
- * @param {string} id - The ID of the payout to approve
110
- * @param {Object} [args] - Optional arguments
111
- * @param {string} [args.notes] - Optional notes for the approval
112
- * @throws {PermissionError} If user lacks the Payout.Approve permission
113
- * @throws {APIError} If payout is not found, already approved, or if the operation fails
114
- * @returns {Promise<Payout>} The approved payout
115
- */
116
- async approve(id, args) {
117
- const auth = this.getAuthForPermissionCheck();
118
- const requiredPerm = Permissions.Payout.Approve;
119
- if (!auth.checkPermission(requiredPerm)) {
120
- throw new PermissionError({
121
- message: "You are not authorized to approve or reject payouts.",
122
- requiredPermissions: [requiredPerm],
123
- });
124
- }
125
- const result = await this.client.approve({
126
- params: { id },
127
- body: { action: "Approve", notes: args?.notes },
128
- });
129
- if (result.status === 201) {
130
- return Payout.create(result.body);
131
- }
132
- if (result.status === 404) {
133
- throw new APIError({ message: "Payout not found", statusCode: 404 });
134
- }
135
- if (result.status === 409) {
136
- throw new APIError({
137
- message: "Payout already approved",
138
- statusCode: 409,
139
- });
140
- }
141
- throw APIError.unknown();
142
- }
143
- /**
144
- * Rejects a payout with optional notes.
145
- * @param {string} id - The ID of the payout to reject
146
- * @param {Object} [args] - Optional arguments
147
- * @param {string} [args.notes] - Optional notes for the rejection
148
- * @throws {PermissionError} If user lacks the Payout.Approve permission
149
- * @throws {APIError} If payout is not found, already rejected, or if the operation fails
150
- * @returns {Promise<Payout>} The rejected payout
151
- */
152
- async reject(id, args) {
153
- const auth = this.getAuthForPermissionCheck();
154
- const requiredPerm = Permissions.Payout.Approve;
155
- if (!auth.checkPermission(requiredPerm)) {
156
- throw new PermissionError({
157
- message: "You are not authorized to approve or reject payouts.",
158
- requiredPermissions: [requiredPerm],
159
- });
160
- }
161
- const result = await this.client.approve({
162
- params: { id },
163
- body: { action: "Reject", notes: args?.notes },
164
- });
165
- if (result.status === 201) {
166
- return Payout.create(result.body);
167
- }
168
- if (result.status === 404) {
169
- throw new APIError({ message: "Payout not found", statusCode: 404 });
170
- }
171
- if (result.status === 409) {
172
- throw new APIError({
173
- message: "Payout already rejected",
174
- statusCode: 409,
175
- });
176
- }
177
- throw APIError.unknown();
178
- }
179
- }
@@ -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
- }