@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
@@ -1,58 +0,0 @@
1
- import { identityContract } from "./identity.api-contract";
2
- import type { ClientInferResponseBody } from "@ts-rest/core";
3
- import { BaseRepository } from "@/lib/api";
4
- type GetUserIdentityResponse = ClientInferResponseBody<typeof identityContract.getUserCredentials>;
5
- /**
6
- * Repository class for retrieving user identity-related information.
7
- * Handles fetching user credentials and identity data from the API.
8
- *
9
- * This repository handles pure API communication without permission checking.
10
- * Permission validation should be handled at the service layer or route handlers.
11
- *
12
- * @extends {BaseRepository<typeof identityContract>}
13
- *
14
- * @example
15
- * ```typescript
16
- * const repo = new IdentityRepository({ token: userToken });
17
- * const identity = await repo.getIdentity();
18
- * ```
19
- */
20
- export declare class IdentityRepository extends BaseRepository<typeof identityContract> {
21
- /**
22
- * Creates an instance of IdentityRepository.
23
- *
24
- * @param options - Optional configuration
25
- * @param options.token - Authentication token for API calls
26
- * @param options.root - Custom API root URL
27
- *
28
- * @example
29
- * ```typescript
30
- * const repo = new IdentityRepository({
31
- * token: "user-auth-token",
32
- * root: "base-api-url"
33
- * });
34
- * ```
35
- */
36
- constructor(options?: {
37
- token?: string;
38
- root?: string;
39
- });
40
- /**
41
- * Retrieves the current user's login credentials and identity information.
42
- *
43
- * @returns Promise that resolves to the user's login credentials
44
- * @throws {APIError} If the request fails or returns an unexpected status
45
- *
46
- * @example
47
- * ```typescript
48
- * try {
49
- * const identity = await repo.getIdentity();
50
- * console.log("User identity:", identity);
51
- * } catch (error) {
52
- * console.error("Failed to get user identity:", error.message);
53
- * }
54
- * ```
55
- */
56
- getIdentity(): Promise<GetUserIdentityResponse>;
57
- }
58
- export {};
@@ -1,5 +0,0 @@
1
- export * from "./auth.manager";
2
- export * from "./auth.repository";
3
- export * from "./access/access.repository";
4
- export * from "./identity/identity.repository";
5
- export * from "./profile/profile.repository";
@@ -1,80 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Zod schema for validating user profile data.
4
- * Defines validation rules and constraints for each profile field.
5
- *
6
- * @const {ProfileType}
7
- *
8
- * @property {string} id - Unique identifier for the profile
9
- * @property {string | null | undefined} firstName - User's first name, can be null or undefined
10
- * @property {string | null | undefined} lastName - User's last name, can be null or undefined
11
- * @property {string} displayName - User's display name
12
- * @property {string | null | undefined} phone - User's contact phone number, can be null or undefined
13
- * @property {string} accountNo - User's account number
14
- * @property {string | null | undefined} email - User's email address, can be null or undefined
15
- * @property {boolean | null | undefined} autoApprove - Auto-approval setting, can be null or undefined
16
- */
17
- declare const profileDTOSchema: z.ZodObject<{
18
- id: z.ZodString;
19
- firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
- lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
- displayName: z.ZodString;
22
- phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
- accountNo: z.ZodString;
24
- email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
- autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
26
- }, "strip", z.ZodTypeAny, {
27
- id: string;
28
- displayName: string;
29
- accountNo: string;
30
- firstName?: string | null | undefined;
31
- lastName?: string | null | undefined;
32
- phone?: string | null | undefined;
33
- email?: string | null | undefined;
34
- autoApprove?: boolean | null | undefined;
35
- }, {
36
- id: string;
37
- displayName: string;
38
- accountNo: string;
39
- firstName?: string | null | undefined;
40
- lastName?: string | null | undefined;
41
- phone?: string | null | undefined;
42
- email?: string | null | undefined;
43
- autoApprove?: boolean | null | undefined;
44
- }>;
45
- /**
46
- * TypeScript type representing a validated user profile.
47
- * Use this type for profile instances that have been validated against the schema.
48
- */
49
- export type ProfileDTO = z.infer<typeof profileDTOSchema>;
50
- export declare const ProfileDTOSchemas: {
51
- profileDTOSchema: z.ZodObject<{
52
- id: z.ZodString;
53
- firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
- lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
- displayName: z.ZodString;
56
- phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
- accountNo: z.ZodString;
58
- email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
- autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
60
- }, "strip", z.ZodTypeAny, {
61
- id: string;
62
- displayName: string;
63
- accountNo: string;
64
- firstName?: string | null | undefined;
65
- lastName?: string | null | undefined;
66
- phone?: string | null | undefined;
67
- email?: string | null | undefined;
68
- autoApprove?: boolean | null | undefined;
69
- }, {
70
- id: string;
71
- displayName: string;
72
- accountNo: string;
73
- firstName?: string | null | undefined;
74
- lastName?: string | null | undefined;
75
- phone?: string | null | undefined;
76
- email?: string | null | undefined;
77
- autoApprove?: boolean | null | undefined;
78
- }>;
79
- };
80
- export {};
@@ -1,56 +0,0 @@
1
- import { BaseRepository } from "@/lib/api/base-repository";
2
- import { profileContract } from "./profile.api-contract";
3
- import { Profile } from "@/models/profile.model";
4
- /**
5
- * Repository class for managing user profile operations.
6
- * Handles retrieving and updating user profile information from the API.
7
- *
8
- * This repository handles pure API communication without permission checking.
9
- * Permission validation should be handled at the service layer or route handlers.
10
- *
11
- * @extends {BaseRepository<typeof profileContract>}
12
- *
13
- * @example
14
- * ```typescript
15
- * const repo = new ProfileRepository({ token: userToken });
16
- * const profile = await repo.getCurrentProfile();
17
- * ```
18
- */
19
- export declare class ProfileRepository extends BaseRepository<typeof profileContract> {
20
- /**
21
- * Creates an instance of ProfileRepository.
22
- *
23
- * @param options - Optional configuration
24
- * @param options.token - Authentication token for API calls
25
- * @param options.root - Custom API root URL
26
- *
27
- * @example
28
- * ```typescript
29
- * const repo = new ProfileRepository({
30
- * token: "user-auth-token",
31
- * root: "base-api-url"
32
- * });
33
- * ```
34
- */
35
- constructor(options?: {
36
- token?: string;
37
- root?: string;
38
- });
39
- /**
40
- * Retrieves the current user's profile information.
41
- *
42
- * @returns Promise that resolves to the user's profile
43
- * @throws {APIError} If the request fails, profile data is invalid, or returns an unexpected status
44
- *
45
- * @example
46
- * ```typescript
47
- * try {
48
- * const profile = await repo.getCurrentProfile();
49
- * console.log(`User: ${profile.name}, Email: ${profile.email}`);
50
- * } catch (error) {
51
- * console.error("Failed to get profile:", error.message);
52
- * }
53
- * ```
54
- */
55
- getCurrentProfile(): Promise<Profile>;
56
- }
@@ -1,16 +0,0 @@
1
- import { ContactInfo } from "../../models/contact-info.model";
2
- import { ContactInputDTO } from "./contact.dtos";
3
- /**
4
- * Factory for resolving and validating a raw `ContactInput` into a typed and valid version.
5
- */
6
- export declare class ValidatedContactInputFactory {
7
- private handlers;
8
- /**
9
- * Resolves a raw contact input into a valid and strongly-typed `ContactInput`.
10
- *
11
- * @param {ContactInputDTO} data - The unvalidated input object
12
- * @returns {ContactInputDTO} - A valid and converted input ready for use
13
- * @throws {Error} - If the input cannot be handled by any handler
14
- */
15
- resolve(data: ContactInfo): ContactInputDTO;
16
- }
@@ -1,90 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Schema for contact channel types.
4
- *
5
- * @remarks
6
- * Currently supports two channel types:
7
- * - "Bank": For traditional banking channels
8
- * - "Mobile": For mobile money channels
9
- *
10
- * @see {@link ContactType} for the inferred type
11
- */
12
- export declare enum ContactType {
13
- Bank = "Bank",
14
- Mobile = "Mobile"
15
- }
16
- /**
17
- * Type representing user-provided contact information.
18
- * Used for creating or updating contacts.
19
- *
20
- * @see {@link contactInputSchema} for validation rules
21
- * @see {@link ContactDTOSchemas} for all available schemas
22
- */
23
- export type ContactInputDTO = z.infer<typeof ContactDTOSchemas.contactInputDTO>;
24
- /**
25
- * Type representing a complete contact record.
26
- * Includes both user-provided and system-generated fields.
27
- *
28
- * @see {@link contactSchema} for validation rules
29
- */
30
- export type ContactDTO = z.infer<typeof ContactDTOSchemas.contactDTO>;
31
- /**
32
- * Collection of all contact-related schemas.
33
- */
34
- export declare const ContactDTOSchemas: {
35
- /** Schema for complete contact records */
36
- contactDTO: z.ZodObject<{
37
- id: z.ZodString;
38
- profileId: z.ZodString;
39
- createdAt: z.ZodString;
40
- updatedAt: z.ZodString;
41
- } & {
42
- displayName: z.ZodString;
43
- accountNo: z.ZodString;
44
- channel: z.ZodString;
45
- countryCode: z.ZodDefault<z.ZodString>;
46
- type: z.ZodNativeEnum<typeof ContactType>;
47
- }, "strip", z.ZodTypeAny, {
48
- type: ContactType;
49
- id: string;
50
- displayName: string;
51
- accountNo: string;
52
- channel: string;
53
- profileId: string;
54
- countryCode: string;
55
- createdAt: string;
56
- updatedAt: string;
57
- }, {
58
- type: ContactType;
59
- id: string;
60
- displayName: string;
61
- accountNo: string;
62
- channel: string;
63
- profileId: string;
64
- createdAt: string;
65
- updatedAt: string;
66
- countryCode?: string | undefined;
67
- }>;
68
- /** Schema for contact input validation */
69
- contactInputDTO: z.ZodObject<{
70
- displayName: z.ZodString;
71
- accountNo: z.ZodString;
72
- channel: z.ZodString;
73
- countryCode: z.ZodDefault<z.ZodString>;
74
- type: z.ZodNativeEnum<typeof ContactType>;
75
- }, "strip", z.ZodTypeAny, {
76
- type: ContactType;
77
- displayName: string;
78
- accountNo: string;
79
- channel: string;
80
- countryCode: string;
81
- }, {
82
- type: ContactType;
83
- displayName: string;
84
- accountNo: string;
85
- channel: string;
86
- countryCode?: string | undefined;
87
- }>;
88
- /** Schema for contact channel types */
89
- contactType: z.ZodNativeEnum<typeof ContactType>;
90
- };
@@ -1,116 +0,0 @@
1
- import { BaseRepository } from "../../lib/api/base-repository";
2
- import { contract } from "./contact.api-contract";
3
- import { Contact } from "../../models/contact.model";
4
- import { ContactInfo } from "@/models";
5
- /**
6
- * Repository class for managing Contact data through API interactions.
7
- * Handles contact creation, updates, deletion, and retrieval operations.
8
- *
9
- * This repository handles pure API communication without permission checking.
10
- * Permission validation should be handled at the service layer or route handlers.
11
- *
12
- * @extends {BaseRepository<typeof contract>}
13
- *
14
- * @example
15
- * ```typescript
16
- * const repo = new ContactRepository({ token: userToken });
17
- * const contacts = await repo.getAll();
18
- * ```
19
- */
20
- export declare class ContactRepository extends BaseRepository<typeof contract> {
21
- /**
22
- * Creates an instance of ContactRepository using the contact contract.
23
- *
24
- * @param options - Optional configuration
25
- * @param options.token - Authentication token for API calls
26
- * @param options.root - Custom API root URL
27
- *
28
- * @example
29
- * ```typescript
30
- * const repo = new ContactRepository({
31
- * token: "user-auth-token",
32
- * root: "https://api-staging.afloat.money/v1"
33
- * });
34
- * ```
35
- */
36
- constructor(options?: {
37
- token?: string;
38
- root?: string;
39
- });
40
- /**
41
- * Creates a new contact record.
42
- *
43
- * @param info - The data required to create a new contact
44
- * @returns Promise that resolves to the newly created contact
45
- * @throws {APIError} If the creation operation fails
46
- *
47
- * @example
48
- * ```typescript
49
- * const newContact = await repo.create({
50
- * name: "John Doe",
51
- * email: "john@example.com",
52
- * phone: "+1234567890"
53
- * });
54
- * ```
55
- */
56
- create(info: ContactInfo): Promise<Contact>;
57
- /**
58
- * Updates an existing contact record by ID.
59
- *
60
- * @param id - The unique identifier of the contact to edit
61
- * @param info - The data to update the contact with
62
- * @returns Promise that resolves to the updated contact
63
- * @throws {APIError} If the update operation fails
64
- *
65
- * @example
66
- * ```typescript
67
- * const updatedContact = await repo.edit("contact-id", {
68
- * name: "Jane Doe",
69
- * email: "jane@example.com"
70
- * });
71
- * ```
72
- */
73
- edit(id: string, info: ContactInfo): Promise<Contact>;
74
- /**
75
- * Deletes a contact record by ID.
76
- *
77
- * @param id - The unique identifier of the contact to remove
78
- * @returns Promise that resolves when the deletion is complete
79
- * @throws {APIError} If the deletion operation fails
80
- *
81
- * @example
82
- * ```typescript
83
- * await repo.remove("contact-id");
84
- * console.log("Contact deleted successfully");
85
- * ```
86
- */
87
- remove(id: string): Promise<void>;
88
- /**
89
- * Retrieves all contacts.
90
- * Results are ordered in descending order by creation date by default.
91
- *
92
- * @returns Promise that resolves to an array of contacts
93
- * @throws {APIError} If the fetch operation fails
94
- *
95
- * @example
96
- * ```typescript
97
- * const contacts = await repo.getAll();
98
- * contacts.forEach(contact => console.log(`Contact: ${contact.name}`));
99
- * ```
100
- */
101
- getAll(): Promise<Contact[]>;
102
- /**
103
- * Retrieves a contact by its unique identifier.
104
- *
105
- * @param id - The unique identifier of the contact to retrieve
106
- * @returns Promise that resolves to the requested contact
107
- * @throws {APIError} If the contact is not found or fetch operation fails
108
- *
109
- * @example
110
- * ```typescript
111
- * const contact = await repo.getByID("contact-id");
112
- * console.log(`Contact: ${contact.name}, Email: ${contact.email}`);
113
- * ```
114
- */
115
- getByID(id: string): Promise<Contact>;
116
- }
@@ -1,2 +0,0 @@
1
- export * from "./contact.repository";
2
- export * from "./contact.dtos";
@@ -1,3 +0,0 @@
1
- export * from "./payout.repository";
2
- export * from "./payout.dtos";
3
- export * from "./payout-channel-handler";
@@ -1,108 +0,0 @@
1
- import { Amount, MNOId, PhoneNumber } from "@temboplus/frontend-core";
2
- import { PayoutChannel, PayoutInputDTO } from "./payout.dtos";
3
- import { ContactInfo, MobileContactInfo, BankContactInfo } from "../../models/contact-info.model";
4
- import { Wallet } from "@/models/wallet.model";
5
- /**
6
- * Valid payout channel codes that can be used in the system
7
- *
8
- * @remarks
9
- * - `${countryCode}-BANK-B2C`: Code for bank transfers
10
- * - `${countryCode}-${telecom}-B2C`: Pattern for mobile money transfers where the telecom company is the provider code
11
- *
12
- * @see {@link PayoutChannelCodeFactory} for functions to generate valid codes
13
- */
14
- export type PayoutChannelCode = `${string}-BANK-B2C` | `${string}-${string}-B2C`;
15
- /**
16
- * Utility functions for generating payout narration strings
17
- */
18
- declare class PayoutNarrationGenerator {
19
- /**
20
- * Generates a narration string for a mobile payout.
21
- *
22
- * @param data - The mobile contact information used to generate the narration
23
- * @returns A formatted, uppercase narration string for the mobile payout
24
- * @throws Will throw an error if the provided data is not a valid MobileContactInfo instance
25
- */
26
- static generateMobilePayoutNarration(data: MobileContactInfo): string;
27
- /**
28
- * Generates a narration string for a bank payout.
29
- *
30
- * @param data - The bank contact information used to generate the narration
31
- * @returns A formatted, uppercase narration string for the bank payout
32
- * @throws Will throw an error if the provided data is not a valid BankContactInfo instance
33
- */
34
- static generateBankPayoutNarration(data: BankContactInfo): string;
35
- }
36
- /**
37
- * Factory for creating standardized payout channel codes
38
- *
39
- * @example
40
- * ```ts
41
- * // Create bank channel code
42
- * const bankCode = PayoutChannelCodeFactory.forBank(bankContactInfo); // Returns "TZ-BANK-B2C"
43
- *
44
- * // Create mobile channel code
45
- * const mobileCode = PayoutChannelCodeFactory.forMobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
46
- * ```
47
- */
48
- declare class PayoutChannelCodeFactory {
49
- /**
50
- * Creates a bank transfer channel code
51
- * @param contactInfo - Bank contact information
52
- * @throws {Error} If country is not supported
53
- */
54
- static forBank(contactInfo: BankContactInfo, wallet: Wallet): PayoutChannelCode;
55
- /**
56
- * Creates a mobile money channel code based on the telecom provider
57
- * @param phoneNumber - Phone number object containing telecom information
58
- * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
59
- * @throws {Error} If phone number is invalid or country is not supported
60
- *
61
- * @see {@link PhoneNumber} from "@temboplus/frontend-core" for phone number structure
62
- */
63
- static forMobile(phoneNumber: PhoneNumber, mnoId: MNOId, wallet: Wallet): PayoutChannelCode;
64
- }
65
- /**
66
- * Factory class for creating payout input DTOs based on channel and contact information
67
- *
68
- * @example
69
- * ```ts
70
- * const factory = new PayoutInputFactory();
71
- * const payoutInput = factory.getPayoutInput({
72
- * channel: PayoutChannel.MOBILE,
73
- * receiver: mobileContactInfo,
74
- * amount: new Amount(1000),
75
- * notes: "Payment for services"
76
- * });
77
- * ```
78
- */
79
- export declare class PayoutInputFactory {
80
- private readonly handlers;
81
- /**
82
- * Creates a payout input DTO based on the provided parameters
83
- *
84
- * @param args - Configuration object containing channel, receiver, amount, and optional notes
85
- * @returns {PayoutInputDTO} The configured payout input data transfer object
86
- * @throws {Error} If no suitable handler is found for the specified channel and contact type
87
- */
88
- getPayoutInput(args: {
89
- channel: PayoutChannel;
90
- receiver: ContactInfo;
91
- amount: Amount;
92
- notes?: string;
93
- }, wallet: Wallet): PayoutInputDTO;
94
- }
95
- /**
96
- * @deprecated Use PayoutNarrationGenerator instead
97
- * @see {@link PayoutNarrationGenerator}
98
- */
99
- export declare const PayoutUtils: typeof PayoutNarrationGenerator;
100
- /**
101
- * @deprecated Use PayoutChannelCodeFactory instead
102
- * @see {@link PayoutChannelCodeFactory}
103
- */
104
- export declare const createPayoutChannelCode: {
105
- bank: typeof PayoutChannelCodeFactory.forBank;
106
- mobile: typeof PayoutChannelCodeFactory.forMobile;
107
- };
108
- export {};