@temboplus/afloat 0.1.53 → 0.1.55

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 (453) hide show
  1. package/README.md +246 -42
  2. package/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
  3. package/{script/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
  4. package/dist/features/admin/admin.repository.d.ts +179 -0
  5. package/dist/features/admin/index.d.ts +2 -0
  6. package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
  7. package/dist/features/auth/access/access.repository.d.ts +55 -0
  8. package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
  9. package/dist/features/auth/auth.manager.d.ts +249 -0
  10. package/dist/features/auth/auth.repository.d.ts +66 -0
  11. package/dist/features/auth/auth.store.d.ts +139 -0
  12. package/{script/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
  13. package/dist/features/auth/identity/identity.repository.d.ts +58 -0
  14. package/dist/features/auth/index.d.ts +5 -0
  15. package/{script/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
  16. package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
  17. package/dist/features/auth/profile/profile.repository.d.ts +56 -0
  18. package/{esm/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
  19. package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
  20. package/{script/src → dist}/features/auth/storage/types.d.ts +1 -2
  21. package/dist/features/contact/contact-input-handler.d.ts +16 -0
  22. package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
  23. package/dist/features/contact/contact.dtos.d.ts +90 -0
  24. package/dist/features/contact/contact.repository.d.ts +116 -0
  25. package/dist/features/contact/index.d.ts +2 -0
  26. package/dist/features/payout/index.d.ts +3 -0
  27. package/dist/features/payout/payout-channel-handler.d.ts +108 -0
  28. package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
  29. package/dist/features/payout/payout.dtos.d.ts +365 -0
  30. package/dist/features/payout/payout.repository.d.ts +193 -0
  31. package/dist/features/wallet/index.d.ts +4 -0
  32. package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
  33. package/{script/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
  34. package/dist/features/wallet/wallet.dtos.d.ts +204 -0
  35. package/dist/features/wallet/wallet.repository.d.ts +120 -0
  36. package/dist/features/wallet/wallet.utils.d.ts +17 -0
  37. package/dist/index.cjs.js +2 -0
  38. package/dist/index.cjs.js.map +1 -0
  39. package/dist/index.d.ts +7 -0
  40. package/dist/index.esm.js +2 -0
  41. package/dist/index.esm.js.map +1 -0
  42. package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
  43. package/{script/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
  44. package/dist/lib/api/index.d.ts +2 -0
  45. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  46. package/{script/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  47. package/dist/lib/error/error.utils.d.ts +22 -0
  48. package/dist/lib/error/index.d.ts +3 -0
  49. package/dist/models/contact-info.model.d.ts +817 -0
  50. package/{script/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
  51. package/dist/models/index.d.ts +10 -0
  52. package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
  53. package/{script/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +13 -15
  54. package/{esm/src → dist}/models/permission.d.ts +1 -2
  55. package/{script/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
  56. package/{script/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
  57. package/dist/models/statement-entry.model.d.ts +195 -0
  58. package/{esm/src/models/user/authenticated-user.d.ts → dist/models/user.model.d.ts} +1 -2
  59. package/{script/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
  60. package/package.json +47 -26
  61. package/LICENSE +0 -7
  62. package/esm/_dnt.test_shims.d.ts.map +0 -1
  63. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  65. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  68. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  69. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  71. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  72. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  74. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  75. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  77. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  78. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  80. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  81. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  83. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  84. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  86. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  87. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  92. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  97. package/esm/mod.d.ts +0 -8
  98. package/esm/mod.d.ts.map +0 -1
  99. package/esm/mod.js +0 -7
  100. package/esm/package.json +0 -3
  101. package/esm/src/errors/api_error.d.ts.map +0 -1
  102. package/esm/src/errors/api_error.js +0 -90
  103. package/esm/src/errors/index.d.ts +0 -3
  104. package/esm/src/errors/index.d.ts.map +0 -1
  105. package/esm/src/errors/index.js +0 -2
  106. package/esm/src/errors/permission_error.d.ts +0 -48
  107. package/esm/src/errors/permission_error.d.ts.map +0 -1
  108. package/esm/src/errors/permission_error.js +0 -70
  109. package/esm/src/features/admin/contract.d.ts.map +0 -1
  110. package/esm/src/features/admin/contract.js +0 -210
  111. package/esm/src/features/admin/index.d.ts +0 -4
  112. package/esm/src/features/admin/index.d.ts.map +0 -1
  113. package/esm/src/features/admin/index.js +0 -3
  114. package/esm/src/features/admin/repository.d.ts +0 -114
  115. package/esm/src/features/admin/repository.d.ts.map +0 -1
  116. package/esm/src/features/admin/repository.js +0 -248
  117. package/esm/src/features/admin/schemas.d.ts +0 -146
  118. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  119. package/esm/src/features/admin/schemas.js +0 -206
  120. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  121. package/esm/src/features/auth/access/contract.js +0 -14
  122. package/esm/src/features/auth/contract.d.ts.map +0 -1
  123. package/esm/src/features/auth/contract.js +0 -43
  124. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  125. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  126. package/esm/src/features/auth/identity/contract.js +0 -17
  127. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  128. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  129. package/esm/src/features/auth/identity/repository.js +0 -30
  130. package/esm/src/features/auth/index.d.ts +0 -2
  131. package/esm/src/features/auth/index.d.ts.map +0 -1
  132. package/esm/src/features/auth/index.js +0 -1
  133. package/esm/src/features/auth/manager.d.ts +0 -105
  134. package/esm/src/features/auth/manager.d.ts.map +0 -1
  135. package/esm/src/features/auth/manager.js +0 -181
  136. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  137. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  138. package/esm/src/features/auth/profile/contract.js +0 -14
  139. package/esm/src/features/auth/repository.d.ts +0 -30
  140. package/esm/src/features/auth/repository.d.ts.map +0 -1
  141. package/esm/src/features/auth/repository.js +0 -69
  142. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  143. package/esm/src/features/auth/storage/client_store.js +0 -46
  144. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  145. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  146. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  147. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  148. package/esm/src/features/auth/storage/server_store.js +0 -34
  149. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  150. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  151. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  152. package/esm/src/features/auth/storage/types.d.ts +0 -42
  153. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  154. package/esm/src/features/auth/storage/types.js +0 -1
  155. package/esm/src/features/contact/contract.d.ts.map +0 -1
  156. package/esm/src/features/contact/contract.js +0 -49
  157. package/esm/src/features/contact/index.d.ts +0 -2
  158. package/esm/src/features/contact/index.d.ts.map +0 -1
  159. package/esm/src/features/contact/index.js +0 -1
  160. package/esm/src/features/contact/repository.d.ts +0 -58
  161. package/esm/src/features/contact/repository.d.ts.map +0 -1
  162. package/esm/src/features/contact/repository.js +0 -108
  163. package/esm/src/features/payout/contract.d.ts.map +0 -1
  164. package/esm/src/features/payout/contract.js +0 -75
  165. package/esm/src/features/payout/index.d.ts +0 -2
  166. package/esm/src/features/payout/index.d.ts.map +0 -1
  167. package/esm/src/features/payout/index.js +0 -1
  168. package/esm/src/features/payout/repository.d.ts +0 -67
  169. package/esm/src/features/payout/repository.d.ts.map +0 -1
  170. package/esm/src/features/payout/repository.js +0 -163
  171. package/esm/src/features/wallet/contract.d.ts +0 -137
  172. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  173. package/esm/src/features/wallet/contract.js +0 -38
  174. package/esm/src/features/wallet/index.d.ts +0 -2
  175. package/esm/src/features/wallet/index.d.ts.map +0 -1
  176. package/esm/src/features/wallet/index.js +0 -1
  177. package/esm/src/features/wallet/repository.d.ts +0 -57
  178. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  179. package/esm/src/features/wallet/repository.js +0 -93
  180. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  181. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  182. package/esm/src/models/contact/derivatives/contact.js +0 -266
  183. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  184. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  185. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  186. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  187. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  188. package/esm/src/models/contact/index.d.ts +0 -5
  189. package/esm/src/models/contact/index.d.ts.map +0 -1
  190. package/esm/src/models/contact/index.js +0 -4
  191. package/esm/src/models/contact/schemas.d.ts +0 -66
  192. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  193. package/esm/src/models/contact/schemas.js +0 -64
  194. package/esm/src/models/contact/validation.d.ts +0 -37
  195. package/esm/src/models/contact/validation.d.ts.map +0 -1
  196. package/esm/src/models/contact/validation.js +0 -139
  197. package/esm/src/models/contact/validation.test.d.ts.map +0 -1
  198. package/esm/src/models/index.d.ts +0 -7
  199. package/esm/src/models/index.d.ts.map +0 -1
  200. package/esm/src/models/index.js +0 -6
  201. package/esm/src/models/payout/api.d.ts +0 -29
  202. package/esm/src/models/payout/api.d.ts.map +0 -1
  203. package/esm/src/models/payout/api.js +0 -1
  204. package/esm/src/models/payout/channel.d.ts +0 -58
  205. package/esm/src/models/payout/channel.d.ts.map +0 -1
  206. package/esm/src/models/payout/channel.js +0 -53
  207. package/esm/src/models/payout/derivatives/payout.d.ts +0 -156
  208. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  209. package/esm/src/models/payout/derivatives/payout.js +0 -261
  210. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  211. package/esm/src/models/payout/index.d.ts +0 -6
  212. package/esm/src/models/payout/index.d.ts.map +0 -1
  213. package/esm/src/models/payout/index.js +0 -5
  214. package/esm/src/models/payout/schemas.d.ts +0 -156
  215. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  216. package/esm/src/models/payout/schemas.js +0 -105
  217. package/esm/src/models/payout/status.d.ts +0 -33
  218. package/esm/src/models/payout/status.d.ts.map +0 -1
  219. package/esm/src/models/payout/status.js +0 -34
  220. package/esm/src/models/permission.d.ts.map +0 -1
  221. package/esm/src/models/permission.js +0 -50
  222. package/esm/src/models/role.d.ts +0 -21
  223. package/esm/src/models/role.d.ts.map +0 -1
  224. package/esm/src/models/role.js +0 -73
  225. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  226. package/esm/src/models/user/authenticated-user.js +0 -226
  227. package/esm/src/models/user/index.d.ts +0 -4
  228. package/esm/src/models/user/index.d.ts.map +0 -1
  229. package/esm/src/models/user/index.js +0 -3
  230. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  231. package/esm/src/models/user/managed-user.js +0 -255
  232. package/esm/src/models/user/profile.d.ts +0 -161
  233. package/esm/src/models/user/profile.d.ts.map +0 -1
  234. package/esm/src/models/user/profile.js +0 -334
  235. package/esm/src/models/wallet/index.d.ts +0 -4
  236. package/esm/src/models/wallet/index.d.ts.map +0 -1
  237. package/esm/src/models/wallet/index.js +0 -3
  238. package/esm/src/models/wallet/schemas.d.ts +0 -95
  239. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  240. package/esm/src/models/wallet/schemas.js +0 -35
  241. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  242. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  243. package/esm/src/models/wallet/statement_entry.js +0 -255
  244. package/esm/src/models/wallet/wallet.d.ts +0 -147
  245. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  246. package/esm/src/models/wallet/wallet.js +0 -279
  247. package/esm/src/shared/base_repository.d.ts.map +0 -1
  248. package/esm/src/shared/base_repository.js +0 -153
  249. package/esm/src/shared/common_responses.d.ts +0 -13
  250. package/esm/src/shared/common_responses.d.ts.map +0 -1
  251. package/esm/src/shared/common_responses.js +0 -10
  252. package/esm/src/shared/index.d.ts +0 -3
  253. package/esm/src/shared/index.d.ts.map +0 -1
  254. package/esm/src/shared/index.js +0 -2
  255. package/esm/src/shared/token_required_repository.d.ts +0 -78
  256. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  257. package/esm/src/shared/token_required_repository.js +0 -128
  258. package/script/_dnt.test_shims.d.ts.map +0 -1
  259. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  260. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  261. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  262. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  263. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  264. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  265. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  266. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  267. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  268. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  269. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  270. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  271. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  272. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  273. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  274. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  275. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  276. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  277. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  278. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  279. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  280. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  281. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  282. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  283. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  284. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  285. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  286. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  287. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  288. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  289. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  290. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  291. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  292. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  293. package/script/mod.d.ts +0 -8
  294. package/script/mod.d.ts.map +0 -1
  295. package/script/mod.js +0 -23
  296. package/script/package.json +0 -3
  297. package/script/src/errors/api_error.d.ts +0 -63
  298. package/script/src/errors/api_error.d.ts.map +0 -1
  299. package/script/src/errors/api_error.js +0 -94
  300. package/script/src/errors/index.d.ts +0 -3
  301. package/script/src/errors/index.d.ts.map +0 -1
  302. package/script/src/errors/index.js +0 -18
  303. package/script/src/errors/permission_error.d.ts.map +0 -1
  304. package/script/src/errors/permission_error.js +0 -74
  305. package/script/src/features/admin/contract.d.ts +0 -842
  306. package/script/src/features/admin/contract.d.ts.map +0 -1
  307. package/script/src/features/admin/contract.js +0 -213
  308. package/script/src/features/admin/index.d.ts +0 -4
  309. package/script/src/features/admin/index.d.ts.map +0 -1
  310. package/script/src/features/admin/index.js +0 -19
  311. package/script/src/features/admin/repository.d.ts +0 -114
  312. package/script/src/features/admin/repository.d.ts.map +0 -1
  313. package/script/src/features/admin/repository.js +0 -252
  314. package/script/src/features/admin/schemas.d.ts.map +0 -1
  315. package/script/src/features/admin/schemas.js +0 -209
  316. package/script/src/features/auth/access/contract.d.ts +0 -14
  317. package/script/src/features/auth/access/contract.d.ts.map +0 -1
  318. package/script/src/features/auth/access/contract.js +0 -17
  319. package/script/src/features/auth/contract.d.ts +0 -112
  320. package/script/src/features/auth/contract.d.ts.map +0 -1
  321. package/script/src/features/auth/contract.js +0 -46
  322. package/script/src/features/auth/identity/contract.d.ts.map +0 -1
  323. package/script/src/features/auth/identity/contract.js +0 -20
  324. package/script/src/features/auth/identity/repository.d.ts +0 -22
  325. package/script/src/features/auth/identity/repository.d.ts.map +0 -1
  326. package/script/src/features/auth/identity/repository.js +0 -34
  327. package/script/src/features/auth/index.d.ts +0 -2
  328. package/script/src/features/auth/index.d.ts.map +0 -1
  329. package/script/src/features/auth/index.js +0 -17
  330. package/script/src/features/auth/manager.d.ts +0 -105
  331. package/script/src/features/auth/manager.d.ts.map +0 -1
  332. package/script/src/features/auth/manager.js +0 -185
  333. package/script/src/features/auth/profile/contract.d.ts.map +0 -1
  334. package/script/src/features/auth/profile/contract.js +0 -17
  335. package/script/src/features/auth/repository.d.ts +0 -30
  336. package/script/src/features/auth/repository.d.ts.map +0 -1
  337. package/script/src/features/auth/repository.js +0 -73
  338. package/script/src/features/auth/storage/client_store.d.ts +0 -30
  339. package/script/src/features/auth/storage/client_store.d.ts.map +0 -1
  340. package/script/src/features/auth/storage/client_store.js +0 -51
  341. package/script/src/features/auth/storage/client_token_handler.d.ts +0 -32
  342. package/script/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  343. package/script/src/features/auth/storage/client_token_handler.js +0 -40
  344. package/script/src/features/auth/storage/server_store.d.ts +0 -24
  345. package/script/src/features/auth/storage/server_store.d.ts.map +0 -1
  346. package/script/src/features/auth/storage/server_store.js +0 -38
  347. package/script/src/features/auth/storage/server_token_handler.d.ts +0 -36
  348. package/script/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  349. package/script/src/features/auth/storage/server_token_handler.js +0 -119
  350. package/script/src/features/auth/storage/types.d.ts.map +0 -1
  351. package/script/src/features/auth/storage/types.js +0 -2
  352. package/script/src/features/contact/contract.d.ts +0 -170
  353. package/script/src/features/contact/contract.d.ts.map +0 -1
  354. package/script/src/features/contact/contract.js +0 -52
  355. package/script/src/features/contact/index.d.ts +0 -2
  356. package/script/src/features/contact/index.d.ts.map +0 -1
  357. package/script/src/features/contact/index.js +0 -17
  358. package/script/src/features/contact/repository.d.ts +0 -58
  359. package/script/src/features/contact/repository.d.ts.map +0 -1
  360. package/script/src/features/contact/repository.js +0 -112
  361. package/script/src/features/payout/contract.d.ts +0 -623
  362. package/script/src/features/payout/contract.d.ts.map +0 -1
  363. package/script/src/features/payout/contract.js +0 -78
  364. package/script/src/features/payout/index.d.ts +0 -2
  365. package/script/src/features/payout/index.d.ts.map +0 -1
  366. package/script/src/features/payout/index.js +0 -17
  367. package/script/src/features/payout/repository.d.ts +0 -67
  368. package/script/src/features/payout/repository.d.ts.map +0 -1
  369. package/script/src/features/payout/repository.js +0 -167
  370. package/script/src/features/wallet/contract.d.ts.map +0 -1
  371. package/script/src/features/wallet/contract.js +0 -41
  372. package/script/src/features/wallet/index.d.ts +0 -2
  373. package/script/src/features/wallet/index.d.ts.map +0 -1
  374. package/script/src/features/wallet/index.js +0 -17
  375. package/script/src/features/wallet/repository.d.ts +0 -57
  376. package/script/src/features/wallet/repository.d.ts.map +0 -1
  377. package/script/src/features/wallet/repository.js +0 -97
  378. package/script/src/models/contact/derivatives/contact.d.ts.map +0 -1
  379. package/script/src/models/contact/derivatives/contact.js +0 -270
  380. package/script/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  381. package/script/src/models/contact/derivatives/contact_info.d.ts +0 -188
  382. package/script/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  383. package/script/src/models/contact/derivatives/contact_info.js +0 -260
  384. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  385. package/script/src/models/contact/index.d.ts +0 -5
  386. package/script/src/models/contact/index.d.ts.map +0 -1
  387. package/script/src/models/contact/index.js +0 -20
  388. package/script/src/models/contact/schemas.d.ts +0 -66
  389. package/script/src/models/contact/schemas.d.ts.map +0 -1
  390. package/script/src/models/contact/schemas.js +0 -67
  391. package/script/src/models/contact/validation.d.ts +0 -37
  392. package/script/src/models/contact/validation.d.ts.map +0 -1
  393. package/script/src/models/contact/validation.js +0 -146
  394. package/script/src/models/contact/validation.test.d.ts.map +0 -1
  395. package/script/src/models/index.d.ts +0 -7
  396. package/script/src/models/index.d.ts.map +0 -1
  397. package/script/src/models/index.js +0 -22
  398. package/script/src/models/payout/api.d.ts +0 -29
  399. package/script/src/models/payout/api.d.ts.map +0 -1
  400. package/script/src/models/payout/api.js +0 -2
  401. package/script/src/models/payout/channel.d.ts +0 -58
  402. package/script/src/models/payout/channel.d.ts.map +0 -1
  403. package/script/src/models/payout/channel.js +0 -56
  404. package/script/src/models/payout/derivatives/payout.d.ts.map +0 -1
  405. package/script/src/models/payout/derivatives/payout.js +0 -265
  406. package/script/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  407. package/script/src/models/payout/index.d.ts +0 -6
  408. package/script/src/models/payout/index.d.ts.map +0 -1
  409. package/script/src/models/payout/index.js +0 -21
  410. package/script/src/models/payout/schemas.d.ts +0 -156
  411. package/script/src/models/payout/schemas.d.ts.map +0 -1
  412. package/script/src/models/payout/schemas.js +0 -108
  413. package/script/src/models/payout/status.d.ts +0 -33
  414. package/script/src/models/payout/status.d.ts.map +0 -1
  415. package/script/src/models/payout/status.js +0 -37
  416. package/script/src/models/permission.d.ts +0 -55
  417. package/script/src/models/permission.d.ts.map +0 -1
  418. package/script/src/models/permission.js +0 -53
  419. package/script/src/models/role.d.ts.map +0 -1
  420. package/script/src/models/role.js +0 -77
  421. package/script/src/models/user/authenticated-user.d.ts +0 -77
  422. package/script/src/models/user/authenticated-user.d.ts.map +0 -1
  423. package/script/src/models/user/authenticated-user.js +0 -230
  424. package/script/src/models/user/index.d.ts +0 -4
  425. package/script/src/models/user/index.d.ts.map +0 -1
  426. package/script/src/models/user/index.js +0 -19
  427. package/script/src/models/user/managed-user.d.ts +0 -108
  428. package/script/src/models/user/managed-user.d.ts.map +0 -1
  429. package/script/src/models/user/managed-user.js +0 -260
  430. package/script/src/models/user/profile.d.ts.map +0 -1
  431. package/script/src/models/user/profile.js +0 -338
  432. package/script/src/models/wallet/index.d.ts +0 -4
  433. package/script/src/models/wallet/index.d.ts.map +0 -1
  434. package/script/src/models/wallet/index.js +0 -19
  435. package/script/src/models/wallet/schemas.d.ts +0 -95
  436. package/script/src/models/wallet/schemas.d.ts.map +0 -1
  437. package/script/src/models/wallet/schemas.js +0 -38
  438. package/script/src/models/wallet/statement_entry.d.ts +0 -160
  439. package/script/src/models/wallet/statement_entry.d.ts.map +0 -1
  440. package/script/src/models/wallet/statement_entry.js +0 -259
  441. package/script/src/models/wallet/wallet.d.ts.map +0 -1
  442. package/script/src/models/wallet/wallet.js +0 -283
  443. package/script/src/shared/base_repository.d.ts +0 -80
  444. package/script/src/shared/base_repository.d.ts.map +0 -1
  445. package/script/src/shared/base_repository.js +0 -157
  446. package/script/src/shared/common_responses.d.ts.map +0 -1
  447. package/script/src/shared/common_responses.js +0 -13
  448. package/script/src/shared/index.d.ts +0 -3
  449. package/script/src/shared/index.d.ts.map +0 -1
  450. package/script/src/shared/index.js +0 -18
  451. package/script/src/shared/token_required_repository.d.ts +0 -78
  452. package/script/src/shared/token_required_repository.d.ts.map +0 -1
  453. package/script/src/shared/token_required_repository.js +0 -132
@@ -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,156 +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
- /** Current approval status of the payout */
55
- get approvalStatus(): PAYOUT_APPROVAL_STATUS;
56
- /** Information about who created the payout */
57
- get createdBy(): PayoutApprover | undefined;
58
- /** Information about who last actioned the payout */
59
- get actionedBy(): PayoutApprover | undefined;
60
- /**
61
- * Constructs contact information based on payout channel
62
- *
63
- * @returns {ContactInfo | undefined} Contact information object:
64
- * - MobileContactInfo for mobile money payouts
65
- * - BankContactInfo for bank transfers
66
- * - undefined if contact info cannot be constructed
67
- *
68
- * @remarks
69
- * For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
70
- *
71
- * @example
72
- * ```ts
73
- * // Mobile payout
74
- * payout.contactInfo // Returns MobileContactInfo with phone details
75
- *
76
- * // Bank payout
77
- * payout.contactInfo // Returns BankContactInfo with bank and account details
78
- * ```
79
- */
80
- get contactInfo(): ContactInfo | undefined;
81
- /**
82
- * Creates a Payout instance from raw data
83
- * @throws {ZodError} if validation fails
84
- */
85
- static create(data: PayoutData): Payout;
86
- /**
87
- * Creates multiple Payout instances from an array of raw data
88
- * @throws {ZodError} if validation fails for any item
89
- */
90
- static createMany(dataArray: PayoutData[]): Payout[];
91
- /**
92
- * Creates a Payout instance from raw data without throwing
93
- * @returns {Payout | null} Payout instance or null if validation fails
94
- */
95
- static createSafe(data: PayoutData): Payout | null;
96
- /**
97
- * Checks if an unknown value contains valid data to construct a Payout instance.
98
- * This is useful when validating raw data structures before instantiation.
99
- *
100
- * @param {unknown} obj - The value containing potential payout data
101
- * @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
102
- *
103
- * @example
104
- * ```typescript
105
- * const rawData = await fetchPayoutData();
106
- * if (Payout.canConstruct(rawData)) {
107
- * const payout = Payout.create(rawData);
108
- * // TypeScript knows payout is valid here
109
- * console.log(payout.amount.toString());
110
- * }
111
- * ```
112
- *
113
- * @throws {never} This method never throws errors
114
- *
115
- * @remarks
116
- * This method performs strict validation against the {@link PayoutData} schema
117
- */
118
- static canConstruct(obj: unknown): obj is Payout;
119
- /**
120
- * Validates if an unknown value is a Payout instance.
121
- * This is a runtime type guard that ensures proper object structure and data validity.
122
- *
123
- * @param {unknown} obj - The value to validate
124
- * @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
125
- *
126
- * @example
127
- * ```typescript
128
- * const maybePayout = getPayoutFromCache();
129
- * if (Payout.is(maybePayout)) {
130
- * // TypeScript knows maybePayout is a Payout here
131
- * console.log(maybePayout.status);
132
- * }
133
- * ```
134
- *
135
- * @throws {never} This method never throws errors
136
- *
137
- * @remarks
138
- * This method performs a complete structural validation:
139
- * 1. Checks if the value is an object
140
- * 2. Verifies presence of internal data property
141
- * 3. Validates the data against PayoutData schema
142
- * 4. Ensures the object is a proper Payout instance
143
- *
144
- * Use this method when:
145
- * - Validating cached Payout instances
146
- * - Checking serialized Payout objects
147
- * - Verifying API responses
148
- * - Type narrowing in conditional blocks
149
- */
150
- static is(obj: unknown): obj is Payout;
151
- /**
152
- * Converts Payout instance to a plain object
153
- */
154
- toJSON(): PayoutData;
155
- }
156
- //# 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,EAAE,KAAK,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1E;;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,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,CA8BzC;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,261 +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
- /** Current approval status of the payout */
102
- get approvalStatus() {
103
- return this.data.approvalStatus;
104
- }
105
- /** Information about who created the payout */
106
- get createdBy() {
107
- return this.data.createdBy;
108
- }
109
- /** Information about who last actioned the payout */
110
- get actionedBy() {
111
- return this.data.actionedBy;
112
- }
113
- /**
114
- * Constructs contact information based on payout channel
115
- *
116
- * @returns {ContactInfo | undefined} Contact information object:
117
- * - MobileContactInfo for mobile money payouts
118
- * - BankContactInfo for bank transfers
119
- * - undefined if contact info cannot be constructed
120
- *
121
- * @remarks
122
- * For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
123
- *
124
- * @example
125
- * ```ts
126
- * // Mobile payout
127
- * payout.contactInfo // Returns MobileContactInfo with phone details
128
- *
129
- * // Bank payout
130
- * payout.contactInfo // Returns BankContactInfo with bank and account details
131
- * ```
132
- */
133
- get contactInfo() {
134
- let contactInfo;
135
- // extracting mobile contact information
136
- const phone = TZPhoneNumber.from(this.data.msisdn);
137
- if (phone) {
138
- contactInfo = new MobileContactInfo(this.data.payeeName, phone);
139
- }
140
- // extracting bank contact information
141
- const isBankPayout = this.data.channel === createPayoutChannelCode.bank() ||
142
- this.data.channel === createPayoutChannelCode.verto();
143
- if (isBankPayout) {
144
- // getting bank information from payout msisdn
145
- const text = this.data.msisdn.trim().split(":");
146
- try {
147
- const swiftcode = text[0];
148
- const accNo = text[1];
149
- const bank = Bank.fromSWIFTCode(swiftcode);
150
- if (bank) {
151
- contactInfo = new BankContactInfo(this.data.payeeName, bank, accNo);
152
- }
153
- }
154
- catch (_) {
155
- //
156
- }
157
- }
158
- return contactInfo;
159
- }
160
- /**
161
- * Creates a Payout instance from raw data
162
- * @throws {ZodError} if validation fails
163
- */
164
- static create(data) {
165
- return new Payout(data);
166
- }
167
- /**
168
- * Creates multiple Payout instances from an array of raw data
169
- * @throws {ZodError} if validation fails for any item
170
- */
171
- static createMany(dataArray) {
172
- return dataArray.map((data) => new Payout(data));
173
- }
174
- /**
175
- * Creates a Payout instance from raw data without throwing
176
- * @returns {Payout | null} Payout instance or null if validation fails
177
- */
178
- static createSafe(data) {
179
- try {
180
- return new Payout(data);
181
- }
182
- catch {
183
- return null;
184
- }
185
- }
186
- /**
187
- * Checks if an unknown value contains valid data to construct a Payout instance.
188
- * This is useful when validating raw data structures before instantiation.
189
- *
190
- * @param {unknown} obj - The value containing potential payout data
191
- * @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
192
- *
193
- * @example
194
- * ```typescript
195
- * const rawData = await fetchPayoutData();
196
- * if (Payout.canConstruct(rawData)) {
197
- * const payout = Payout.create(rawData);
198
- * // TypeScript knows payout is valid here
199
- * console.log(payout.amount.toString());
200
- * }
201
- * ```
202
- *
203
- * @throws {never} This method never throws errors
204
- *
205
- * @remarks
206
- * This method performs strict validation against the {@link PayoutData} schema
207
- */
208
- static canConstruct(obj) {
209
- if (!obj || typeof obj !== "object")
210
- return false;
211
- const result = PayoutSchemas.payoutData.safeParse(obj);
212
- if (!result.success)
213
- return false;
214
- const payout = Payout.createSafe(result.data);
215
- return payout !== null;
216
- }
217
- /**
218
- * Validates if an unknown value is a Payout instance.
219
- * This is a runtime type guard that ensures proper object structure and data validity.
220
- *
221
- * @param {unknown} obj - The value to validate
222
- * @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
223
- *
224
- * @example
225
- * ```typescript
226
- * const maybePayout = getPayoutFromCache();
227
- * if (Payout.is(maybePayout)) {
228
- * // TypeScript knows maybePayout is a Payout here
229
- * console.log(maybePayout.status);
230
- * }
231
- * ```
232
- *
233
- * @throws {never} This method never throws errors
234
- *
235
- * @remarks
236
- * This method performs a complete structural validation:
237
- * 1. Checks if the value is an object
238
- * 2. Verifies presence of internal data property
239
- * 3. Validates the data against PayoutData schema
240
- * 4. Ensures the object is a proper Payout instance
241
- *
242
- * Use this method when:
243
- * - Validating cached Payout instances
244
- * - Checking serialized Payout objects
245
- * - Verifying API responses
246
- * - Type narrowing in conditional blocks
247
- */
248
- static is(obj) {
249
- if (!obj || typeof obj !== "object")
250
- return false;
251
- if (!("data" in obj))
252
- return false;
253
- return Payout.canConstruct(obj.data);
254
- }
255
- /**
256
- * Converts Payout instance to a plain object
257
- */
258
- toJSON() {
259
- return { ...this.data };
260
- }
261
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"payout.test.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/payout/derivatives/payout.test.ts"],"names":[],"mappings":""}
@@ -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 "./derivatives/payout.js";
6
- //# 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,yBAAyB,CAAC"}
@@ -1,5 +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 "./derivatives/payout.js";