@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,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.contract = exports.DEFAULT_ORDER_BY_DESC = exports.DEFAULT_PAYOUT_API_EAGER = void 0;
4
- const index_js_1 = require("../../models/payout/index.js");
5
- const api_error_js_1 = require("../../errors/api_error.js");
6
- const core_1 = require("@ts-rest/core");
7
- const zod_1 = require("zod");
8
- /** Default eager loading settings for payout API */
9
- exports.DEFAULT_PAYOUT_API_EAGER = "[createdBy,actionedBy]";
10
- /** Default sort order for payout listings */
11
- exports.DEFAULT_ORDER_BY_DESC = "createdAt";
12
- /**
13
- * Payout management API contract
14
- * Defines endpoints for creating and managing payouts
15
- *
16
- * @property {Object} getPayouts - List payouts with filtering (GET /)
17
- * @property {Object} getPayoutsByApprovalStatus - List payouts by approval status (GET /)
18
- * @property {Object} postPayout - Create new payout (POST /)
19
- * @property {Object} approve - Approve/reject payout (POST /:id/approve)
20
- */
21
- exports.contract = (0, core_1.initContract)().router({
22
- getPayouts: {
23
- method: "GET",
24
- path: "",
25
- query: zod_1.z.object({
26
- rangeStart: zod_1.z.number(),
27
- rangeEnd: zod_1.z.number(),
28
- eager: zod_1.z.string(),
29
- approvalStatus: index_js_1.PayoutSchemas.payoutApprovalStatus.nullable().optional(),
30
- orderByDesc: zod_1.z.string(),
31
- }),
32
- responses: {
33
- 200: zod_1.z.object({
34
- results: zod_1.z.array(index_js_1.PayoutSchemas.payoutData),
35
- total: zod_1.z.number(),
36
- }),
37
- },
38
- },
39
- getPayoutsByApprovalStatus: {
40
- method: "GET",
41
- path: "",
42
- query: zod_1.z.object({
43
- rangeStart: zod_1.z.number(),
44
- rangeEnd: zod_1.z.number(),
45
- eager: zod_1.z.string(),
46
- approvalStatus: index_js_1.PayoutSchemas.payoutApprovalStatus,
47
- orderByDesc: zod_1.z.string(),
48
- }),
49
- responses: {
50
- 200: zod_1.z.object({
51
- results: zod_1.z.array(index_js_1.PayoutSchemas.payoutData),
52
- total: zod_1.z.number(),
53
- }),
54
- },
55
- },
56
- postPayout: {
57
- method: "POST",
58
- path: "",
59
- body: index_js_1.PayoutSchemas.payoutInput,
60
- responses: {
61
- 201: index_js_1.PayoutSchemas.payoutData,
62
- 400: api_error_js_1.APIError.schema,
63
- },
64
- },
65
- approve: {
66
- method: "POST",
67
- path: "/:id/approve",
68
- body: zod_1.z.object({
69
- action: zod_1.z.enum(["Approve", "Reject"]),
70
- notes: zod_1.z.string().optional(),
71
- }),
72
- responses: {
73
- 201: index_js_1.PayoutSchemas.payoutData,
74
- 404: zod_1.z.object({}),
75
- 409: zod_1.z.object({}),
76
- },
77
- },
78
- });
@@ -1,2 +0,0 @@
1
- export * from "./repository.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/payout/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./repository.js"), exports);
@@ -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,183 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PayoutRepository = void 0;
4
- const index_js_1 = require("../../shared/index.js");
5
- const contract_js_1 = require("./contract.js");
6
- const index_js_2 = require("../../models/payout/index.js");
7
- const permission_js_1 = require("../../models/permission.js");
8
- const index_js_3 = require("../../errors/index.js");
9
- const payout_js_1 = require("../../models/payout/derivatives/payout.js");
10
- /**
11
- * Repository class for managing payout operations including creation, approval,
12
- * rejection, and retrieval of payouts.
13
- * @extends {BaseRepository<PayoutAPI>}
14
- */
15
- class PayoutRepository extends index_js_1.BaseRepository {
16
- /**
17
- * Creates an instance of PayoutRepository initialized with the payout contract.
18
- * @param {Object} [props] - Optional constructor properties
19
- * @param {AfloatAuth} [props.auth] - Optional auth instance to use
20
- */
21
- constructor(props) {
22
- super("payout", contract_js_1.contract, { auth: props?.auth });
23
- }
24
- /**
25
- * Retrieves a paginated list of payouts with optional filtering for pending status.
26
- * @param {GetPayoutsAPIArgs} [args] - Optional arguments for filtering and pagination
27
- * @param {number} [args.rangeStart=0] - Starting index for pagination
28
- * @param {number} [args.rangeEnd=10] - Ending index for pagination
29
- * @param {boolean} [args.pending] - Filter for pending payouts only
30
- * @throws {PermissionError} If user lacks the Payout.List permission
31
- * @throws {APIError} If range is invalid or if the fetch operation fails
32
- * @returns {Promise<{results: Payout[]; total: number}>} Paginated payout results and total count
33
- */
34
- async getAll(args) {
35
- const auth = this.getAuthForPermissionCheck();
36
- const requiredPerm = permission_js_1.Permissions.Payout.List;
37
- if (!auth.checkPermission(requiredPerm)) {
38
- throw new index_js_3.PermissionError({
39
- message: "You are not authorized to view payouts.",
40
- requiredPermissions: [requiredPerm],
41
- });
42
- }
43
- const rangeStart = args?.rangeStart ?? 0;
44
- const rangeEnd = args?.rangeEnd ?? 10;
45
- const pendingStatus = index_js_2.PAYOUT_APPROVAL_STATUS.PENDING;
46
- const query = {
47
- rangeStart,
48
- rangeEnd,
49
- eager: "[createdBy,actionedBy]",
50
- orderByDesc: "createdAt",
51
- };
52
- if (args?.pending) {
53
- Object.assign(query, { approvalStatus: pendingStatus });
54
- }
55
- if (rangeEnd <= rangeStart) {
56
- throw new index_js_3.APIError({
57
- message: "Invalid range: end-date must be greater than start-date",
58
- statusCode: 400,
59
- });
60
- }
61
- const result = await this.client.getPayouts({ query: query });
62
- if (result.status === 200) {
63
- return {
64
- results: payout_js_1.Payout.createMany(result.body.results),
65
- total: result.body.total,
66
- };
67
- }
68
- throw index_js_3.APIError.unknown("An error occured while fetching payouts");
69
- }
70
- /**
71
- * Creates a new payout with the provided input data.
72
- * @param {PayoutInput} input - The payout creation data
73
- * @throws {PermissionError} If user lacks the Payout.Create permission
74
- * @throws {APIError} If the input is invalid or if the creation operation fails
75
- * @returns {Promise<Payout>} The created payout
76
- */
77
- async pay(input) {
78
- const auth = this.getAuthForPermissionCheck();
79
- const requiredPerm = permission_js_1.Permissions.Payout.Create;
80
- if (!auth.checkPermission(requiredPerm)) {
81
- throw new index_js_3.PermissionError({
82
- message: "You are not authorized to create payouts.",
83
- requiredPermissions: [requiredPerm],
84
- });
85
- }
86
- // Clean MSISDN: trim + remove all internal spaces (space, tab, newline)
87
- const sanitizeMsisdn = (value) => {
88
- if (!value)
89
- return value;
90
- return value
91
- .trim() // remove leading & trailing whitespace
92
- .replace(/\s+/g, ""); // remove ANY whitespace inside (spaces, tabs, newlines)
93
- };
94
- const body = {
95
- description: input.description?.trim(),
96
- amount: input.amount,
97
- channel: input.channel,
98
- msisdn: sanitizeMsisdn(input.msisdn),
99
- payeeName: input.payeeName?.trim(),
100
- notes: input.notes?.trim(),
101
- };
102
- const result = await this.client.postPayout({ body });
103
- if (result.status === 201)
104
- return payout_js_1.Payout.create(result.body);
105
- if (result.status === 400) {
106
- throw new index_js_3.APIError(result.body);
107
- }
108
- throw index_js_3.APIError.unknown();
109
- }
110
- /**
111
- * Approves a payout with optional notes.
112
- * @param {string} id - The ID of the payout to approve
113
- * @param {Object} [args] - Optional arguments
114
- * @param {string} [args.notes] - Optional notes for the approval
115
- * @throws {PermissionError} If user lacks the Payout.Approve permission
116
- * @throws {APIError} If payout is not found, already approved, or if the operation fails
117
- * @returns {Promise<Payout>} The approved payout
118
- */
119
- async approve(id, args) {
120
- const auth = this.getAuthForPermissionCheck();
121
- const requiredPerm = permission_js_1.Permissions.Payout.Approve;
122
- if (!auth.checkPermission(requiredPerm)) {
123
- throw new index_js_3.PermissionError({
124
- message: "You are not authorized to approve or reject payouts.",
125
- requiredPermissions: [requiredPerm],
126
- });
127
- }
128
- const result = await this.client.approve({
129
- params: { id },
130
- body: { action: "Approve", notes: args?.notes },
131
- });
132
- if (result.status === 201) {
133
- return payout_js_1.Payout.create(result.body);
134
- }
135
- if (result.status === 404) {
136
- throw new index_js_3.APIError({ message: "Payout not found", statusCode: 404 });
137
- }
138
- if (result.status === 409) {
139
- throw new index_js_3.APIError({
140
- message: "Payout already approved",
141
- statusCode: 409,
142
- });
143
- }
144
- throw index_js_3.APIError.unknown();
145
- }
146
- /**
147
- * Rejects a payout with optional notes.
148
- * @param {string} id - The ID of the payout to reject
149
- * @param {Object} [args] - Optional arguments
150
- * @param {string} [args.notes] - Optional notes for the rejection
151
- * @throws {PermissionError} If user lacks the Payout.Approve permission
152
- * @throws {APIError} If payout is not found, already rejected, or if the operation fails
153
- * @returns {Promise<Payout>} The rejected payout
154
- */
155
- async reject(id, args) {
156
- const auth = this.getAuthForPermissionCheck();
157
- const requiredPerm = permission_js_1.Permissions.Payout.Approve;
158
- if (!auth.checkPermission(requiredPerm)) {
159
- throw new index_js_3.PermissionError({
160
- message: "You are not authorized to approve or reject payouts.",
161
- requiredPermissions: [requiredPerm],
162
- });
163
- }
164
- const result = await this.client.approve({
165
- params: { id },
166
- body: { action: "Reject", notes: args?.notes },
167
- });
168
- if (result.status === 201) {
169
- return payout_js_1.Payout.create(result.body);
170
- }
171
- if (result.status === 404) {
172
- throw new index_js_3.APIError({ message: "Payout not found", statusCode: 404 });
173
- }
174
- if (result.status === 409) {
175
- throw new index_js_3.APIError({
176
- message: "Payout already rejected",
177
- statusCode: 409,
178
- });
179
- }
180
- throw index_js_3.APIError.unknown();
181
- }
182
- }
183
- exports.PayoutRepository = PayoutRepository;
@@ -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,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.contract = void 0;
4
- const zod_1 = require("zod");
5
- const core_1 = require("@ts-rest/core");
6
- const index_js_1 = require("../../models/wallet/index.js");
7
- exports.contract = (0, core_1.initContract)().router({
8
- getWallets: {
9
- method: "GET",
10
- path: "/",
11
- query: index_js_1.WalletSchemas.walletQuery,
12
- responses: {
13
- 200: zod_1.z.array(index_js_1.WalletSchemas.wallet),
14
- },
15
- },
16
- getBalance: {
17
- method: "POST",
18
- path: "/balance",
19
- body: zod_1.z.object({
20
- accountNo: zod_1.z.string().optional(),
21
- }),
22
- responses: {
23
- 201: zod_1.z.object({
24
- availableBalance: zod_1.z.coerce.number(),
25
- }),
26
- },
27
- },
28
- getStatement: {
29
- method: "POST",
30
- path: "/statement",
31
- summary: "Get Wallet Statement",
32
- body: zod_1.z.object({
33
- endDate: zod_1.z.date(),
34
- startDate: zod_1.z.date(),
35
- accountNo: zod_1.z.string().optional(),
36
- }),
37
- responses: {
38
- 201: zod_1.z.array(index_js_1.WalletSchemas.statementEntry),
39
- },
40
- },
41
- });
@@ -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,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./repository.js"), exports);
@@ -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,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WalletRepo = void 0;
4
- const base_repository_js_1 = require("../../shared/base_repository.js");
5
- const contract_js_1 = require("./contract.js");
6
- const index_js_1 = require("../../models/wallet/index.js");
7
- const permission_js_1 = require("../../models/permission.js");
8
- const index_js_2 = require("../../errors/index.js");
9
- /**
10
- * Repository class for managing wallet operations including balance checking,
11
- * statement generation, and wallet information retrieval.
12
- * @extends {BaseRepository<typeof contract>}
13
- */
14
- class WalletRepo extends base_repository_js_1.BaseRepository {
15
- /**
16
- * Creates an instance of WalletRepo initialized with the wallet contract.
17
- * @param {Object} [options] - Optional configuration
18
- * @param {string} [options.root] - Custom API root URL
19
- * @param {AfloatAuth} [options.auth] - Auth instance to use
20
- */
21
- constructor(props) {
22
- super("wallet", contract_js_1.contract, {
23
- root: props?.root,
24
- auth: props?.auth,
25
- });
26
- }
27
- /**
28
- * Retrieves the current available balance for the wallet.
29
- * @throws {PermissionError} If user lacks the ViewBalance permission
30
- * @throws {Error} If the balance fetch operation fails
31
- * @returns {Promise<number>} The available balance amount
32
- */
33
- async getBalance(props) {
34
- const auth = this.getAuthForPermissionCheck();
35
- const requirePerm = permission_js_1.Permissions.Wallet.ViewBalance;
36
- if (!auth.checkPermission(requirePerm)) {
37
- throw new index_js_2.PermissionError({
38
- message: "You are not authorized to view the account balance.",
39
- requiredPermissions: [requirePerm],
40
- });
41
- }
42
- const result = await this.client.getBalance({
43
- body: { accountNo: props.accountNo },
44
- });
45
- if (result.status === 201) {
46
- return result.body.availableBalance;
47
- }
48
- throw new Error("An error occured while fetching balance");
49
- }
50
- /**
51
- * Retrieves all wallets associated with the current context.
52
- * @throws {Error} If the wallet fetch operation fails
53
- * @returns {Promise<Wallet[]>} Array of wallet objects
54
- */
55
- async getWallets(args) {
56
- const result = await this.client.getWallets({ query: args });
57
- if (result.status === 200) {
58
- return result.body.map((w) => index_js_1.Wallet.from(w));
59
- }
60
- throw new Error("An error occured while fetching wallets");
61
- }
62
- /**
63
- * Retrieves wallet statement items for a specified date range and account.
64
- * If no range is provided, defaults to the current month (1st to 30th).
65
- * @param {Object} props - The statement request properties
66
- * @param {Object} [props.range] - Optional date range for the statement
67
- * @param {Date} props.range.startDate - Start date for the statement period
68
- * @param {Date} props.range.endDate - End date for the statement period
69
- * @param {string} [props.accountNo] - Optional account number to fetch statement for
70
- * @throws {PermissionError} If user lacks the ViewStatement permission
71
- * @throws {Error} If the statement fetch operation fails
72
- * @returns {Promise<WalletStatementEntry[]>} Array of statement items for the specified period
73
- */
74
- async getStatement(props) {
75
- const auth = this.getAuthForPermissionCheck();
76
- const requirePerm = permission_js_1.Permissions.Wallet.ViewStatement;
77
- if (!auth.checkPermission(requirePerm)) {
78
- throw new index_js_2.PermissionError({
79
- message: "You are not authorized to view the statement.",
80
- requiredPermissions: [requirePerm],
81
- });
82
- }
83
- const now = new Date();
84
- const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
85
- const monthEnd = new Date(now.getFullYear(), now.getMonth(), 30);
86
- const range = props.range !== undefined
87
- ? { startDate: props.range.startDate, endDate: props.range.endDate }
88
- : { startDate: monthStart, endDate: monthEnd };
89
- const body = { ...range, accountNo: props.accountNo };
90
- const result = await this.client.getStatement({ body });
91
- if (result.status === 201) {
92
- return result.body.map((e) => index_js_1.WalletStatementEntry.from(e));
93
- }
94
- throw new Error("An error occured while fetching statement");
95
- }
96
- }
97
- exports.WalletRepo = WalletRepo;