@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,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,53 +0,0 @@
1
- import { NetworkOperator } from "@temboplus/frontend-core";
2
- /**
3
- * Represents the available channels through which payouts can be processed.
4
- * @enum {string}
5
- * @readonly
6
- */
7
- export var PAYOUT_CHANNEL;
8
- (function (PAYOUT_CHANNEL) {
9
- /** Payment processed through mobile money services */
10
- PAYOUT_CHANNEL["MOBILE"] = "Mobile";
11
- /** Payment processed through traditional banking channels */
12
- PAYOUT_CHANNEL["BANK"] = "Bank";
13
- /** Payment processed through CRDB named account */
14
- PAYOUT_CHANNEL["CRDB_NAMED_ACC"] = "CRDB_NAMED_ACC";
15
- })(PAYOUT_CHANNEL || (PAYOUT_CHANNEL = {}));
16
- /**
17
- * Utility functions to create standardized payout channel codes
18
- *
19
- * @example
20
- * ```ts
21
- * // Create bank channel code
22
- * const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
23
- *
24
- * // Create mobile channel code
25
- * const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
26
- * ```
27
- */
28
- export const createPayoutChannelCode = {
29
- /**
30
- * Creates a bank transfer channel code
31
- * @returns {"TZ-BANK-B2C"} Standard bank transfer code
32
- */
33
- bank: () => "TZ-BANK-B2C",
34
- /**
35
- * Creates a Verto transfer channel code
36
- * @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
37
- */
38
- verto: () => "TZ-VERTO-B2C",
39
- /**
40
- * Creates a mobile money channel code based on the telecom provider
41
- * @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
42
- * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
43
- *
44
- * @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
45
- */
46
- mobile: function (phoneNumber) {
47
- //! fix: Channeling all Vodacom numbers to Tigo. Request from Mr. Tesha to solve some specific problem
48
- if (phoneNumber.networkOperator.id === NetworkOperator.VODACOM) {
49
- return `TZ-${NetworkOperator.TIGO.toString().toUpperCase()}-B2C`;
50
- }
51
- return `TZ-${phoneNumber.networkOperator.id.toString().toUpperCase()}-B2C`;
52
- },
53
- };
@@ -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,271 +0,0 @@
1
- import { Amount, Bank, TZPhoneNumber } from "@temboplus/frontend-core";
2
- import { PayoutSchemas } from "../schemas.js";
3
- import { BankContactInfo, MobileContactInfo, } from "../../contact/index.js";
4
- import { PAYOUT_STATUS, } from "../status.js";
5
- import { createPayoutChannelCode } from "../channel.js";
6
- /**
7
- * Payout class that wraps the Zod schema and provides additional functionality
8
- */
9
- export class Payout {
10
- /**
11
- * Private constructor - use static methods to create instances
12
- */
13
- constructor(data) {
14
- Object.defineProperty(this, "data", {
15
- enumerable: true,
16
- configurable: true,
17
- writable: true,
18
- value: void 0
19
- });
20
- this.data = PayoutSchemas.payoutData.parse(data);
21
- }
22
- // Getters for all properties
23
- /** Unique identifier for the payout */
24
- get id() {
25
- return this.data.id;
26
- }
27
- /** Profile identifier associated with this payout */
28
- get profileId() {
29
- return this.data.profileId;
30
- }
31
- /** Name of the payee/recipient */
32
- get payeeName() {
33
- return this.data.payeeName;
34
- }
35
- /** Payment channel used for this payout */
36
- get channel() {
37
- return this.data.channel;
38
- }
39
- /** Mobile number or bank account identifier */
40
- get msisdn() {
41
- return this.data.msisdn;
42
- }
43
- /**
44
- * Amount to be paid out
45
- * @returns {Amount} Amount object representing the payout value
46
- */
47
- get amount() {
48
- return Amount.from(this.data.amount);
49
- }
50
- /** Description of the payout purpose */
51
- get description() {
52
- return this.data.description;
53
- }
54
- /** Optional additional notes about the payout */
55
- get notes() {
56
- return this.data.notes;
57
- }
58
- /**
59
- * Current status of the payout
60
- * Derived from both approval status and transaction status:
61
- * - Returns REJECTED if approval status is "Rejected"
62
- * - Returns FAILED if approved but transaction failed
63
- * - Returns PAID if approved and transaction succeeded
64
- * - Returns PENDING if awaiting approval
65
- * - Falls back to transaction status in other cases
66
- *
67
- * @returns {PAYOUT_STATUS} Current status of the payout
68
- * @see {@link PAYOUT_STATUS} for all possible status values
69
- */
70
- get status() {
71
- if (this.data.approvalStatus === "Rejected") {
72
- return PAYOUT_STATUS.REJECTED;
73
- }
74
- if (this.data.approvalStatus === "Approved") {
75
- if (this.data.status === "FAILED") {
76
- return PAYOUT_STATUS.FAILED;
77
- }
78
- return PAYOUT_STATUS.PAID;
79
- }
80
- if (this.data.approvalStatus === "Pending") {
81
- return PAYOUT_STATUS.PENDING;
82
- }
83
- return this.data.status;
84
- }
85
- /** Status message providing details about current state */
86
- get statusMessage() {
87
- return this.data.statusMessage;
88
- }
89
- /** Optional reference ID from payment partner */
90
- get partnerReference() {
91
- return this.data.partnerReference;
92
- }
93
- /** Timestamp when payout was created */
94
- get createdAt() {
95
- return this.data.createdAt;
96
- }
97
- /** Timestamp when payout was last updated */
98
- get updatedAt() {
99
- return this.data.updatedAt;
100
- }
101
- /** Timestamp when payout was last updated */
102
- get actionedAt() {
103
- try {
104
- // deno-lint-ignore no-explicit-any
105
- return this.data.actionedAt ?? undefined;
106
- }
107
- catch (_) {
108
- return undefined;
109
- }
110
- }
111
- /** Current approval status of the payout */
112
- get approvalStatus() {
113
- return this.data.approvalStatus;
114
- }
115
- /** Information about who created the payout */
116
- get createdBy() {
117
- return this.data.createdBy;
118
- }
119
- /** Information about who last actioned the payout */
120
- get actionedBy() {
121
- return this.data.actionedBy;
122
- }
123
- /**
124
- * Constructs contact information based on payout channel
125
- *
126
- * @returns {ContactInfo | undefined} Contact information object:
127
- * - MobileContactInfo for mobile money payouts
128
- * - BankContactInfo for bank transfers
129
- * - undefined if contact info cannot be constructed
130
- *
131
- * @remarks
132
- * For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
133
- *
134
- * @example
135
- * ```ts
136
- * // Mobile payout
137
- * payout.contactInfo // Returns MobileContactInfo with phone details
138
- *
139
- * // Bank payout
140
- * payout.contactInfo // Returns BankContactInfo with bank and account details
141
- * ```
142
- */
143
- get contactInfo() {
144
- let contactInfo;
145
- // extracting mobile contact information
146
- const phone = TZPhoneNumber.from(this.data.msisdn);
147
- if (phone) {
148
- contactInfo = new MobileContactInfo(this.data.payeeName, phone);
149
- }
150
- // extracting bank contact information
151
- const isBankPayout = this.data.channel === createPayoutChannelCode.bank() ||
152
- this.data.channel === createPayoutChannelCode.verto();
153
- if (isBankPayout) {
154
- // getting bank information from payout msisdn
155
- const text = this.data.msisdn.trim().split(":");
156
- try {
157
- const swiftcode = text[0];
158
- const accNo = text[1];
159
- const bank = Bank.fromSWIFTCode(swiftcode);
160
- if (bank) {
161
- contactInfo = new BankContactInfo(this.data.payeeName, bank, accNo);
162
- }
163
- }
164
- catch (_) {
165
- //
166
- }
167
- }
168
- return contactInfo;
169
- }
170
- /**
171
- * Creates a Payout instance from raw data
172
- * @throws {ZodError} if validation fails
173
- */
174
- static create(data) {
175
- return new Payout(data);
176
- }
177
- /**
178
- * Creates multiple Payout instances from an array of raw data
179
- * @throws {ZodError} if validation fails for any item
180
- */
181
- static createMany(dataArray) {
182
- return dataArray.map((data) => new Payout(data));
183
- }
184
- /**
185
- * Creates a Payout instance from raw data without throwing
186
- * @returns {Payout | null} Payout instance or null if validation fails
187
- */
188
- static createSafe(data) {
189
- try {
190
- return new Payout(data);
191
- }
192
- catch {
193
- return null;
194
- }
195
- }
196
- /**
197
- * Checks if an unknown value contains valid data to construct a Payout instance.
198
- * This is useful when validating raw data structures before instantiation.
199
- *
200
- * @param {unknown} obj - The value containing potential payout data
201
- * @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
202
- *
203
- * @example
204
- * ```typescript
205
- * const rawData = await fetchPayoutData();
206
- * if (Payout.canConstruct(rawData)) {
207
- * const payout = Payout.create(rawData);
208
- * // TypeScript knows payout is valid here
209
- * console.log(payout.amount.toString());
210
- * }
211
- * ```
212
- *
213
- * @throws {never} This method never throws errors
214
- *
215
- * @remarks
216
- * This method performs strict validation against the {@link PayoutData} schema
217
- */
218
- static canConstruct(obj) {
219
- if (!obj || typeof obj !== "object")
220
- return false;
221
- const result = PayoutSchemas.payoutData.safeParse(obj);
222
- if (!result.success)
223
- return false;
224
- const payout = Payout.createSafe(result.data);
225
- return payout !== null;
226
- }
227
- /**
228
- * Validates if an unknown value is a Payout instance.
229
- * This is a runtime type guard that ensures proper object structure and data validity.
230
- *
231
- * @param {unknown} obj - The value to validate
232
- * @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
233
- *
234
- * @example
235
- * ```typescript
236
- * const maybePayout = getPayoutFromCache();
237
- * if (Payout.is(maybePayout)) {
238
- * // TypeScript knows maybePayout is a Payout here
239
- * console.log(maybePayout.status);
240
- * }
241
- * ```
242
- *
243
- * @throws {never} This method never throws errors
244
- *
245
- * @remarks
246
- * This method performs a complete structural validation:
247
- * 1. Checks if the value is an object
248
- * 2. Verifies presence of internal data property
249
- * 3. Validates the data against PayoutData schema
250
- * 4. Ensures the object is a proper Payout instance
251
- *
252
- * Use this method when:
253
- * - Validating cached Payout instances
254
- * - Checking serialized Payout objects
255
- * - Verifying API responses
256
- * - Type narrowing in conditional blocks
257
- */
258
- static is(obj) {
259
- if (!obj || typeof obj !== "object")
260
- return false;
261
- if (!("data" in obj))
262
- return false;
263
- return Payout.canConstruct(obj.data);
264
- }
265
- /**
266
- * Converts Payout instance to a plain object
267
- */
268
- toJSON() {
269
- return { ...this.data };
270
- }
271
- }
@@ -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,6 +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";