@temboplus/afloat 0.1.54 → 0.1.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/README.md +246 -42
  2. package/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
  3. package/{script/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
  4. package/dist/features/admin/admin.repository.d.ts +179 -0
  5. package/dist/features/admin/index.d.ts +2 -0
  6. package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
  7. package/dist/features/auth/access/access.repository.d.ts +55 -0
  8. package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
  9. package/dist/features/auth/auth.manager.d.ts +249 -0
  10. package/dist/features/auth/auth.repository.d.ts +66 -0
  11. package/dist/features/auth/auth.store.d.ts +139 -0
  12. package/{script/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
  13. package/dist/features/auth/identity/identity.repository.d.ts +58 -0
  14. package/dist/features/auth/index.d.ts +5 -0
  15. package/{script/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
  16. package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
  17. package/dist/features/auth/profile/profile.repository.d.ts +56 -0
  18. package/{script/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
  19. package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
  20. package/{script/src → dist}/features/auth/storage/types.d.ts +1 -2
  21. package/dist/features/contact/contact-input-handler.d.ts +16 -0
  22. package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
  23. package/dist/features/contact/contact.dtos.d.ts +90 -0
  24. package/dist/features/contact/contact.repository.d.ts +116 -0
  25. package/dist/features/contact/index.d.ts +2 -0
  26. package/dist/features/payout/index.d.ts +3 -0
  27. package/dist/features/payout/payout-channel-handler.d.ts +108 -0
  28. package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
  29. package/dist/features/payout/payout.dtos.d.ts +365 -0
  30. package/dist/features/payout/payout.repository.d.ts +193 -0
  31. package/dist/features/wallet/index.d.ts +4 -0
  32. package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
  33. package/{script/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
  34. package/dist/features/wallet/wallet.dtos.d.ts +204 -0
  35. package/dist/features/wallet/wallet.repository.d.ts +120 -0
  36. package/dist/features/wallet/wallet.utils.d.ts +17 -0
  37. package/dist/index.cjs.js +2 -0
  38. package/dist/index.cjs.js.map +1 -0
  39. package/dist/index.d.ts +7 -0
  40. package/dist/index.esm.js +2 -0
  41. package/dist/index.esm.js.map +1 -0
  42. package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
  43. package/{script/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
  44. package/dist/lib/api/index.d.ts +2 -0
  45. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  46. package/{script/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  47. package/dist/lib/error/error.utils.d.ts +22 -0
  48. package/dist/lib/error/index.d.ts +3 -0
  49. package/dist/models/contact-info.model.d.ts +817 -0
  50. package/{script/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
  51. package/dist/models/index.d.ts +10 -0
  52. package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
  53. package/{script/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +13 -15
  54. package/{esm/src → dist}/models/permission.d.ts +1 -2
  55. package/{script/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
  56. package/{script/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
  57. package/dist/models/statement-entry.model.d.ts +195 -0
  58. package/{esm/src/models/user/authenticated-user.d.ts → dist/models/user.model.d.ts} +1 -2
  59. package/{script/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
  60. package/package.json +47 -26
  61. package/LICENSE +0 -7
  62. package/esm/_dnt.test_shims.d.ts.map +0 -1
  63. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  65. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  68. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  69. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  71. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  72. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  74. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  75. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  77. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  78. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  80. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  81. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  83. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  84. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  86. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  87. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  92. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  97. package/esm/mod.d.ts +0 -8
  98. package/esm/mod.d.ts.map +0 -1
  99. package/esm/mod.js +0 -7
  100. package/esm/package.json +0 -3
  101. package/esm/src/errors/api_error.d.ts.map +0 -1
  102. package/esm/src/errors/api_error.js +0 -90
  103. package/esm/src/errors/index.d.ts +0 -3
  104. package/esm/src/errors/index.d.ts.map +0 -1
  105. package/esm/src/errors/index.js +0 -2
  106. package/esm/src/errors/permission_error.d.ts +0 -48
  107. package/esm/src/errors/permission_error.d.ts.map +0 -1
  108. package/esm/src/errors/permission_error.js +0 -70
  109. package/esm/src/features/admin/contract.d.ts.map +0 -1
  110. package/esm/src/features/admin/contract.js +0 -210
  111. package/esm/src/features/admin/index.d.ts +0 -4
  112. package/esm/src/features/admin/index.d.ts.map +0 -1
  113. package/esm/src/features/admin/index.js +0 -3
  114. package/esm/src/features/admin/repository.d.ts +0 -114
  115. package/esm/src/features/admin/repository.d.ts.map +0 -1
  116. package/esm/src/features/admin/repository.js +0 -248
  117. package/esm/src/features/admin/schemas.d.ts +0 -146
  118. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  119. package/esm/src/features/admin/schemas.js +0 -206
  120. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  121. package/esm/src/features/auth/access/contract.js +0 -14
  122. package/esm/src/features/auth/access/repository.d.ts +0 -11
  123. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  124. package/esm/src/features/auth/access/repository.js +0 -25
  125. package/esm/src/features/auth/contract.d.ts.map +0 -1
  126. package/esm/src/features/auth/contract.js +0 -43
  127. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  128. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  129. package/esm/src/features/auth/identity/contract.js +0 -17
  130. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  131. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  132. package/esm/src/features/auth/identity/repository.js +0 -30
  133. package/esm/src/features/auth/index.d.ts +0 -6
  134. package/esm/src/features/auth/index.d.ts.map +0 -1
  135. package/esm/src/features/auth/index.js +0 -5
  136. package/esm/src/features/auth/manager.d.ts +0 -105
  137. package/esm/src/features/auth/manager.d.ts.map +0 -1
  138. package/esm/src/features/auth/manager.js +0 -181
  139. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  140. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  141. package/esm/src/features/auth/profile/contract.js +0 -14
  142. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  143. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  144. package/esm/src/features/auth/profile/repository.js +0 -25
  145. package/esm/src/features/auth/repository.d.ts +0 -30
  146. package/esm/src/features/auth/repository.d.ts.map +0 -1
  147. package/esm/src/features/auth/repository.js +0 -69
  148. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  149. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  150. package/esm/src/features/auth/storage/client_store.js +0 -46
  151. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  152. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  153. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  154. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  155. package/esm/src/features/auth/storage/server_store.js +0 -34
  156. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  157. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  158. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  159. package/esm/src/features/auth/storage/types.d.ts +0 -42
  160. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  161. package/esm/src/features/auth/storage/types.js +0 -1
  162. package/esm/src/features/contact/contract.d.ts.map +0 -1
  163. package/esm/src/features/contact/contract.js +0 -49
  164. package/esm/src/features/contact/index.d.ts +0 -2
  165. package/esm/src/features/contact/index.d.ts.map +0 -1
  166. package/esm/src/features/contact/index.js +0 -1
  167. package/esm/src/features/contact/repository.d.ts +0 -58
  168. package/esm/src/features/contact/repository.d.ts.map +0 -1
  169. package/esm/src/features/contact/repository.js +0 -108
  170. package/esm/src/features/payout/contract.d.ts.map +0 -1
  171. package/esm/src/features/payout/contract.js +0 -75
  172. package/esm/src/features/payout/index.d.ts +0 -2
  173. package/esm/src/features/payout/index.d.ts.map +0 -1
  174. package/esm/src/features/payout/index.js +0 -1
  175. package/esm/src/features/payout/repository.d.ts +0 -67
  176. package/esm/src/features/payout/repository.d.ts.map +0 -1
  177. package/esm/src/features/payout/repository.js +0 -163
  178. package/esm/src/features/wallet/contract.d.ts +0 -137
  179. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  180. package/esm/src/features/wallet/contract.js +0 -38
  181. package/esm/src/features/wallet/index.d.ts +0 -2
  182. package/esm/src/features/wallet/index.d.ts.map +0 -1
  183. package/esm/src/features/wallet/index.js +0 -1
  184. package/esm/src/features/wallet/repository.d.ts +0 -57
  185. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  186. package/esm/src/features/wallet/repository.js +0 -93
  187. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  188. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  189. package/esm/src/models/contact/derivatives/contact.js +0 -266
  190. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  191. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  192. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  193. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  194. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  195. package/esm/src/models/contact/index.d.ts +0 -5
  196. package/esm/src/models/contact/index.d.ts.map +0 -1
  197. package/esm/src/models/contact/index.js +0 -4
  198. package/esm/src/models/contact/schemas.d.ts +0 -66
  199. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  200. package/esm/src/models/contact/schemas.js +0 -64
  201. package/esm/src/models/contact/validation.d.ts +0 -37
  202. package/esm/src/models/contact/validation.d.ts.map +0 -1
  203. package/esm/src/models/contact/validation.js +0 -139
  204. package/esm/src/models/contact/validation.test.d.ts.map +0 -1
  205. package/esm/src/models/index.d.ts +0 -7
  206. package/esm/src/models/index.d.ts.map +0 -1
  207. package/esm/src/models/index.js +0 -6
  208. package/esm/src/models/payout/api.d.ts +0 -29
  209. package/esm/src/models/payout/api.d.ts.map +0 -1
  210. package/esm/src/models/payout/api.js +0 -1
  211. package/esm/src/models/payout/channel.d.ts +0 -58
  212. package/esm/src/models/payout/channel.d.ts.map +0 -1
  213. package/esm/src/models/payout/channel.js +0 -53
  214. package/esm/src/models/payout/derivatives/payout.d.ts +0 -156
  215. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  216. package/esm/src/models/payout/derivatives/payout.js +0 -261
  217. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  218. package/esm/src/models/payout/index.d.ts +0 -6
  219. package/esm/src/models/payout/index.d.ts.map +0 -1
  220. package/esm/src/models/payout/index.js +0 -5
  221. package/esm/src/models/payout/schemas.d.ts +0 -156
  222. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  223. package/esm/src/models/payout/schemas.js +0 -105
  224. package/esm/src/models/payout/status.d.ts +0 -33
  225. package/esm/src/models/payout/status.d.ts.map +0 -1
  226. package/esm/src/models/payout/status.js +0 -34
  227. package/esm/src/models/permission.d.ts.map +0 -1
  228. package/esm/src/models/permission.js +0 -50
  229. package/esm/src/models/role.d.ts +0 -21
  230. package/esm/src/models/role.d.ts.map +0 -1
  231. package/esm/src/models/role.js +0 -73
  232. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  233. package/esm/src/models/user/authenticated-user.js +0 -226
  234. package/esm/src/models/user/index.d.ts +0 -4
  235. package/esm/src/models/user/index.d.ts.map +0 -1
  236. package/esm/src/models/user/index.js +0 -3
  237. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  238. package/esm/src/models/user/managed-user.js +0 -255
  239. package/esm/src/models/user/profile.d.ts +0 -161
  240. package/esm/src/models/user/profile.d.ts.map +0 -1
  241. package/esm/src/models/user/profile.js +0 -334
  242. package/esm/src/models/wallet/index.d.ts +0 -4
  243. package/esm/src/models/wallet/index.d.ts.map +0 -1
  244. package/esm/src/models/wallet/index.js +0 -3
  245. package/esm/src/models/wallet/schemas.d.ts +0 -95
  246. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  247. package/esm/src/models/wallet/schemas.js +0 -35
  248. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  249. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  250. package/esm/src/models/wallet/statement_entry.js +0 -255
  251. package/esm/src/models/wallet/wallet.d.ts +0 -147
  252. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  253. package/esm/src/models/wallet/wallet.js +0 -279
  254. package/esm/src/shared/base_repository.d.ts.map +0 -1
  255. package/esm/src/shared/base_repository.js +0 -153
  256. package/esm/src/shared/common_responses.d.ts +0 -13
  257. package/esm/src/shared/common_responses.d.ts.map +0 -1
  258. package/esm/src/shared/common_responses.js +0 -10
  259. package/esm/src/shared/index.d.ts +0 -3
  260. package/esm/src/shared/index.d.ts.map +0 -1
  261. package/esm/src/shared/index.js +0 -2
  262. package/esm/src/shared/token_required_repository.d.ts +0 -78
  263. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  264. package/esm/src/shared/token_required_repository.js +0 -128
  265. package/script/_dnt.test_shims.d.ts.map +0 -1
  266. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  267. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  268. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  269. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  270. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  271. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  272. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  273. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  274. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  275. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  276. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  277. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  278. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  279. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  280. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  281. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  282. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  283. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  284. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  285. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  286. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  287. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  288. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  289. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  290. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  291. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  292. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  293. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  294. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  295. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  296. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  297. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  298. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  299. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  300. package/script/mod.d.ts +0 -8
  301. package/script/mod.d.ts.map +0 -1
  302. package/script/mod.js +0 -23
  303. package/script/package.json +0 -3
  304. package/script/src/errors/api_error.d.ts +0 -63
  305. package/script/src/errors/api_error.d.ts.map +0 -1
  306. package/script/src/errors/api_error.js +0 -94
  307. package/script/src/errors/index.d.ts +0 -3
  308. package/script/src/errors/index.d.ts.map +0 -1
  309. package/script/src/errors/index.js +0 -18
  310. package/script/src/errors/permission_error.d.ts.map +0 -1
  311. package/script/src/errors/permission_error.js +0 -74
  312. package/script/src/features/admin/contract.d.ts +0 -842
  313. package/script/src/features/admin/contract.d.ts.map +0 -1
  314. package/script/src/features/admin/contract.js +0 -213
  315. package/script/src/features/admin/index.d.ts +0 -4
  316. package/script/src/features/admin/index.d.ts.map +0 -1
  317. package/script/src/features/admin/index.js +0 -19
  318. package/script/src/features/admin/repository.d.ts +0 -114
  319. package/script/src/features/admin/repository.d.ts.map +0 -1
  320. package/script/src/features/admin/repository.js +0 -252
  321. package/script/src/features/admin/schemas.d.ts.map +0 -1
  322. package/script/src/features/admin/schemas.js +0 -209
  323. package/script/src/features/auth/access/contract.d.ts +0 -14
  324. package/script/src/features/auth/access/contract.d.ts.map +0 -1
  325. package/script/src/features/auth/access/contract.js +0 -17
  326. package/script/src/features/auth/access/repository.d.ts +0 -11
  327. package/script/src/features/auth/access/repository.d.ts.map +0 -1
  328. package/script/src/features/auth/access/repository.js +0 -29
  329. package/script/src/features/auth/contract.d.ts +0 -112
  330. package/script/src/features/auth/contract.d.ts.map +0 -1
  331. package/script/src/features/auth/contract.js +0 -46
  332. package/script/src/features/auth/identity/contract.d.ts.map +0 -1
  333. package/script/src/features/auth/identity/contract.js +0 -20
  334. package/script/src/features/auth/identity/repository.d.ts +0 -22
  335. package/script/src/features/auth/identity/repository.d.ts.map +0 -1
  336. package/script/src/features/auth/identity/repository.js +0 -34
  337. package/script/src/features/auth/index.d.ts +0 -6
  338. package/script/src/features/auth/index.d.ts.map +0 -1
  339. package/script/src/features/auth/index.js +0 -21
  340. package/script/src/features/auth/manager.d.ts +0 -105
  341. package/script/src/features/auth/manager.d.ts.map +0 -1
  342. package/script/src/features/auth/manager.js +0 -185
  343. package/script/src/features/auth/profile/contract.d.ts.map +0 -1
  344. package/script/src/features/auth/profile/contract.js +0 -17
  345. package/script/src/features/auth/profile/repository.d.ts +0 -11
  346. package/script/src/features/auth/profile/repository.d.ts.map +0 -1
  347. package/script/src/features/auth/profile/repository.js +0 -29
  348. package/script/src/features/auth/repository.d.ts +0 -30
  349. package/script/src/features/auth/repository.d.ts.map +0 -1
  350. package/script/src/features/auth/repository.js +0 -73
  351. package/script/src/features/auth/storage/client_store.d.ts.map +0 -1
  352. package/script/src/features/auth/storage/client_store.js +0 -51
  353. package/script/src/features/auth/storage/client_token_handler.d.ts +0 -32
  354. package/script/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  355. package/script/src/features/auth/storage/client_token_handler.js +0 -40
  356. package/script/src/features/auth/storage/server_store.d.ts +0 -24
  357. package/script/src/features/auth/storage/server_store.d.ts.map +0 -1
  358. package/script/src/features/auth/storage/server_store.js +0 -38
  359. package/script/src/features/auth/storage/server_token_handler.d.ts +0 -36
  360. package/script/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  361. package/script/src/features/auth/storage/server_token_handler.js +0 -119
  362. package/script/src/features/auth/storage/types.d.ts.map +0 -1
  363. package/script/src/features/auth/storage/types.js +0 -2
  364. package/script/src/features/contact/contract.d.ts +0 -170
  365. package/script/src/features/contact/contract.d.ts.map +0 -1
  366. package/script/src/features/contact/contract.js +0 -52
  367. package/script/src/features/contact/index.d.ts +0 -2
  368. package/script/src/features/contact/index.d.ts.map +0 -1
  369. package/script/src/features/contact/index.js +0 -17
  370. package/script/src/features/contact/repository.d.ts +0 -58
  371. package/script/src/features/contact/repository.d.ts.map +0 -1
  372. package/script/src/features/contact/repository.js +0 -112
  373. package/script/src/features/payout/contract.d.ts +0 -623
  374. package/script/src/features/payout/contract.d.ts.map +0 -1
  375. package/script/src/features/payout/contract.js +0 -78
  376. package/script/src/features/payout/index.d.ts +0 -2
  377. package/script/src/features/payout/index.d.ts.map +0 -1
  378. package/script/src/features/payout/index.js +0 -17
  379. package/script/src/features/payout/repository.d.ts +0 -67
  380. package/script/src/features/payout/repository.d.ts.map +0 -1
  381. package/script/src/features/payout/repository.js +0 -167
  382. package/script/src/features/wallet/contract.d.ts.map +0 -1
  383. package/script/src/features/wallet/contract.js +0 -41
  384. package/script/src/features/wallet/index.d.ts +0 -2
  385. package/script/src/features/wallet/index.d.ts.map +0 -1
  386. package/script/src/features/wallet/index.js +0 -17
  387. package/script/src/features/wallet/repository.d.ts +0 -57
  388. package/script/src/features/wallet/repository.d.ts.map +0 -1
  389. package/script/src/features/wallet/repository.js +0 -97
  390. package/script/src/models/contact/derivatives/contact.d.ts.map +0 -1
  391. package/script/src/models/contact/derivatives/contact.js +0 -270
  392. package/script/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  393. package/script/src/models/contact/derivatives/contact_info.d.ts +0 -188
  394. package/script/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  395. package/script/src/models/contact/derivatives/contact_info.js +0 -260
  396. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  397. package/script/src/models/contact/index.d.ts +0 -5
  398. package/script/src/models/contact/index.d.ts.map +0 -1
  399. package/script/src/models/contact/index.js +0 -20
  400. package/script/src/models/contact/schemas.d.ts +0 -66
  401. package/script/src/models/contact/schemas.d.ts.map +0 -1
  402. package/script/src/models/contact/schemas.js +0 -67
  403. package/script/src/models/contact/validation.d.ts +0 -37
  404. package/script/src/models/contact/validation.d.ts.map +0 -1
  405. package/script/src/models/contact/validation.js +0 -146
  406. package/script/src/models/contact/validation.test.d.ts.map +0 -1
  407. package/script/src/models/index.d.ts +0 -7
  408. package/script/src/models/index.d.ts.map +0 -1
  409. package/script/src/models/index.js +0 -22
  410. package/script/src/models/payout/api.d.ts +0 -29
  411. package/script/src/models/payout/api.d.ts.map +0 -1
  412. package/script/src/models/payout/api.js +0 -2
  413. package/script/src/models/payout/channel.d.ts +0 -58
  414. package/script/src/models/payout/channel.d.ts.map +0 -1
  415. package/script/src/models/payout/channel.js +0 -56
  416. package/script/src/models/payout/derivatives/payout.d.ts.map +0 -1
  417. package/script/src/models/payout/derivatives/payout.js +0 -265
  418. package/script/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  419. package/script/src/models/payout/index.d.ts +0 -6
  420. package/script/src/models/payout/index.d.ts.map +0 -1
  421. package/script/src/models/payout/index.js +0 -21
  422. package/script/src/models/payout/schemas.d.ts +0 -156
  423. package/script/src/models/payout/schemas.d.ts.map +0 -1
  424. package/script/src/models/payout/schemas.js +0 -108
  425. package/script/src/models/payout/status.d.ts +0 -33
  426. package/script/src/models/payout/status.d.ts.map +0 -1
  427. package/script/src/models/payout/status.js +0 -37
  428. package/script/src/models/permission.d.ts +0 -55
  429. package/script/src/models/permission.d.ts.map +0 -1
  430. package/script/src/models/permission.js +0 -53
  431. package/script/src/models/role.d.ts.map +0 -1
  432. package/script/src/models/role.js +0 -77
  433. package/script/src/models/user/authenticated-user.d.ts +0 -77
  434. package/script/src/models/user/authenticated-user.d.ts.map +0 -1
  435. package/script/src/models/user/authenticated-user.js +0 -230
  436. package/script/src/models/user/index.d.ts +0 -4
  437. package/script/src/models/user/index.d.ts.map +0 -1
  438. package/script/src/models/user/index.js +0 -19
  439. package/script/src/models/user/managed-user.d.ts +0 -108
  440. package/script/src/models/user/managed-user.d.ts.map +0 -1
  441. package/script/src/models/user/managed-user.js +0 -260
  442. package/script/src/models/user/profile.d.ts.map +0 -1
  443. package/script/src/models/user/profile.js +0 -338
  444. package/script/src/models/wallet/index.d.ts +0 -4
  445. package/script/src/models/wallet/index.d.ts.map +0 -1
  446. package/script/src/models/wallet/index.js +0 -19
  447. package/script/src/models/wallet/schemas.d.ts +0 -95
  448. package/script/src/models/wallet/schemas.d.ts.map +0 -1
  449. package/script/src/models/wallet/schemas.js +0 -38
  450. package/script/src/models/wallet/statement_entry.d.ts +0 -160
  451. package/script/src/models/wallet/statement_entry.d.ts.map +0 -1
  452. package/script/src/models/wallet/statement_entry.js +0 -259
  453. package/script/src/models/wallet/wallet.d.ts.map +0 -1
  454. package/script/src/models/wallet/wallet.js +0 -283
  455. package/script/src/shared/base_repository.d.ts +0 -80
  456. package/script/src/shared/base_repository.d.ts.map +0 -1
  457. package/script/src/shared/base_repository.js +0 -157
  458. package/script/src/shared/common_responses.d.ts.map +0 -1
  459. package/script/src/shared/common_responses.js +0 -13
  460. package/script/src/shared/index.d.ts +0 -3
  461. package/script/src/shared/index.d.ts.map +0 -1
  462. package/script/src/shared/index.js +0 -18
  463. package/script/src/shared/token_required_repository.d.ts +0 -78
  464. package/script/src/shared/token_required_repository.d.ts.map +0 -1
  465. package/script/src/shared/token_required_repository.js +0 -132
@@ -0,0 +1,80 @@
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 {};
@@ -0,0 +1,56 @@
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,6 +1,6 @@
1
- import { User } from "../../../models/user/index.js";
2
1
  import { type StoreApi, type UseBoundStore } from "zustand";
3
- import type { AuthStore } from "./types.js";
2
+ import type { AuthStore } from "./types";
3
+ import { User } from "@/models/user.model";
4
4
  /** Type definition for the store's state */
5
5
  type State = {
6
6
  user: string | undefined;
@@ -27,4 +27,3 @@ export declare const createClientStore: () => AuthStore;
27
27
  */
28
28
  export declare const useClientUser: () => User | undefined;
29
29
  export {};
30
- //# sourceMappingURL=client_store.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { TokenHandler } from "./types.js";
1
+ import type { TokenHandler } from "./types";
2
2
  /**
3
3
  * Client-side implementation of TokenHandler.
4
4
  * Manages tokens using sessionStorage.
@@ -29,4 +29,3 @@ export declare class ClientTokenHandler implements TokenHandler {
29
29
  */
30
30
  clearToken(): void;
31
31
  }
32
- //# sourceMappingURL=client_token_handler.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { User } from "../../../models/user/index.js";
1
+ import type { User } from "@/models/user.model";
2
2
  /**
3
3
  * Interface defining the contract for auth storage implementations.
4
4
  * This allows for different storage strategies in different environments.
@@ -39,4 +39,3 @@ export interface TokenHandler {
39
39
  */
40
40
  clearToken(): void;
41
41
  }
42
- //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,16 @@
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
+ }
@@ -9,54 +9,61 @@ import { z } from "zod";
9
9
  * @property {Object} deleteContact - Delete a contact (DELETE /:id)
10
10
  */
11
11
  export declare const contract: {
12
- postContact: {
12
+ createContact: {
13
13
  method: "POST";
14
14
  body: z.ZodObject<{
15
15
  displayName: z.ZodString;
16
16
  accountNo: z.ZodString;
17
17
  channel: z.ZodString;
18
- type: z.ZodEnum<["Bank", "Mobile"]>;
19
- }, z.UnknownKeysParam, z.ZodTypeAny, {
20
- type: "Bank" | "Mobile";
18
+ countryCode: z.ZodDefault<z.ZodString>;
19
+ type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ type: import("./contact.dtos").ContactType;
21
22
  displayName: string;
22
23
  accountNo: string;
23
24
  channel: string;
25
+ countryCode: string;
24
26
  }, {
25
- type: "Bank" | "Mobile";
27
+ type: import("./contact.dtos").ContactType;
26
28
  displayName: string;
27
29
  accountNo: string;
28
30
  channel: string;
31
+ countryCode?: string | undefined;
29
32
  }>;
30
33
  path: "/";
31
34
  responses: {
32
35
  [x: number]: import("@ts-rest/core").AppRouteResponse;
33
36
  201: z.ZodObject<{
37
+ id: z.ZodString;
38
+ profileId: z.ZodString;
39
+ createdAt: z.ZodString;
40
+ updatedAt: z.ZodString;
41
+ } & {
34
42
  displayName: z.ZodString;
35
43
  accountNo: z.ZodString;
36
44
  channel: z.ZodString;
37
- type: z.ZodEnum<["Bank", "Mobile"]>;
38
- id: z.ZodString;
39
- profileId: z.ZodString;
40
- createdAt: z.ZodDate;
41
- updatedAt: z.ZodDate;
42
- }, z.UnknownKeysParam, z.ZodTypeAny, {
43
- type: "Bank" | "Mobile";
45
+ countryCode: z.ZodDefault<z.ZodString>;
46
+ type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ type: import("./contact.dtos").ContactType;
44
49
  id: string;
45
50
  displayName: string;
46
51
  accountNo: string;
47
52
  channel: string;
48
53
  profileId: string;
49
- createdAt: Date;
50
- updatedAt: Date;
54
+ countryCode: string;
55
+ createdAt: string;
56
+ updatedAt: string;
51
57
  }, {
52
- type: "Bank" | "Mobile";
58
+ type: import("./contact.dtos").ContactType;
53
59
  id: string;
54
60
  displayName: string;
55
61
  accountNo: string;
56
62
  channel: string;
57
63
  profileId: string;
58
- createdAt: Date;
59
- updatedAt: Date;
64
+ createdAt: string;
65
+ updatedAt: string;
66
+ countryCode?: string | undefined;
60
67
  }>;
61
68
  };
62
69
  };
@@ -66,48 +73,55 @@ export declare const contract: {
66
73
  displayName: z.ZodString;
67
74
  accountNo: z.ZodString;
68
75
  channel: z.ZodString;
69
- type: z.ZodEnum<["Bank", "Mobile"]>;
70
- }, z.UnknownKeysParam, z.ZodTypeAny, {
71
- type: "Bank" | "Mobile";
76
+ countryCode: z.ZodDefault<z.ZodString>;
77
+ type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ type: import("./contact.dtos").ContactType;
72
80
  displayName: string;
73
81
  accountNo: string;
74
82
  channel: string;
83
+ countryCode: string;
75
84
  }, {
76
- type: "Bank" | "Mobile";
85
+ type: import("./contact.dtos").ContactType;
77
86
  displayName: string;
78
87
  accountNo: string;
79
88
  channel: string;
89
+ countryCode?: string | undefined;
80
90
  }>;
81
91
  path: "/:id";
82
92
  responses: {
83
93
  [x: number]: import("@ts-rest/core").AppRouteResponse;
84
94
  200: z.ZodObject<{
95
+ id: z.ZodString;
96
+ profileId: z.ZodString;
97
+ createdAt: z.ZodString;
98
+ updatedAt: z.ZodString;
99
+ } & {
85
100
  displayName: z.ZodString;
86
101
  accountNo: z.ZodString;
87
102
  channel: z.ZodString;
88
- type: z.ZodEnum<["Bank", "Mobile"]>;
89
- id: z.ZodString;
90
- profileId: z.ZodString;
91
- createdAt: z.ZodDate;
92
- updatedAt: z.ZodDate;
93
- }, z.UnknownKeysParam, z.ZodTypeAny, {
94
- type: "Bank" | "Mobile";
103
+ countryCode: z.ZodDefault<z.ZodString>;
104
+ type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ type: import("./contact.dtos").ContactType;
95
107
  id: string;
96
108
  displayName: string;
97
109
  accountNo: string;
98
110
  channel: string;
99
111
  profileId: string;
100
- createdAt: Date;
101
- updatedAt: Date;
112
+ countryCode: string;
113
+ createdAt: string;
114
+ updatedAt: string;
102
115
  }, {
103
- type: "Bank" | "Mobile";
116
+ type: import("./contact.dtos").ContactType;
104
117
  id: string;
105
118
  displayName: string;
106
119
  accountNo: string;
107
120
  channel: string;
108
121
  profileId: string;
109
- createdAt: Date;
110
- updatedAt: Date;
122
+ createdAt: string;
123
+ updatedAt: string;
124
+ countryCode?: string | undefined;
111
125
  }>;
112
126
  };
113
127
  };
@@ -124,33 +138,76 @@ export declare const contract: {
124
138
  responses: {
125
139
  [x: number]: import("@ts-rest/core").AppRouteResponse;
126
140
  200: z.ZodArray<z.ZodObject<{
141
+ id: z.ZodString;
142
+ profileId: z.ZodString;
143
+ createdAt: z.ZodString;
144
+ updatedAt: z.ZodString;
145
+ } & {
127
146
  displayName: z.ZodString;
128
147
  accountNo: z.ZodString;
129
148
  channel: z.ZodString;
130
- type: z.ZodEnum<["Bank", "Mobile"]>;
149
+ countryCode: z.ZodDefault<z.ZodString>;
150
+ type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ type: import("./contact.dtos").ContactType;
153
+ id: string;
154
+ displayName: string;
155
+ accountNo: string;
156
+ channel: string;
157
+ profileId: string;
158
+ countryCode: string;
159
+ createdAt: string;
160
+ updatedAt: string;
161
+ }, {
162
+ type: import("./contact.dtos").ContactType;
163
+ id: string;
164
+ displayName: string;
165
+ accountNo: string;
166
+ channel: string;
167
+ profileId: string;
168
+ createdAt: string;
169
+ updatedAt: string;
170
+ countryCode?: string | undefined;
171
+ }>, "many">;
172
+ };
173
+ };
174
+ getByID: {
175
+ method: "GET";
176
+ path: "/:id";
177
+ responses: {
178
+ [x: number]: import("@ts-rest/core").AppRouteResponse;
179
+ 200: z.ZodObject<{
131
180
  id: z.ZodString;
132
181
  profileId: z.ZodString;
133
- createdAt: z.ZodDate;
134
- updatedAt: z.ZodDate;
135
- }, z.UnknownKeysParam, z.ZodTypeAny, {
136
- type: "Bank" | "Mobile";
182
+ createdAt: z.ZodString;
183
+ updatedAt: z.ZodString;
184
+ } & {
185
+ displayName: z.ZodString;
186
+ accountNo: z.ZodString;
187
+ channel: z.ZodString;
188
+ countryCode: z.ZodDefault<z.ZodString>;
189
+ type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
190
+ }, "strip", z.ZodTypeAny, {
191
+ type: import("./contact.dtos").ContactType;
137
192
  id: string;
138
193
  displayName: string;
139
194
  accountNo: string;
140
195
  channel: string;
141
196
  profileId: string;
142
- createdAt: Date;
143
- updatedAt: Date;
197
+ countryCode: string;
198
+ createdAt: string;
199
+ updatedAt: string;
144
200
  }, {
145
- type: "Bank" | "Mobile";
201
+ type: import("./contact.dtos").ContactType;
146
202
  id: string;
147
203
  displayName: string;
148
204
  accountNo: string;
149
205
  channel: string;
150
206
  profileId: string;
151
- createdAt: Date;
152
- updatedAt: Date;
153
- }>, "many">;
207
+ createdAt: string;
208
+ updatedAt: string;
209
+ countryCode?: string | undefined;
210
+ }>;
154
211
  };
155
212
  };
156
213
  deleteContact: {
@@ -167,4 +224,3 @@ export declare const contract: {
167
224
  * Export type for use in client implementations
168
225
  */
169
226
  export type ContactAPI = typeof contract;
170
- //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1,90 @@
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
+ };
@@ -0,0 +1,116 @@
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
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./contact.repository";
2
+ export * from "./contact.dtos";
@@ -0,0 +1,3 @@
1
+ export * from "./payout.repository";
2
+ export * from "./payout.dtos";
3
+ export * from "./payout-channel-handler";