@temboplus/afloat 0.1.57 → 0.1.59

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 (466) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +42 -246
  3. package/esm/_dnt.test_shims.d.ts.map +1 -0
  4. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  5. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  6. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  38. package/esm/mod.d.ts +8 -0
  39. package/esm/mod.d.ts.map +1 -0
  40. package/esm/mod.js +7 -0
  41. package/esm/package.json +3 -0
  42. package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
  43. package/esm/src/errors/api_error.d.ts.map +1 -0
  44. package/esm/src/errors/api_error.js +90 -0
  45. package/esm/src/errors/index.d.ts +3 -0
  46. package/esm/src/errors/index.d.ts.map +1 -0
  47. package/esm/src/errors/index.js +2 -0
  48. package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
  49. package/esm/src/errors/permission_error.d.ts.map +1 -0
  50. package/esm/src/errors/permission_error.js +70 -0
  51. package/{dist/features/admin/admin.contract.d.ts → esm/src/features/admin/contract.d.ts} +77 -41
  52. package/esm/src/features/admin/contract.d.ts.map +1 -0
  53. package/esm/src/features/admin/contract.js +210 -0
  54. package/esm/src/features/admin/index.d.ts +4 -0
  55. package/esm/src/features/admin/index.d.ts.map +1 -0
  56. package/esm/src/features/admin/index.js +3 -0
  57. package/esm/src/features/admin/repository.d.ts +114 -0
  58. package/esm/src/features/admin/repository.d.ts.map +1 -0
  59. package/esm/src/features/admin/repository.js +248 -0
  60. package/{dist/features/admin/admin.dtos.d.ts → esm/src/features/admin/schemas.d.ts} +9 -8
  61. package/esm/src/features/admin/schemas.d.ts.map +1 -0
  62. package/esm/src/features/admin/schemas.js +206 -0
  63. package/{dist/features/auth/access/access.api-contract.d.ts → esm/src/features/auth/access/contract.d.ts} +1 -0
  64. package/esm/src/features/auth/access/contract.d.ts.map +1 -0
  65. package/esm/src/features/auth/access/contract.js +14 -0
  66. package/esm/src/features/auth/access/repository.d.ts +11 -0
  67. package/esm/src/features/auth/access/repository.d.ts.map +1 -0
  68. package/esm/src/features/auth/access/repository.js +25 -0
  69. package/{dist/features/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +8 -12
  70. package/esm/src/features/auth/contract.d.ts.map +1 -0
  71. package/esm/src/features/auth/contract.js +43 -0
  72. package/{dist/features/auth/identity/identity.api-contract.d.ts → esm/src/features/auth/identity/contract.d.ts} +1 -0
  73. package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
  74. package/esm/src/features/auth/identity/contract.js +17 -0
  75. package/esm/src/features/auth/identity/repository.d.ts +22 -0
  76. package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
  77. package/esm/src/features/auth/identity/repository.js +30 -0
  78. package/esm/src/features/auth/index.d.ts +6 -0
  79. package/esm/src/features/auth/index.d.ts.map +1 -0
  80. package/esm/src/features/auth/index.js +5 -0
  81. package/esm/src/features/auth/manager.d.ts +105 -0
  82. package/esm/src/features/auth/manager.d.ts.map +1 -0
  83. package/esm/src/features/auth/manager.js +181 -0
  84. package/{dist/features/auth/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
  85. package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
  86. package/esm/src/features/auth/profile/contract.js +14 -0
  87. package/esm/src/features/auth/profile/repository.d.ts +11 -0
  88. package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
  89. package/esm/src/features/auth/profile/repository.js +25 -0
  90. package/esm/src/features/auth/repository.d.ts +30 -0
  91. package/esm/src/features/auth/repository.d.ts.map +1 -0
  92. package/esm/src/features/auth/repository.js +69 -0
  93. package/{dist/features/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +3 -2
  94. package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
  95. package/esm/src/features/auth/storage/client_store.js +46 -0
  96. package/{dist/features/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +2 -1
  97. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  98. package/esm/src/features/auth/storage/client_token_handler.js +36 -0
  99. package/esm/src/features/auth/storage/server_store.d.ts +24 -0
  100. package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
  101. package/esm/src/features/auth/storage/server_store.js +34 -0
  102. package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
  103. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  104. package/esm/src/features/auth/storage/server_token_handler.js +115 -0
  105. package/{dist → esm/src}/features/auth/storage/types.d.ts +2 -1
  106. package/esm/src/features/auth/storage/types.d.ts.map +1 -0
  107. package/esm/src/features/auth/storage/types.js +1 -0
  108. package/{dist/features/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +45 -101
  109. package/esm/src/features/contact/contract.d.ts.map +1 -0
  110. package/esm/src/features/contact/contract.js +49 -0
  111. package/esm/src/features/contact/index.d.ts +2 -0
  112. package/esm/src/features/contact/index.d.ts.map +1 -0
  113. package/esm/src/features/contact/index.js +1 -0
  114. package/esm/src/features/contact/repository.d.ts +58 -0
  115. package/esm/src/features/contact/repository.d.ts.map +1 -0
  116. package/esm/src/features/contact/repository.js +108 -0
  117. package/{dist/features/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +187 -351
  118. package/esm/src/features/payout/contract.d.ts.map +1 -0
  119. package/esm/src/features/payout/contract.js +75 -0
  120. package/esm/src/features/payout/index.d.ts +2 -0
  121. package/esm/src/features/payout/index.d.ts.map +1 -0
  122. package/esm/src/features/payout/index.js +1 -0
  123. package/esm/src/features/payout/repository.d.ts +67 -0
  124. package/esm/src/features/payout/repository.d.ts.map +1 -0
  125. package/esm/src/features/payout/repository.js +163 -0
  126. package/{dist/features/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +7 -9
  127. package/esm/src/features/wallet/contract.d.ts.map +1 -0
  128. package/esm/src/features/wallet/contract.js +38 -0
  129. package/esm/src/features/wallet/index.d.ts +2 -0
  130. package/esm/src/features/wallet/index.d.ts.map +1 -0
  131. package/esm/src/features/wallet/index.js +1 -0
  132. package/esm/src/features/wallet/repository.d.ts +57 -0
  133. package/esm/src/features/wallet/repository.d.ts.map +1 -0
  134. package/esm/src/features/wallet/repository.js +93 -0
  135. package/{dist/models/contact.model.d.ts → esm/src/models/contact/derivatives/contact.d.ts} +16 -23
  136. package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
  137. package/esm/src/models/contact/derivatives/contact.js +266 -0
  138. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  139. package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
  140. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  141. package/esm/src/models/contact/derivatives/contact_info.js +255 -0
  142. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  143. package/esm/src/models/contact/index.d.ts +5 -0
  144. package/esm/src/models/contact/index.d.ts.map +1 -0
  145. package/esm/src/models/contact/index.js +4 -0
  146. package/esm/src/models/contact/schemas.d.ts +66 -0
  147. package/esm/src/models/contact/schemas.d.ts.map +1 -0
  148. package/esm/src/models/contact/schemas.js +64 -0
  149. package/esm/src/models/contact/validation.d.ts +37 -0
  150. package/esm/src/models/contact/validation.d.ts.map +1 -0
  151. package/esm/src/models/contact/validation.js +146 -0
  152. package/esm/src/models/contact/validation.test.d.ts.map +1 -0
  153. package/esm/src/models/index.d.ts +7 -0
  154. package/esm/src/models/index.d.ts.map +1 -0
  155. package/esm/src/models/index.js +6 -0
  156. package/esm/src/models/payout/api.d.ts +29 -0
  157. package/esm/src/models/payout/api.d.ts.map +1 -0
  158. package/esm/src/models/payout/api.js +1 -0
  159. package/esm/src/models/payout/channel.d.ts +58 -0
  160. package/esm/src/models/payout/channel.d.ts.map +1 -0
  161. package/esm/src/models/payout/channel.js +53 -0
  162. package/{dist/models/payout.model.d.ts → esm/src/models/payout/derivatives/payout.d.ts} +17 -13
  163. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
  164. package/esm/src/models/payout/derivatives/payout.js +265 -0
  165. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  166. package/esm/src/models/payout/index.d.ts +6 -0
  167. package/esm/src/models/payout/index.d.ts.map +1 -0
  168. package/esm/src/models/payout/index.js +5 -0
  169. package/esm/src/models/payout/schemas.d.ts +156 -0
  170. package/esm/src/models/payout/schemas.d.ts.map +1 -0
  171. package/esm/src/models/payout/schemas.js +105 -0
  172. package/esm/src/models/payout/status.d.ts +33 -0
  173. package/esm/src/models/payout/status.d.ts.map +1 -0
  174. package/esm/src/models/payout/status.js +34 -0
  175. package/{dist → esm/src}/models/permission.d.ts +2 -1
  176. package/esm/src/models/permission.d.ts.map +1 -0
  177. package/esm/src/models/permission.js +50 -0
  178. package/{dist/models/role.model.d.ts → esm/src/models/role.d.ts} +10 -2
  179. package/esm/src/models/role.d.ts.map +1 -0
  180. package/esm/src/models/role.js +73 -0
  181. package/esm/src/models/user/authenticated-user.d.ts +77 -0
  182. package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
  183. package/esm/src/models/user/authenticated-user.js +226 -0
  184. package/esm/src/models/user/index.d.ts +4 -0
  185. package/esm/src/models/user/index.d.ts.map +1 -0
  186. package/esm/src/models/user/index.js +3 -0
  187. package/{dist/models/managed-user.model.d.ts → esm/src/models/user/managed-user.d.ts} +3 -3
  188. package/esm/src/models/user/managed-user.d.ts.map +1 -0
  189. package/esm/src/models/user/managed-user.js +255 -0
  190. package/{dist/models/profile.model.d.ts → esm/src/models/user/profile.d.ts} +43 -37
  191. package/esm/src/models/user/profile.d.ts.map +1 -0
  192. package/esm/src/models/user/profile.js +334 -0
  193. package/esm/src/models/wallet/index.d.ts +4 -0
  194. package/esm/src/models/wallet/index.d.ts.map +1 -0
  195. package/esm/src/models/wallet/index.js +3 -0
  196. package/esm/src/models/wallet/schemas.d.ts +95 -0
  197. package/esm/src/models/wallet/schemas.d.ts.map +1 -0
  198. package/esm/src/models/wallet/schemas.js +35 -0
  199. package/esm/src/models/wallet/statement_entry.d.ts +160 -0
  200. package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
  201. package/esm/src/models/wallet/statement_entry.js +255 -0
  202. package/{dist/models/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +46 -3
  203. package/esm/src/models/wallet/wallet.d.ts.map +1 -0
  204. package/esm/src/models/wallet/wallet.js +279 -0
  205. package/{dist/lib/api/base-repository.d.ts → esm/src/shared/base_repository.d.ts} +42 -137
  206. package/esm/src/shared/base_repository.d.ts.map +1 -0
  207. package/esm/src/shared/base_repository.js +153 -0
  208. package/{dist/lib/api/common-responses.d.ts → esm/src/shared/common_responses.d.ts} +1 -0
  209. package/esm/src/shared/common_responses.d.ts.map +1 -0
  210. package/esm/src/shared/common_responses.js +10 -0
  211. package/esm/src/shared/index.d.ts +3 -0
  212. package/esm/src/shared/index.d.ts.map +1 -0
  213. package/esm/src/shared/index.js +2 -0
  214. package/esm/src/shared/token_required_repository.d.ts +78 -0
  215. package/esm/src/shared/token_required_repository.d.ts.map +1 -0
  216. package/esm/src/shared/token_required_repository.js +128 -0
  217. package/package.json +25 -47
  218. package/script/_dnt.test_shims.d.ts.map +1 -0
  219. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  220. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  221. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  222. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  223. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  224. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  225. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  226. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  227. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  228. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  229. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  230. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  231. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  232. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  233. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  234. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  235. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  236. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  237. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  238. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  239. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  240. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  241. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  242. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  243. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  244. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  245. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  246. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  247. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  248. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  249. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  250. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  251. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  252. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  253. package/script/mod.d.ts +8 -0
  254. package/script/mod.d.ts.map +1 -0
  255. package/script/mod.js +23 -0
  256. package/script/package.json +3 -0
  257. package/script/src/errors/api_error.d.ts +63 -0
  258. package/script/src/errors/api_error.d.ts.map +1 -0
  259. package/script/src/errors/api_error.js +94 -0
  260. package/script/src/errors/index.d.ts +3 -0
  261. package/script/src/errors/index.d.ts.map +1 -0
  262. package/script/src/errors/index.js +18 -0
  263. package/script/src/errors/permission_error.d.ts +48 -0
  264. package/script/src/errors/permission_error.d.ts.map +1 -0
  265. package/script/src/errors/permission_error.js +74 -0
  266. package/script/src/features/admin/contract.d.ts +842 -0
  267. package/script/src/features/admin/contract.d.ts.map +1 -0
  268. package/script/src/features/admin/contract.js +213 -0
  269. package/script/src/features/admin/index.d.ts +4 -0
  270. package/script/src/features/admin/index.d.ts.map +1 -0
  271. package/script/src/features/admin/index.js +19 -0
  272. package/script/src/features/admin/repository.d.ts +114 -0
  273. package/script/src/features/admin/repository.d.ts.map +1 -0
  274. package/script/src/features/admin/repository.js +252 -0
  275. package/script/src/features/admin/schemas.d.ts +146 -0
  276. package/script/src/features/admin/schemas.d.ts.map +1 -0
  277. package/script/src/features/admin/schemas.js +209 -0
  278. package/script/src/features/auth/access/contract.d.ts +14 -0
  279. package/script/src/features/auth/access/contract.d.ts.map +1 -0
  280. package/script/src/features/auth/access/contract.js +17 -0
  281. package/script/src/features/auth/access/repository.d.ts +11 -0
  282. package/script/src/features/auth/access/repository.d.ts.map +1 -0
  283. package/script/src/features/auth/access/repository.js +29 -0
  284. package/script/src/features/auth/contract.d.ts +112 -0
  285. package/script/src/features/auth/contract.d.ts.map +1 -0
  286. package/script/src/features/auth/contract.js +46 -0
  287. package/script/src/features/auth/identity/contract.d.ts +23 -0
  288. package/script/src/features/auth/identity/contract.d.ts.map +1 -0
  289. package/script/src/features/auth/identity/contract.js +20 -0
  290. package/script/src/features/auth/identity/repository.d.ts +22 -0
  291. package/script/src/features/auth/identity/repository.d.ts.map +1 -0
  292. package/script/src/features/auth/identity/repository.js +34 -0
  293. package/script/src/features/auth/index.d.ts +6 -0
  294. package/script/src/features/auth/index.d.ts.map +1 -0
  295. package/script/src/features/auth/index.js +21 -0
  296. package/script/src/features/auth/manager.d.ts +105 -0
  297. package/script/src/features/auth/manager.d.ts.map +1 -0
  298. package/script/src/features/auth/manager.js +185 -0
  299. package/script/src/features/auth/profile/contract.d.ts +37 -0
  300. package/script/src/features/auth/profile/contract.d.ts.map +1 -0
  301. package/script/src/features/auth/profile/contract.js +17 -0
  302. package/script/src/features/auth/profile/repository.d.ts +11 -0
  303. package/script/src/features/auth/profile/repository.d.ts.map +1 -0
  304. package/script/src/features/auth/profile/repository.js +29 -0
  305. package/script/src/features/auth/repository.d.ts +30 -0
  306. package/script/src/features/auth/repository.d.ts.map +1 -0
  307. package/script/src/features/auth/repository.js +73 -0
  308. package/script/src/features/auth/storage/client_store.d.ts +30 -0
  309. package/script/src/features/auth/storage/client_store.d.ts.map +1 -0
  310. package/script/src/features/auth/storage/client_store.js +51 -0
  311. package/script/src/features/auth/storage/client_token_handler.d.ts +32 -0
  312. package/script/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  313. package/script/src/features/auth/storage/client_token_handler.js +40 -0
  314. package/script/src/features/auth/storage/server_store.d.ts +24 -0
  315. package/script/src/features/auth/storage/server_store.d.ts.map +1 -0
  316. package/script/src/features/auth/storage/server_store.js +38 -0
  317. package/script/src/features/auth/storage/server_token_handler.d.ts +36 -0
  318. package/script/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  319. package/script/src/features/auth/storage/server_token_handler.js +119 -0
  320. package/script/src/features/auth/storage/types.d.ts +42 -0
  321. package/script/src/features/auth/storage/types.d.ts.map +1 -0
  322. package/script/src/features/auth/storage/types.js +2 -0
  323. package/script/src/features/contact/contract.d.ts +170 -0
  324. package/script/src/features/contact/contract.d.ts.map +1 -0
  325. package/script/src/features/contact/contract.js +52 -0
  326. package/script/src/features/contact/index.d.ts +2 -0
  327. package/script/src/features/contact/index.d.ts.map +1 -0
  328. package/script/src/features/contact/index.js +17 -0
  329. package/script/src/features/contact/repository.d.ts +58 -0
  330. package/script/src/features/contact/repository.d.ts.map +1 -0
  331. package/script/src/features/contact/repository.js +112 -0
  332. package/script/src/features/payout/contract.d.ts +623 -0
  333. package/script/src/features/payout/contract.d.ts.map +1 -0
  334. package/script/src/features/payout/contract.js +78 -0
  335. package/script/src/features/payout/index.d.ts +2 -0
  336. package/script/src/features/payout/index.d.ts.map +1 -0
  337. package/script/src/features/payout/index.js +17 -0
  338. package/script/src/features/payout/repository.d.ts +67 -0
  339. package/script/src/features/payout/repository.d.ts.map +1 -0
  340. package/script/src/features/payout/repository.js +167 -0
  341. package/script/src/features/wallet/contract.d.ts +137 -0
  342. package/script/src/features/wallet/contract.d.ts.map +1 -0
  343. package/script/src/features/wallet/contract.js +41 -0
  344. package/script/src/features/wallet/index.d.ts +2 -0
  345. package/script/src/features/wallet/index.d.ts.map +1 -0
  346. package/script/src/features/wallet/index.js +17 -0
  347. package/script/src/features/wallet/repository.d.ts +57 -0
  348. package/script/src/features/wallet/repository.d.ts.map +1 -0
  349. package/script/src/features/wallet/repository.js +97 -0
  350. package/script/src/models/contact/derivatives/contact.d.ts +172 -0
  351. package/script/src/models/contact/derivatives/contact.d.ts.map +1 -0
  352. package/script/src/models/contact/derivatives/contact.js +270 -0
  353. package/script/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  354. package/script/src/models/contact/derivatives/contact_info.d.ts +188 -0
  355. package/script/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  356. package/script/src/models/contact/derivatives/contact_info.js +260 -0
  357. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  358. package/script/src/models/contact/index.d.ts +5 -0
  359. package/script/src/models/contact/index.d.ts.map +1 -0
  360. package/script/src/models/contact/index.js +20 -0
  361. package/script/src/models/contact/schemas.d.ts +66 -0
  362. package/script/src/models/contact/schemas.d.ts.map +1 -0
  363. package/script/src/models/contact/schemas.js +67 -0
  364. package/script/src/models/contact/validation.d.ts +37 -0
  365. package/script/src/models/contact/validation.d.ts.map +1 -0
  366. package/script/src/models/contact/validation.js +153 -0
  367. package/script/src/models/contact/validation.test.d.ts.map +1 -0
  368. package/script/src/models/index.d.ts +7 -0
  369. package/script/src/models/index.d.ts.map +1 -0
  370. package/script/src/models/index.js +22 -0
  371. package/script/src/models/payout/api.d.ts +29 -0
  372. package/script/src/models/payout/api.d.ts.map +1 -0
  373. package/script/src/models/payout/api.js +2 -0
  374. package/script/src/models/payout/channel.d.ts +58 -0
  375. package/script/src/models/payout/channel.d.ts.map +1 -0
  376. package/script/src/models/payout/channel.js +56 -0
  377. package/script/src/models/payout/derivatives/payout.d.ts +158 -0
  378. package/script/src/models/payout/derivatives/payout.d.ts.map +1 -0
  379. package/script/src/models/payout/derivatives/payout.js +269 -0
  380. package/script/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  381. package/script/src/models/payout/index.d.ts +6 -0
  382. package/script/src/models/payout/index.d.ts.map +1 -0
  383. package/script/src/models/payout/index.js +21 -0
  384. package/script/src/models/payout/schemas.d.ts +156 -0
  385. package/script/src/models/payout/schemas.d.ts.map +1 -0
  386. package/script/src/models/payout/schemas.js +108 -0
  387. package/script/src/models/payout/status.d.ts +33 -0
  388. package/script/src/models/payout/status.d.ts.map +1 -0
  389. package/script/src/models/payout/status.js +37 -0
  390. package/script/src/models/permission.d.ts +55 -0
  391. package/script/src/models/permission.d.ts.map +1 -0
  392. package/script/src/models/permission.js +53 -0
  393. package/script/src/models/role.d.ts +21 -0
  394. package/script/src/models/role.d.ts.map +1 -0
  395. package/script/src/models/role.js +77 -0
  396. package/script/src/models/user/authenticated-user.d.ts +77 -0
  397. package/script/src/models/user/authenticated-user.d.ts.map +1 -0
  398. package/script/src/models/user/authenticated-user.js +230 -0
  399. package/script/src/models/user/index.d.ts +4 -0
  400. package/script/src/models/user/index.d.ts.map +1 -0
  401. package/script/src/models/user/index.js +19 -0
  402. package/script/src/models/user/managed-user.d.ts +108 -0
  403. package/script/src/models/user/managed-user.d.ts.map +1 -0
  404. package/script/src/models/user/managed-user.js +260 -0
  405. package/script/src/models/user/profile.d.ts +161 -0
  406. package/script/src/models/user/profile.d.ts.map +1 -0
  407. package/script/src/models/user/profile.js +338 -0
  408. package/script/src/models/wallet/index.d.ts +4 -0
  409. package/script/src/models/wallet/index.d.ts.map +1 -0
  410. package/script/src/models/wallet/index.js +19 -0
  411. package/script/src/models/wallet/schemas.d.ts +95 -0
  412. package/script/src/models/wallet/schemas.d.ts.map +1 -0
  413. package/script/src/models/wallet/schemas.js +38 -0
  414. package/script/src/models/wallet/statement_entry.d.ts +160 -0
  415. package/script/src/models/wallet/statement_entry.d.ts.map +1 -0
  416. package/script/src/models/wallet/statement_entry.js +259 -0
  417. package/script/src/models/wallet/wallet.d.ts +147 -0
  418. package/script/src/models/wallet/wallet.d.ts.map +1 -0
  419. package/script/src/models/wallet/wallet.js +283 -0
  420. package/script/src/shared/base_repository.d.ts +80 -0
  421. package/script/src/shared/base_repository.d.ts.map +1 -0
  422. package/script/src/shared/base_repository.js +157 -0
  423. package/script/src/shared/common_responses.d.ts +13 -0
  424. package/script/src/shared/common_responses.d.ts.map +1 -0
  425. package/script/src/shared/common_responses.js +13 -0
  426. package/script/src/shared/index.d.ts +3 -0
  427. package/script/src/shared/index.d.ts.map +1 -0
  428. package/script/src/shared/index.js +18 -0
  429. package/script/src/shared/token_required_repository.d.ts +78 -0
  430. package/script/src/shared/token_required_repository.d.ts.map +1 -0
  431. package/script/src/shared/token_required_repository.js +132 -0
  432. package/dist/features/admin/admin.repository.d.ts +0 -179
  433. package/dist/features/admin/index.d.ts +0 -2
  434. package/dist/features/auth/access/access.repository.d.ts +0 -55
  435. package/dist/features/auth/auth.manager.d.ts +0 -249
  436. package/dist/features/auth/auth.repository.d.ts +0 -66
  437. package/dist/features/auth/auth.store.d.ts +0 -139
  438. package/dist/features/auth/identity/identity.repository.d.ts +0 -58
  439. package/dist/features/auth/index.d.ts +0 -5
  440. package/dist/features/auth/profile/profile.dtos.d.ts +0 -80
  441. package/dist/features/auth/profile/profile.repository.d.ts +0 -56
  442. package/dist/features/contact/contact-input-handler.d.ts +0 -16
  443. package/dist/features/contact/contact.dtos.d.ts +0 -90
  444. package/dist/features/contact/contact.repository.d.ts +0 -116
  445. package/dist/features/contact/index.d.ts +0 -2
  446. package/dist/features/payout/index.d.ts +0 -3
  447. package/dist/features/payout/payout-channel-handler.d.ts +0 -108
  448. package/dist/features/payout/payout.dtos.d.ts +0 -365
  449. package/dist/features/payout/payout.repository.d.ts +0 -193
  450. package/dist/features/wallet/index.d.ts +0 -4
  451. package/dist/features/wallet/wallet-manager.session.d.ts +0 -143
  452. package/dist/features/wallet/wallet.dtos.d.ts +0 -204
  453. package/dist/features/wallet/wallet.repository.d.ts +0 -120
  454. package/dist/features/wallet/wallet.utils.d.ts +0 -17
  455. package/dist/index.cjs.js +0 -2
  456. package/dist/index.cjs.js.map +0 -1
  457. package/dist/index.d.ts +0 -7
  458. package/dist/index.esm.js +0 -2
  459. package/dist/index.esm.js.map +0 -1
  460. package/dist/lib/api/index.d.ts +0 -2
  461. package/dist/lib/error/error.utils.d.ts +0 -22
  462. package/dist/lib/error/index.d.ts +0 -3
  463. package/dist/models/contact-info.model.d.ts +0 -817
  464. package/dist/models/index.d.ts +0 -10
  465. package/dist/models/statement-entry.model.d.ts +0 -195
  466. package/dist/models/user.model.d.ts +0 -65
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Payout = void 0;
4
+ const frontend_core_1 = require("@temboplus/frontend-core");
5
+ const schemas_js_1 = require("../schemas.js");
6
+ const index_js_1 = require("../../contact/index.js");
7
+ const status_js_1 = require("../status.js");
8
+ const channel_js_1 = require("../channel.js");
9
+ /**
10
+ * Payout class that wraps the Zod schema and provides additional functionality
11
+ */
12
+ class Payout {
13
+ /**
14
+ * Private constructor - use static methods to create instances
15
+ */
16
+ constructor(data) {
17
+ Object.defineProperty(this, "data", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ this.data = schemas_js_1.PayoutSchemas.payoutData.parse(data);
24
+ }
25
+ // Getters for all properties
26
+ /** Unique identifier for the payout */
27
+ get id() {
28
+ return this.data.id;
29
+ }
30
+ /** Profile identifier associated with this payout */
31
+ get profileId() {
32
+ return this.data.profileId;
33
+ }
34
+ /** Name of the payee/recipient */
35
+ get payeeName() {
36
+ return this.data.payeeName;
37
+ }
38
+ /** Payment channel used for this payout */
39
+ get channel() {
40
+ return this.data.channel;
41
+ }
42
+ /** Mobile number or bank account identifier */
43
+ get msisdn() {
44
+ return this.data.msisdn;
45
+ }
46
+ /**
47
+ * Amount to be paid out
48
+ * @returns {Amount} Amount object representing the payout value
49
+ */
50
+ get amount() {
51
+ return frontend_core_1.Amount.from(this.data.amount);
52
+ }
53
+ /** Description of the payout purpose */
54
+ get description() {
55
+ return this.data.description;
56
+ }
57
+ /** Optional additional notes about the payout */
58
+ get notes() {
59
+ return this.data.notes;
60
+ }
61
+ /**
62
+ * Current status of the payout
63
+ * Derived from both approval status and transaction status:
64
+ * - Returns REJECTED if approval status is "Rejected"
65
+ * - Returns FAILED if approved but transaction failed
66
+ * - Returns PAID if approved and transaction succeeded
67
+ * - Returns PENDING if awaiting approval
68
+ * - Falls back to transaction status in other cases
69
+ *
70
+ * @returns {PAYOUT_STATUS} Current status of the payout
71
+ * @see {@link PAYOUT_STATUS} for all possible status values
72
+ */
73
+ get status() {
74
+ if (this.data.approvalStatus === "Rejected") {
75
+ return status_js_1.PAYOUT_STATUS.REJECTED;
76
+ }
77
+ if (this.data.approvalStatus === "Approved") {
78
+ if (this.data.status === "FAILED") {
79
+ return status_js_1.PAYOUT_STATUS.FAILED;
80
+ }
81
+ return status_js_1.PAYOUT_STATUS.PAID;
82
+ }
83
+ if (this.data.approvalStatus === "Pending") {
84
+ return status_js_1.PAYOUT_STATUS.PENDING;
85
+ }
86
+ return this.data.status;
87
+ }
88
+ /** Status message providing details about current state */
89
+ get statusMessage() {
90
+ return this.data.statusMessage;
91
+ }
92
+ /** Optional reference ID from payment partner */
93
+ get partnerReference() {
94
+ return this.data.partnerReference;
95
+ }
96
+ /** Timestamp when payout was created */
97
+ get createdAt() {
98
+ return this.data.createdAt;
99
+ }
100
+ /** Timestamp when payout was last updated */
101
+ get updatedAt() {
102
+ return this.data.updatedAt;
103
+ }
104
+ /** Timestamp when payout was last updated */
105
+ get actionedAt() {
106
+ return this.data.actionedAt ?? undefined;
107
+ }
108
+ /** Current approval status of the payout */
109
+ get approvalStatus() {
110
+ return this.data.approvalStatus;
111
+ }
112
+ /** Information about who created the payout */
113
+ get createdBy() {
114
+ return this.data.createdBy;
115
+ }
116
+ /** Information about who last actioned the payout */
117
+ get actionedBy() {
118
+ return this.data.actionedBy;
119
+ }
120
+ /**
121
+ * Constructs contact information based on payout channel
122
+ *
123
+ * @returns {ContactInfo | undefined} Contact information object:
124
+ * - MobileContactInfo for mobile money payouts
125
+ * - BankContactInfo for bank transfers
126
+ * - undefined if contact info cannot be constructed
127
+ *
128
+ * @remarks
129
+ * For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * // Mobile payout
134
+ * payout.contactInfo // Returns MobileContactInfo with phone details
135
+ *
136
+ * // Bank payout
137
+ * payout.contactInfo // Returns BankContactInfo with bank and account details
138
+ * ```
139
+ */
140
+ get contactInfo() {
141
+ let contactInfo;
142
+ // extracting mobile contact information
143
+ const phone = frontend_core_1.TZPhoneNumber.from(this.data.msisdn);
144
+ if (phone) {
145
+ contactInfo = new index_js_1.MobileContactInfo(this.data.payeeName, phone);
146
+ }
147
+ // extracting bank contact information
148
+ const isBankPayout = this.data.channel === channel_js_1.createPayoutChannelCode.bank() ||
149
+ this.data.channel === channel_js_1.createPayoutChannelCode.verto();
150
+ if (isBankPayout) {
151
+ // getting bank information from payout msisdn
152
+ const text = this.data.msisdn.trim().split(":");
153
+ try {
154
+ const swiftcode = text[0];
155
+ const accNo = text[1];
156
+ const bank = frontend_core_1.Bank.fromSWIFTCode(swiftcode);
157
+ if (bank) {
158
+ contactInfo = new index_js_1.BankContactInfo(this.data.payeeName, bank, accNo);
159
+ }
160
+ }
161
+ catch (_) {
162
+ //
163
+ }
164
+ }
165
+ return contactInfo;
166
+ }
167
+ /**
168
+ * Creates a Payout instance from raw data
169
+ * @throws {ZodError} if validation fails
170
+ */
171
+ static create(data) {
172
+ return new Payout(data);
173
+ }
174
+ /**
175
+ * Creates multiple Payout instances from an array of raw data
176
+ * @throws {ZodError} if validation fails for any item
177
+ */
178
+ static createMany(dataArray) {
179
+ return dataArray.map((data) => new Payout(data));
180
+ }
181
+ /**
182
+ * Creates a Payout instance from raw data without throwing
183
+ * @returns {Payout | null} Payout instance or null if validation fails
184
+ */
185
+ static createSafe(data) {
186
+ try {
187
+ return new Payout(data);
188
+ }
189
+ catch {
190
+ return null;
191
+ }
192
+ }
193
+ /**
194
+ * Checks if an unknown value contains valid data to construct a Payout instance.
195
+ * This is useful when validating raw data structures before instantiation.
196
+ *
197
+ * @param {unknown} obj - The value containing potential payout data
198
+ * @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * const rawData = await fetchPayoutData();
203
+ * if (Payout.canConstruct(rawData)) {
204
+ * const payout = Payout.create(rawData);
205
+ * // TypeScript knows payout is valid here
206
+ * console.log(payout.amount.toString());
207
+ * }
208
+ * ```
209
+ *
210
+ * @throws {never} This method never throws errors
211
+ *
212
+ * @remarks
213
+ * This method performs strict validation against the {@link PayoutData} schema
214
+ */
215
+ static canConstruct(obj) {
216
+ if (!obj || typeof obj !== "object")
217
+ return false;
218
+ const result = schemas_js_1.PayoutSchemas.payoutData.safeParse(obj);
219
+ if (!result.success)
220
+ return false;
221
+ const payout = Payout.createSafe(result.data);
222
+ return payout !== null;
223
+ }
224
+ /**
225
+ * Validates if an unknown value is a Payout instance.
226
+ * This is a runtime type guard that ensures proper object structure and data validity.
227
+ *
228
+ * @param {unknown} obj - The value to validate
229
+ * @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
230
+ *
231
+ * @example
232
+ * ```typescript
233
+ * const maybePayout = getPayoutFromCache();
234
+ * if (Payout.is(maybePayout)) {
235
+ * // TypeScript knows maybePayout is a Payout here
236
+ * console.log(maybePayout.status);
237
+ * }
238
+ * ```
239
+ *
240
+ * @throws {never} This method never throws errors
241
+ *
242
+ * @remarks
243
+ * This method performs a complete structural validation:
244
+ * 1. Checks if the value is an object
245
+ * 2. Verifies presence of internal data property
246
+ * 3. Validates the data against PayoutData schema
247
+ * 4. Ensures the object is a proper Payout instance
248
+ *
249
+ * Use this method when:
250
+ * - Validating cached Payout instances
251
+ * - Checking serialized Payout objects
252
+ * - Verifying API responses
253
+ * - Type narrowing in conditional blocks
254
+ */
255
+ static is(obj) {
256
+ if (!obj || typeof obj !== "object")
257
+ return false;
258
+ if (!("data" in obj))
259
+ return false;
260
+ return Payout.canConstruct(obj.data);
261
+ }
262
+ /**
263
+ * Converts Payout instance to a plain object
264
+ */
265
+ toJSON() {
266
+ return { ...this.data };
267
+ }
268
+ }
269
+ exports.Payout = Payout;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payout.test.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/payout/derivatives/payout.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./status.js"), exports);
18
+ __exportStar(require("./schemas.js"), exports);
19
+ __exportStar(require("./channel.js"), exports);
20
+ __exportStar(require("./api.js"), exports);
21
+ __exportStar(require("./derivatives/payout.js"), exports);
@@ -0,0 +1,156 @@
1
+ import { z } from "zod";
2
+ import { PAYOUT_APPROVAL_STATUS, PAYOUT_STATUS } from "./status.js";
3
+ /**
4
+ * Type definition for identifier schema
5
+ * Used for tracking who created or actioned a payout
6
+ * Contains a name and unique identity string
7
+ */
8
+ type IdentifierType = z.ZodObject<{
9
+ name: z.ZodString;
10
+ identity: z.ZodString;
11
+ }>;
12
+ /**
13
+ * Type definition for payout status enum
14
+ * Represents all possible states of a payout:
15
+ *
16
+ * @see {@link PAYOUT_STATUS} for the enum definition in "@models/payout/status.ts"
17
+ */
18
+ type PayoutStatusType = z.ZodEnum<[
19
+ typeof PAYOUT_STATUS.CREATED,
20
+ typeof PAYOUT_STATUS.PAID,
21
+ typeof PAYOUT_STATUS.FAILED,
22
+ typeof PAYOUT_STATUS.REJECTED,
23
+ typeof PAYOUT_STATUS.PENDING,
24
+ typeof PAYOUT_STATUS.QUEUED,
25
+ typeof PAYOUT_STATUS.REVERSED
26
+ ]>;
27
+ /**
28
+ * Type definition for payout approval status enum
29
+ * Represents the approval state of a payout:
30
+ *
31
+ * @see {@link PAYOUT_APPROVAL_STATUS} for the enum definition in "@models/payout/status.ts"
32
+ */
33
+ type ApprovalPayoutStatusType = z.ZodEnum<[
34
+ typeof PAYOUT_APPROVAL_STATUS.APPROVED,
35
+ typeof PAYOUT_APPROVAL_STATUS.PENDING,
36
+ typeof PAYOUT_APPROVAL_STATUS.REJECTED
37
+ ]>;
38
+ /**
39
+ * Type definition for payout input schema
40
+ * Extends the base payout type with payee information required for creating new payouts
41
+ *
42
+ * @extends {BasePayoutType}
43
+ * @property {z.ZodString} payeeName - Name of the payment recipient
44
+ */
45
+ type PayoutInputType = z.ZodObject<{
46
+ channel: z.ZodString;
47
+ msisdn: z.ZodString;
48
+ amount: z.ZodNumber;
49
+ description: z.ZodString;
50
+ notes: Optional<z.ZodString>;
51
+ payeeName: z.ZodString;
52
+ }>;
53
+ /**
54
+ * Type definition for complete payout schema
55
+ * Extends the base payout type with additional fields for tracking
56
+ * the full lifecycle of a payout transaction
57
+ *
58
+ * @extends {BasePayoutType}
59
+ * @property {z.ZodString} id - Unique identifier for the payout
60
+ * @property {z.ZodString} profileId - ID of the profile initiating the payout
61
+ * @property {z.ZodString} payeeName - Name of the payment recipient
62
+ * @property {PayoutStatusType} status - Current status of the payout
63
+ * @property {z.ZodString} statusMessage - Detailed message about the current status
64
+ * @property {z.ZodString} partnerReference - Optional reference from payment partner
65
+ * @property {z.ZodDate} createdAt - Timestamp of payout creation
66
+ * @property {z.ZodDate} updatedAt - Timestamp of last payout update
67
+ * @property {ApprovalPayoutStatusType} approvalStatus - Current approval state
68
+ * @property {IdentifierType} createdBy - User who created the payout
69
+ * @property {IdentifierType} actionedBy - User who last actioned the payout
70
+ */
71
+ type PayoutType = z.ZodObject<{
72
+ channel: z.ZodString;
73
+ msisdn: z.ZodString;
74
+ amount: z.ZodNumber;
75
+ description: z.ZodString;
76
+ notes: Optional<z.ZodString>;
77
+ id: z.ZodString;
78
+ profileId: z.ZodString;
79
+ payeeName: z.ZodString;
80
+ status: PayoutStatusType;
81
+ statusMessage: z.ZodString;
82
+ partnerReference: Optional<z.ZodString>;
83
+ createdAt: z.ZodDate;
84
+ updatedAt: z.ZodDate;
85
+ approvalStatus: ApprovalPayoutStatusType;
86
+ createdBy: Optional<IdentifierType>;
87
+ actionedBy: Optional<IdentifierType>;
88
+ }>;
89
+ /**
90
+ * Type representing a Zod schema that transforms nullable values to undefined
91
+ * @template T - The original Zod schema type
92
+ * @property {z.ZodNullable<T>} - The nullable version of the input schema
93
+ * @property {T["_output"] | undefined} - The output type, allowing the original type or undefined
94
+ * @property {T["_input"] | null} - The input type, allowing the original type or null
95
+ */
96
+ type MakeOptionalResult<T extends z.ZodType> = z.ZodEffects<z.ZodNullable<T>, T["_output"] | undefined, T["_input"] | null>;
97
+ /**
98
+ * Type representing a fully optional field that transforms nulls to undefined
99
+ * @template T - The original Zod schema type
100
+ * Combines MakeOptionalResult with ZodOptional to allow both:
101
+ * 1. The field to be optional (can be omitted from object)
102
+ * 2. When present, the value can be null (transformed to undefined) or the original type
103
+ */
104
+ type Optional<T extends z.ZodType> = z.ZodOptional<MakeOptionalResult<T>>;
105
+ /**
106
+ * Schema for identifying users in the payout process
107
+ * Used to track who created or actioned a payout
108
+ */
109
+ declare const identifierSchema: IdentifierType;
110
+ /**
111
+ * Type definition inferred from identifierSchema
112
+ * Represents the structure of a user who actions the payout
113
+ */
114
+ type PayoutApprover = z.infer<typeof identifierSchema>;
115
+ /**
116
+ * Type definition inferred from payoutInputSchema
117
+ * Represents the structure of data required to create a new payout
118
+ */
119
+ type PayoutInput = z.infer<typeof payoutInputSchema>;
120
+ /**
121
+ * Schema for creating a new payout
122
+ * Extends base payout schema with payee information
123
+ */
124
+ declare const payoutInputSchema: PayoutInputType;
125
+ /**
126
+ * Type definition inferred from payoutSchema
127
+ * Represents the complete payout record structure
128
+ */
129
+ type PayoutData = z.infer<typeof payoutSchema>;
130
+ /**
131
+ * Schema for complete payout record
132
+ * Extends base payout schema with additional fields for:
133
+ * - Identification (id, profileId)
134
+ * - Status tracking
135
+ * - Timestamps
136
+ * - Approval information
137
+ * - User tracking (created by, actioned by)
138
+ */
139
+ declare const payoutSchema: PayoutType;
140
+ /**
141
+ * Export object containing all payout-related schemas
142
+ * Used for validation and type checking throughout the application
143
+ */
144
+ export declare const PayoutSchemas: {
145
+ readonly payoutData: PayoutType;
146
+ readonly payoutInput: PayoutInputType;
147
+ readonly payoutTransactionStatus: PayoutStatusType;
148
+ readonly payoutApprovalStatus: ApprovalPayoutStatusType;
149
+ readonly payoutApprover: IdentifierType;
150
+ };
151
+ /**
152
+ * Export types for use in other parts of the application
153
+ * These types can be used for type checking and documentation
154
+ */
155
+ export type { PayoutApprover, PayoutData, PayoutInput };
156
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayoutSchemas = void 0;
4
+ const zod_1 = require("zod");
5
+ const status_js_1 = require("./status.js");
6
+ /**
7
+ * Creates a Zod schema that transforms null values to undefined
8
+ * This is useful when dealing with APIs that return null but you want to use undefined in your codebase
9
+ *
10
+ * @template T - The type of Zod schema being transformed
11
+ * @param {T} schema - The original Zod schema to transform
12
+ * @returns {MakeOptionalResult<T>} A new schema that:
13
+ * - Accepts the original type or null as input
14
+ * - Outputs the original type or undefined
15
+ * - Automatically transforms null to undefined during validation
16
+ *
17
+ * @example
18
+ * const userSchema = z.object({
19
+ * name: makeOptional(z.string()), // accepts: string | null, outputs: string | undefined
20
+ * });
21
+ *
22
+ * // These are all valid:
23
+ * userSchema.parse({ name: "John" }) // { name: "John" }
24
+ * userSchema.parse({ name: null }) // { name: undefined }
25
+ */
26
+ const makeOptional = (schema) => schema.nullable().transform((val) => val === null ? undefined : val);
27
+ /**
28
+ * Schema for identifying users in the payout process
29
+ * Used to track who created or actioned a payout
30
+ */
31
+ const identifierSchema = zod_1.z.object({
32
+ name: zod_1.z.string(),
33
+ identity: zod_1.z.string(),
34
+ });
35
+ /**
36
+ * Schema for payout status
37
+ * Defines all possible states a payout can be in
38
+ */
39
+ const payoutStatusSchema = zod_1.z.enum([
40
+ status_js_1.PAYOUT_STATUS.CREATED,
41
+ status_js_1.PAYOUT_STATUS.PAID,
42
+ status_js_1.PAYOUT_STATUS.FAILED,
43
+ status_js_1.PAYOUT_STATUS.REJECTED,
44
+ status_js_1.PAYOUT_STATUS.PENDING,
45
+ status_js_1.PAYOUT_STATUS.QUEUED,
46
+ status_js_1.PAYOUT_STATUS.REVERSED,
47
+ ]);
48
+ /**
49
+ * Schema for payout approval status
50
+ * Defines all possible approval states
51
+ */
52
+ const approvalPayoutStatusSchema = zod_1.z.enum([
53
+ status_js_1.PAYOUT_APPROVAL_STATUS.APPROVED,
54
+ status_js_1.PAYOUT_APPROVAL_STATUS.PENDING,
55
+ status_js_1.PAYOUT_APPROVAL_STATUS.REJECTED,
56
+ ]);
57
+ /**
58
+ * Base schema for payout operations
59
+ * Contains common fields used across all payout operations
60
+ */
61
+ const basePayoutSchema = zod_1.z.object({
62
+ channel: zod_1.z.string(),
63
+ msisdn: zod_1.z.string(),
64
+ amount: zod_1.z.coerce.number(),
65
+ description: zod_1.z.string(),
66
+ notes: makeOptional(zod_1.z.string()).optional(),
67
+ });
68
+ /**
69
+ * Schema for creating a new payout
70
+ * Extends base payout schema with payee information
71
+ */
72
+ const payoutInputSchema = basePayoutSchema.extend({
73
+ payeeName: zod_1.z.string(),
74
+ });
75
+ /**
76
+ * Schema for complete payout record
77
+ * Extends base payout schema with additional fields for:
78
+ * - Identification (id, profileId)
79
+ * - Status tracking
80
+ * - Timestamps
81
+ * - Approval information
82
+ * - User tracking (created by, actioned by)
83
+ */
84
+ const payoutSchema = basePayoutSchema.extend({
85
+ id: zod_1.z.string(),
86
+ profileId: zod_1.z.string(),
87
+ payeeName: zod_1.z.string(),
88
+ status: payoutStatusSchema,
89
+ statusMessage: zod_1.z.string(),
90
+ partnerReference: makeOptional(zod_1.z.string()).optional(),
91
+ createdAt: zod_1.z.coerce.date(),
92
+ updatedAt: zod_1.z.coerce.date(),
93
+ actionedAt: zod_1.z.coerce.date().nullish(),
94
+ approvalStatus: approvalPayoutStatusSchema,
95
+ createdBy: makeOptional(identifierSchema).optional(),
96
+ actionedBy: makeOptional(identifierSchema).optional(),
97
+ });
98
+ /**
99
+ * Export object containing all payout-related schemas
100
+ * Used for validation and type checking throughout the application
101
+ */
102
+ exports.PayoutSchemas = {
103
+ payoutData: payoutSchema, // Complete payout record schema
104
+ payoutInput: payoutInputSchema, // New payout input schema
105
+ payoutTransactionStatus: payoutStatusSchema, // Payout status enum schema
106
+ payoutApprovalStatus: approvalPayoutStatusSchema, // Approval status enum schema
107
+ payoutApprover: identifierSchema, // Identifier schema for approvers
108
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Represents the current status of a payout transaction.
3
+ * @enum {string}
4
+ * @readonly
5
+ */
6
+ export declare enum PAYOUT_STATUS {
7
+ QUEUED = "QUEUED",
8
+ /** Payout is awaiting processing */
9
+ PENDING = "PENDING",
10
+ /** Payout has been successfully processed */
11
+ PAID = "PAID",
12
+ /** Payout processing has failed */
13
+ FAILED = "FAILED",
14
+ /** Payout has been rejected */
15
+ REJECTED = "REJECTED",
16
+ /** Payout has been initially created but not yet processed */
17
+ CREATED = "CREATED",
18
+ REVERSED = "REVERSED"
19
+ }
20
+ /**
21
+ * Represents the approval status for payouts that require authorization.
22
+ * @enum {string}
23
+ * @readonly
24
+ */
25
+ export declare enum PAYOUT_APPROVAL_STATUS {
26
+ /** Payout is awaiting approval decision */
27
+ PENDING = "Pending",
28
+ /** Payout has been approved */
29
+ APPROVED = "Approved",
30
+ /** Payout has been rejected during approval process */
31
+ REJECTED = "Rejected"
32
+ }
33
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,aAAa;IACvB,MAAM,WAAW;IAEjB,oCAAoC;IACpC,OAAO,YAAY;IACnB,6CAA6C;IAC7C,IAAI,SAAS;IACb,mCAAmC;IACnC,MAAM,WAAW;IACjB,+BAA+B;IAC/B,QAAQ,aAAa;IACrB,8DAA8D;IAC9D,OAAO,YAAY;IAEnB,QAAQ,aAAa;CACtB;AAED;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,2CAA2C;IAC3C,OAAO,YAAY;IACnB,+BAA+B;IAC/B,QAAQ,aAAa;IACrB,uDAAuD;IACvD,QAAQ,aAAa;CACtB"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PAYOUT_APPROVAL_STATUS = exports.PAYOUT_STATUS = void 0;
4
+ /**
5
+ * Represents the current status of a payout transaction.
6
+ * @enum {string}
7
+ * @readonly
8
+ */
9
+ var PAYOUT_STATUS;
10
+ (function (PAYOUT_STATUS) {
11
+ PAYOUT_STATUS["QUEUED"] = "QUEUED";
12
+ /** Payout is awaiting processing */
13
+ PAYOUT_STATUS["PENDING"] = "PENDING";
14
+ /** Payout has been successfully processed */
15
+ PAYOUT_STATUS["PAID"] = "PAID";
16
+ /** Payout processing has failed */
17
+ PAYOUT_STATUS["FAILED"] = "FAILED";
18
+ /** Payout has been rejected */
19
+ PAYOUT_STATUS["REJECTED"] = "REJECTED";
20
+ /** Payout has been initially created but not yet processed */
21
+ PAYOUT_STATUS["CREATED"] = "CREATED";
22
+ PAYOUT_STATUS["REVERSED"] = "REVERSED";
23
+ })(PAYOUT_STATUS || (exports.PAYOUT_STATUS = PAYOUT_STATUS = {}));
24
+ /**
25
+ * Represents the approval status for payouts that require authorization.
26
+ * @enum {string}
27
+ * @readonly
28
+ */
29
+ var PAYOUT_APPROVAL_STATUS;
30
+ (function (PAYOUT_APPROVAL_STATUS) {
31
+ /** Payout is awaiting approval decision */
32
+ PAYOUT_APPROVAL_STATUS["PENDING"] = "Pending";
33
+ /** Payout has been approved */
34
+ PAYOUT_APPROVAL_STATUS["APPROVED"] = "Approved";
35
+ /** Payout has been rejected during approval process */
36
+ PAYOUT_APPROVAL_STATUS["REJECTED"] = "Rejected";
37
+ })(PAYOUT_APPROVAL_STATUS || (exports.PAYOUT_APPROVAL_STATUS = PAYOUT_APPROVAL_STATUS = {}));