@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,29 +0,0 @@
1
- /**
2
- * Arguments for retrieving payouts from the API.
3
- *
4
- * @interface GetPayoutsAPIArgs
5
- *
6
- * @property {number} [rangeStart] - The starting index for pagination. If not provided, defaults to beginning.
7
- * @property {number} [rangeEnd] - The ending index for pagination. If not provided, defaults to 10.
8
- * @property {boolean} [pending] - Filter for pending payouts only. If true, returns only pending payouts.
9
- *
10
- * @example
11
- * ```ts
12
- * // Get first 10 payouts
13
- * const args: GetPayoutsAPIArgs = {
14
- * rangeStart: 0,
15
- * rangeEnd: 10
16
- * };
17
- *
18
- * // Get only pending payouts
19
- * const pendingArgs: GetPayoutsAPIArgs = {
20
- * pending: true
21
- * };
22
- * ```
23
- */
24
- export interface GetPayoutsAPIArgs {
25
- rangeStart?: number;
26
- rangeEnd?: number;
27
- pending?: boolean;
28
- }
29
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,58 +0,0 @@
1
- import { type TZPhoneNumber } from "@temboplus/frontend-core";
2
- /**
3
- * Represents the available channels through which payouts can be processed.
4
- * @enum {string}
5
- * @readonly
6
- */
7
- export declare enum PAYOUT_CHANNEL {
8
- /** Payment processed through mobile money services */
9
- MOBILE = "Mobile",
10
- /** Payment processed through traditional banking channels */
11
- BANK = "Bank",
12
- /** Payment processed through CRDB named account */
13
- CRDB_NAMED_ACC = "CRDB_NAMED_ACC"
14
- }
15
- /**
16
- * Valid payout channel codes that can be used in the system
17
- *
18
- * @remarks
19
- * - `TZ-BANK-B2C`: Code for bank transfers
20
- * - `TZ-VERTO-B2C`: Code for Verto transfers
21
- * - `TZ-${telecom}-B2C`: Pattern for mobile money transfers where the telecom company is the provider code
22
- *
23
- * @see {@link createPayoutChannelCode} for functions to generate valid codes
24
- */
25
- export type PayoutChannelCode = "TZ-BANK-B2C" | "TZ-VERTO-B2C" | `TZ-${string}-B2C`;
26
- /**
27
- * Utility functions to create standardized payout channel codes
28
- *
29
- * @example
30
- * ```ts
31
- * // Create bank channel code
32
- * const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
33
- *
34
- * // Create mobile channel code
35
- * const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
36
- * ```
37
- */
38
- export declare const createPayoutChannelCode: {
39
- /**
40
- * Creates a bank transfer channel code
41
- * @returns {"TZ-BANK-B2C"} Standard bank transfer code
42
- */
43
- bank: () => "TZ-BANK-B2C";
44
- /**
45
- * Creates a Verto transfer channel code
46
- * @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
47
- */
48
- verto: () => "TZ-VERTO-B2C";
49
- /**
50
- * Creates a mobile money channel code based on the telecom provider
51
- * @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
52
- * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
53
- *
54
- * @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
55
- */
56
- mobile: (phoneNumber: TZPhoneNumber) => PayoutChannelCode;
57
- };
58
- //# sourceMappingURL=channel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;;GAIG;AACH,oBAAY,cAAc;IACxB,sDAAsD;IACtD,MAAM,WAAW;IACjB,6DAA6D;IAC7D,IAAI,SAAS;IACb,mDAAmD;IACnD,cAAc,mBAAmB;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,cAAc,GACd,MAAM,MAAM,MAAM,CAAC;AAEvB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;gBACO,aAAa;IAEvB;;;OAGG;iBACQ,cAAc;IAEzB;;;;;;OAMG;0BAC4B,aAAa,KAAG,iBAAiB;CAOjE,CAAC"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPayoutChannelCode = exports.PAYOUT_CHANNEL = void 0;
4
- const frontend_core_1 = require("@temboplus/frontend-core");
5
- /**
6
- * Represents the available channels through which payouts can be processed.
7
- * @enum {string}
8
- * @readonly
9
- */
10
- var PAYOUT_CHANNEL;
11
- (function (PAYOUT_CHANNEL) {
12
- /** Payment processed through mobile money services */
13
- PAYOUT_CHANNEL["MOBILE"] = "Mobile";
14
- /** Payment processed through traditional banking channels */
15
- PAYOUT_CHANNEL["BANK"] = "Bank";
16
- /** Payment processed through CRDB named account */
17
- PAYOUT_CHANNEL["CRDB_NAMED_ACC"] = "CRDB_NAMED_ACC";
18
- })(PAYOUT_CHANNEL || (exports.PAYOUT_CHANNEL = PAYOUT_CHANNEL = {}));
19
- /**
20
- * Utility functions to create standardized payout channel codes
21
- *
22
- * @example
23
- * ```ts
24
- * // Create bank channel code
25
- * const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
26
- *
27
- * // Create mobile channel code
28
- * const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
29
- * ```
30
- */
31
- exports.createPayoutChannelCode = {
32
- /**
33
- * Creates a bank transfer channel code
34
- * @returns {"TZ-BANK-B2C"} Standard bank transfer code
35
- */
36
- bank: () => "TZ-BANK-B2C",
37
- /**
38
- * Creates a Verto transfer channel code
39
- * @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
40
- */
41
- verto: () => "TZ-VERTO-B2C",
42
- /**
43
- * Creates a mobile money channel code based on the telecom provider
44
- * @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
45
- * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
46
- *
47
- * @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
48
- */
49
- mobile: function (phoneNumber) {
50
- //! fix: Channeling all Vodacom numbers to Tigo. Request from Mr. Tesha to solve some specific problem
51
- if (phoneNumber.networkOperator.id === frontend_core_1.NetworkOperator.VODACOM) {
52
- return `TZ-${frontend_core_1.NetworkOperator.TIGO.toString().toUpperCase()}-B2C`;
53
- }
54
- return `TZ-${phoneNumber.networkOperator.id.toString().toUpperCase()}-B2C`;
55
- },
56
- };
@@ -1,158 +0,0 @@
1
- import { Amount } from "@temboplus/frontend-core";
2
- import type { PayoutApprover, PayoutData } from "../index.js";
3
- import { type ContactInfo } from "../../contact/index.js";
4
- import { type PAYOUT_APPROVAL_STATUS, PAYOUT_STATUS } from "../status.js";
5
- /**
6
- * Payout class that wraps the Zod schema and provides additional functionality
7
- */
8
- export declare class Payout {
9
- private readonly data;
10
- /**
11
- * Private constructor - use static methods to create instances
12
- */
13
- private constructor();
14
- /** Unique identifier for the payout */
15
- get id(): string;
16
- /** Profile identifier associated with this payout */
17
- get profileId(): string;
18
- /** Name of the payee/recipient */
19
- get payeeName(): string;
20
- /** Payment channel used for this payout */
21
- get channel(): string;
22
- /** Mobile number or bank account identifier */
23
- get msisdn(): string;
24
- /**
25
- * Amount to be paid out
26
- * @returns {Amount} Amount object representing the payout value
27
- */
28
- get amount(): Amount;
29
- /** Description of the payout purpose */
30
- get description(): string;
31
- /** Optional additional notes about the payout */
32
- get notes(): string | undefined;
33
- /**
34
- * Current status of the payout
35
- * Derived from both approval status and transaction status:
36
- * - Returns REJECTED if approval status is "Rejected"
37
- * - Returns FAILED if approved but transaction failed
38
- * - Returns PAID if approved and transaction succeeded
39
- * - Returns PENDING if awaiting approval
40
- * - Falls back to transaction status in other cases
41
- *
42
- * @returns {PAYOUT_STATUS} Current status of the payout
43
- * @see {@link PAYOUT_STATUS} for all possible status values
44
- */
45
- get status(): PAYOUT_STATUS;
46
- /** Status message providing details about current state */
47
- get statusMessage(): string;
48
- /** Optional reference ID from payment partner */
49
- get partnerReference(): string | undefined;
50
- /** Timestamp when payout was created */
51
- get createdAt(): Date;
52
- /** Timestamp when payout was last updated */
53
- get updatedAt(): Date;
54
- /** Timestamp when payout was last updated */
55
- get actionedAt(): Date | undefined;
56
- /** Current approval status of the payout */
57
- get approvalStatus(): PAYOUT_APPROVAL_STATUS;
58
- /** Information about who created the payout */
59
- get createdBy(): PayoutApprover | undefined;
60
- /** Information about who last actioned the payout */
61
- get actionedBy(): PayoutApprover | undefined;
62
- /**
63
- * Constructs contact information based on payout channel
64
- *
65
- * @returns {ContactInfo | undefined} Contact information object:
66
- * - MobileContactInfo for mobile money payouts
67
- * - BankContactInfo for bank transfers
68
- * - undefined if contact info cannot be constructed
69
- *
70
- * @remarks
71
- * For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
72
- *
73
- * @example
74
- * ```ts
75
- * // Mobile payout
76
- * payout.contactInfo // Returns MobileContactInfo with phone details
77
- *
78
- * // Bank payout
79
- * payout.contactInfo // Returns BankContactInfo with bank and account details
80
- * ```
81
- */
82
- get contactInfo(): ContactInfo | undefined;
83
- /**
84
- * Creates a Payout instance from raw data
85
- * @throws {ZodError} if validation fails
86
- */
87
- static create(data: PayoutData): Payout;
88
- /**
89
- * Creates multiple Payout instances from an array of raw data
90
- * @throws {ZodError} if validation fails for any item
91
- */
92
- static createMany(dataArray: PayoutData[]): Payout[];
93
- /**
94
- * Creates a Payout instance from raw data without throwing
95
- * @returns {Payout | null} Payout instance or null if validation fails
96
- */
97
- static createSafe(data: PayoutData): Payout | null;
98
- /**
99
- * Checks if an unknown value contains valid data to construct a Payout instance.
100
- * This is useful when validating raw data structures before instantiation.
101
- *
102
- * @param {unknown} obj - The value containing potential payout data
103
- * @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
104
- *
105
- * @example
106
- * ```typescript
107
- * const rawData = await fetchPayoutData();
108
- * if (Payout.canConstruct(rawData)) {
109
- * const payout = Payout.create(rawData);
110
- * // TypeScript knows payout is valid here
111
- * console.log(payout.amount.toString());
112
- * }
113
- * ```
114
- *
115
- * @throws {never} This method never throws errors
116
- *
117
- * @remarks
118
- * This method performs strict validation against the {@link PayoutData} schema
119
- */
120
- static canConstruct(obj: unknown): obj is Payout;
121
- /**
122
- * Validates if an unknown value is a Payout instance.
123
- * This is a runtime type guard that ensures proper object structure and data validity.
124
- *
125
- * @param {unknown} obj - The value to validate
126
- * @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
127
- *
128
- * @example
129
- * ```typescript
130
- * const maybePayout = getPayoutFromCache();
131
- * if (Payout.is(maybePayout)) {
132
- * // TypeScript knows maybePayout is a Payout here
133
- * console.log(maybePayout.status);
134
- * }
135
- * ```
136
- *
137
- * @throws {never} This method never throws errors
138
- *
139
- * @remarks
140
- * This method performs a complete structural validation:
141
- * 1. Checks if the value is an object
142
- * 2. Verifies presence of internal data property
143
- * 3. Validates the data against PayoutData schema
144
- * 4. Ensures the object is a proper Payout instance
145
- *
146
- * Use this method when:
147
- * - Validating cached Payout instances
148
- * - Checking serialized Payout objects
149
- * - Verifying API responses
150
- * - Type narrowing in conditional blocks
151
- */
152
- static is(obj: unknown): obj is Payout;
153
- /**
154
- * Converts Payout instance to a plain object
155
- */
156
- toJSON(): PayoutData;
157
- }
158
- //# sourceMappingURL=payout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"payout.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/models/payout/derivatives/payout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,sBAAsB,EAC3B,aAAa,EACd,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;OAEG;IACH,OAAO;IAKP,uCAAuC;IACvC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,kCAAkC;IAClC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,2CAA2C;IAC3C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,+CAA+C;IAC/C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,wCAAwC;IACxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,iDAAiD;IACjD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;;;;;;;;;;OAWG;IACH,IAAI,MAAM,IAAI,aAAa,CAe1B;IAED,2DAA2D;IAC3D,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,iDAAiD;IACjD,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,wCAAwC;IACxC,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,6CAA6C;IAC7C,IAAI,UAAU,IAAI,IAAI,GAAG,SAAS,CAOjC;IAED,4CAA4C;IAC5C,IAAI,cAAc,IAAI,sBAAsB,CAE3C;IAED,+CAA+C;IAC/C,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAE1C;IAED,qDAAqD;IACrD,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAE3C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CA+BzC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAIvC;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;IAIpD;;;OAGG;WACW,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAQzD;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAUvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAO7C;;OAEG;IACI,MAAM,IAAI,UAAU;CAG5B"}
@@ -1,275 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Payout = void 0;
4
- const frontend_core_1 = require("@temboplus/frontend-core");
5
- const schemas_js_1 = require("../schemas.js");
6
- const index_js_1 = require("../../contact/index.js");
7
- const status_js_1 = require("../status.js");
8
- const channel_js_1 = require("../channel.js");
9
- /**
10
- * Payout class that wraps the Zod schema and provides additional functionality
11
- */
12
- class Payout {
13
- /**
14
- * Private constructor - use static methods to create instances
15
- */
16
- constructor(data) {
17
- Object.defineProperty(this, "data", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: void 0
22
- });
23
- this.data = schemas_js_1.PayoutSchemas.payoutData.parse(data);
24
- }
25
- // Getters for all properties
26
- /** Unique identifier for the payout */
27
- get id() {
28
- return this.data.id;
29
- }
30
- /** Profile identifier associated with this payout */
31
- get profileId() {
32
- return this.data.profileId;
33
- }
34
- /** Name of the payee/recipient */
35
- get payeeName() {
36
- return this.data.payeeName;
37
- }
38
- /** Payment channel used for this payout */
39
- get channel() {
40
- return this.data.channel;
41
- }
42
- /** Mobile number or bank account identifier */
43
- get msisdn() {
44
- return this.data.msisdn;
45
- }
46
- /**
47
- * Amount to be paid out
48
- * @returns {Amount} Amount object representing the payout value
49
- */
50
- get amount() {
51
- return frontend_core_1.Amount.from(this.data.amount);
52
- }
53
- /** Description of the payout purpose */
54
- get description() {
55
- return this.data.description;
56
- }
57
- /** Optional additional notes about the payout */
58
- get notes() {
59
- return this.data.notes;
60
- }
61
- /**
62
- * Current status of the payout
63
- * Derived from both approval status and transaction status:
64
- * - Returns REJECTED if approval status is "Rejected"
65
- * - Returns FAILED if approved but transaction failed
66
- * - Returns PAID if approved and transaction succeeded
67
- * - Returns PENDING if awaiting approval
68
- * - Falls back to transaction status in other cases
69
- *
70
- * @returns {PAYOUT_STATUS} Current status of the payout
71
- * @see {@link PAYOUT_STATUS} for all possible status values
72
- */
73
- get status() {
74
- if (this.data.approvalStatus === "Rejected") {
75
- return status_js_1.PAYOUT_STATUS.REJECTED;
76
- }
77
- if (this.data.approvalStatus === "Approved") {
78
- if (this.data.status === "FAILED") {
79
- return status_js_1.PAYOUT_STATUS.FAILED;
80
- }
81
- return status_js_1.PAYOUT_STATUS.PAID;
82
- }
83
- if (this.data.approvalStatus === "Pending") {
84
- return status_js_1.PAYOUT_STATUS.PENDING;
85
- }
86
- return this.data.status;
87
- }
88
- /** Status message providing details about current state */
89
- get statusMessage() {
90
- return this.data.statusMessage;
91
- }
92
- /** Optional reference ID from payment partner */
93
- get partnerReference() {
94
- return this.data.partnerReference;
95
- }
96
- /** Timestamp when payout was created */
97
- get createdAt() {
98
- return this.data.createdAt;
99
- }
100
- /** Timestamp when payout was last updated */
101
- get updatedAt() {
102
- return this.data.updatedAt;
103
- }
104
- /** Timestamp when payout was last updated */
105
- get actionedAt() {
106
- try {
107
- // deno-lint-ignore no-explicit-any
108
- return this.data.actionedAt ?? undefined;
109
- }
110
- catch (_) {
111
- return undefined;
112
- }
113
- }
114
- /** Current approval status of the payout */
115
- get approvalStatus() {
116
- return this.data.approvalStatus;
117
- }
118
- /** Information about who created the payout */
119
- get createdBy() {
120
- return this.data.createdBy;
121
- }
122
- /** Information about who last actioned the payout */
123
- get actionedBy() {
124
- return this.data.actionedBy;
125
- }
126
- /**
127
- * Constructs contact information based on payout channel
128
- *
129
- * @returns {ContactInfo | undefined} Contact information object:
130
- * - MobileContactInfo for mobile money payouts
131
- * - BankContactInfo for bank transfers
132
- * - undefined if contact info cannot be constructed
133
- *
134
- * @remarks
135
- * For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
136
- *
137
- * @example
138
- * ```ts
139
- * // Mobile payout
140
- * payout.contactInfo // Returns MobileContactInfo with phone details
141
- *
142
- * // Bank payout
143
- * payout.contactInfo // Returns BankContactInfo with bank and account details
144
- * ```
145
- */
146
- get contactInfo() {
147
- let contactInfo;
148
- // extracting mobile contact information
149
- const phone = frontend_core_1.TZPhoneNumber.from(this.data.msisdn);
150
- if (phone) {
151
- contactInfo = new index_js_1.MobileContactInfo(this.data.payeeName, phone);
152
- }
153
- // extracting bank contact information
154
- const isBankPayout = this.data.channel === channel_js_1.createPayoutChannelCode.bank() ||
155
- this.data.channel === channel_js_1.createPayoutChannelCode.verto();
156
- if (isBankPayout) {
157
- // getting bank information from payout msisdn
158
- const text = this.data.msisdn.trim().split(":");
159
- try {
160
- const swiftcode = text[0];
161
- const accNo = text[1];
162
- const bank = frontend_core_1.Bank.fromSWIFTCode(swiftcode);
163
- if (bank) {
164
- contactInfo = new index_js_1.BankContactInfo(this.data.payeeName, bank, accNo);
165
- }
166
- }
167
- catch (_) {
168
- //
169
- }
170
- }
171
- return contactInfo;
172
- }
173
- /**
174
- * Creates a Payout instance from raw data
175
- * @throws {ZodError} if validation fails
176
- */
177
- static create(data) {
178
- return new Payout(data);
179
- }
180
- /**
181
- * Creates multiple Payout instances from an array of raw data
182
- * @throws {ZodError} if validation fails for any item
183
- */
184
- static createMany(dataArray) {
185
- return dataArray.map((data) => new Payout(data));
186
- }
187
- /**
188
- * Creates a Payout instance from raw data without throwing
189
- * @returns {Payout | null} Payout instance or null if validation fails
190
- */
191
- static createSafe(data) {
192
- try {
193
- return new Payout(data);
194
- }
195
- catch {
196
- return null;
197
- }
198
- }
199
- /**
200
- * Checks if an unknown value contains valid data to construct a Payout instance.
201
- * This is useful when validating raw data structures before instantiation.
202
- *
203
- * @param {unknown} obj - The value containing potential payout data
204
- * @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
205
- *
206
- * @example
207
- * ```typescript
208
- * const rawData = await fetchPayoutData();
209
- * if (Payout.canConstruct(rawData)) {
210
- * const payout = Payout.create(rawData);
211
- * // TypeScript knows payout is valid here
212
- * console.log(payout.amount.toString());
213
- * }
214
- * ```
215
- *
216
- * @throws {never} This method never throws errors
217
- *
218
- * @remarks
219
- * This method performs strict validation against the {@link PayoutData} schema
220
- */
221
- static canConstruct(obj) {
222
- if (!obj || typeof obj !== "object")
223
- return false;
224
- const result = schemas_js_1.PayoutSchemas.payoutData.safeParse(obj);
225
- if (!result.success)
226
- return false;
227
- const payout = Payout.createSafe(result.data);
228
- return payout !== null;
229
- }
230
- /**
231
- * Validates if an unknown value is a Payout instance.
232
- * This is a runtime type guard that ensures proper object structure and data validity.
233
- *
234
- * @param {unknown} obj - The value to validate
235
- * @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
236
- *
237
- * @example
238
- * ```typescript
239
- * const maybePayout = getPayoutFromCache();
240
- * if (Payout.is(maybePayout)) {
241
- * // TypeScript knows maybePayout is a Payout here
242
- * console.log(maybePayout.status);
243
- * }
244
- * ```
245
- *
246
- * @throws {never} This method never throws errors
247
- *
248
- * @remarks
249
- * This method performs a complete structural validation:
250
- * 1. Checks if the value is an object
251
- * 2. Verifies presence of internal data property
252
- * 3. Validates the data against PayoutData schema
253
- * 4. Ensures the object is a proper Payout instance
254
- *
255
- * Use this method when:
256
- * - Validating cached Payout instances
257
- * - Checking serialized Payout objects
258
- * - Verifying API responses
259
- * - Type narrowing in conditional blocks
260
- */
261
- static is(obj) {
262
- if (!obj || typeof obj !== "object")
263
- return false;
264
- if (!("data" in obj))
265
- return false;
266
- return Payout.canConstruct(obj.data);
267
- }
268
- /**
269
- * Converts Payout instance to a plain object
270
- */
271
- toJSON() {
272
- return { ...this.data };
273
- }
274
- }
275
- exports.Payout = Payout;
@@ -1,7 +0,0 @@
1
- export * from "./status.js";
2
- export * from "./schemas.js";
3
- export * from "./channel.js";
4
- export * from "./api.js";
5
- export * from "./narration.js";
6
- export * from "./derivatives/payout.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
@@ -1,22 +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("./status.js"), exports);
18
- __exportStar(require("./schemas.js"), exports);
19
- __exportStar(require("./channel.js"), exports);
20
- __exportStar(require("./api.js"), exports);
21
- __exportStar(require("./narration.js"), exports);
22
- __exportStar(require("./derivatives/payout.js"), exports);