@temboplus/afloat 0.1.81 → 0.2.0-beta.10

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 (413) hide show
  1. package/README.md +206 -90
  2. package/dist/index.cjs.js +2 -0
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.d.ts +10 -0
  5. package/dist/index.esm.js +2 -0
  6. package/dist/index.esm.js.map +1 -0
  7. package/dist/lib/api/base-repository.d.ts +177 -0
  8. package/dist/lib/api/index.d.ts +1 -0
  9. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  10. package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  11. package/dist/lib/error/error.utils.d.ts +22 -0
  12. package/dist/lib/error/index.d.ts +3 -0
  13. package/dist/lib/query/index.d.ts +4 -0
  14. package/dist/lib/query/pagination/pagination.d.ts +73 -0
  15. package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
  16. package/dist/lib/query/query.builder.d.ts +80 -0
  17. package/dist/lib/query/query.types.d.ts +36 -0
  18. package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
  19. package/dist/modules/auth/auth.repository.d.ts +83 -0
  20. package/dist/modules/auth/company-membership.model.d.ts +171 -0
  21. package/dist/modules/auth/index.d.ts +3 -0
  22. package/dist/modules/auth/user.model.d.ts +363 -0
  23. package/dist/modules/beneficiary/beneficiary-info.model.d.ts +218 -0
  24. package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
  25. package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
  26. package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
  27. package/dist/modules/beneficiary/beneficiary.model.d.ts +450 -0
  28. package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
  29. package/dist/modules/beneficiary/index.d.ts +6 -0
  30. package/dist/modules/login/index.d.ts +4 -0
  31. package/dist/modules/login/login.api-contract.d.ts +51 -0
  32. package/dist/modules/login/login.dtos.d.ts +85 -0
  33. package/dist/modules/login/login.model.d.ts +168 -0
  34. package/dist/modules/login/login.repository.d.ts +58 -0
  35. package/{esm/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +9 -10
  36. package/dist/modules/payout/index.d.ts +5 -0
  37. package/dist/modules/payout/payout-channel-handler.d.ts +83 -0
  38. package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
  39. package/dist/modules/payout/payout.dtos.d.ts +607 -0
  40. package/dist/modules/payout/payout.model.d.ts +383 -0
  41. package/dist/modules/payout/payout.query.d.ts +185 -0
  42. package/dist/modules/payout/payout.repository.d.ts +204 -0
  43. package/dist/modules/profile/index.d.ts +3 -0
  44. package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
  45. package/dist/modules/profile/profile.dtos.d.ts +80 -0
  46. package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
  47. package/dist/modules/profile/profile.repository.d.ts +56 -0
  48. package/dist/modules/team-member/index.d.ts +4 -0
  49. package/dist/modules/team-member/role.model.d.ts +61 -0
  50. package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
  51. package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
  52. package/dist/modules/team-member/team-member.model.d.ts +237 -0
  53. package/dist/modules/team-member/team-member.repository.d.ts +179 -0
  54. package/dist/modules/wallet/index.d.ts +6 -0
  55. package/dist/modules/wallet/narration.model.d.ts +225 -0
  56. package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
  57. package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
  58. package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
  59. package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
  60. package/dist/modules/wallet/wallet.query.d.ts +126 -0
  61. package/dist/modules/wallet/wallet.repository.d.ts +205 -0
  62. package/dist/modules/wallet/wallet.utils.d.ts +17 -0
  63. package/package.json +47 -22
  64. package/LICENSE +0 -7
  65. package/esm/mod.d.ts +0 -8
  66. package/esm/mod.d.ts.map +0 -1
  67. package/esm/mod.js +0 -7
  68. package/esm/package.json +0 -3
  69. package/esm/src/errors/api_error.d.ts.map +0 -1
  70. package/esm/src/errors/api_error.js +0 -90
  71. package/esm/src/errors/index.d.ts +0 -3
  72. package/esm/src/errors/index.d.ts.map +0 -1
  73. package/esm/src/errors/index.js +0 -2
  74. package/esm/src/errors/permission_error.d.ts +0 -48
  75. package/esm/src/errors/permission_error.d.ts.map +0 -1
  76. package/esm/src/errors/permission_error.js +0 -70
  77. package/esm/src/features/admin/contract.d.ts.map +0 -1
  78. package/esm/src/features/admin/contract.js +0 -210
  79. package/esm/src/features/admin/index.d.ts +0 -4
  80. package/esm/src/features/admin/index.d.ts.map +0 -1
  81. package/esm/src/features/admin/index.js +0 -3
  82. package/esm/src/features/admin/repository.d.ts +0 -114
  83. package/esm/src/features/admin/repository.d.ts.map +0 -1
  84. package/esm/src/features/admin/repository.js +0 -248
  85. package/esm/src/features/admin/schemas.d.ts +0 -146
  86. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  87. package/esm/src/features/admin/schemas.js +0 -206
  88. package/esm/src/features/auth/access/contract.d.ts +0 -14
  89. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  90. package/esm/src/features/auth/access/contract.js +0 -14
  91. package/esm/src/features/auth/access/repository.d.ts +0 -11
  92. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  93. package/esm/src/features/auth/access/repository.js +0 -25
  94. package/esm/src/features/auth/contract.d.ts.map +0 -1
  95. package/esm/src/features/auth/contract.js +0 -43
  96. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  97. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  98. package/esm/src/features/auth/identity/contract.js +0 -17
  99. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  100. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  101. package/esm/src/features/auth/identity/repository.js +0 -30
  102. package/esm/src/features/auth/index.d.ts +0 -6
  103. package/esm/src/features/auth/index.d.ts.map +0 -1
  104. package/esm/src/features/auth/index.js +0 -5
  105. package/esm/src/features/auth/manager.d.ts +0 -105
  106. package/esm/src/features/auth/manager.d.ts.map +0 -1
  107. package/esm/src/features/auth/manager.js +0 -181
  108. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  109. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  110. package/esm/src/features/auth/profile/contract.js +0 -14
  111. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  112. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  113. package/esm/src/features/auth/profile/repository.js +0 -25
  114. package/esm/src/features/auth/repository.d.ts +0 -30
  115. package/esm/src/features/auth/repository.d.ts.map +0 -1
  116. package/esm/src/features/auth/repository.js +0 -69
  117. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  118. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  119. package/esm/src/features/auth/storage/client_store.js +0 -46
  120. package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
  121. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  122. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  123. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  124. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  125. package/esm/src/features/auth/storage/server_store.js +0 -34
  126. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  127. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  128. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  129. package/esm/src/features/auth/storage/types.d.ts +0 -42
  130. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  131. package/esm/src/features/auth/storage/types.js +0 -1
  132. package/esm/src/features/contact/contract.d.ts +0 -170
  133. package/esm/src/features/contact/contract.d.ts.map +0 -1
  134. package/esm/src/features/contact/contract.js +0 -49
  135. package/esm/src/features/contact/index.d.ts +0 -2
  136. package/esm/src/features/contact/index.d.ts.map +0 -1
  137. package/esm/src/features/contact/index.js +0 -1
  138. package/esm/src/features/contact/repository.d.ts +0 -58
  139. package/esm/src/features/contact/repository.d.ts.map +0 -1
  140. package/esm/src/features/contact/repository.js +0 -108
  141. package/esm/src/features/payout/contract.d.ts.map +0 -1
  142. package/esm/src/features/payout/contract.js +0 -75
  143. package/esm/src/features/payout/index.d.ts +0 -2
  144. package/esm/src/features/payout/index.d.ts.map +0 -1
  145. package/esm/src/features/payout/index.js +0 -1
  146. package/esm/src/features/payout/repository.d.ts +0 -67
  147. package/esm/src/features/payout/repository.d.ts.map +0 -1
  148. package/esm/src/features/payout/repository.js +0 -179
  149. package/esm/src/features/wallet/contract.d.ts +0 -137
  150. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  151. package/esm/src/features/wallet/contract.js +0 -38
  152. package/esm/src/features/wallet/index.d.ts +0 -2
  153. package/esm/src/features/wallet/index.d.ts.map +0 -1
  154. package/esm/src/features/wallet/index.js +0 -1
  155. package/esm/src/features/wallet/repository.d.ts +0 -57
  156. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  157. package/esm/src/features/wallet/repository.js +0 -93
  158. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  159. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  160. package/esm/src/models/contact/derivatives/contact.js +0 -266
  161. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  162. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  163. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  164. package/esm/src/models/contact/index.d.ts +0 -5
  165. package/esm/src/models/contact/index.d.ts.map +0 -1
  166. package/esm/src/models/contact/index.js +0 -4
  167. package/esm/src/models/contact/schemas.d.ts +0 -66
  168. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  169. package/esm/src/models/contact/schemas.js +0 -64
  170. package/esm/src/models/contact/validation.d.ts +0 -37
  171. package/esm/src/models/contact/validation.d.ts.map +0 -1
  172. package/esm/src/models/contact/validation.js +0 -146
  173. package/esm/src/models/index.d.ts +0 -7
  174. package/esm/src/models/index.d.ts.map +0 -1
  175. package/esm/src/models/index.js +0 -6
  176. package/esm/src/models/payout/api.d.ts +0 -29
  177. package/esm/src/models/payout/api.d.ts.map +0 -1
  178. package/esm/src/models/payout/api.js +0 -1
  179. package/esm/src/models/payout/channel.d.ts +0 -58
  180. package/esm/src/models/payout/channel.d.ts.map +0 -1
  181. package/esm/src/models/payout/channel.js +0 -53
  182. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  183. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  184. package/esm/src/models/payout/derivatives/payout.js +0 -271
  185. package/esm/src/models/payout/index.d.ts +0 -7
  186. package/esm/src/models/payout/index.d.ts.map +0 -1
  187. package/esm/src/models/payout/index.js +0 -6
  188. package/esm/src/models/payout/narration.d.ts +0 -164
  189. package/esm/src/models/payout/narration.d.ts.map +0 -1
  190. package/esm/src/models/payout/narration.js +0 -308
  191. package/esm/src/models/payout/schemas.d.ts +0 -156
  192. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  193. package/esm/src/models/payout/schemas.js +0 -105
  194. package/esm/src/models/payout/status.d.ts +0 -33
  195. package/esm/src/models/payout/status.d.ts.map +0 -1
  196. package/esm/src/models/payout/status.js +0 -34
  197. package/esm/src/models/permission.d.ts.map +0 -1
  198. package/esm/src/models/permission.js +0 -50
  199. package/esm/src/models/role.d.ts +0 -21
  200. package/esm/src/models/role.d.ts.map +0 -1
  201. package/esm/src/models/role.js +0 -73
  202. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  203. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  204. package/esm/src/models/user/authenticated-user.js +0 -226
  205. package/esm/src/models/user/index.d.ts +0 -4
  206. package/esm/src/models/user/index.d.ts.map +0 -1
  207. package/esm/src/models/user/index.js +0 -3
  208. package/esm/src/models/user/managed-user.d.ts +0 -108
  209. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  210. package/esm/src/models/user/managed-user.js +0 -255
  211. package/esm/src/models/user/profile.d.ts +0 -161
  212. package/esm/src/models/user/profile.d.ts.map +0 -1
  213. package/esm/src/models/user/profile.js +0 -334
  214. package/esm/src/models/wallet/index.d.ts +0 -4
  215. package/esm/src/models/wallet/index.d.ts.map +0 -1
  216. package/esm/src/models/wallet/index.js +0 -3
  217. package/esm/src/models/wallet/schemas.d.ts +0 -95
  218. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  219. package/esm/src/models/wallet/schemas.js +0 -35
  220. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  221. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  222. package/esm/src/models/wallet/statement_entry.js +0 -255
  223. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  224. package/esm/src/models/wallet/wallet.js +0 -279
  225. package/esm/src/shared/base_repository.d.ts +0 -80
  226. package/esm/src/shared/base_repository.d.ts.map +0 -1
  227. package/esm/src/shared/base_repository.js +0 -153
  228. package/esm/src/shared/common_responses.d.ts +0 -13
  229. package/esm/src/shared/common_responses.d.ts.map +0 -1
  230. package/esm/src/shared/common_responses.js +0 -10
  231. package/esm/src/shared/index.d.ts +0 -3
  232. package/esm/src/shared/index.d.ts.map +0 -1
  233. package/esm/src/shared/index.js +0 -2
  234. package/esm/src/shared/token_required_repository.d.ts +0 -78
  235. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  236. package/esm/src/shared/token_required_repository.js +0 -128
  237. package/script/mod.d.ts +0 -8
  238. package/script/mod.d.ts.map +0 -1
  239. package/script/mod.js +0 -23
  240. package/script/npm/src/mod.d.ts +0 -8
  241. package/script/npm/src/mod.d.ts.map +0 -1
  242. package/script/npm/src/mod.js +0 -23
  243. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  244. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  245. package/script/npm/src/src/errors/api_error.js +0 -94
  246. package/script/npm/src/src/errors/index.d.ts +0 -3
  247. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  248. package/script/npm/src/src/errors/index.js +0 -18
  249. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  250. package/script/npm/src/src/errors/permission_error.js +0 -74
  251. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  252. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  253. package/script/npm/src/src/features/admin/contract.js +0 -213
  254. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  255. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  256. package/script/npm/src/src/features/admin/index.js +0 -19
  257. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  258. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  259. package/script/npm/src/src/features/admin/repository.js +0 -252
  260. package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
  261. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  262. package/script/npm/src/src/features/admin/schemas.js +0 -209
  263. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  264. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  265. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  266. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  267. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  268. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  269. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  270. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  271. package/script/npm/src/src/features/auth/contract.js +0 -46
  272. package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
  273. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  274. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  275. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  276. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  277. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  278. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  279. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  280. package/script/npm/src/src/features/auth/index.js +0 -21
  281. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  282. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  283. package/script/npm/src/src/features/auth/manager.js +0 -185
  284. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  285. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  286. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  287. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  288. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  289. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  290. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  291. package/script/npm/src/src/features/auth/repository.js +0 -73
  292. package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
  293. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  294. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  295. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  296. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  297. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  298. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  299. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  300. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  301. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  302. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  303. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  304. package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
  305. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  306. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  307. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  308. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  309. package/script/npm/src/src/features/contact/contract.js +0 -52
  310. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  311. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  312. package/script/npm/src/src/features/contact/index.js +0 -17
  313. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  314. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  315. package/script/npm/src/src/features/contact/repository.js +0 -112
  316. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  317. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  318. package/script/npm/src/src/features/payout/contract.js +0 -78
  319. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  320. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  321. package/script/npm/src/src/features/payout/index.js +0 -17
  322. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  323. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  324. package/script/npm/src/src/features/payout/repository.js +0 -183
  325. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  326. package/script/npm/src/src/features/wallet/contract.js +0 -41
  327. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  328. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  329. package/script/npm/src/src/features/wallet/index.js +0 -17
  330. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  331. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  332. package/script/npm/src/src/features/wallet/repository.js +0 -97
  333. package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
  334. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  335. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  336. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  337. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  338. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  339. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  340. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  341. package/script/npm/src/src/models/contact/index.js +0 -20
  342. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  343. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  344. package/script/npm/src/src/models/contact/schemas.js +0 -67
  345. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  346. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  347. package/script/npm/src/src/models/contact/validation.js +0 -153
  348. package/script/npm/src/src/models/index.d.ts +0 -7
  349. package/script/npm/src/src/models/index.d.ts.map +0 -1
  350. package/script/npm/src/src/models/index.js +0 -22
  351. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  352. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  353. package/script/npm/src/src/models/payout/api.js +0 -2
  354. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  355. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  356. package/script/npm/src/src/models/payout/channel.js +0 -56
  357. package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
  358. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  359. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
  360. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  361. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  362. package/script/npm/src/src/models/payout/index.js +0 -22
  363. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  364. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  365. package/script/npm/src/src/models/payout/narration.js +0 -312
  366. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  367. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  368. package/script/npm/src/src/models/payout/schemas.js +0 -108
  369. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  370. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  371. package/script/npm/src/src/models/payout/status.js +0 -37
  372. package/script/npm/src/src/models/permission.d.ts +0 -55
  373. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  374. package/script/npm/src/src/models/permission.js +0 -53
  375. package/script/npm/src/src/models/role.d.ts +0 -21
  376. package/script/npm/src/src/models/role.d.ts.map +0 -1
  377. package/script/npm/src/src/models/role.js +0 -77
  378. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  379. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  380. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  381. package/script/npm/src/src/models/user/index.d.ts +0 -4
  382. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  383. package/script/npm/src/src/models/user/index.js +0 -19
  384. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  385. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  386. package/script/npm/src/src/models/user/managed-user.js +0 -260
  387. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  388. package/script/npm/src/src/models/user/profile.js +0 -338
  389. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  390. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  391. package/script/npm/src/src/models/wallet/index.js +0 -19
  392. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  393. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  394. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  395. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  396. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  397. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  398. package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
  399. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  400. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  401. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  402. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  403. package/script/npm/src/src/shared/base_repository.js +0 -157
  404. package/script/npm/src/src/shared/common_responses.d.ts +0 -13
  405. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  406. package/script/npm/src/src/shared/common_responses.js +0 -13
  407. package/script/npm/src/src/shared/index.d.ts +0 -3
  408. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  409. package/script/npm/src/src/shared/index.js +0 -18
  410. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  411. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  412. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  413. package/script/package.json +0 -3
@@ -0,0 +1,450 @@
1
+ import { BeneficiaryDTO, BeneficiaryType } from "@/modules/beneficiary/beneficiary.dtos.js";
2
+ import { BeneficiaryInfo } from "./beneficiary-info.model.js";
3
+ import { z } from "zod";
4
+ /**
5
+ * Zod schema for Beneficiary JSON serialization
6
+ * This schema validates the JSON representation of a Beneficiary instance
7
+ *
8
+ * The Beneficiary JSON format wraps the BeneficiaryDTO structure for consistency
9
+ * and future extensibility (e.g., adding metadata, version info)
10
+ */
11
+ export declare const BeneficiaryJSONSchema: z.ZodObject<{
12
+ /** The complete beneficiary data transfer object */
13
+ data: z.ZodObject<{
14
+ id: z.ZodString;
15
+ profileId: z.ZodString;
16
+ createdAt: z.ZodString;
17
+ updatedAt: z.ZodString;
18
+ } & {
19
+ displayName: z.ZodString;
20
+ accountNo: z.ZodString;
21
+ channel: z.ZodString;
22
+ type: z.ZodNativeEnum<typeof BeneficiaryType>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ type: BeneficiaryType;
25
+ createdAt: string;
26
+ id: string;
27
+ displayName: string;
28
+ accountNo: string;
29
+ profileId: string;
30
+ updatedAt: string;
31
+ channel: string;
32
+ }, {
33
+ type: BeneficiaryType;
34
+ createdAt: string;
35
+ id: string;
36
+ displayName: string;
37
+ accountNo: string;
38
+ profileId: string;
39
+ updatedAt: string;
40
+ channel: string;
41
+ }>;
42
+ /** Version for future compatibility */
43
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ version: string;
46
+ data: {
47
+ type: BeneficiaryType;
48
+ createdAt: string;
49
+ id: string;
50
+ displayName: string;
51
+ accountNo: string;
52
+ profileId: string;
53
+ updatedAt: string;
54
+ channel: string;
55
+ };
56
+ }, {
57
+ data: {
58
+ type: BeneficiaryType;
59
+ createdAt: string;
60
+ id: string;
61
+ displayName: string;
62
+ accountNo: string;
63
+ profileId: string;
64
+ updatedAt: string;
65
+ channel: string;
66
+ };
67
+ version?: string | undefined;
68
+ }>;
69
+ /**
70
+ * Infer the BeneficiaryJSON type from the schema
71
+ */
72
+ export type BeneficiaryJSON = z.infer<typeof BeneficiaryJSONSchema>;
73
+ /**
74
+ * Beneficiary class that wraps the Zod schema and provides additional functionality.
75
+ * Represents a beneficiary entity with validation and type-safe access to beneficiary information.
76
+ *
77
+ * @class Beneficiary
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * // Preferred: Use static factory methods
82
+ * const beneficiary = Beneficiary.from(beneficiaryData);
83
+ *
84
+ * // From JSON
85
+ * const jsonBeneficiary = Beneficiary.fromJSON(jsonString);
86
+ *
87
+ * // Type-safe access
88
+ * if (beneficiary) {
89
+ * console.log(beneficiary.displayName);
90
+ * console.log(beneficiary.info?.channelName);
91
+ * }
92
+ * ```
93
+ */
94
+ export declare class Beneficiary {
95
+ private readonly data;
96
+ private _info;
97
+ private _infoComputed;
98
+ /**
99
+ * Private constructor - use static factory methods to create instances.
100
+ *
101
+ * @deprecated Use {@link Beneficiary.from} or other static factory methods instead
102
+ * @private
103
+ * @param {BeneficiaryDTO} data - Validated beneficiary data
104
+ */
105
+ private constructor();
106
+ /**
107
+ * Unique identifier for the beneficiary.
108
+ *
109
+ * @returns {string} The beneficiary's unique ID
110
+ */
111
+ get id(): string;
112
+ /**
113
+ * Profile identifier associated with this beneficiary.
114
+ *
115
+ * @returns {string} The profile ID
116
+ */
117
+ get profileId(): string;
118
+ /**
119
+ * Display name of the beneficiary.
120
+ *
121
+ * @returns {string} The beneficiary's display name
122
+ */
123
+ get displayName(): string;
124
+ /**
125
+ * Type of beneficiary (Bank or Mobile).
126
+ *
127
+ * @returns {BeneficiaryType} The beneficiary type
128
+ */
129
+ get type(): BeneficiaryType;
130
+ /**
131
+ * Creation timestamp of the beneficiary.
132
+ *
133
+ * @returns {Date} The creation date
134
+ */
135
+ get createdAt(): Date;
136
+ /**
137
+ * Update timestamp of the beneficiary.
138
+ *
139
+ * @returns {Date} The last update date
140
+ */
141
+ get updatedAt(): Date;
142
+ /**
143
+ * Detailed beneficiary information based on beneficiary type.
144
+ *
145
+ * @returns {BeneficiaryInfo | undefined} Beneficiary information object:
146
+ * - MobileBeneficiaryInfo for mobile money beneficiaries
147
+ * - BankBeneficiaryInfo for bank beneficiaries
148
+ * - undefined if beneficiary information cannot be constructed
149
+ *
150
+ * @remarks
151
+ * For mobile beneficiaries, constructs from phone number.
152
+ * For bank beneficiaries, constructs from SWIFT code and account number.
153
+ *
154
+ * Result is memoised — repeated accesses don't re-parse the phone number or
155
+ * re-resolve the bank.
156
+ */
157
+ get info(): BeneficiaryInfo | undefined;
158
+ /**
159
+ * Account number for the beneficiary.
160
+ *
161
+ * @returns {string} Account number:
162
+ * - For valid beneficiaries, returns formatted account number from BeneficiaryInfo
163
+ * - For invalid beneficiaries, falls back to raw account number
164
+ */
165
+ get accNo(): string;
166
+ /**
167
+ * Account name for the beneficiary.
168
+ * Always returns the display name.
169
+ *
170
+ * @returns {string} The account name
171
+ */
172
+ get accName(): string;
173
+ /**
174
+ * Label for the account number field based on beneficiary type.
175
+ *
176
+ * @returns {string} Appropriate label:
177
+ * - "Phone Number" for mobile beneficiaries
178
+ * - "Bank Account Number" for bank beneficiaries
179
+ * - "Account Number" as fallback
180
+ */
181
+ get accNoLabel(): string;
182
+ /**
183
+ * Label for the channel field based on beneficiary type.
184
+ *
185
+ * @returns {string} Appropriate label:
186
+ * - "Channel" for mobile beneficiaries
187
+ * - "Bank" for bank beneficiaries
188
+ * - "Channel" as fallback
189
+ */
190
+ get channelLabel(): string;
191
+ /**
192
+ * Label for the account name field based on beneficiary type.
193
+ *
194
+ * @returns {string} Appropriate label:
195
+ * - "Full Name" for mobile beneficiaries
196
+ * - "Bank Account Name" for bank beneficiaries
197
+ * - "Display Name" as fallback
198
+ */
199
+ get accNameLabel(): string;
200
+ /**
201
+ * Human-readable channel name for the beneficiary.
202
+ *
203
+ * @returns {string} The channel name (e.g., "M-Pesa", "CRDB") or empty string
204
+ */
205
+ get channelName(): string;
206
+ /**
207
+ * Creates a Beneficiary instance from raw data.
208
+ * This is the preferred method for creating Beneficiary instances.
209
+ *
210
+ * @static
211
+ * @param {BeneficiaryDTO} data - Raw beneficiary data to validate and wrap
212
+ * @returns {Beneficiary | undefined} Beneficiary instance or undefined if validation fails
213
+ *
214
+ * @example
215
+ * ```typescript
216
+ * const beneficiary = Beneficiary.from({
217
+ * id: "123",
218
+ * profileId: "profile-456",
219
+ * displayName: "John Doe",
220
+ * type: "Mobile",
221
+ * accountNo: "+255712345678",
222
+ * channel: "VODACOM",
223
+ * createdAt: "2024-01-01T00:00:00Z",
224
+ * updatedAt: "2024-01-01T00:00:00Z"
225
+ * });
226
+ * ```
227
+ */
228
+ static from(data: BeneficiaryDTO): Beneficiary | undefined;
229
+ /**
230
+ * Creates a Beneficiary instance from raw data, throwing on validation failure.
231
+ *
232
+ * @static
233
+ * @param {BeneficiaryDTO} data - Raw beneficiary data to validate and wrap
234
+ * @returns {Beneficiary} Beneficiary instance
235
+ * @throws {ZodError} If validation fails
236
+ *
237
+ * @example
238
+ * ```typescript
239
+ * try {
240
+ * const beneficiary = Beneficiary.create(beneficiaryData);
241
+ * } catch (error) {
242
+ * console.error("Validation failed:", error);
243
+ * }
244
+ * ```
245
+ */
246
+ static create(data: BeneficiaryDTO): Beneficiary;
247
+ /**
248
+ * Creates multiple Beneficiary instances from an array of raw data.
249
+ *
250
+ * @static
251
+ * @param {BeneficiaryDTO[]} dataArray - Array of beneficiary data
252
+ * @returns {Beneficiary[]} Array of Beneficiary instances
253
+ * @throws {ZodError} If validation fails for any item
254
+ *
255
+ * @example
256
+ * ```typescript
257
+ * const beneficiaries = Beneficiary.createMany([beneficiaryData1, beneficiaryData2]);
258
+ * ```
259
+ */
260
+ static createMany(dataArray: BeneficiaryDTO[]): Beneficiary[];
261
+ /**
262
+ * Creates a Beneficiary instance from raw data without throwing.
263
+ *
264
+ * @static
265
+ * @param {BeneficiaryDTO} data - Raw beneficiary data
266
+ * @returns {Beneficiary | null} Beneficiary instance or null if validation fails
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * const beneficiary = Beneficiary.createSafe(beneficiaryData);
271
+ * if (beneficiary) {
272
+ * console.log("Beneficiary created successfully");
273
+ * }
274
+ * ```
275
+ */
276
+ static createSafe(data: BeneficiaryDTO): Beneficiary | null;
277
+ /**
278
+ * Checks if an unknown value contains valid data to construct a Beneficiary instance.
279
+ * This is useful when validating raw data structures before instantiation.
280
+ *
281
+ * @static
282
+ * @param {unknown} obj - The value containing potential beneficiary data
283
+ * @returns {obj is BeneficiaryDTO} Type predicate indicating the value is a valid BeneficiaryDTO
284
+ *
285
+ * @example
286
+ * ```typescript
287
+ * const rawData = await fetchFromAPI();
288
+ * if (Beneficiary.canConstruct(rawData)) {
289
+ * const beneficiary = Beneficiary.create(rawData);
290
+ * console.log(beneficiary.displayName);
291
+ * }
292
+ * ```
293
+ *
294
+ * @remarks
295
+ * This method performs strict validation against the {@link BeneficiaryDTO} schema.
296
+ *
297
+ * The predicate narrows to {@link BeneficiaryDTO} (not `Beneficiary`) — what
298
+ * `obj` actually is on success — so callers don't accidentally try to use
299
+ * instance methods like `toJSON()` on a raw DTO.
300
+ */
301
+ static canConstruct(obj: unknown): obj is BeneficiaryDTO;
302
+ /**
303
+ * Validates if an unknown value is a Beneficiary instance.
304
+ * This is a runtime type guard that ensures proper object structure and data validity.
305
+ *
306
+ * @static
307
+ * @param {unknown} obj - The value to validate
308
+ * @returns {obj is Beneficiary} Type predicate indicating if the value is a valid Beneficiary
309
+ *
310
+ * @example
311
+ * ```typescript
312
+ * const maybeBeneficiary = getBeneficiaryFromCache();
313
+ * if (Beneficiary.is(maybeBeneficiary)) {
314
+ * console.log(maybeBeneficiary.displayName); // Type-safe
315
+ * }
316
+ * ```
317
+ *
318
+ * @remarks
319
+ * This method performs a complete structural validation:
320
+ * 1. Checks if the value is an object
321
+ * 2. Verifies presence of internal data property
322
+ * 3. Validates the data against BeneficiaryDTO schema
323
+ * 4. Ensures the object is a proper Beneficiary instance
324
+ *
325
+ * Use this method when:
326
+ * - Validating cached Beneficiary instances
327
+ * - Checking serialized Beneficiary objects
328
+ * - Verifying API responses
329
+ * - Type narrowing in conditional blocks
330
+ */
331
+ static is(obj: unknown): obj is Beneficiary;
332
+ /**
333
+ * Serializes the Beneficiary instance to a JSON-compatible object
334
+ *
335
+ * This method creates a structured representation suitable for storage or transmission.
336
+ * The serialized format includes all beneficiary data and a version identifier for
337
+ * future compatibility.
338
+ *
339
+ * @returns {BeneficiaryJSON} JSON-compatible object representation
340
+ *
341
+ * @example
342
+ * ```typescript
343
+ * const beneficiary = Beneficiary.from(beneficiaryData);
344
+ * const json = beneficiary.toJSON();
345
+ * // { data: { id: "123", displayName: "John", ... }, version: "1.0" }
346
+ *
347
+ * // Store in localStorage
348
+ * localStorage.setItem('beneficiary', JSON.stringify(json));
349
+ * ```
350
+ */
351
+ toJSON(): BeneficiaryJSON;
352
+ /**
353
+ * Serializes the Beneficiary instance to a JSON string
354
+ *
355
+ * Convenience method that combines toJSON() with JSON.stringify()
356
+ *
357
+ * @returns {string} JSON string representation
358
+ *
359
+ * @example
360
+ * ```typescript
361
+ * const beneficiary = Beneficiary.from(beneficiaryData);
362
+ * const jsonString = beneficiary.toJSONString();
363
+ * localStorage.setItem('beneficiary', jsonString);
364
+ * ```
365
+ */
366
+ toJSONString(): string;
367
+ /**
368
+ * Creates a Beneficiary instance from a JSON-compatible object or string
369
+ *
370
+ * This static method reconstructs a Beneficiary instance from data that was
371
+ * previously serialized using toJSON(). It performs comprehensive validation
372
+ * to ensure data integrity.
373
+ *
374
+ * **Validation Process:**
375
+ * 1. Parses JSON string if provided
376
+ * 2. Validates structure using Zod schema
377
+ * 3. Extracts and validates BeneficiaryDTO data
378
+ * 4. Constructs Beneficiary instance with validated data
379
+ *
380
+ * @static
381
+ * @param {BeneficiaryJSON | string} json - JSON object or string containing beneficiary data
382
+ * @returns {Beneficiary | undefined} New Beneficiary instance if successful, undefined if parsing/validation fails
383
+ *
384
+ * @example
385
+ * ```typescript
386
+ * // From JSON object
387
+ * const json = { data: { id: "123", displayName: "John", ... }, version: "1.0" };
388
+ * const beneficiary = Beneficiary.fromJSON(json);
389
+ *
390
+ * // From JSON string
391
+ * const jsonString = localStorage.getItem('beneficiary');
392
+ * const beneficiary = Beneficiary.fromJSON(jsonString);
393
+ *
394
+ * // With error handling
395
+ * const beneficiary = Beneficiary.fromJSON(jsonString);
396
+ * if (beneficiary) {
397
+ * console.log("Beneficiary restored:", beneficiary.displayName);
398
+ * } else {
399
+ * console.error("Failed to restore beneficiary from JSON");
400
+ * }
401
+ * ```
402
+ */
403
+ static fromJSON(json: BeneficiaryJSON | string): Beneficiary | undefined;
404
+ /**
405
+ * Creates a Beneficiary instance from a JSON string
406
+ *
407
+ * Convenience method that delegates to fromJSON()
408
+ *
409
+ * @static
410
+ * @param {string} jsonString - JSON string containing beneficiary data
411
+ * @returns {Beneficiary | undefined} New Beneficiary instance if successful, undefined if parsing fails
412
+ *
413
+ * @example
414
+ * ```typescript
415
+ * const jsonString = '{"data":{"id":"123","displayName":"John",...},"version":"1.0"}';
416
+ * const beneficiary = Beneficiary.fromJSONString(jsonString);
417
+ * ```
418
+ */
419
+ static fromJSONString(jsonString: string): Beneficiary | undefined;
420
+ /**
421
+ * Type guard to check if an object is a valid BeneficiaryJSON using Zod validation
422
+ *
423
+ * This method validates the structure of a JSON object to ensure it contains
424
+ * all required fields and meets the BeneficiaryJSON schema requirements.
425
+ *
426
+ * @static
427
+ * @param {unknown} obj - The object to validate
428
+ * @returns {obj is BeneficiaryJSON} Type predicate indicating if the object is valid BeneficiaryJSON
429
+ *
430
+ * @example
431
+ * ```typescript
432
+ * const data = JSON.parse(jsonString);
433
+ *
434
+ * if (Beneficiary.isBeneficiaryJSON(data)) {
435
+ * // TypeScript now knows data is BeneficiaryJSON
436
+ * const beneficiary = Beneficiary.fromJSON(data);
437
+ * } else {
438
+ * console.error("Invalid BeneficiaryJSON structure");
439
+ * }
440
+ * ```
441
+ *
442
+ * @remarks
443
+ * Use this method when:
444
+ * - Validating JSON data before deserialization
445
+ * - Implementing type guards in conditional logic
446
+ * - Checking API responses before processing
447
+ * - Validating cached data integrity
448
+ */
449
+ static isBeneficiaryJSON(obj: unknown): obj is BeneficiaryJSON;
450
+ }
@@ -0,0 +1,116 @@
1
+ import { BaseRepository } from "@/lib/api/base-repository.js";
2
+ import { BeneficiaryInfo } from "@/modules/beneficiary/beneficiary-info.model.js";
3
+ import { Beneficiary } from "@/modules/beneficiary/beneficiary.model.js";
4
+ import { contract } from "./beneficiary.api-contract.js";
5
+ /**
6
+ * Repository class for managing Beneficiary data through API interactions.
7
+ * Handles beneficiary 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 BeneficiaryRepository({ token: userToken });
17
+ * const beneficiaries = await repo.getAll();
18
+ * ```
19
+ */
20
+ export declare class BeneficiaryRepository extends BaseRepository<typeof contract> {
21
+ /**
22
+ * Creates an instance of BeneficiaryRepository using the beneficiary 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 BeneficiaryRepository({
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 beneficiary record.
42
+ *
43
+ * @param info - The data required to create a new beneficiary
44
+ * @returns Promise that resolves to the newly created beneficiary
45
+ * @throws {APIError} If the creation operation fails
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const newBeneficiary = await repo.create({
50
+ * name: "John Doe",
51
+ * email: "john@example.com",
52
+ * phone: "+1234567890"
53
+ * });
54
+ * ```
55
+ */
56
+ create(info: BeneficiaryInfo): Promise<Beneficiary>;
57
+ /**
58
+ * Updates an existing beneficiary record by ID.
59
+ *
60
+ * @param id - The unique identifier of the beneficiary to edit
61
+ * @param info - The data to update the beneficiary with
62
+ * @returns Promise that resolves to the updated beneficiary
63
+ * @throws {APIError} If the update operation fails
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const updatedBeneficiary = await repo.edit("beneficiary-id", {
68
+ * name: "Jane Doe",
69
+ * email: "jane@example.com"
70
+ * });
71
+ * ```
72
+ */
73
+ edit(id: string, info: BeneficiaryInfo): Promise<Beneficiary>;
74
+ /**
75
+ * Deletes a beneficiary record by ID.
76
+ *
77
+ * @param id - The unique identifier of the beneficiary 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("beneficiary-id");
84
+ * console.log("Beneficiary deleted successfully");
85
+ * ```
86
+ */
87
+ remove(id: string): Promise<void>;
88
+ /**
89
+ * Retrieves all beneficiaries.
90
+ * Results are ordered in descending order by creation date by default.
91
+ *
92
+ * @returns Promise that resolves to an array of beneficiaries
93
+ * @throws {APIError} If the fetch operation fails
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * const beneficiaries = await repo.getAll();
98
+ * beneficiaries.forEach(beneficiary => console.log(`Beneficiary: ${beneficiary.name}`));
99
+ * ```
100
+ */
101
+ getAll(): Promise<Beneficiary[]>;
102
+ /**
103
+ * Retrieves a beneficiary by its unique identifier.
104
+ *
105
+ * @param id - The unique identifier of the beneficiary to retrieve
106
+ * @returns Promise that resolves to the requested beneficiary
107
+ * @throws {APIError} If the beneficiary is not found or fetch operation fails
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const beneficiary = await repo.getByID("beneficiary-id");
112
+ * console.log(`Beneficiary: ${beneficiary.name}, Email: ${beneficiary.email}`);
113
+ * ```
114
+ */
115
+ getByID(id: string): Promise<Beneficiary>;
116
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./beneficiary.repository.js";
2
+ export * from "./beneficiary.dtos.js";
3
+ export { BankBeneficiaryInfo, BankBeneficiaryJSONSchema, BeneficiaryError, BeneficiaryInfo, BeneficiaryJSONSchema as BeneficiaryInfoJSONSchema, MobileBeneficiaryInfo, MobileBeneficiaryJSONSchema, type BankBeneficiaryJSON, type BeneficiaryJSON as BeneficiaryInfoJSON, type MobileBeneficiaryJSON, } from "./beneficiary-info.model.js";
4
+ export { Beneficiary, BeneficiaryJSONSchema, type BeneficiaryJSON, } from "./beneficiary.model.js";
5
+ export * from "./beneficiary-input-handler.js";
6
+ export * from "./beneficiary.api-contract.js";
@@ -0,0 +1,4 @@
1
+ export * from "./login.dtos.js";
2
+ export * from "./login.model.js";
3
+ export * from "./login.repository.js";
4
+ export * from "./permission.type.js";
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Identity API contract
3
+ */
4
+ export declare const identityContract: {
5
+ getUserCredentials: {
6
+ method: "GET";
7
+ path: "/me";
8
+ responses: {
9
+ 200: import("zod").ZodObject<{
10
+ id: import("zod").ZodString;
11
+ profileId: import("zod").ZodString;
12
+ name: import("zod").ZodString;
13
+ identity: import("zod").ZodString;
14
+ type: import("zod").ZodString;
15
+ roleId: import("zod").ZodString;
16
+ isActive: import("zod").ZodBoolean;
17
+ isArchived: import("zod").ZodBoolean;
18
+ resetPassword: import("zod").ZodBoolean;
19
+ createdAt: import("zod").ZodString;
20
+ updatedAt: import("zod").ZodString;
21
+ access: import("zod").ZodArray<import("zod").ZodString, "many">;
22
+ }, "strip", import("zod").ZodTypeAny, {
23
+ type: string;
24
+ name: string;
25
+ createdAt: string;
26
+ id: string;
27
+ profileId: string;
28
+ identity: string;
29
+ roleId: string;
30
+ isActive: boolean;
31
+ isArchived: boolean;
32
+ resetPassword: boolean;
33
+ updatedAt: string;
34
+ access: string[];
35
+ }, {
36
+ type: string;
37
+ name: string;
38
+ createdAt: string;
39
+ id: string;
40
+ profileId: string;
41
+ identity: string;
42
+ roleId: string;
43
+ isActive: boolean;
44
+ isArchived: boolean;
45
+ resetPassword: boolean;
46
+ updatedAt: string;
47
+ access: string[];
48
+ }>;
49
+ };
50
+ };
51
+ };