@temboplus/afloat 0.1.77-beta.9 → 0.1.79

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 (415) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +42 -246
  3. package/esm/mod.d.ts +8 -0
  4. package/esm/mod.d.ts.map +1 -0
  5. package/esm/mod.js +7 -0
  6. package/esm/package.json +3 -0
  7. package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
  8. package/esm/src/errors/api_error.d.ts.map +1 -0
  9. package/esm/src/errors/api_error.js +90 -0
  10. package/esm/src/errors/index.d.ts +3 -0
  11. package/esm/src/errors/index.d.ts.map +1 -0
  12. package/esm/src/errors/index.js +2 -0
  13. package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
  14. package/esm/src/errors/permission_error.d.ts.map +1 -0
  15. package/esm/src/errors/permission_error.js +70 -0
  16. package/{dist/modules/team-member/team-member.contract.d.ts → esm/src/features/admin/contract.d.ts} +158 -233
  17. package/esm/src/features/admin/contract.d.ts.map +1 -0
  18. package/esm/src/features/admin/contract.js +210 -0
  19. package/esm/src/features/admin/index.d.ts +4 -0
  20. package/esm/src/features/admin/index.d.ts.map +1 -0
  21. package/esm/src/features/admin/index.js +3 -0
  22. package/esm/src/features/admin/repository.d.ts +114 -0
  23. package/esm/src/features/admin/repository.d.ts.map +1 -0
  24. package/esm/src/features/admin/repository.js +248 -0
  25. package/esm/src/features/admin/schemas.d.ts +146 -0
  26. package/esm/src/features/admin/schemas.d.ts.map +1 -0
  27. package/esm/src/features/admin/schemas.js +206 -0
  28. package/esm/src/features/auth/access/contract.d.ts +14 -0
  29. package/esm/src/features/auth/access/contract.d.ts.map +1 -0
  30. package/esm/src/features/auth/access/contract.js +14 -0
  31. package/esm/src/features/auth/access/repository.d.ts +11 -0
  32. package/esm/src/features/auth/access/repository.d.ts.map +1 -0
  33. package/esm/src/features/auth/access/repository.js +25 -0
  34. package/{dist/modules/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +19 -16
  35. package/esm/src/features/auth/contract.d.ts.map +1 -0
  36. package/esm/src/features/auth/contract.js +43 -0
  37. package/esm/src/features/auth/identity/contract.d.ts +23 -0
  38. package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
  39. package/esm/src/features/auth/identity/contract.js +17 -0
  40. package/esm/src/features/auth/identity/repository.d.ts +22 -0
  41. package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
  42. package/esm/src/features/auth/identity/repository.js +30 -0
  43. package/esm/src/features/auth/index.d.ts +6 -0
  44. package/esm/src/features/auth/index.d.ts.map +1 -0
  45. package/esm/src/features/auth/index.js +5 -0
  46. package/esm/src/features/auth/manager.d.ts +105 -0
  47. package/esm/src/features/auth/manager.d.ts.map +1 -0
  48. package/esm/src/features/auth/manager.js +181 -0
  49. package/{dist/modules/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
  50. package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
  51. package/esm/src/features/auth/profile/contract.js +14 -0
  52. package/esm/src/features/auth/profile/repository.d.ts +11 -0
  53. package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
  54. package/esm/src/features/auth/profile/repository.js +25 -0
  55. package/esm/src/features/auth/repository.d.ts +30 -0
  56. package/esm/src/features/auth/repository.d.ts.map +1 -0
  57. package/esm/src/features/auth/repository.js +69 -0
  58. package/{dist/modules/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +2 -1
  59. package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
  60. package/esm/src/features/auth/storage/client_store.js +46 -0
  61. package/{dist/modules/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +1 -0
  62. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  63. package/esm/src/features/auth/storage/client_token_handler.js +36 -0
  64. package/esm/src/features/auth/storage/server_store.d.ts +24 -0
  65. package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
  66. package/esm/src/features/auth/storage/server_store.js +34 -0
  67. package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
  68. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  69. package/esm/src/features/auth/storage/server_token_handler.js +115 -0
  70. package/{dist/modules → esm/src/features}/auth/storage/types.d.ts +2 -1
  71. package/esm/src/features/auth/storage/types.d.ts.map +1 -0
  72. package/esm/src/features/auth/storage/types.js +1 -0
  73. package/{dist/modules/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +55 -88
  74. package/esm/src/features/contact/contract.d.ts.map +1 -0
  75. package/esm/src/features/contact/contract.js +49 -0
  76. package/esm/src/features/contact/index.d.ts +2 -0
  77. package/esm/src/features/contact/index.d.ts.map +1 -0
  78. package/esm/src/features/contact/index.js +1 -0
  79. package/esm/src/features/contact/repository.d.ts +58 -0
  80. package/esm/src/features/contact/repository.d.ts.map +1 -0
  81. package/esm/src/features/contact/repository.js +108 -0
  82. package/{dist/modules/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +197 -340
  83. package/esm/src/features/payout/contract.d.ts.map +1 -0
  84. package/esm/src/features/payout/contract.js +75 -0
  85. package/esm/src/features/payout/index.d.ts +2 -0
  86. package/esm/src/features/payout/index.d.ts.map +1 -0
  87. package/esm/src/features/payout/index.js +1 -0
  88. package/esm/src/features/payout/repository.d.ts +67 -0
  89. package/esm/src/features/payout/repository.d.ts.map +1 -0
  90. package/esm/src/features/payout/repository.js +163 -0
  91. package/{dist/modules/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +11 -13
  92. package/esm/src/features/wallet/contract.d.ts.map +1 -0
  93. package/esm/src/features/wallet/contract.js +38 -0
  94. package/esm/src/features/wallet/index.d.ts +2 -0
  95. package/esm/src/features/wallet/index.d.ts.map +1 -0
  96. package/esm/src/features/wallet/index.js +1 -0
  97. package/esm/src/features/wallet/repository.d.ts +57 -0
  98. package/esm/src/features/wallet/repository.d.ts.map +1 -0
  99. package/esm/src/features/wallet/repository.js +93 -0
  100. package/esm/src/models/contact/derivatives/contact.d.ts +172 -0
  101. package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
  102. package/esm/src/models/contact/derivatives/contact.js +266 -0
  103. package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
  104. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  105. package/esm/src/models/contact/derivatives/contact_info.js +255 -0
  106. package/esm/src/models/contact/index.d.ts +5 -0
  107. package/esm/src/models/contact/index.d.ts.map +1 -0
  108. package/esm/src/models/contact/index.js +4 -0
  109. package/esm/src/models/contact/schemas.d.ts +66 -0
  110. package/esm/src/models/contact/schemas.d.ts.map +1 -0
  111. package/esm/src/models/contact/schemas.js +64 -0
  112. package/esm/src/models/contact/validation.d.ts +37 -0
  113. package/esm/src/models/contact/validation.d.ts.map +1 -0
  114. package/esm/src/models/contact/validation.js +146 -0
  115. package/esm/src/models/index.d.ts +7 -0
  116. package/esm/src/models/index.d.ts.map +1 -0
  117. package/esm/src/models/index.js +6 -0
  118. package/esm/src/models/payout/api.d.ts +29 -0
  119. package/esm/src/models/payout/api.d.ts.map +1 -0
  120. package/esm/src/models/payout/api.js +1 -0
  121. package/esm/src/models/payout/channel.d.ts +58 -0
  122. package/esm/src/models/payout/channel.d.ts.map +1 -0
  123. package/esm/src/models/payout/channel.js +53 -0
  124. package/esm/src/models/payout/derivatives/payout.d.ts +158 -0
  125. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
  126. package/esm/src/models/payout/derivatives/payout.js +271 -0
  127. package/esm/src/models/payout/index.d.ts +7 -0
  128. package/esm/src/models/payout/index.d.ts.map +1 -0
  129. package/esm/src/models/payout/index.js +6 -0
  130. package/esm/src/models/payout/narration.d.ts +164 -0
  131. package/esm/src/models/payout/narration.d.ts.map +1 -0
  132. package/esm/src/models/payout/narration.js +308 -0
  133. package/esm/src/models/payout/schemas.d.ts +156 -0
  134. package/esm/src/models/payout/schemas.d.ts.map +1 -0
  135. package/esm/src/models/payout/schemas.js +105 -0
  136. package/esm/src/models/payout/status.d.ts +33 -0
  137. package/esm/src/models/payout/status.d.ts.map +1 -0
  138. package/esm/src/models/payout/status.js +34 -0
  139. package/{dist/modules/login/permission.type.d.ts → esm/src/models/permission.d.ts} +9 -8
  140. package/esm/src/models/permission.d.ts.map +1 -0
  141. package/esm/src/models/permission.js +50 -0
  142. package/esm/src/models/role.d.ts +21 -0
  143. package/esm/src/models/role.d.ts.map +1 -0
  144. package/esm/src/models/role.js +73 -0
  145. package/esm/src/models/user/authenticated-user.d.ts +77 -0
  146. package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
  147. package/esm/src/models/user/authenticated-user.js +226 -0
  148. package/esm/src/models/user/index.d.ts +4 -0
  149. package/esm/src/models/user/index.d.ts.map +1 -0
  150. package/esm/src/models/user/index.js +3 -0
  151. package/esm/src/models/user/managed-user.d.ts +108 -0
  152. package/esm/src/models/user/managed-user.d.ts.map +1 -0
  153. package/esm/src/models/user/managed-user.js +255 -0
  154. package/{dist/modules/profile/profile.model.d.ts → esm/src/models/user/profile.d.ts} +52 -81
  155. package/esm/src/models/user/profile.d.ts.map +1 -0
  156. package/esm/src/models/user/profile.js +334 -0
  157. package/esm/src/models/wallet/index.d.ts +4 -0
  158. package/esm/src/models/wallet/index.d.ts.map +1 -0
  159. package/esm/src/models/wallet/index.js +3 -0
  160. package/esm/src/models/wallet/schemas.d.ts +95 -0
  161. package/esm/src/models/wallet/schemas.d.ts.map +1 -0
  162. package/esm/src/models/wallet/schemas.js +35 -0
  163. package/esm/src/models/wallet/statement_entry.d.ts +160 -0
  164. package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
  165. package/esm/src/models/wallet/statement_entry.js +255 -0
  166. package/{dist/modules/wallet/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +37 -31
  167. package/esm/src/models/wallet/wallet.d.ts.map +1 -0
  168. package/esm/src/models/wallet/wallet.js +279 -0
  169. package/esm/src/shared/base_repository.d.ts +80 -0
  170. package/esm/src/shared/base_repository.d.ts.map +1 -0
  171. package/esm/src/shared/base_repository.js +153 -0
  172. package/esm/src/shared/common_responses.d.ts +13 -0
  173. package/esm/src/shared/common_responses.d.ts.map +1 -0
  174. package/esm/src/shared/common_responses.js +10 -0
  175. package/esm/src/shared/index.d.ts +3 -0
  176. package/esm/src/shared/index.d.ts.map +1 -0
  177. package/esm/src/shared/index.js +2 -0
  178. package/esm/src/shared/token_required_repository.d.ts +78 -0
  179. package/esm/src/shared/token_required_repository.d.ts.map +1 -0
  180. package/esm/src/shared/token_required_repository.js +128 -0
  181. package/package.json +23 -49
  182. package/script/mod.d.ts +8 -0
  183. package/script/mod.d.ts.map +1 -0
  184. package/script/mod.js +23 -0
  185. package/script/npm/src/mod.d.ts +8 -0
  186. package/script/npm/src/mod.d.ts.map +1 -0
  187. package/script/npm/src/mod.js +23 -0
  188. package/script/npm/src/src/errors/api_error.d.ts +63 -0
  189. package/script/npm/src/src/errors/api_error.d.ts.map +1 -0
  190. package/script/npm/src/src/errors/api_error.js +94 -0
  191. package/script/npm/src/src/errors/index.d.ts +3 -0
  192. package/script/npm/src/src/errors/index.d.ts.map +1 -0
  193. package/script/npm/src/src/errors/index.js +18 -0
  194. package/script/npm/src/src/errors/permission_error.d.ts +48 -0
  195. package/script/npm/src/src/errors/permission_error.d.ts.map +1 -0
  196. package/script/npm/src/src/errors/permission_error.js +74 -0
  197. package/script/npm/src/src/features/admin/contract.d.ts +842 -0
  198. package/script/npm/src/src/features/admin/contract.d.ts.map +1 -0
  199. package/script/npm/src/src/features/admin/contract.js +213 -0
  200. package/script/npm/src/src/features/admin/index.d.ts +4 -0
  201. package/script/npm/src/src/features/admin/index.d.ts.map +1 -0
  202. package/script/npm/src/src/features/admin/index.js +19 -0
  203. package/script/npm/src/src/features/admin/repository.d.ts +114 -0
  204. package/script/npm/src/src/features/admin/repository.d.ts.map +1 -0
  205. package/script/npm/src/src/features/admin/repository.js +252 -0
  206. package/script/npm/src/src/features/admin/schemas.d.ts +146 -0
  207. package/script/npm/src/src/features/admin/schemas.d.ts.map +1 -0
  208. package/script/npm/src/src/features/admin/schemas.js +209 -0
  209. package/script/npm/src/src/features/auth/access/contract.d.ts +14 -0
  210. package/script/npm/src/src/features/auth/access/contract.d.ts.map +1 -0
  211. package/script/npm/src/src/features/auth/access/contract.js +17 -0
  212. package/script/npm/src/src/features/auth/access/repository.d.ts +11 -0
  213. package/script/npm/src/src/features/auth/access/repository.d.ts.map +1 -0
  214. package/script/npm/src/src/features/auth/access/repository.js +29 -0
  215. package/script/npm/src/src/features/auth/contract.d.ts +112 -0
  216. package/script/npm/src/src/features/auth/contract.d.ts.map +1 -0
  217. package/script/npm/src/src/features/auth/contract.js +46 -0
  218. package/script/npm/src/src/features/auth/identity/contract.d.ts +23 -0
  219. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +1 -0
  220. package/script/npm/src/src/features/auth/identity/contract.js +20 -0
  221. package/script/npm/src/src/features/auth/identity/repository.d.ts +22 -0
  222. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +1 -0
  223. package/script/npm/src/src/features/auth/identity/repository.js +34 -0
  224. package/script/npm/src/src/features/auth/index.d.ts +6 -0
  225. package/script/npm/src/src/features/auth/index.d.ts.map +1 -0
  226. package/script/npm/src/src/features/auth/index.js +21 -0
  227. package/script/npm/src/src/features/auth/manager.d.ts +105 -0
  228. package/script/npm/src/src/features/auth/manager.d.ts.map +1 -0
  229. package/script/npm/src/src/features/auth/manager.js +185 -0
  230. package/script/npm/src/src/features/auth/profile/contract.d.ts +37 -0
  231. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +1 -0
  232. package/script/npm/src/src/features/auth/profile/contract.js +17 -0
  233. package/script/npm/src/src/features/auth/profile/repository.d.ts +11 -0
  234. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +1 -0
  235. package/script/npm/src/src/features/auth/profile/repository.js +29 -0
  236. package/script/npm/src/src/features/auth/repository.d.ts +30 -0
  237. package/script/npm/src/src/features/auth/repository.d.ts.map +1 -0
  238. package/script/npm/src/src/features/auth/repository.js +73 -0
  239. package/script/npm/src/src/features/auth/storage/client_store.d.ts +30 -0
  240. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +1 -0
  241. package/script/npm/src/src/features/auth/storage/client_store.js +51 -0
  242. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +32 -0
  243. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  244. package/script/npm/src/src/features/auth/storage/client_token_handler.js +40 -0
  245. package/script/npm/src/src/features/auth/storage/server_store.d.ts +24 -0
  246. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +1 -0
  247. package/script/npm/src/src/features/auth/storage/server_store.js +38 -0
  248. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +36 -0
  249. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  250. package/script/npm/src/src/features/auth/storage/server_token_handler.js +119 -0
  251. package/script/npm/src/src/features/auth/storage/types.d.ts +42 -0
  252. package/script/npm/src/src/features/auth/storage/types.d.ts.map +1 -0
  253. package/script/npm/src/src/features/auth/storage/types.js +2 -0
  254. package/script/npm/src/src/features/contact/contract.d.ts +170 -0
  255. package/script/npm/src/src/features/contact/contract.d.ts.map +1 -0
  256. package/script/npm/src/src/features/contact/contract.js +52 -0
  257. package/script/npm/src/src/features/contact/index.d.ts +2 -0
  258. package/script/npm/src/src/features/contact/index.d.ts.map +1 -0
  259. package/script/npm/src/src/features/contact/index.js +17 -0
  260. package/script/npm/src/src/features/contact/repository.d.ts +58 -0
  261. package/script/npm/src/src/features/contact/repository.d.ts.map +1 -0
  262. package/script/npm/src/src/features/contact/repository.js +112 -0
  263. package/script/npm/src/src/features/payout/contract.d.ts +623 -0
  264. package/script/npm/src/src/features/payout/contract.d.ts.map +1 -0
  265. package/script/npm/src/src/features/payout/contract.js +78 -0
  266. package/script/npm/src/src/features/payout/index.d.ts +2 -0
  267. package/script/npm/src/src/features/payout/index.d.ts.map +1 -0
  268. package/script/npm/src/src/features/payout/index.js +17 -0
  269. package/script/npm/src/src/features/payout/repository.d.ts +67 -0
  270. package/script/npm/src/src/features/payout/repository.d.ts.map +1 -0
  271. package/script/npm/src/src/features/payout/repository.js +167 -0
  272. package/script/npm/src/src/features/wallet/contract.d.ts +137 -0
  273. package/script/npm/src/src/features/wallet/contract.d.ts.map +1 -0
  274. package/script/npm/src/src/features/wallet/contract.js +41 -0
  275. package/script/npm/src/src/features/wallet/index.d.ts +2 -0
  276. package/script/npm/src/src/features/wallet/index.d.ts.map +1 -0
  277. package/script/npm/src/src/features/wallet/index.js +17 -0
  278. package/script/npm/src/src/features/wallet/repository.d.ts +57 -0
  279. package/script/npm/src/src/features/wallet/repository.d.ts.map +1 -0
  280. package/script/npm/src/src/features/wallet/repository.js +97 -0
  281. package/script/npm/src/src/models/contact/derivatives/contact.d.ts +172 -0
  282. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +1 -0
  283. package/script/npm/src/src/models/contact/derivatives/contact.js +270 -0
  284. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +188 -0
  285. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  286. package/script/npm/src/src/models/contact/derivatives/contact_info.js +260 -0
  287. package/script/npm/src/src/models/contact/index.d.ts +5 -0
  288. package/script/npm/src/src/models/contact/index.d.ts.map +1 -0
  289. package/script/npm/src/src/models/contact/index.js +20 -0
  290. package/script/npm/src/src/models/contact/schemas.d.ts +66 -0
  291. package/script/npm/src/src/models/contact/schemas.d.ts.map +1 -0
  292. package/script/npm/src/src/models/contact/schemas.js +67 -0
  293. package/script/npm/src/src/models/contact/validation.d.ts +37 -0
  294. package/script/npm/src/src/models/contact/validation.d.ts.map +1 -0
  295. package/script/npm/src/src/models/contact/validation.js +153 -0
  296. package/script/npm/src/src/models/index.d.ts +7 -0
  297. package/script/npm/src/src/models/index.d.ts.map +1 -0
  298. package/script/npm/src/src/models/index.js +22 -0
  299. package/script/npm/src/src/models/payout/api.d.ts +29 -0
  300. package/script/npm/src/src/models/payout/api.d.ts.map +1 -0
  301. package/script/npm/src/src/models/payout/api.js +2 -0
  302. package/script/npm/src/src/models/payout/channel.d.ts +58 -0
  303. package/script/npm/src/src/models/payout/channel.d.ts.map +1 -0
  304. package/script/npm/src/src/models/payout/channel.js +56 -0
  305. package/script/npm/src/src/models/payout/derivatives/payout.d.ts +158 -0
  306. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +1 -0
  307. package/script/npm/src/src/models/payout/derivatives/payout.js +275 -0
  308. package/script/npm/src/src/models/payout/index.d.ts +7 -0
  309. package/script/npm/src/src/models/payout/index.d.ts.map +1 -0
  310. package/script/npm/src/src/models/payout/index.js +22 -0
  311. package/script/npm/src/src/models/payout/narration.d.ts +164 -0
  312. package/script/npm/src/src/models/payout/narration.d.ts.map +1 -0
  313. package/script/npm/src/src/models/payout/narration.js +312 -0
  314. package/script/npm/src/src/models/payout/schemas.d.ts +156 -0
  315. package/script/npm/src/src/models/payout/schemas.d.ts.map +1 -0
  316. package/script/npm/src/src/models/payout/schemas.js +108 -0
  317. package/script/npm/src/src/models/payout/status.d.ts +33 -0
  318. package/script/npm/src/src/models/payout/status.d.ts.map +1 -0
  319. package/script/npm/src/src/models/payout/status.js +37 -0
  320. package/script/npm/src/src/models/permission.d.ts +55 -0
  321. package/script/npm/src/src/models/permission.d.ts.map +1 -0
  322. package/script/npm/src/src/models/permission.js +53 -0
  323. package/script/npm/src/src/models/role.d.ts +21 -0
  324. package/script/npm/src/src/models/role.d.ts.map +1 -0
  325. package/script/npm/src/src/models/role.js +77 -0
  326. package/script/npm/src/src/models/user/authenticated-user.d.ts +77 -0
  327. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +1 -0
  328. package/script/npm/src/src/models/user/authenticated-user.js +230 -0
  329. package/script/npm/src/src/models/user/index.d.ts +4 -0
  330. package/script/npm/src/src/models/user/index.d.ts.map +1 -0
  331. package/script/npm/src/src/models/user/index.js +19 -0
  332. package/script/npm/src/src/models/user/managed-user.d.ts +108 -0
  333. package/script/npm/src/src/models/user/managed-user.d.ts.map +1 -0
  334. package/script/npm/src/src/models/user/managed-user.js +260 -0
  335. package/script/npm/src/src/models/user/profile.d.ts +161 -0
  336. package/script/npm/src/src/models/user/profile.d.ts.map +1 -0
  337. package/script/npm/src/src/models/user/profile.js +338 -0
  338. package/script/npm/src/src/models/wallet/index.d.ts +4 -0
  339. package/script/npm/src/src/models/wallet/index.d.ts.map +1 -0
  340. package/script/npm/src/src/models/wallet/index.js +19 -0
  341. package/script/npm/src/src/models/wallet/schemas.d.ts +95 -0
  342. package/script/npm/src/src/models/wallet/schemas.d.ts.map +1 -0
  343. package/script/npm/src/src/models/wallet/schemas.js +38 -0
  344. package/script/npm/src/src/models/wallet/statement_entry.d.ts +160 -0
  345. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +1 -0
  346. package/script/npm/src/src/models/wallet/statement_entry.js +259 -0
  347. package/script/npm/src/src/models/wallet/wallet.d.ts +147 -0
  348. package/script/npm/src/src/models/wallet/wallet.d.ts.map +1 -0
  349. package/script/npm/src/src/models/wallet/wallet.js +283 -0
  350. package/script/npm/src/src/shared/base_repository.d.ts +80 -0
  351. package/script/npm/src/src/shared/base_repository.d.ts.map +1 -0
  352. package/script/npm/src/src/shared/base_repository.js +157 -0
  353. package/script/npm/src/src/shared/common_responses.d.ts +13 -0
  354. package/script/npm/src/src/shared/common_responses.d.ts.map +1 -0
  355. package/script/npm/src/src/shared/common_responses.js +13 -0
  356. package/script/npm/src/src/shared/index.d.ts +3 -0
  357. package/script/npm/src/src/shared/index.d.ts.map +1 -0
  358. package/script/npm/src/src/shared/index.js +18 -0
  359. package/script/npm/src/src/shared/token_required_repository.d.ts +78 -0
  360. package/script/npm/src/src/shared/token_required_repository.d.ts.map +1 -0
  361. package/script/npm/src/src/shared/token_required_repository.js +132 -0
  362. package/script/package.json +3 -0
  363. package/dist/index.cjs.js +0 -2
  364. package/dist/index.cjs.js.map +0 -1
  365. package/dist/index.d.ts +0 -10
  366. package/dist/index.esm.js +0 -2
  367. package/dist/index.esm.js.map +0 -1
  368. package/dist/lib/api/base-repository.d.ts +0 -175
  369. package/dist/lib/api/index.d.ts +0 -1
  370. package/dist/lib/error/error.utils.d.ts +0 -22
  371. package/dist/lib/error/index.d.ts +0 -3
  372. package/dist/lib/query/index.d.ts +0 -4
  373. package/dist/lib/query/pagination/pagination.d.ts +0 -73
  374. package/dist/lib/query/pagination/pagination.schemas.d.ts +0 -83
  375. package/dist/lib/query/query.builder.d.ts +0 -71
  376. package/dist/lib/query/query.types.d.ts +0 -36
  377. package/dist/modules/auth/auth.manager.d.ts +0 -249
  378. package/dist/modules/auth/auth.repository.d.ts +0 -83
  379. package/dist/modules/auth/auth.store.d.ts +0 -139
  380. package/dist/modules/auth/company-membership.model.d.ts +0 -171
  381. package/dist/modules/auth/index.d.ts +0 -4
  382. package/dist/modules/auth/user.model.d.ts +0 -363
  383. package/dist/modules/contact/contact-info.model.d.ts +0 -485
  384. package/dist/modules/contact/contact-input-handler.d.ts +0 -16
  385. package/dist/modules/contact/contact.dtos.d.ts +0 -84
  386. package/dist/modules/contact/contact.model.d.ts +0 -441
  387. package/dist/modules/contact/contact.repository.d.ts +0 -116
  388. package/dist/modules/contact/index.d.ts +0 -4
  389. package/dist/modules/login/index.d.ts +0 -4
  390. package/dist/modules/login/login.api-contract.d.ts +0 -51
  391. package/dist/modules/login/login.dtos.d.ts +0 -85
  392. package/dist/modules/login/login.model.d.ts +0 -168
  393. package/dist/modules/login/login.repository.d.ts +0 -58
  394. package/dist/modules/payout/index.d.ts +0 -5
  395. package/dist/modules/payout/payout-channel-handler.d.ts +0 -82
  396. package/dist/modules/payout/payout.dtos.d.ts +0 -605
  397. package/dist/modules/payout/payout.model.d.ts +0 -379
  398. package/dist/modules/payout/payout.query.d.ts +0 -133
  399. package/dist/modules/payout/payout.repository.d.ts +0 -181
  400. package/dist/modules/profile/index.d.ts +0 -3
  401. package/dist/modules/profile/profile.dtos.d.ts +0 -80
  402. package/dist/modules/profile/profile.repository.d.ts +0 -56
  403. package/dist/modules/team-member/index.d.ts +0 -4
  404. package/dist/modules/team-member/role.model.d.ts +0 -61
  405. package/dist/modules/team-member/team-member.dtos.d.ts +0 -261
  406. package/dist/modules/team-member/team-member.model.d.ts +0 -237
  407. package/dist/modules/team-member/team-member.repository.d.ts +0 -179
  408. package/dist/modules/wallet/index.d.ts +0 -7
  409. package/dist/modules/wallet/narration.model.d.ts +0 -225
  410. package/dist/modules/wallet/statement-entry.model.d.ts +0 -299
  411. package/dist/modules/wallet/wallet-manager.session.d.ts +0 -143
  412. package/dist/modules/wallet/wallet.dtos.d.ts +0 -204
  413. package/dist/modules/wallet/wallet.query.d.ts +0 -95
  414. package/dist/modules/wallet/wallet.repository.d.ts +0 -205
  415. package/dist/modules/wallet/wallet.utils.d.ts +0 -17
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateBankAccNo = exports.validateAccName = exports.ACC_NAME_VALIDATOR = exports.ACC_NUMBER_VALIDATOR = exports.ACCOUNT_NUMBER_REGEX = void 0;
4
+ /**
5
+ * Regular expression to validate account names.
6
+ *
7
+ * Key Criteria:
8
+ * 1. The name must consist of at least two words separated by one or more spaces.
9
+ * 2. Each word can include alphabetic characters (a-z, A-Z) and special characters like
10
+ * hyphens (-), apostrophes ('), periods (.), and other Unicode letters.
11
+ * 3. Words can be single letters (e.g., "A", "B") or longer.
12
+ * 4. The entire name must contain at least two alphabetic characters total.
13
+ * 5. Allow additional whitespace between words but disallow trailing or leading spaces.
14
+ * 6. Supports names with special characters (e.g., "O'Connor", "St. John", "María-José")
15
+ *
16
+ * Examples of valid names:
17
+ * - "John Doe"
18
+ * - "John A Doe"
19
+ * - "A B"
20
+ * - "Anna-Marie Johnson"
21
+ * - "Jean-Luc Picard"
22
+ * - "Mary O'Connor"
23
+ * - "St. John Smith"
24
+ * - "María José"
25
+ * - "François d'Arc"
26
+ * - "J Smith"
27
+ * - "John D"
28
+ * - "A Martinez"
29
+ *
30
+ * Examples of invalid names:
31
+ * - "John" (only one word)
32
+ * - "A" (only one word, less than 2 letters total)
33
+ * - "John123 Doe" (contains numeric characters)
34
+ * - " John Doe " (leading or trailing spaces)
35
+ * - "- -" (no alphabetic characters)
36
+ */
37
+ const ACCOUNT_NAME_REGEX = /^(?=.*\p{L}.*\p{L})[\p{L}]['\p{L}.-]*(?:\s+[\p{L}]['\p{L}.-]*)+$/u;
38
+ /**
39
+ * Regex pattern to validate account numbers.
40
+ * The account number must only contain letters and digits, between 6 and 20 characters long.
41
+ * @constant {RegExp}
42
+ */
43
+ exports.ACCOUNT_NUMBER_REGEX = /^[a-zA-Z0-9]{6,20}$/; // Only letters and digits, 6-20 characters
44
+ /**
45
+ * Validator for account number field.
46
+ * Ensures the account number is between 8-12 digits and numeric.
47
+ * @param {RuleObject} _ The rule object for validation (used by validation framework).
48
+ * @param {string} value The value to validate.
49
+ * @throws Will throw an error if validation fails.
50
+ */
51
+ const ACC_NUMBER_VALIDATOR = (rule, value) => {
52
+ const accNoString = value?.toString().trim();
53
+ // If field is empty/undefined/null
54
+ if (!accNoString) {
55
+ // Only throw if the field is required
56
+ if (rule.required) {
57
+ return Promise.reject(new Error("Account number is required."));
58
+ }
59
+ // If field is not required and empty, validation passes
60
+ return Promise.resolve(undefined);
61
+ }
62
+ const accNo = removeSpaces(accNoString);
63
+ const valid = (0, exports.validateBankAccNo)(accNo);
64
+ if (valid)
65
+ return Promise.resolve(accNo);
66
+ return Promise.reject(new Error("Invalid Account Number Format"));
67
+ };
68
+ exports.ACC_NUMBER_VALIDATOR = ACC_NUMBER_VALIDATOR;
69
+ /**
70
+ * Validator for account name field.
71
+ * Ensures the account name is at least 3 characters long and contains only letters and spaces.
72
+ * @param {RuleObject} _ The rule object for validation (used by validation framework).
73
+ * @param {string} value The value to validate.
74
+ * @throws Will throw an error if validation fails.
75
+ */
76
+ const ACC_NAME_VALIDATOR = (rule, value) => {
77
+ const accNameString = value?.toString().trim();
78
+ // If field is empty/undefined/null
79
+ if (!accNameString) {
80
+ // Only throw if the field is required
81
+ if (rule.required) {
82
+ return Promise.reject(new Error("Account name is required."));
83
+ }
84
+ // If field is not required and empty, validation passes
85
+ return Promise.resolve(undefined);
86
+ }
87
+ const accName = normalizeSpaces(accNameString);
88
+ const valid = (0, exports.validateAccName)(accName);
89
+ if (valid)
90
+ return Promise.resolve(accName);
91
+ return Promise.reject(new Error("Invalid account name. Examples: 'John Doe', 'Anna-Marie Smith'"));
92
+ };
93
+ exports.ACC_NAME_VALIDATOR = ACC_NAME_VALIDATOR;
94
+ /**
95
+ * Validates if the provided account name is valid.
96
+ * @param {string} [name] The account name to validate.
97
+ * @returns {boolean} `true` if valid, otherwise `false`.
98
+ */
99
+ const validateAccName = (name) => {
100
+ if (!name)
101
+ return false;
102
+ const accName = normalizeSpaces(name);
103
+ return Boolean(accName.length && ACCOUNT_NAME_REGEX.test(accName));
104
+ };
105
+ exports.validateAccName = validateAccName;
106
+ /**
107
+ * Validates if the provided account number is valid.
108
+ * The account number must be numeric and between 8-12 digits.
109
+ * @param {string} [accountNumber] The account number to validate.
110
+ * @returns {boolean} `true` if valid, otherwise `false`.
111
+ */
112
+ const validateBankAccNo = (accountNumber) => {
113
+ if (!accountNumber)
114
+ return false;
115
+ const normalizedNumber = removeSpaces(accountNumber);
116
+ return (normalizedNumber.length >= 6 && // Ensures minimum length of 6
117
+ normalizedNumber.length <= 20 && // Ensures maximum length of 20
118
+ exports.ACCOUNT_NUMBER_REGEX.test(normalizedNumber));
119
+ };
120
+ exports.validateBankAccNo = validateBankAccNo;
121
+ /**
122
+ * Normalizes spaces in a string by replacing multiple consecutive spaces
123
+ * with a single space, ensuring names are properly formatted.
124
+ *
125
+ * @param {string} input - The input string (e.g., a name) to process.
126
+ * @returns {string} A new string with multiple spaces replaced by a single space.
127
+ *
128
+ * @example
129
+ * normalizeSpaces("John Doe"); // Returns: "John Doe"
130
+ * normalizeSpaces("John M Doe"); // Returns: "John M Doe"
131
+ * normalizeSpaces(" John Doe "); // Returns: "John Doe" (trims leading and trailing spaces as well)
132
+ */
133
+ function normalizeSpaces(input) {
134
+ return input.trim().replace(/\s+/g, " ");
135
+ }
136
+ /**
137
+ * Removes all whitespace characters from the given string.
138
+ *
139
+ * This function replaces all occurrences of spaces, tabs, and other
140
+ * whitespace characters (including multiple spaces) in the input string
141
+ * with an empty string, effectively removing them.
142
+ *
143
+ * @param {string} input - The input string from which spaces should be removed.
144
+ * @returns {string} A new string with all whitespace characters removed.
145
+ *
146
+ * @example
147
+ * removeSpaces(" Hello World "); // Returns: "HelloWorld"
148
+ * removeSpaces("NoSpacesHere"); // Returns: "NoSpacesHere"
149
+ * removeSpaces(" "); // Returns: ""
150
+ */
151
+ function removeSpaces(input) {
152
+ return input.replace(/\s+/g, "");
153
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./permission.js";
2
+ export * from "./user/index.js";
3
+ export * from "./contact/index.js";
4
+ export * from "./payout/index.js";
5
+ export * from "./wallet/index.js";
6
+ export * from "./role.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,22 @@
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("./permission.js"), exports);
18
+ __exportStar(require("./user/index.js"), exports);
19
+ __exportStar(require("./contact/index.js"), exports);
20
+ __exportStar(require("./payout/index.js"), exports);
21
+ __exportStar(require("./wallet/index.js"), exports);
22
+ __exportStar(require("./role.js"), exports);
@@ -0,0 +1,29 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,58 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,56 @@
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
+ };
@@ -0,0 +1,158 @@
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
@@ -0,0 +1 @@
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"}