@temboplus/afloat 0.1.81 → 0.2.0-beta.2

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 +246 -42
  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 +75 -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 +178 -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 +441 -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 +82 -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 +134 -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 +95 -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 +49 -23
  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 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/lib/error/error.api.ts","../src/modules/login/permission.type.ts","../src/lib/error/error.permission.ts","../src/lib/error/error.utils.ts","../node_modules/@ts-rest/core/index.esm.mjs","../src/lib/api/base-repository.ts","../src/lib/query/query.types.ts","../src/lib/query/query.builder.ts","../src/lib/query/pagination/pagination.schemas.ts","../src/lib/query/pagination/pagination.ts","../src/modules/profile/profile.dtos.ts","../src/modules/profile/profile.model.ts","../src/modules/login/login.dtos.ts","../src/modules/login/login.model.ts","../src/modules/team-member/role.model.ts","../src/modules/auth/company-membership.model.ts","../src/modules/auth/user.model.ts","../src/modules/auth/auth.contract.ts","../src/modules/login/login.api-contract.ts","../src/modules/login/login.repository.ts","../src/modules/team-member/team-member.dtos.ts","../src/modules/team-member/team-member.contract.ts","../src/modules/team-member/team-member.model.ts","../src/modules/team-member/team-member.repository.ts","../src/modules/auth/auth.repository.ts","../src/modules/beneficiary/beneficiary.dtos.ts","../src/modules/beneficiary/beneficiary-info.model.ts","../src/modules/beneficiary/beneficiary.model.ts","../src/modules/beneficiary/beneficiary-input-handler.ts","../src/modules/beneficiary/beneficiary.api-contract.ts","../src/modules/beneficiary/beneficiary.repository.ts","../src/modules/payout/payout.dtos.ts","../src/modules/payout/payout.model.ts","../src/modules/wallet/narration.model.ts","../src/modules/payout/payout-channel-handler.ts","../src/modules/payout/payout.api-contract.ts","../src/modules/payout/payout.query.ts","../src/modules/payout/payout.repository.ts","../src/modules/wallet/wallet.dtos.ts","../src/modules/wallet/wallet.model.ts","../src/modules/wallet/statement-entry.model.ts","../src/modules/wallet/wallet.contract.ts","../src/modules/wallet/wallet.query.ts","../src/modules/wallet/wallet.repository.ts","../src/modules/wallet/wallet.utils.ts","../src/modules/profile/profile.api-contract.ts","../src/modules/profile/profile.repository.ts"],"sourcesContent":[null,null,null,null,"import { z } from 'zod';\n\nconst isZodType = (obj) => {\n return typeof (obj === null || obj === void 0 ? void 0 : obj.safeParse) === 'function';\n};\nconst isZodObject = (obj) => {\n if (typeof (obj === null || obj === void 0 ? void 0 : obj.passthrough) === 'function') {\n return true;\n }\n if (typeof (obj === null || obj === void 0 ? void 0 : obj.innerType) === 'function') {\n return isZodObject(obj === null || obj === void 0 ? void 0 : obj.innerType());\n }\n return false;\n};\nconst isZodObjectStrict = (obj) => {\n return typeof (obj === null || obj === void 0 ? void 0 : obj.passthrough) === 'function';\n};\nconst extractZodObjectShape = (obj) => {\n if (!isZodObject(obj)) {\n throw new Error('Unknown zod object type');\n }\n if ('innerType' in obj) {\n return extractZodObjectShape(obj.innerType());\n }\n return obj.shape;\n};\nconst zodMerge = (objectA, objectB) => {\n if (isZodObjectStrict(objectA)) {\n if (isZodObjectStrict(objectB)) {\n return objectA.merge(objectB);\n }\n return objectA;\n }\n if (isZodObjectStrict(objectB)) {\n return objectB;\n }\n return Object.assign({}, objectA, objectB);\n};\nconst checkZodSchema = (data, schema, { passThroughExtraKeys = false } = {}) => {\n if (isZodType(schema)) {\n const result = schema.safeParse(data);\n if (result.success) {\n return {\n success: true,\n data: passThroughExtraKeys && typeof data === 'object'\n ? { ...data, ...result.data }\n : result.data,\n };\n }\n return {\n success: false,\n error: result.error,\n };\n }\n return {\n success: true,\n data: data,\n };\n};\n// Convert a ZodError to a plain object because ZodError extends Error and causes problems with NestJS\nconst zodErrorResponse = (error) => {\n return {\n name: error.name,\n issues: error.issues,\n };\n};\nconst ZodErrorSchema = z.object({\n name: z.literal('ZodError'),\n issues: z.array(z\n .object({\n path: z.array(z.union([z.string(), z.number()])),\n message: z.string().optional(),\n code: z.nativeEnum(z.ZodIssueCode),\n })\n // ZodIssuse type are complex and potentially unstable. So we don’t deal with his specific fields other than the common.\n .catchall(z.any())),\n});\n\nconst ContractNoBody = Symbol('ContractNoBody');\n/**\n * Differentiate between a route and a router\n *\n * @param obj\n * @returns\n */\nconst isAppRoute = (obj) => {\n return 'method' in obj && 'path' in obj;\n};\nconst isAppRouteQuery = (route) => {\n return route.method === 'GET';\n};\nconst isAppRouteMutation = (route) => {\n return !isAppRouteQuery(route);\n};\n/**\n *\n * @deprecated Please use {@link initContract} instead.\n */\nconst initTsRest = () => initContract();\nconst recursivelyApplyOptions = (router, options) => {\n return Object.fromEntries(Object.entries(router).map(([key, value]) => {\n var _a, _b, _c;\n if (isAppRoute(value)) {\n return [\n key,\n {\n ...value,\n path: (options === null || options === void 0 ? void 0 : options.pathPrefix)\n ? options.pathPrefix + value.path\n : value.path,\n headers: zodMerge(options === null || options === void 0 ? void 0 : options.baseHeaders, value.headers),\n strictStatusCodes: (_a = value.strictStatusCodes) !== null && _a !== void 0 ? _a : options === null || options === void 0 ? void 0 : options.strictStatusCodes,\n validateResponseOnClient: (_b = value.validateResponseOnClient) !== null && _b !== void 0 ? _b : options === null || options === void 0 ? void 0 : options.validateResponseOnClient,\n responses: {\n ...options === null || options === void 0 ? void 0 : options.commonResponses,\n ...value.responses,\n },\n metadata: (options === null || options === void 0 ? void 0 : options.metadata)\n ? {\n ...options === null || options === void 0 ? void 0 : options.metadata,\n ...((_c = value.metadata) !== null && _c !== void 0 ? _c : {}),\n }\n : value.metadata,\n },\n ];\n }\n else {\n return [key, recursivelyApplyOptions(value, options)];\n }\n }));\n};\nconst ContractPlainTypeRuntimeSymbol = Symbol('ContractPlainType');\n/**\n * Instantiate a ts-rest client, primarily to access `router`, `response`, and `body`\n *\n * @returns {ContractInstance}\n */\nconst initContract = () => {\n return {\n // @ts-expect-error - this is a type error, but it's not clear how to fix it\n router: (endpoints, options) => recursivelyApplyOptions(endpoints, options),\n query: (args) => args,\n mutation: (args) => args,\n responses: (args) => args,\n response: () => ContractPlainTypeRuntimeSymbol,\n body: () => ContractPlainTypeRuntimeSymbol,\n type: () => ContractPlainTypeRuntimeSymbol,\n otherResponse: ({ contentType, body, }) => ({\n contentType,\n body,\n }),\n noBody: () => ContractNoBody,\n };\n};\n\n/**\n * @param path - The URL e.g. /posts/:id\n * @param params - The params e.g. `{ id: string }`\n * @returns - The URL with the params e.g. /posts/123\n */\nconst insertParamsIntoPath = ({ path, params, }) => {\n const pathParams = params;\n return path.replace(/\\/?:([^/?]+)\\??/g, (matched, p) => pathParams[p]\n ? `${matched.startsWith('/') ? '/' : ''}${pathParams[p]}`\n : '');\n};\n\n/**\n *\n * @param query - Any JSON object\n * @param json - Use JSON.stringify to encode the query values\n * @returns - The query url segment, using explode array syntax, and deep object syntax\n */\nconst convertQueryParamsToUrlString = (query, json = false) => {\n const queryString = json\n ? encodeQueryParamsJson(query)\n : encodeQueryParams(query);\n return (queryString === null || queryString === void 0 ? void 0 : queryString.length) > 0 ? '?' + queryString : '';\n};\nconst encodeQueryParamsJson = (query) => {\n if (!query) {\n return '';\n }\n return Object.entries(query)\n .filter(([, value]) => value !== undefined)\n .map(([key, value]) => {\n let encodedValue;\n // if value is a string and is not a reserved JSON value or a number, pass it without encoding\n // this makes strings look nicer in the URL (e.g. ?name=John instead of ?name=%22John%22)\n // this is also how OpenAPI will pass strings even if they are marked as application/json types\n if (typeof value === 'string' &&\n !['true', 'false', 'null'].includes(value.trim()) &&\n isNaN(Number(value))) {\n encodedValue = value;\n }\n else {\n encodedValue = JSON.stringify(value);\n }\n return `${encodeURIComponent(key)}=${encodeURIComponent(encodedValue)}`;\n })\n .join('&');\n};\nconst encodeQueryParams = (query) => {\n if (!query) {\n return '';\n }\n return (Object.keys(query)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .flatMap((key) => tokeniseValue(key, query[key]))\n .map(([key, value]) => {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n })\n .join('&'));\n};\n/**\n * A recursive function to convert an object/string/number/Date/whatever into an array of key=value pairs\n *\n * The output of this should be flatMap-able to a string of key=value pairs which can be\n * joined with & to form a query string\n *\n * This should be fully compatible with the \"qs\" library, but without the need to add a dependency\n */\nconst tokeniseValue = (key, value) => {\n if (Array.isArray(value)) {\n return value.flatMap((v, idx) => tokeniseValue(`${key}[${idx}]`, v));\n }\n if (value instanceof Date) {\n return [[`${key}`, value.toISOString()]];\n }\n if (value === null) {\n return [[`${key}`, '']];\n }\n if (value === undefined) {\n return [];\n }\n if (typeof value === 'object') {\n return Object.keys(value).flatMap((k) => \n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n tokeniseValue(`${key}[${k}]`, value[k]));\n }\n return [[`${key}`, `${value}`]];\n};\n/**\n *\n * @param query - A server-side query object where values have been encoded as JSON strings\n * @returns - The same object with the JSON strings decoded. Objects that were encoded using toJSON such as Dates will remain as strings\n */\nconst parseJsonQueryObject = (query) => {\n return Object.fromEntries(Object.entries(query).map(([key, value]) => {\n let parsedValue;\n // if json parse fails, treat the value as a string\n // this allows us to pass strings without having to surround them with quotes\n try {\n parsedValue = JSON.parse(value);\n }\n catch {\n parsedValue = value;\n }\n return [key, parsedValue];\n }));\n};\n\nclass UnknownStatusError extends Error {\n constructor(response, knownResponseStatuses) {\n const expectedStatuses = knownResponseStatuses.join(',');\n super(`Server returned unexpected response. Expected one of: ${expectedStatuses} got: ${response.status}`);\n this.response = response;\n }\n}\n\n/**\n * @deprecated Only safe to use on the client-side. Use `ServerInferResponses`/`ClientInferResponses` instead.\n */\nfunction getRouteResponses(router) {\n return {};\n}\n/**\n * Default fetch api implementation:\n *\n * Can be used as a reference for implementing your own fetcher,\n * or used in the \"api\" field of ClientArgs to allow you to hook\n * into the request to run custom logic\n */\nconst tsRestFetchApi = async ({ route, path, method, headers, body, validateResponse, fetchOptions, }) => {\n const result = await fetch(path, {\n ...fetchOptions,\n method,\n headers,\n body,\n });\n const contentType = result.headers.get('content-type');\n if ((contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/')) && (contentType === null || contentType === void 0 ? void 0 : contentType.includes('json'))) {\n const response = {\n status: result.status,\n body: await result.json(),\n headers: result.headers,\n };\n const responseSchema = route.responses[response.status];\n if ((validateResponse !== null && validateResponse !== void 0 ? validateResponse : route.validateResponseOnClient) &&\n isZodType(responseSchema)) {\n return {\n ...response,\n body: responseSchema.parse(response.body),\n };\n }\n return response;\n }\n if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('text/')) {\n return {\n status: result.status,\n body: await result.text(),\n headers: result.headers,\n };\n }\n return {\n status: result.status,\n body: await result.blob(),\n headers: result.headers,\n };\n};\nconst createFormData = (body) => {\n const formData = new FormData();\n const appendToFormData = (key, value) => {\n if (value instanceof File) {\n formData.append(key, value);\n }\n else {\n formData.append(key, JSON.stringify(value));\n }\n };\n Object.entries(body).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n for (const item of value) {\n appendToFormData(key, item);\n }\n }\n else {\n appendToFormData(key, value);\n }\n });\n return formData;\n};\nconst normalizeHeaders = (headers) => {\n return Object.fromEntries(Object.entries(headers).map(([k, v]) => [k.toLowerCase(), v]));\n};\nconst fetchApi = (options) => {\n const { path, clientArgs, route, body, query, extraInputArgs, headers, fetchOptions, } = options;\n const apiFetcher = clientArgs.api || tsRestFetchApi;\n const baseHeaders = clientArgs.baseHeaders &&\n Object.fromEntries(Object.entries(clientArgs.baseHeaders).map(([name, valueOrFunction]) => {\n if (typeof valueOrFunction === 'function') {\n return [name, valueOrFunction(options)];\n }\n else {\n return [name, valueOrFunction];\n }\n }));\n const combinedHeaders = {\n ...(baseHeaders && normalizeHeaders(baseHeaders)),\n ...normalizeHeaders(headers),\n };\n // Remove any headers that are set to undefined\n Object.keys(combinedHeaders).forEach((key) => {\n if (combinedHeaders[key] === undefined) {\n delete combinedHeaders[key];\n }\n });\n let fetcherArgs = {\n route,\n path,\n method: route.method,\n headers: combinedHeaders,\n body: undefined,\n rawBody: body,\n rawQuery: query,\n contentType: undefined,\n validateResponse: clientArgs.validateResponse,\n fetchOptions: {\n ...(clientArgs.credentials && { credentials: clientArgs.credentials }),\n ...fetchOptions,\n },\n ...((fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.signal) && { signal: fetchOptions.signal }),\n ...((fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.cache) && { cache: fetchOptions.cache }),\n ...(fetchOptions &&\n 'next' in fetchOptions &&\n !!(fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.next) && { next: fetchOptions.next }),\n };\n if (route.method !== 'GET') {\n if ('contentType' in route && route.contentType === 'multipart/form-data') {\n fetcherArgs = {\n ...fetcherArgs,\n contentType: 'multipart/form-data',\n body: body instanceof FormData ? body : createFormData(body),\n };\n }\n else if ('contentType' in route &&\n route.contentType === 'application/x-www-form-urlencoded') {\n fetcherArgs = {\n ...fetcherArgs,\n contentType: 'application/x-www-form-urlencoded',\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n ...fetcherArgs.headers,\n },\n body: typeof body === 'string'\n ? body\n : new URLSearchParams(body),\n };\n }\n else if (body !== null && body !== undefined) {\n fetcherArgs = {\n ...fetcherArgs,\n contentType: 'application/json',\n headers: {\n 'content-type': 'application/json',\n ...fetcherArgs.headers,\n },\n body: JSON.stringify(body),\n };\n }\n }\n return apiFetcher({\n ...fetcherArgs,\n ...extraInputArgs,\n });\n};\nconst evaluateFetchApiArgs = (route, clientArgs, inputArgs) => {\n const { query, params, body, headers, extraHeaders, overrideClientOptions, fetchOptions, \n // TODO: remove in 4.0\n cache, \n // TODO: remove in 4.0\n next, \n // extra input args\n ...extraInputArgs } = inputArgs || {};\n const overriddenClientArgs = {\n ...clientArgs,\n ...overrideClientOptions,\n };\n const completeUrl = getCompleteUrl(query, overriddenClientArgs.baseUrl, params, route, !!overriddenClientArgs.jsonQuery);\n return {\n path: completeUrl,\n clientArgs: overriddenClientArgs,\n route,\n body,\n query,\n extraInputArgs,\n fetchOptions: {\n ...(cache && { cache }),\n ...(next && { next }),\n ...fetchOptions,\n },\n headers: {\n ...extraHeaders,\n ...headers,\n },\n };\n};\n/**\n * @hidden\n */\nconst getCompleteUrl = (query, baseUrl, params, route, jsonQuery) => {\n const path = insertParamsIntoPath({\n path: route.path,\n params: params,\n });\n const queryComponent = convertQueryParamsToUrlString(query, jsonQuery);\n return `${baseUrl}${path}${queryComponent}`;\n};\nconst getRouteQuery = (route, clientArgs) => {\n const knownResponseStatuses = Object.keys(route.responses);\n return async (inputArgs) => {\n const fetchApiArgs = evaluateFetchApiArgs(route, clientArgs, inputArgs);\n const response = await fetchApi(fetchApiArgs);\n // TODO: in next major version, throw by default if `strictStatusCode` is enabled\n if (!clientArgs.throwOnUnknownStatus) {\n return response;\n }\n if (knownResponseStatuses.includes(response.status.toString())) {\n return response;\n }\n throw new UnknownStatusError(response, knownResponseStatuses);\n };\n};\nconst initClient = (router, args) => {\n return Object.fromEntries(Object.entries(router).map(([key, subRouter]) => {\n if (isAppRoute(subRouter)) {\n return [key, getRouteQuery(subRouter, args)];\n }\n else {\n return [key, initClient(subRouter, args)];\n }\n }));\n};\n\nclass ResponseValidationError extends Error {\n constructor(appRoute, cause) {\n super(`[ts-rest] Response validation failed for ${appRoute.method} ${appRoute.path}: ${cause.message}`);\n this.appRoute = appRoute;\n this.cause = cause;\n }\n}\n\nconst isAppRouteResponse = (value) => {\n return (value != null &&\n typeof value === 'object' &&\n 'status' in value &&\n typeof value.status === 'number');\n};\nconst isAppRouteOtherResponse = (response) => {\n return (response != null &&\n typeof response === 'object' &&\n 'contentType' in response);\n};\nconst isAppRouteNoBody = (response) => {\n return response === ContractNoBody;\n};\nconst validateResponse = ({ appRoute, response, }) => {\n if (isAppRouteResponse(response)) {\n const responseType = appRoute.responses[response.status];\n const responseSchema = isAppRouteOtherResponse(responseType)\n ? responseType.body\n : responseType;\n const responseValidation = checkZodSchema(response.body, responseSchema);\n if (!responseValidation.success) {\n throw new ResponseValidationError(appRoute, responseValidation.error);\n }\n return {\n status: response.status,\n body: responseValidation.data,\n };\n }\n return response;\n};\n\nclass TsRestResponseError extends Error {\n constructor(route, response) {\n super();\n this.statusCode = response.status;\n this.body = response.body;\n this.name = this.constructor.name;\n if (typeof response.body === 'string') {\n this.message = response.body;\n }\n else if (typeof response.body === 'object' &&\n response.body !== null &&\n 'message' in response.body &&\n typeof response.body.message === 'string') {\n this.message = response.body['message'];\n }\n else {\n this.message = 'Error';\n }\n }\n}\n\nconst isResponse = (response, contractEndpoint) => {\n return (typeof response === 'object' &&\n response !== null &&\n 'status' in response &&\n 'body' in response &&\n typeof response.status === 'number' &&\n response.status >= 200 &&\n response.status < 600 &&\n ((contractEndpoint === null || contractEndpoint === void 0 ? void 0 : contractEndpoint.strictStatusCodes)\n ? Object.keys(contractEndpoint.responses).includes(response.status.toString())\n : true));\n};\nconst isSuccessResponse = (response, contractEndpoint) => {\n return (isResponse(response, contractEndpoint) &&\n response.status >= 200 &&\n response.status < 300);\n};\nconst isErrorResponse = (response, contractEndpoint) => {\n return (isResponse(response, contractEndpoint) &&\n !isSuccessResponse(response, contractEndpoint));\n};\nconst isUnknownResponse = (response, contractEndpoint) => {\n return (isResponse(response) &&\n !Object.keys(contractEndpoint.responses).includes(response.status.toString()));\n};\nconst isUnknownSuccessResponse = (response, contractEndpoint) => {\n return (isSuccessResponse(response) && isUnknownResponse(response, contractEndpoint));\n};\nconst isUnknownErrorResponse = (response, contractEndpoint) => {\n return (isErrorResponse(response) && isUnknownResponse(response, contractEndpoint));\n};\nconst exhaustiveGuard = (response) => {\n throw new Error(`Unreachable code: Response status is ${response.status}`);\n};\n\nexport { ContractNoBody, ContractPlainTypeRuntimeSymbol, ResponseValidationError, TsRestResponseError, UnknownStatusError, ZodErrorSchema, checkZodSchema, convertQueryParamsToUrlString, encodeQueryParams, encodeQueryParamsJson, evaluateFetchApiArgs, exhaustiveGuard, extractZodObjectShape, fetchApi, getCompleteUrl, getRouteQuery, getRouteResponses, initClient, initContract, initTsRest, insertParamsIntoPath, isAppRoute, isAppRouteMutation, isAppRouteNoBody, isAppRouteOtherResponse, isAppRouteQuery, isAppRouteResponse, isErrorResponse, isResponse, isSuccessResponse, isUnknownErrorResponse, isUnknownResponse, isUnknownSuccessResponse, isZodObject, isZodObjectStrict, isZodType, parseJsonQueryObject, tsRestFetchApi, validateResponse, zodErrorResponse, zodMerge };\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["APIError","Error","statusCode","error","details","constructor","args","super","message","this","name","is","schema","safeParse","success","unknown","z","object","string","number","int","optional","Permissions","Profile","ViewCurrent","Update","Beneficiary","View","List","Create","Delete","Payment","Payout","Approve","Transfer","Wallet","ViewBalance","ViewStatement","Role","ViewRoles","ViewRole","TeamManagement","ViewMembers","ViewMember","CreateMember","UpdateMember","ArchiveMember","UnArchiveMember","ResetPassword","PermissionError","requiredPermissions","join","permissionSchema","union","enum","Object","values","literal","nullish","array","isError","e","stack","isZodObjectStrict","obj","passthrough","issues","path","code","nativeEnum","ZodIssueCode","catchall","any","ContractNoBody","Symbol","isAppRoute","recursivelyApplyOptions","router","options","fromEntries","entries","map","key","value","_a","_b","_c","objectA","objectB","pathPrefix","headers","baseHeaders","merge","assign","strictStatusCodes","validateResponseOnClient","responses","commonResponses","metadata","ContractPlainTypeRuntimeSymbol","initContract","endpoints","query","mutation","response","body","type","otherResponse","contentType","noBody","encodeQueryParamsJson","filter","undefined","encodedValue","includes","trim","isNaN","Number","JSON","stringify","encodeURIComponent","encodeQueryParams","keys","flatMap","tokeniseValue","Array","isArray","v","idx","Date","toISOString","k","UnknownStatusError","knownResponseStatuses","status","tsRestFetchApi","async","route","method","validateResponse","fetchOptions","result","fetch","get","json","responseSchema","parse","text","blob","createFormData","formData","FormData","appendToFormData","File","append","forEach","item","normalizeHeaders","toLowerCase","getCompleteUrl","baseUrl","params","jsonQuery","pathParams","replace","matched","p","startsWith","insertParamsIntoPath","queryComponent","queryString","length","convertQueryParamsToUrlString","getRouteQuery","clientArgs","inputArgs","fetchApiArgs","extraHeaders","overrideClientOptions","cache","next","extraInputArgs","overriddenClientArgs","evaluateFetchApiArgs","apiFetcher","api","valueOrFunction","combinedHeaders","fetcherArgs","rawBody","rawQuery","credentials","signal","URLSearchParams","fetchApi","throwOnUnknownStatus","toString","initClient","subRouter","globalTokenGetter","setGlobalTokenGetter","getter","BaseRepository","contract","endpoint","root","token","getToken","client","clientConfig","uuidv4","setToken","getCurrentToken","handleResponse","successStatusCode","parsedResponse","record","data","FilterOperator","SortDirection","QUERY_BUILDER_TYPE","QueryBuilder","filters","sort","groupBy","count","page","limit","addFilter","criteria","where","field","operator","EQUALS","whereNot","NOT_EQUALS","whereLike","LIKE","whereLikeLower","LIKE_LOWER","whereContains","whereStartsWith","whereEndsWith","whereIn","IN","whereNull","IS_NULL","whereNotNull","IS_NOT_NULL","whereGreaterThan","GREATER_THAN","whereGreaterThanOrEqual","GREATER_THAN_OR_EQUAL","whereLessThan","LESS_THAN","whereLessThanOrEqual","LESS_THAN_OR_EQUAL","whereBetween","min","max","whereDateBetween","startDate","endDate","formattedStart","formattedEnd","addSort","orderBy","direction","ASC","orderByAsc","orderByDesc","DESC","paginate","relations","relationsArray","fields","fieldsArray","expression","countAs","alias","build","rangeStart","rangeEnd","ascFields","descFields","push","eager","clone","ClonedBuilder","create","PaginationParamsSchema","coerce","default","PaginationSchema","total","totalPages","hasNext","boolean","hasPrev","createPaginatedResponseSchema","itemSchema","results","pagination","Pagination","Math","ceil","offset","isFirstPage","isLastPage","nextPage","prevPage","toJSON","createPaginatedResponse","emptyPaginatedResponse","ProfileDTOSchemas","profileDTOSchema","id","firstName","lastName","displayName","phone","accountNo","email","autoApprove","ProfileJSONSchema","nullable","version","_id","_firstName","_lastName","_displayName","_phone","_accountNo","_email","_autoApprove","getName","validate","console","from","maybeProfile","toJSONString","fromJSON","rawData","validationResult","flatten","isProfileJSON","LogInSchemas","loginDTO","profileId","identity","roleId","isActive","isArchived","resetPassword","createdAt","datetime","updatedAt","access","LogInJSONSchema","LogIn","_profileId","_name","_identity","_type","_roleId","_isActive","_isArchived","_resetPassword","_createdAt","_updatedAt","_access","dto","validated","isLogInJSON","RoleJSONSchema","description","permissions","Set","hasPermission","permission","has","isRoleJSON","CompanyMembershipJSONSchema","companyProfile","role","CompanyMembership","_companyProfile","_role","profile","isCompanyMembershipJSON","UserJSONSchema","logIn","User","_logIn","_membership","_token","_permissionMap","membership","can","canAny","some","canAll","every","canManageTeam","canViewRoles","companyMembership","isUserJSON","authContract","password","currentPassword","newPassword","identityContract","getUserCredentials","IdentityRepository","getIdentity","passwordSchema","regex","refine","pattern","test","roleSchema","teamMemberSchema","TeamManagementDTOSchemas","teamMember","teamMemberQueryParams","createTeamMemberRequest","updateTeamMemberRequest","resetPasswordRequest","sendNotification","createTeamMemberResponse","teamManagementContract","getTeamMembers","summary","getTeamMember","createTeamMember","errors","updateTeamMember","archiveTeamMember","unArchiveTeamMember","getRoles","getRole","TeamMemberJSONSchema","TeamMember","_","fromJson","jsonString","parsed","createMany","dataArray","Boolean","isAccountActive","isAccountArchived","needsPasswordReset","getAccountStatus","label","color","getRoleName","getCreatedDate","toLocaleDateString","getLastUpdateInfo","diffMs","getTime","diffDays","floor","roleData","isTeamMemberJSON","fromJSONArray","jsonArray","member","warn","toJSONArray","members","TeamMemberRepository","input","resetTeamMemberPassword","getAllTeamMembers","getAllRoles","AuthRepository","identityRepo","loginData","profileData","teamMemberRepo","user","updatePassword","getAccessList","BeneficiaryType","beneficiaryTypeSchema","beneficiaryInputSchema","channel","BeneficiaryDTOSchemas","beneficiaryDTO","beneficiaryInputDTO","beneficiaryType","MobileBeneficiaryInfoJSONSchema","phoneNumber","mnoId","BankBeneficiaryInfoJSONSchema","accName","swiftCode","countryCode","accNo","BeneficiaryInfoJSONSchema","discriminatedUnion","BeneficiaryInfoError","context","BaseBeneficiaryInfo","isMobile","Mobile","isBank","Bank","accountName","MobileBeneficiaryInfo","operation","e164Format","MNOUtils","requiresExplicitMNO","isValidMNOForCountry","validMNOs","getCountryMNOs","mno","getMNOByPhoneNumber","fromBeneficiaryDTO","info","phoneNumberString","PhoneNumber","fromPayoutDTO","CountryValidation","isISO2CountryCode","msisdn","defaultCountry","payeeName","mobileBeneficiaryInfo","phone_number","phoneObj","derivedMNO","validateMNOForPhoneNumber","getValidationDetails","isValid","warnings","accountNumber","getWithFormat","PhoneNumberFormat","E164","accountNameLabel","accountNumberLabel","channelLabel","channelId","channelName","getMNOById","mobileMoneyService","autoDetectedMNO","fromJSONString","isMobileBeneficiaryInfoJSON","BankBeneficiaryInfo","bank","BankValidation","validateAccountName","validateAccountNumber","getCountryFromSwiftCode","validateSwiftCode","split","swiftcode","bankBeneficiaryInfo","accNumber","shortName","isBankBeneficiaryInfoJSON","BeneficiaryJSONSchema","accNoLabel","accNameLabel","createSafe","canConstruct","isBeneficiaryJSON","MobileInputHandler","canHandle","createInput","BankInputHandler","ValidatedBeneficiaryInputFactory","handlers","resolve","handler","find","h","createBeneficiary","editBeneficiary","getBeneficiaries","getByID","deleteBeneficiary","BeneficiaryRepository","edit","remove","getAll","PayoutChannel","PayoutStatus","PayoutApprovalStatus","AuthorizerSchema","PayoutStatusSchema","PayoutApprovalStatusSchema","BasePayoutSchema","amount","notes","PayoutInputDTOSchema","extend","PayoutDTOSchema","currencyCode","CurrencyValidation","isCurrencyCode","statusMessage","partnerReference","date","actionedAt","approvalStatus","createdBy","actionedBy","PayoutFiltersSchema","positive","sortBy","sortOrder","minAmount","maxAmount","search","PayoutDTOSchemas","PayoutDTO","PayoutInputDTO","PayoutAuthorizer","PayoutFilters","PayoutURLQueryParams","transform","val","parseInt","parseFloat","PayoutJSONSchema","Amount","REJECTED","FAILED","PAID","PENDING","beneficiaryInfo","contactInfo","payoutDTO","isPayoutJSON","payout","payouts","ECOBANK_PREFIX","NARR_V2_PREFIX","BANK_NARR_PREFIX","LEGACY_BANK_NARR_PREFIX","MOBILE_NARR_PREFIX","LEGACY_MOBILE_NARR_PREFIX","NarrationJSONSchema","Narration","mediumText","substring","shortText","generateDefaultPayoutNarration","generateMobilePayoutNarrationV2","generateBankPayoutNarrationV2","toUpperCase","getBeneficiaryDetails","bankResult","getBankBeneficiaryDetails","mobileResult","getMobileBeneficiaryDetails","narr","potentialSwift","slice","capitalizeFirstLetter","country","banks","BankService","getInstance","searchBanks","potentialPhone","username","TZMobileNumber","names","n","maybeNarration","toJson","isNarrationJSON","str","charAt","PAYOUT_CONSTANTS","SUPPORTED_COUNTRY_CODES","ERROR_MESSAGES","INVALID_PHONE_NUMBER","INELIGIBLE_FOR_PAYOUT","MOBILE_NUMBER_MNO_MISMATCH","UNSUPPORTED_COUNTRY_BANK","UNSUPPORTED_COUNTRY_MOBILE","NO_HANDLER_FOUND","PayoutInputUtils","processNotes","trimmedNotes","PayoutChannelCodeFactory","forBank","wallet","forMobile","PhoneNumberFactory","checkPayoutEligibility","operatorInfo","TZMNOId","VODACOM","TIGO","MobileMoneyPayoutHandler","receiver","MOBILE","Country","processedNotes","INTERNATIONAL_NUMERIC","numericValue","BankTransferPayoutHandler","BANK","PayoutInputFactory","getPayoutInput","createPayoutChannelCode","mobile","getPayouts","getPayoutsByApprovalStatus","postPayout","approve","action","getPayout","PayoutQuery","fromFilters","applyFilters","fromUrlParams","fromSearchParams","searchParams","paramObj","fromRequest","request","URL","url","isStringRecord","whereStatus","whereApprovalStatus","whereChannel","wherePending","whereApproved","APPROVED","whereRejected","wherePaid","whereFailed","whereAmountBetween","whereCurrencyCode","wherePayee","whereMsisdn","whereProfileId","wherePartnerReference","whereSearch","searchTerm","hasMin","hasMax","toFilters","extracted","extractFilterValues","extractSortField","extractSortOrder","isValidStatus","isValidApprovalStatus","toUrlParams","String","toSearchParams","toQueryString","withPagination","withSorting","withDateRange","withStatus","withApprovalStatus","withChannel","includeDefaultRelations","with","resetPage","hasFilters","getActiveFilters","current","PayoutRepository","payoutQuery","getAllPayouts","getPayoutsFromRequest","req","pay","getTransactionLimits","lessThan","greaterThan","reject","exists","makeOptional","WalletDTOSchemas","walletDTO","walletQuery","ISO2CountryCodesSet","currency","Currency","CurrencyCodesSet","statementEntry","debitOrCredit","tranRefNo","narration","txnDate","errorMap","valueDate","amountCredited","amountDebited","balance","WalletJSONSchema","_accountName","_channel","_countryCode","_currencyCode","createdAtDate","updatedAtDate","maybeWallet","isWalletJSON","WalletStatementEntryJSONSchema","AmountJSONSchema","WalletStatementEntry","_debitOrCredit","_tranRefNo","_narration","_txnDate","_valueDate","_amountCredited","_amountDebited","_balance","narrationInstance","validationData","restData","maybeEntry","equals","other","isPositive","creditedAmount","debitedAmount","balanceAmount","isFinite","isWalletStatementEntryJSON","entry","fromJsonArray","toJsonArray","getWallets","getBalance","availableBalance","getStatement","WalletQuery","whereId","whereAccountNo","whereAccountName","whereCountryCode","withId","withProfileId","withAccountNo","withCountryCode","withCurrencyCode","WalletRepository","props","wallets","rawWallets","walletData","now","monthStart","getFullYear","getMonth","monthEnd","dateRange","range","targetWallet","targetAccountNo","requestBody","reduce","acc","entryData","WalletUtils","getUniqueCountries","uniqueCountries","add","getWalletsByCountry","profileContract","getCurrentProfile","ProfileRepository"],"mappings":"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","x_google_ignoreList":[4]}
@@ -0,0 +1,177 @@
1
+ import { AppRouter } from "@ts-rest/core";
2
+ import { InitClientArgs } from "@ts-rest/core";
3
+ export type TokenGetter = () => string | undefined;
4
+ export declare const setGlobalTokenGetter: (getter: TokenGetter) => void;
5
+ /**
6
+ * BaseRepository - Generic base class for API repositories
7
+ *
8
+ * Provides a consistent way to interact with the Afloat API using ts-rest contracts.
9
+ * Handles authentication token management through multiple fallback mechanisms.
10
+ *
11
+ * **Token Resolution Order:**
12
+ * 1. Direct token provided in constructor
13
+ * 2. Global authentication state via getCurrentToken()
14
+ *
15
+ * @template TContract - The API contract extending `AppRouter` from `@ts-rest/core`
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Usage 1: Direct token usage (Recommended for server-side usage)
20
+ * const repo = new WalletRepository("wallet", walletContract, {
21
+ * token: "user-auth-token"
22
+ * });
23
+ *
24
+ * // Usage 2: Global auth state (Recommended for client-side usage)
25
+ * // Token automatically retrieved from AfloatAuth.instance
26
+ * const repo = new WalletRepository("wallet", walletContract);
27
+ * ```
28
+ */
29
+ export declare class BaseRepository<TContract extends AppRouter> {
30
+ /**
31
+ * The ts-rest contract defining the API endpoints
32
+ * @protected
33
+ */
34
+ protected contract: TContract;
35
+ /**
36
+ * The API endpoint path for this repository
37
+ * @protected
38
+ */
39
+ protected endpoint: string;
40
+ /**
41
+ * Optional custom API root URL
42
+ * @protected
43
+ */
44
+ protected root: string | undefined;
45
+ /**
46
+ * Optional authentication token for API calls
47
+ * @protected
48
+ */
49
+ protected token: string | undefined;
50
+ /**
51
+ * Creates a new BaseRepository instance.
52
+ *
53
+ * @param endpoint - The API endpoint path (e.g., "users", "wallets")
54
+ * @param contract - The ts-rest contract defining the API
55
+ * @param options - Optional configuration
56
+ * @param options.root - Custom API root URL (defaults to https://api.afloat.money/v1)
57
+ * @param options.token - Authentication token for API calls
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * // Server-side with explicit token
62
+ * const repo = new WalletRepository("wallet", walletContract, {
63
+ * token: "user-auth-token",
64
+ * root: "https://api-staging.afloat.money/v1"
65
+ * });
66
+ *
67
+ * // Client-side using global auth state
68
+ * const repo = new WalletRepository("wallet", walletContract);
69
+ * ```
70
+ */
71
+ constructor(endpoint: string, contract: TContract, options?: {
72
+ root?: string;
73
+ token?: string;
74
+ });
75
+ /**
76
+ * Resolves an authentication token for API calls.
77
+ *
78
+ * Uses a fallback chain to find a valid token:
79
+ * 1. Instance token (set in constructor)
80
+ * 2. Global token getter (set by host app)
81
+ * 3. Return an empty string if no token is found (e.g., for public/unauthenticated endpoints)
82
+ *
83
+ * @protected
84
+ * @returns The authentication token
85
+ * @throws {Error} If no valid token can be found
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * // This method is called automatically by the client getter
90
+ * // You typically don't need to call this directly
91
+ * ```
92
+ */
93
+ protected getToken(): string;
94
+ /**
95
+ * Gets the configured ts-rest client for making API requests.
96
+ *
97
+ * Automatically includes authentication headers and request tracking.
98
+ * The client resolves the authentication token using the fallback chain.
99
+ *
100
+ * @returns Configured ts-rest client instance
101
+ * @throws {Error} If no authentication token is available
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * // Client automatically includes token and request ID
106
+ * const result = await this.client.getUsers({ query: { limit: 10 } });
107
+ *
108
+ * // Headers automatically included:
109
+ * // - token: "user-auth-token"
110
+ * // - x-request-id: "uuid-v4-string"
111
+ * ```
112
+ */
113
+ get client(): { [TKey in keyof TContract]: TContract[TKey] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey], InitClientArgs>> : TContract[TKey] extends AppRouter ? TContract[TKey] extends infer T extends AppRouter ? { [TKey_2 in keyof T]: T[TKey_2] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T[TKey_2], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T[TKey_2], TClientArgs>> : T[TKey_2] extends AppRouter ? T[TKey_2] extends infer T_1 extends AppRouter ? { [TKey_3 in keyof T_1]: T_1[TKey_3] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_1[TKey_3], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_1[TKey_3], TClientArgs>> : T_1[TKey_3] extends AppRouter ? T_1[TKey_3] extends infer T_2 extends AppRouter ? { [TKey_4 in keyof T_2]: T_2[TKey_4] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_2[TKey_4], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_2[TKey_4], TClientArgs>> : T_2[TKey_4] extends AppRouter ? T_2[TKey_4] extends infer T_3 extends AppRouter ? { [TKey_5 in keyof T_3]: T_3[TKey_5] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_3[TKey_5], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_3[TKey_5], TClientArgs>> : T_3[TKey_5] extends AppRouter ? T_3[TKey_5] extends infer T_4 extends AppRouter ? { [TKey_6 in keyof T_4]: T_4[TKey_6] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_4[TKey_6], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_4[TKey_6], TClientArgs>> : T_4[TKey_6] extends AppRouter ? T_4[TKey_6] extends infer T_5 extends AppRouter ? { [TKey_7 in keyof T_5]: T_5[TKey_7] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_5[TKey_7], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_5[TKey_7], TClientArgs>> : T_5[TKey_7] extends AppRouter ? T_5[TKey_7] extends infer T_6 extends AppRouter ? { [TKey_8 in keyof T_6]: T_6[TKey_8] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_6[TKey_8], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_6[TKey_8], TClientArgs>> : T_6[TKey_8] extends AppRouter ? T_6[TKey_8] extends infer T_7 extends AppRouter ? { [TKey_9 in keyof T_7]: T_7[TKey_9] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_7[TKey_9], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_7[TKey_9], TClientArgs>> : T_7[TKey_9] extends AppRouter ? T_7[TKey_9] extends infer T_8 extends AppRouter ? { [TKey_10 in keyof T_8]: T_8[TKey_10] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_8[TKey_10], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_8[TKey_10], TClientArgs>> : T_8[TKey_10] extends AppRouter ? T_8[TKey_10] extends infer T_9 extends AppRouter ? { [TKey_11 in keyof T_9]: T_9[TKey_11] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_9[TKey_11], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_9[TKey_11], TClientArgs>> : T_9[TKey_11] extends AppRouter ? /*elided*/ any : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; };
114
+ /**
115
+ * Updates the authentication token used by this repository.
116
+ *
117
+ * @param token - The new authentication token
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * // Useful for switching between different user contexts
122
+ * repository.setToken("new-auth-token");
123
+ *
124
+ * // Or clearing the token to fall back to global auth state
125
+ * repository.setToken(undefined);
126
+ * ```
127
+ */
128
+ setToken(token: string): void;
129
+ /**
130
+ * Gets the currently configured token (if set directly on the instance).
131
+ *
132
+ * @returns The current authentication token or undefined
133
+ *
134
+ * @note This only returns tokens set directly on the instance, not tokens
135
+ * resolved from the global authentication state.
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * const directToken = repository.getCurrentToken();
140
+ * if (directToken) {
141
+ * console.log("Repository has a direct token");
142
+ * } else {
143
+ * console.log("Repository will use global auth state");
144
+ * }
145
+ * ```
146
+ */
147
+ getCurrentToken(): string | undefined;
148
+ /**
149
+ * Handles API responses consistently across all repositories.
150
+ *
151
+ * Checks the HTTP status code and either returns the response body for
152
+ * successful requests or throws appropriate errors for failures.
153
+ *
154
+ * @template T - The expected type of the successful response body
155
+ * @param result - The API response object with status and body
156
+ * @param successStatusCode - The expected HTTP status code for success
157
+ * @returns The response body typed as T
158
+ * @throws {APIError} For API errors (400, 401, 403, 404, 500, etc.)
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const result = await this.client.getUser({ params: { id: "123" } });
163
+ * return this.handleResponse<User>(result, 200);
164
+ *
165
+ * // Automatically handles error cases:
166
+ * // - 400: Bad Request with detailed error info
167
+ * // - 401: Unauthorized (authentication required)
168
+ * // - 403: Forbidden (insufficient permissions)
169
+ * // - 404: Not Found
170
+ * // - Other: Generic server error
171
+ * ```
172
+ */
173
+ handleResponse<T>(result: {
174
+ status: number;
175
+ body: unknown;
176
+ }, successStatusCode: number): T;
177
+ }
@@ -0,0 +1 @@
1
+ export * from "./base-repository.js";
@@ -60,4 +60,3 @@ export declare class APIError extends Error {
60
60
  details: z.ZodOptional<z.AnyZodObject>;
61
61
  }>;
62
62
  }
63
- //# sourceMappingURL=api_error.d.ts.map
@@ -1,4 +1,4 @@
1
- import { type Permission } from "../models/permission.js";
1
+ import { Permission } from "@/modules/login/permission.type.js";
2
2
  /**
3
3
  * Custom error class representing an error caused by missing required permissions.
4
4
  * Extends the built-in {@link Error} class to include the `requiredPermissions` property.
@@ -45,4 +45,3 @@ export declare class PermissionError extends Error {
45
45
  */
46
46
  static is(error: unknown): error is PermissionError;
47
47
  }
48
- //# sourceMappingURL=permission_error.d.ts.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Type guard to check if an unknown value is an Error object.
3
+ *
4
+ * @param {unknown} e - The value to check
5
+ * @returns {boolean} True if the value is an Error object with valid stack and message properties
6
+ *
7
+ * @example
8
+ * try {
9
+ * throw new Error('Something went wrong');
10
+ * } catch (e) {
11
+ * if (isError(e)) {
12
+ * console.log(e.message); // TypeScript knows e is Error
13
+ * }
14
+ * }
15
+ *
16
+ * @remarks
17
+ * This function checks for the existence of both `stack` and `message` properties
18
+ * and verifies they are strings, which are standard properties of Error objects.
19
+ * This helps distinguish between actual Error instances and objects that might
20
+ * partially match the Error interface.
21
+ */
22
+ export declare function isError(e: unknown): e is Error;
@@ -0,0 +1,3 @@
1
+ export * from "./error.api.js";
2
+ export * from "./error.permission.js";
3
+ export * from "./error.utils.js";
@@ -0,0 +1,4 @@
1
+ export * from "./query.builder.js";
2
+ export * from "./query.types.js";
3
+ export * from "./pagination/pagination.schemas.js";
4
+ export * from "./pagination/pagination.js";