@temboplus/afloat 0.1.57 → 0.1.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +42 -246
  3. package/esm/_dnt.test_shims.d.ts.map +1 -0
  4. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  5. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  6. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  38. package/esm/mod.d.ts +8 -0
  39. package/esm/mod.d.ts.map +1 -0
  40. package/esm/mod.js +7 -0
  41. package/esm/package.json +3 -0
  42. package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
  43. package/esm/src/errors/api_error.d.ts.map +1 -0
  44. package/esm/src/errors/api_error.js +90 -0
  45. package/esm/src/errors/index.d.ts +3 -0
  46. package/esm/src/errors/index.d.ts.map +1 -0
  47. package/esm/src/errors/index.js +2 -0
  48. package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
  49. package/esm/src/errors/permission_error.d.ts.map +1 -0
  50. package/esm/src/errors/permission_error.js +70 -0
  51. package/{dist/features/admin/admin.contract.d.ts → esm/src/features/admin/contract.d.ts} +77 -41
  52. package/esm/src/features/admin/contract.d.ts.map +1 -0
  53. package/esm/src/features/admin/contract.js +210 -0
  54. package/esm/src/features/admin/index.d.ts +4 -0
  55. package/esm/src/features/admin/index.d.ts.map +1 -0
  56. package/esm/src/features/admin/index.js +3 -0
  57. package/esm/src/features/admin/repository.d.ts +114 -0
  58. package/esm/src/features/admin/repository.d.ts.map +1 -0
  59. package/esm/src/features/admin/repository.js +248 -0
  60. package/{dist/features/admin/admin.dtos.d.ts → esm/src/features/admin/schemas.d.ts} +9 -8
  61. package/esm/src/features/admin/schemas.d.ts.map +1 -0
  62. package/esm/src/features/admin/schemas.js +206 -0
  63. package/{dist/features/auth/access/access.api-contract.d.ts → esm/src/features/auth/access/contract.d.ts} +1 -0
  64. package/esm/src/features/auth/access/contract.d.ts.map +1 -0
  65. package/esm/src/features/auth/access/contract.js +14 -0
  66. package/esm/src/features/auth/access/repository.d.ts +11 -0
  67. package/esm/src/features/auth/access/repository.d.ts.map +1 -0
  68. package/esm/src/features/auth/access/repository.js +25 -0
  69. package/{dist/features/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +8 -12
  70. package/esm/src/features/auth/contract.d.ts.map +1 -0
  71. package/esm/src/features/auth/contract.js +43 -0
  72. package/{dist/features/auth/identity/identity.api-contract.d.ts → esm/src/features/auth/identity/contract.d.ts} +1 -0
  73. package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
  74. package/esm/src/features/auth/identity/contract.js +17 -0
  75. package/esm/src/features/auth/identity/repository.d.ts +22 -0
  76. package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
  77. package/esm/src/features/auth/identity/repository.js +30 -0
  78. package/esm/src/features/auth/index.d.ts +6 -0
  79. package/esm/src/features/auth/index.d.ts.map +1 -0
  80. package/esm/src/features/auth/index.js +5 -0
  81. package/esm/src/features/auth/manager.d.ts +105 -0
  82. package/esm/src/features/auth/manager.d.ts.map +1 -0
  83. package/esm/src/features/auth/manager.js +181 -0
  84. package/{dist/features/auth/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
  85. package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
  86. package/esm/src/features/auth/profile/contract.js +14 -0
  87. package/esm/src/features/auth/profile/repository.d.ts +11 -0
  88. package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
  89. package/esm/src/features/auth/profile/repository.js +25 -0
  90. package/esm/src/features/auth/repository.d.ts +30 -0
  91. package/esm/src/features/auth/repository.d.ts.map +1 -0
  92. package/esm/src/features/auth/repository.js +69 -0
  93. package/{dist/features/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +3 -2
  94. package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
  95. package/esm/src/features/auth/storage/client_store.js +46 -0
  96. package/{dist/features/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +2 -1
  97. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  98. package/esm/src/features/auth/storage/client_token_handler.js +36 -0
  99. package/esm/src/features/auth/storage/server_store.d.ts +24 -0
  100. package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
  101. package/esm/src/features/auth/storage/server_store.js +34 -0
  102. package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
  103. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  104. package/esm/src/features/auth/storage/server_token_handler.js +115 -0
  105. package/{dist → esm/src}/features/auth/storage/types.d.ts +2 -1
  106. package/esm/src/features/auth/storage/types.d.ts.map +1 -0
  107. package/esm/src/features/auth/storage/types.js +1 -0
  108. package/{dist/features/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +45 -101
  109. package/esm/src/features/contact/contract.d.ts.map +1 -0
  110. package/esm/src/features/contact/contract.js +49 -0
  111. package/esm/src/features/contact/index.d.ts +2 -0
  112. package/esm/src/features/contact/index.d.ts.map +1 -0
  113. package/esm/src/features/contact/index.js +1 -0
  114. package/esm/src/features/contact/repository.d.ts +58 -0
  115. package/esm/src/features/contact/repository.d.ts.map +1 -0
  116. package/esm/src/features/contact/repository.js +108 -0
  117. package/{dist/features/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +187 -351
  118. package/esm/src/features/payout/contract.d.ts.map +1 -0
  119. package/esm/src/features/payout/contract.js +75 -0
  120. package/esm/src/features/payout/index.d.ts +2 -0
  121. package/esm/src/features/payout/index.d.ts.map +1 -0
  122. package/esm/src/features/payout/index.js +1 -0
  123. package/esm/src/features/payout/repository.d.ts +67 -0
  124. package/esm/src/features/payout/repository.d.ts.map +1 -0
  125. package/esm/src/features/payout/repository.js +163 -0
  126. package/{dist/features/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +7 -9
  127. package/esm/src/features/wallet/contract.d.ts.map +1 -0
  128. package/esm/src/features/wallet/contract.js +38 -0
  129. package/esm/src/features/wallet/index.d.ts +2 -0
  130. package/esm/src/features/wallet/index.d.ts.map +1 -0
  131. package/esm/src/features/wallet/index.js +1 -0
  132. package/esm/src/features/wallet/repository.d.ts +57 -0
  133. package/esm/src/features/wallet/repository.d.ts.map +1 -0
  134. package/esm/src/features/wallet/repository.js +93 -0
  135. package/{dist/models/contact.model.d.ts → esm/src/models/contact/derivatives/contact.d.ts} +16 -23
  136. package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
  137. package/esm/src/models/contact/derivatives/contact.js +266 -0
  138. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  139. package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
  140. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  141. package/esm/src/models/contact/derivatives/contact_info.js +255 -0
  142. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  143. package/esm/src/models/contact/index.d.ts +5 -0
  144. package/esm/src/models/contact/index.d.ts.map +1 -0
  145. package/esm/src/models/contact/index.js +4 -0
  146. package/esm/src/models/contact/schemas.d.ts +66 -0
  147. package/esm/src/models/contact/schemas.d.ts.map +1 -0
  148. package/esm/src/models/contact/schemas.js +64 -0
  149. package/esm/src/models/contact/validation.d.ts +37 -0
  150. package/esm/src/models/contact/validation.d.ts.map +1 -0
  151. package/esm/src/models/contact/validation.js +146 -0
  152. package/esm/src/models/contact/validation.test.d.ts.map +1 -0
  153. package/esm/src/models/index.d.ts +7 -0
  154. package/esm/src/models/index.d.ts.map +1 -0
  155. package/esm/src/models/index.js +6 -0
  156. package/esm/src/models/payout/api.d.ts +29 -0
  157. package/esm/src/models/payout/api.d.ts.map +1 -0
  158. package/esm/src/models/payout/api.js +1 -0
  159. package/esm/src/models/payout/channel.d.ts +58 -0
  160. package/esm/src/models/payout/channel.d.ts.map +1 -0
  161. package/esm/src/models/payout/channel.js +53 -0
  162. package/{dist/models/payout.model.d.ts → esm/src/models/payout/derivatives/payout.d.ts} +17 -13
  163. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
  164. package/esm/src/models/payout/derivatives/payout.js +265 -0
  165. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  166. package/esm/src/models/payout/index.d.ts +6 -0
  167. package/esm/src/models/payout/index.d.ts.map +1 -0
  168. package/esm/src/models/payout/index.js +5 -0
  169. package/esm/src/models/payout/schemas.d.ts +156 -0
  170. package/esm/src/models/payout/schemas.d.ts.map +1 -0
  171. package/esm/src/models/payout/schemas.js +105 -0
  172. package/esm/src/models/payout/status.d.ts +33 -0
  173. package/esm/src/models/payout/status.d.ts.map +1 -0
  174. package/esm/src/models/payout/status.js +34 -0
  175. package/{dist → esm/src}/models/permission.d.ts +2 -1
  176. package/esm/src/models/permission.d.ts.map +1 -0
  177. package/esm/src/models/permission.js +50 -0
  178. package/{dist/models/role.model.d.ts → esm/src/models/role.d.ts} +10 -2
  179. package/esm/src/models/role.d.ts.map +1 -0
  180. package/esm/src/models/role.js +73 -0
  181. package/esm/src/models/user/authenticated-user.d.ts +77 -0
  182. package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
  183. package/esm/src/models/user/authenticated-user.js +226 -0
  184. package/esm/src/models/user/index.d.ts +4 -0
  185. package/esm/src/models/user/index.d.ts.map +1 -0
  186. package/esm/src/models/user/index.js +3 -0
  187. package/{dist/models/managed-user.model.d.ts → esm/src/models/user/managed-user.d.ts} +3 -3
  188. package/esm/src/models/user/managed-user.d.ts.map +1 -0
  189. package/esm/src/models/user/managed-user.js +255 -0
  190. package/{dist/models/profile.model.d.ts → esm/src/models/user/profile.d.ts} +43 -37
  191. package/esm/src/models/user/profile.d.ts.map +1 -0
  192. package/esm/src/models/user/profile.js +334 -0
  193. package/esm/src/models/wallet/index.d.ts +4 -0
  194. package/esm/src/models/wallet/index.d.ts.map +1 -0
  195. package/esm/src/models/wallet/index.js +3 -0
  196. package/esm/src/models/wallet/schemas.d.ts +95 -0
  197. package/esm/src/models/wallet/schemas.d.ts.map +1 -0
  198. package/esm/src/models/wallet/schemas.js +35 -0
  199. package/esm/src/models/wallet/statement_entry.d.ts +160 -0
  200. package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
  201. package/esm/src/models/wallet/statement_entry.js +255 -0
  202. package/{dist/models/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +46 -3
  203. package/esm/src/models/wallet/wallet.d.ts.map +1 -0
  204. package/esm/src/models/wallet/wallet.js +279 -0
  205. package/{dist/lib/api/base-repository.d.ts → esm/src/shared/base_repository.d.ts} +42 -137
  206. package/esm/src/shared/base_repository.d.ts.map +1 -0
  207. package/esm/src/shared/base_repository.js +153 -0
  208. package/{dist/lib/api/common-responses.d.ts → esm/src/shared/common_responses.d.ts} +1 -0
  209. package/esm/src/shared/common_responses.d.ts.map +1 -0
  210. package/esm/src/shared/common_responses.js +10 -0
  211. package/esm/src/shared/index.d.ts +3 -0
  212. package/esm/src/shared/index.d.ts.map +1 -0
  213. package/esm/src/shared/index.js +2 -0
  214. package/esm/src/shared/token_required_repository.d.ts +78 -0
  215. package/esm/src/shared/token_required_repository.d.ts.map +1 -0
  216. package/esm/src/shared/token_required_repository.js +128 -0
  217. package/package.json +25 -47
  218. package/script/_dnt.test_shims.d.ts.map +1 -0
  219. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  220. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  221. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  222. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  223. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  224. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  225. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  226. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  227. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  228. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  229. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  230. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  231. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  232. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  233. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  234. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  235. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  236. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  237. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  238. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  239. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  240. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  241. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  242. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  243. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  244. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  245. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  246. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  247. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  248. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  249. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  250. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  251. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  252. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  253. package/script/mod.d.ts +8 -0
  254. package/script/mod.d.ts.map +1 -0
  255. package/script/mod.js +23 -0
  256. package/script/package.json +3 -0
  257. package/script/src/errors/api_error.d.ts +63 -0
  258. package/script/src/errors/api_error.d.ts.map +1 -0
  259. package/script/src/errors/api_error.js +94 -0
  260. package/script/src/errors/index.d.ts +3 -0
  261. package/script/src/errors/index.d.ts.map +1 -0
  262. package/script/src/errors/index.js +18 -0
  263. package/script/src/errors/permission_error.d.ts +48 -0
  264. package/script/src/errors/permission_error.d.ts.map +1 -0
  265. package/script/src/errors/permission_error.js +74 -0
  266. package/script/src/features/admin/contract.d.ts +842 -0
  267. package/script/src/features/admin/contract.d.ts.map +1 -0
  268. package/script/src/features/admin/contract.js +213 -0
  269. package/script/src/features/admin/index.d.ts +4 -0
  270. package/script/src/features/admin/index.d.ts.map +1 -0
  271. package/script/src/features/admin/index.js +19 -0
  272. package/script/src/features/admin/repository.d.ts +114 -0
  273. package/script/src/features/admin/repository.d.ts.map +1 -0
  274. package/script/src/features/admin/repository.js +252 -0
  275. package/script/src/features/admin/schemas.d.ts +146 -0
  276. package/script/src/features/admin/schemas.d.ts.map +1 -0
  277. package/script/src/features/admin/schemas.js +209 -0
  278. package/script/src/features/auth/access/contract.d.ts +14 -0
  279. package/script/src/features/auth/access/contract.d.ts.map +1 -0
  280. package/script/src/features/auth/access/contract.js +17 -0
  281. package/script/src/features/auth/access/repository.d.ts +11 -0
  282. package/script/src/features/auth/access/repository.d.ts.map +1 -0
  283. package/script/src/features/auth/access/repository.js +29 -0
  284. package/script/src/features/auth/contract.d.ts +112 -0
  285. package/script/src/features/auth/contract.d.ts.map +1 -0
  286. package/script/src/features/auth/contract.js +46 -0
  287. package/script/src/features/auth/identity/contract.d.ts +23 -0
  288. package/script/src/features/auth/identity/contract.d.ts.map +1 -0
  289. package/script/src/features/auth/identity/contract.js +20 -0
  290. package/script/src/features/auth/identity/repository.d.ts +22 -0
  291. package/script/src/features/auth/identity/repository.d.ts.map +1 -0
  292. package/script/src/features/auth/identity/repository.js +34 -0
  293. package/script/src/features/auth/index.d.ts +6 -0
  294. package/script/src/features/auth/index.d.ts.map +1 -0
  295. package/script/src/features/auth/index.js +21 -0
  296. package/script/src/features/auth/manager.d.ts +105 -0
  297. package/script/src/features/auth/manager.d.ts.map +1 -0
  298. package/script/src/features/auth/manager.js +185 -0
  299. package/script/src/features/auth/profile/contract.d.ts +37 -0
  300. package/script/src/features/auth/profile/contract.d.ts.map +1 -0
  301. package/script/src/features/auth/profile/contract.js +17 -0
  302. package/script/src/features/auth/profile/repository.d.ts +11 -0
  303. package/script/src/features/auth/profile/repository.d.ts.map +1 -0
  304. package/script/src/features/auth/profile/repository.js +29 -0
  305. package/script/src/features/auth/repository.d.ts +30 -0
  306. package/script/src/features/auth/repository.d.ts.map +1 -0
  307. package/script/src/features/auth/repository.js +73 -0
  308. package/script/src/features/auth/storage/client_store.d.ts +30 -0
  309. package/script/src/features/auth/storage/client_store.d.ts.map +1 -0
  310. package/script/src/features/auth/storage/client_store.js +51 -0
  311. package/script/src/features/auth/storage/client_token_handler.d.ts +32 -0
  312. package/script/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  313. package/script/src/features/auth/storage/client_token_handler.js +40 -0
  314. package/script/src/features/auth/storage/server_store.d.ts +24 -0
  315. package/script/src/features/auth/storage/server_store.d.ts.map +1 -0
  316. package/script/src/features/auth/storage/server_store.js +38 -0
  317. package/script/src/features/auth/storage/server_token_handler.d.ts +36 -0
  318. package/script/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  319. package/script/src/features/auth/storage/server_token_handler.js +119 -0
  320. package/script/src/features/auth/storage/types.d.ts +42 -0
  321. package/script/src/features/auth/storage/types.d.ts.map +1 -0
  322. package/script/src/features/auth/storage/types.js +2 -0
  323. package/script/src/features/contact/contract.d.ts +170 -0
  324. package/script/src/features/contact/contract.d.ts.map +1 -0
  325. package/script/src/features/contact/contract.js +52 -0
  326. package/script/src/features/contact/index.d.ts +2 -0
  327. package/script/src/features/contact/index.d.ts.map +1 -0
  328. package/script/src/features/contact/index.js +17 -0
  329. package/script/src/features/contact/repository.d.ts +58 -0
  330. package/script/src/features/contact/repository.d.ts.map +1 -0
  331. package/script/src/features/contact/repository.js +112 -0
  332. package/script/src/features/payout/contract.d.ts +623 -0
  333. package/script/src/features/payout/contract.d.ts.map +1 -0
  334. package/script/src/features/payout/contract.js +78 -0
  335. package/script/src/features/payout/index.d.ts +2 -0
  336. package/script/src/features/payout/index.d.ts.map +1 -0
  337. package/script/src/features/payout/index.js +17 -0
  338. package/script/src/features/payout/repository.d.ts +67 -0
  339. package/script/src/features/payout/repository.d.ts.map +1 -0
  340. package/script/src/features/payout/repository.js +167 -0
  341. package/script/src/features/wallet/contract.d.ts +137 -0
  342. package/script/src/features/wallet/contract.d.ts.map +1 -0
  343. package/script/src/features/wallet/contract.js +41 -0
  344. package/script/src/features/wallet/index.d.ts +2 -0
  345. package/script/src/features/wallet/index.d.ts.map +1 -0
  346. package/script/src/features/wallet/index.js +17 -0
  347. package/script/src/features/wallet/repository.d.ts +57 -0
  348. package/script/src/features/wallet/repository.d.ts.map +1 -0
  349. package/script/src/features/wallet/repository.js +97 -0
  350. package/script/src/models/contact/derivatives/contact.d.ts +172 -0
  351. package/script/src/models/contact/derivatives/contact.d.ts.map +1 -0
  352. package/script/src/models/contact/derivatives/contact.js +270 -0
  353. package/script/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  354. package/script/src/models/contact/derivatives/contact_info.d.ts +188 -0
  355. package/script/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  356. package/script/src/models/contact/derivatives/contact_info.js +260 -0
  357. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  358. package/script/src/models/contact/index.d.ts +5 -0
  359. package/script/src/models/contact/index.d.ts.map +1 -0
  360. package/script/src/models/contact/index.js +20 -0
  361. package/script/src/models/contact/schemas.d.ts +66 -0
  362. package/script/src/models/contact/schemas.d.ts.map +1 -0
  363. package/script/src/models/contact/schemas.js +67 -0
  364. package/script/src/models/contact/validation.d.ts +37 -0
  365. package/script/src/models/contact/validation.d.ts.map +1 -0
  366. package/script/src/models/contact/validation.js +153 -0
  367. package/script/src/models/contact/validation.test.d.ts.map +1 -0
  368. package/script/src/models/index.d.ts +7 -0
  369. package/script/src/models/index.d.ts.map +1 -0
  370. package/script/src/models/index.js +22 -0
  371. package/script/src/models/payout/api.d.ts +29 -0
  372. package/script/src/models/payout/api.d.ts.map +1 -0
  373. package/script/src/models/payout/api.js +2 -0
  374. package/script/src/models/payout/channel.d.ts +58 -0
  375. package/script/src/models/payout/channel.d.ts.map +1 -0
  376. package/script/src/models/payout/channel.js +56 -0
  377. package/script/src/models/payout/derivatives/payout.d.ts +158 -0
  378. package/script/src/models/payout/derivatives/payout.d.ts.map +1 -0
  379. package/script/src/models/payout/derivatives/payout.js +269 -0
  380. package/script/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  381. package/script/src/models/payout/index.d.ts +6 -0
  382. package/script/src/models/payout/index.d.ts.map +1 -0
  383. package/script/src/models/payout/index.js +21 -0
  384. package/script/src/models/payout/schemas.d.ts +156 -0
  385. package/script/src/models/payout/schemas.d.ts.map +1 -0
  386. package/script/src/models/payout/schemas.js +108 -0
  387. package/script/src/models/payout/status.d.ts +33 -0
  388. package/script/src/models/payout/status.d.ts.map +1 -0
  389. package/script/src/models/payout/status.js +37 -0
  390. package/script/src/models/permission.d.ts +55 -0
  391. package/script/src/models/permission.d.ts.map +1 -0
  392. package/script/src/models/permission.js +53 -0
  393. package/script/src/models/role.d.ts +21 -0
  394. package/script/src/models/role.d.ts.map +1 -0
  395. package/script/src/models/role.js +77 -0
  396. package/script/src/models/user/authenticated-user.d.ts +77 -0
  397. package/script/src/models/user/authenticated-user.d.ts.map +1 -0
  398. package/script/src/models/user/authenticated-user.js +230 -0
  399. package/script/src/models/user/index.d.ts +4 -0
  400. package/script/src/models/user/index.d.ts.map +1 -0
  401. package/script/src/models/user/index.js +19 -0
  402. package/script/src/models/user/managed-user.d.ts +108 -0
  403. package/script/src/models/user/managed-user.d.ts.map +1 -0
  404. package/script/src/models/user/managed-user.js +260 -0
  405. package/script/src/models/user/profile.d.ts +161 -0
  406. package/script/src/models/user/profile.d.ts.map +1 -0
  407. package/script/src/models/user/profile.js +338 -0
  408. package/script/src/models/wallet/index.d.ts +4 -0
  409. package/script/src/models/wallet/index.d.ts.map +1 -0
  410. package/script/src/models/wallet/index.js +19 -0
  411. package/script/src/models/wallet/schemas.d.ts +95 -0
  412. package/script/src/models/wallet/schemas.d.ts.map +1 -0
  413. package/script/src/models/wallet/schemas.js +38 -0
  414. package/script/src/models/wallet/statement_entry.d.ts +160 -0
  415. package/script/src/models/wallet/statement_entry.d.ts.map +1 -0
  416. package/script/src/models/wallet/statement_entry.js +259 -0
  417. package/script/src/models/wallet/wallet.d.ts +147 -0
  418. package/script/src/models/wallet/wallet.d.ts.map +1 -0
  419. package/script/src/models/wallet/wallet.js +283 -0
  420. package/script/src/shared/base_repository.d.ts +80 -0
  421. package/script/src/shared/base_repository.d.ts.map +1 -0
  422. package/script/src/shared/base_repository.js +157 -0
  423. package/script/src/shared/common_responses.d.ts +13 -0
  424. package/script/src/shared/common_responses.d.ts.map +1 -0
  425. package/script/src/shared/common_responses.js +13 -0
  426. package/script/src/shared/index.d.ts +3 -0
  427. package/script/src/shared/index.d.ts.map +1 -0
  428. package/script/src/shared/index.js +18 -0
  429. package/script/src/shared/token_required_repository.d.ts +78 -0
  430. package/script/src/shared/token_required_repository.d.ts.map +1 -0
  431. package/script/src/shared/token_required_repository.js +132 -0
  432. package/dist/features/admin/admin.repository.d.ts +0 -179
  433. package/dist/features/admin/index.d.ts +0 -2
  434. package/dist/features/auth/access/access.repository.d.ts +0 -55
  435. package/dist/features/auth/auth.manager.d.ts +0 -249
  436. package/dist/features/auth/auth.repository.d.ts +0 -66
  437. package/dist/features/auth/auth.store.d.ts +0 -139
  438. package/dist/features/auth/identity/identity.repository.d.ts +0 -58
  439. package/dist/features/auth/index.d.ts +0 -5
  440. package/dist/features/auth/profile/profile.dtos.d.ts +0 -80
  441. package/dist/features/auth/profile/profile.repository.d.ts +0 -56
  442. package/dist/features/contact/contact-input-handler.d.ts +0 -16
  443. package/dist/features/contact/contact.dtos.d.ts +0 -90
  444. package/dist/features/contact/contact.repository.d.ts +0 -116
  445. package/dist/features/contact/index.d.ts +0 -2
  446. package/dist/features/payout/index.d.ts +0 -3
  447. package/dist/features/payout/payout-channel-handler.d.ts +0 -108
  448. package/dist/features/payout/payout.dtos.d.ts +0 -365
  449. package/dist/features/payout/payout.repository.d.ts +0 -193
  450. package/dist/features/wallet/index.d.ts +0 -4
  451. package/dist/features/wallet/wallet-manager.session.d.ts +0 -143
  452. package/dist/features/wallet/wallet.dtos.d.ts +0 -204
  453. package/dist/features/wallet/wallet.repository.d.ts +0 -120
  454. package/dist/features/wallet/wallet.utils.d.ts +0 -17
  455. package/dist/index.cjs.js +0 -2
  456. package/dist/index.cjs.js.map +0 -1
  457. package/dist/index.d.ts +0 -7
  458. package/dist/index.esm.js +0 -2
  459. package/dist/index.esm.js.map +0 -1
  460. package/dist/lib/api/index.d.ts +0 -2
  461. package/dist/lib/error/error.utils.d.ts +0 -22
  462. package/dist/lib/error/index.d.ts +0 -3
  463. package/dist/models/contact-info.model.d.ts +0 -817
  464. package/dist/models/index.d.ts +0 -10
  465. package/dist/models/statement-entry.model.d.ts +0 -195
  466. package/dist/models/user.model.d.ts +0 -65
@@ -1,179 +0,0 @@
1
- import { BaseRepository } from "@/lib/api";
2
- import { userManagementContract } from "./admin.contract";
3
- import type { CreateUserRequestDTO, CreateUserResponseDTO, ManagedUserQueryParamsDTO, ResetPasswordRequestDTO, UpdateUserRequestDTO } from "./admin.dtos";
4
- import { Role } from "@/models/role.model";
5
- import { ManagedUser } from "@/models/managed-user.model";
6
- /**
7
- * Repository class for managing user accounts through API interactions.
8
- * Handles user creation, updates, archiving, and role management.
9
- *
10
- * This repository handles pure API communication without permission checking.
11
- * Permission validation should be handled at the service layer or route handlers.
12
- *
13
- * @extends {BaseRepository<typeof userManagementContract>}
14
- *
15
- * @example
16
- * ```typescript
17
- * const repo = new UserManagementRepository({ token: adminToken });
18
- * const users = await repo.getAllUsers();
19
- * ```
20
- */
21
- export declare class UserManagementRepository extends BaseRepository<typeof userManagementContract> {
22
- /**
23
- * Creates an instance of UserManagementRepository using the user management contract.
24
- *
25
- * @param options - Optional configuration
26
- * @param options.token - Authentication token for API calls
27
- * @param options.root - Custom API root URL
28
- *
29
- * @example
30
- * ```typescript
31
- * const repo = new UserManagementRepository({
32
- * token: "admin-auth-token",
33
- * root: "https://api-staging.afloat.money/v1"
34
- * });
35
- * ```
36
- */
37
- constructor(options?: {
38
- token?: string;
39
- root?: string;
40
- });
41
- /**
42
- * Creates a new user account.
43
- *
44
- * @param input - The data required to create a new user account
45
- * @returns Promise that resolves to the newly created user response
46
- * @throws {APIError} If the creation operation fails
47
- *
48
- * @example
49
- * ```typescript
50
- * const newUser = await repo.createUser({
51
- * email: "newuser@example.com",
52
- * name: "New User",
53
- * roleId: "role-id"
54
- * });
55
- * ```
56
- */
57
- createUser(input: CreateUserRequestDTO): Promise<CreateUserResponseDTO>;
58
- /**
59
- * Updates an existing user account by ID.
60
- *
61
- * @param id - The unique identifier of the user account to update
62
- * @param input - The data to update the user account with
63
- * @returns Promise that resolves to the updated user account
64
- * @throws {APIError} If the update operation fails
65
- *
66
- * @example
67
- * ```typescript
68
- * const updatedUser = await repo.updateUser("user-id", {
69
- * name: "Updated Name",
70
- * email: "updated@example.com"
71
- * });
72
- * ```
73
- */
74
- updateUser(id: string, input: UpdateUserRequestDTO): Promise<ManagedUser>;
75
- /**
76
- * Archives (soft deletes) a user account by ID.
77
- *
78
- * @param id - The unique identifier of the user account to archive
79
- * @returns Promise that resolves to the updated user object
80
- * @throws {APIError} If the archive operation fails
81
- *
82
- * @example
83
- * ```typescript
84
- * const archivedUser = await repo.archiveUser("user-id");
85
- * ```
86
- */
87
- archiveUser(id: string): Promise<ManagedUser>;
88
- /**
89
- * Unarchives a previously archived user account by ID.
90
- *
91
- * @param id - The unique identifier of the user account to unarchive
92
- * @returns Promise that resolves to the updated user object
93
- * @throws {APIError} If the unarchive operation fails
94
- *
95
- * @example
96
- * ```typescript
97
- * const restoredUser = await repo.unArchiveUser("user-id");
98
- * ```
99
- */
100
- unArchiveUser(id: string): Promise<ManagedUser>;
101
- /**
102
- * Resets a user's password.
103
- *
104
- * @param id - The unique identifier of the user account
105
- * @param input - Optional password reset configuration
106
- * @returns Promise that resolves to success status
107
- * @throws {APIError} If the password reset operation fails
108
- *
109
- * @example
110
- * ```typescript
111
- * const result = await repo.resetUserPassword("user-id", {
112
- * sendEmail: true
113
- * });
114
- * ```
115
- */
116
- resetUserPassword(id: string, input?: ResetPasswordRequestDTO): Promise<{
117
- success: boolean;
118
- }>;
119
- /**
120
- * Retrieves all user accounts.
121
- * Results are ordered in descending order by creation date by default.
122
- *
123
- * @param query - Optional query parameters for filtering and eager loading
124
- * @returns Promise that resolves to an array of managed users
125
- * @throws {APIError} If the fetch operation fails
126
- *
127
- * @example
128
- * ```typescript
129
- * // Get all users with role information
130
- * const users = await repo.getAllUsers({ eager: "role" });
131
- *
132
- * // Get users with custom query
133
- * const activeUsers = await repo.getAllUsers({ status: "active" });
134
- * ```
135
- */
136
- getAllUsers(query?: ManagedUserQueryParamsDTO): Promise<ManagedUser[]>;
137
- /**
138
- * Retrieves a specific user account by ID.
139
- *
140
- * @param id - The unique identifier of the user account to retrieve
141
- * @param query - Optional query parameters for eager loading
142
- * @returns Promise that resolves to the managed user
143
- * @throws {APIError} If the user is not found or fetch operation fails
144
- *
145
- * @example
146
- * ```typescript
147
- * const user = await repo.getUser("user-id", { eager: "role" });
148
- * console.log(`User: ${user.name}, Role: ${user.role?.name}`);
149
- * ```
150
- */
151
- getUser(id: string, query?: ManagedUserQueryParamsDTO): Promise<ManagedUser>;
152
- /**
153
- * Retrieves all available roles in the system.
154
- *
155
- * @returns Promise that resolves to an array of roles
156
- * @throws {APIError} If the fetch operation fails
157
- *
158
- * @example
159
- * ```typescript
160
- * const roles = await repo.getAllRoles();
161
- * roles.forEach(role => console.log(`Role: ${role.name}`));
162
- * ```
163
- */
164
- getAllRoles(): Promise<Role[]>;
165
- /**
166
- * Retrieves a specific role by ID.
167
- *
168
- * @param id - The unique identifier of the role to retrieve
169
- * @returns Promise that resolves to the role
170
- * @throws {APIError} If the role is not found or fetch operation fails
171
- *
172
- * @example
173
- * ```typescript
174
- * const role = await repo.getRole("role-id");
175
- * console.log(`Role: ${role.name}, Permissions: ${role.permissions.length}`);
176
- * ```
177
- */
178
- getRole(id: string): Promise<Role>;
179
- }
@@ -1,2 +0,0 @@
1
- export * from "./admin.repository";
2
- export * from "./admin.dtos";
@@ -1,55 +0,0 @@
1
- import { BaseRepository } from "@/lib/api/base-repository";
2
- import { accessContract } from "./access.api-contract";
3
- /**
4
- * Repository class for managing access-related operations.
5
- * Handles retrieving user access lists and permissions from the API.
6
- *
7
- * This repository handles pure API communication without permission checking.
8
- * Permission validation should be handled at the service layer or route handlers.
9
- *
10
- * @extends {BaseRepository<typeof accessContract>}
11
- *
12
- * @example
13
- * ```typescript
14
- * const repo = new AccessRepository({ token: userToken });
15
- * const accessList = await repo.getAccessList();
16
- * ```
17
- */
18
- export declare class AccessRepository extends BaseRepository<typeof accessContract> {
19
- /**
20
- * Creates an instance of AccessRepository.
21
- *
22
- * @param options - Optional configuration
23
- * @param options.token - Authentication token for API calls
24
- * @param options.root - Custom API root URL
25
- *
26
- * @example
27
- * ```typescript
28
- * const repo = new AccessRepository({
29
- * token: "user-auth-token",
30
- * root: "base-api-url"
31
- * });
32
- * ```
33
- */
34
- constructor(options?: {
35
- token?: string;
36
- root?: string;
37
- });
38
- /**
39
- * Retrieves the current user's access list.
40
- *
41
- * @returns Promise that resolves to an array of access permissions/roles
42
- * @throws {APIError} If the request fails or returns an unexpected status
43
- *
44
- * @example
45
- * ```typescript
46
- * try {
47
- * const accessList = await repo.getAccessList();
48
- * console.log("User has access to:", accessList);
49
- * } catch (error) {
50
- * console.error("Failed to get access list:", error.message);
51
- * }
52
- * ```
53
- */
54
- getAccessList(): Promise<string[]>;
55
- }
@@ -1,249 +0,0 @@
1
- import { User } from "@/models/user.model";
2
- import { Permission } from "@/models/permission";
3
- /**
4
- * Clean authentication manager for client-side usage only.
5
- *
6
- * This class provides a centralized way to manage user authentication state,
7
- * including login, logout, and permission checking. It uses a singleton pattern
8
- * for client-side usage and directly interfaces with the unified auth store.
9
- *
10
- * **Architecture:**
11
- * - **Client-side**: Use the singleton instance via `AfloatAuth.instance`
12
- * - **Server-side**: Pass tokens directly to repositories (no auth manager needed)
13
- *
14
- * **Features:**
15
- * - Direct integration with unified auth store
16
- * - React hooks for reactive UI updates
17
- * - Permission checking utilities
18
- * - Automatic wallet session management
19
- *
20
- * @example
21
- * ```typescript
22
- * // Client-side usage
23
- * const auth = AfloatAuth.instance;
24
- * const user = await auth.logIn(email, password);
25
- *
26
- * // Server-side usage (no auth manager needed)
27
- * const walletRepo = new WalletRepository({ token: extractedToken });
28
- * const balance = await walletRepo.getBalance({ wallet });
29
- * ```
30
- */
31
- export declare class AfloatAuth {
32
- /** Client-side singleton instance */
33
- private static _instance;
34
- /**
35
- * Private constructor to control instantiation.
36
- * Use the static instance getter instead.
37
- *
38
- * @private
39
- */
40
- private constructor();
41
- /**
42
- * Gets or creates the client-side singleton instance.
43
- *
44
- * @returns The client-side singleton instance
45
- *
46
- * @example
47
- * ```typescript
48
- * const auth = AfloatAuth.instance;
49
- * if (auth.currentUser) {
50
- * console.log("User is logged in");
51
- * }
52
- * ```
53
- */
54
- static get instance(): AfloatAuth;
55
- /**
56
- * Gets the authentication repository for API operations.
57
- *
58
- * @private
59
- * @returns The auth repository instance with current token
60
- */
61
- private get repo();
62
- /**
63
- * Gets the current authentication token.
64
- *
65
- * @returns The current authentication token, or undefined if not authenticated
66
- *
67
- * @example
68
- * ```typescript
69
- * const token = auth.getUserToken();
70
- * if (token) {
71
- * const apiClient = new SomeRepository({ token });
72
- * }
73
- * ```
74
- */
75
- getUserToken(): string | undefined;
76
- /**
77
- * Gets the currently authenticated user.
78
- *
79
- * @returns The current user instance, or undefined if not authenticated
80
- *
81
- * @example
82
- * ```typescript
83
- * const user = auth.currentUser;
84
- * if (user) {
85
- * console.log(`Welcome, ${user.name}!`);
86
- * }
87
- * ```
88
- */
89
- get currentUser(): User | undefined;
90
- /**
91
- * Checks if a user is currently authenticated.
92
- *
93
- * @returns True if user is authenticated, false otherwise
94
- *
95
- * @example
96
- * ```typescript
97
- * if (auth.isAuthenticated) {
98
- * // User is logged in
99
- * showDashboard();
100
- * } else {
101
- * // User needs to log in
102
- * showLoginForm();
103
- * }
104
- * ```
105
- */
106
- get isAuthenticated(): boolean;
107
- /**
108
- * React hook for accessing the current user in client-side components.
109
- *
110
- * This hook provides reactive updates when the user state changes,
111
- * making it perfect for React components that need to respond to
112
- * authentication state changes.
113
- *
114
- * @returns The current user with reactive updates, or undefined if not authenticated
115
- * @throws {Error} If called in a server environment
116
- *
117
- * @example
118
- * ```typescript
119
- * function UserProfile() {
120
- * const user = AfloatAuth.instance.useCurrentUser();
121
- *
122
- * if (!user) {
123
- * return <LoginForm />;
124
- * }
125
- *
126
- * return <div>Hello, {user.name}!</div>;
127
- * }
128
- * ```
129
- */
130
- useCurrentUser(): User | undefined;
131
- /**
132
- * Checks if the current user has a specific permission.
133
- *
134
- * @param perm - The permission to check
135
- * @returns True if the user has the permission, false otherwise
136
- *
137
- * @example
138
- * ```typescript
139
- * if (auth.checkPermission(Permission.ViewBalance)) {
140
- * // User can view wallet balance
141
- * const walletRepo = new WalletRepository({ token: auth.getUserToken() });
142
- * const balance = await walletRepo.getBalance(wallet);
143
- * } else {
144
- * console.log("User doesn't have permission to view balance");
145
- * }
146
- * ```
147
- */
148
- checkPermission(perm: Permission): boolean;
149
- /**
150
- * Authenticates a user with email and password.
151
- *
152
- * On successful authentication:
153
- * - Clears any existing auth data
154
- * - Stores the new user and token atomically
155
- * - Initializes related services (wallet manager)
156
- *
157
- * @param email - The user's email address
158
- * @param password - The user's password
159
- * @returns Promise resolving to the authenticated user
160
- * @throws {Error} If authentication fails
161
- *
162
- * @example
163
- * ```typescript
164
- * try {
165
- * const user = await auth.logIn("user@example.com", "password123");
166
- * console.log("Login successful!");
167
- * router.push("/dashboard");
168
- * } catch (error) {
169
- * console.error("Login failed:", error.message);
170
- * setError("Invalid credentials");
171
- * }
172
- * ```
173
- */
174
- logIn(email: string, password: string): Promise<User>;
175
- /**
176
- * Updates the current user's password.
177
- *
178
- * @param currentPassword - The user's current password
179
- * @param newPassword - The new password to set
180
- * @returns Promise resolving to true if successful
181
- * @throws {Error} If the password update fails or user is not authenticated
182
- *
183
- * @example
184
- * ```typescript
185
- * try {
186
- * await auth.resetPassword("oldPassword", "newPassword123");
187
- * console.log("Password updated successfully");
188
- * showSuccessMessage("Password updated!");
189
- * } catch (error) {
190
- * console.error("Password update failed:", error.message);
191
- * showErrorMessage("Failed to update password");
192
- * }
193
- * ```
194
- */
195
- resetPassword(currentPassword: string, newPassword: string): Promise<boolean>;
196
- /**
197
- * Logs out the current user and clears all authentication data.
198
- *
199
- * This method:
200
- * - Clears user state from memory and storage
201
- * - Removes authentication tokens
202
- * - Resets related services
203
- *
204
- * @example
205
- * ```typescript
206
- * auth.logOut();
207
- * router.push("/login");
208
- * console.log("User logged out successfully");
209
- * ```
210
- */
211
- logOut(): void;
212
- /**
213
- * Refreshes the current authentication state.
214
- * Useful for clearing potentially stale data.
215
- *
216
- * @example
217
- * ```typescript
218
- * // Clear current state and force fresh authentication
219
- * auth.refresh();
220
- * ```
221
- */
222
- refresh(): void;
223
- /**
224
- * Gets debug information about the current authentication state.
225
- * Useful for troubleshooting authentication issues.
226
- *
227
- * @returns Object containing authentication state information
228
- *
229
- * @example
230
- * ```typescript
231
- * const debugInfo = auth.getDebugInfo();
232
- * console.log("Auth Debug Info:", debugInfo);
233
- * ```
234
- */
235
- getDebugInfo(): {
236
- hasUser: boolean;
237
- hasToken: boolean;
238
- isAuthenticated: boolean;
239
- userName: string;
240
- tokenLength: number;
241
- managerInstance: string;
242
- };
243
- /**
244
- * Clears all stored authentication data from the unified store.
245
- *
246
- * @private
247
- */
248
- private clearSavedData;
249
- }
@@ -1,66 +0,0 @@
1
- import { BaseRepository } from "../../lib/api/base-repository";
2
- import { authContract } from "./auth.contract";
3
- import { User } from "@/models/user.model";
4
- /**
5
- * Repository class for handling authentication-related operations.
6
- * Provides methods for user login and password management.
7
- *
8
- * @extends {BaseRepository<typeof authContract>}
9
- *
10
- * @example
11
- * ```typescript
12
- * const authRepo = new AuthRepository();
13
- * const user = await authRepo.logIn("user@example.com", "password");
14
- * ```
15
- */
16
- export declare class AuthRepository extends BaseRepository<typeof authContract> {
17
- /**
18
- * Creates an instance of AuthRepository.
19
- *
20
- * @param options - Optional configuration
21
- * @param options.root - Custom API root URL
22
- * @param options.token - Authentication token for password operations
23
- */
24
- constructor(options?: {
25
- root?: string;
26
- token?: string;
27
- });
28
- /**
29
- * Authenticates a user with the provided email and password.
30
- *
31
- * @param email - The email of the user attempting to log in
32
- * @param password - The password of the user
33
- * @returns Promise that resolves to a User object on successful login
34
- * @throws {APIError} If the email or password is invalid, or if another error occurs during login
35
- *
36
- * @example
37
- * ```typescript
38
- * try {
39
- * const user = await authRepo.logIn("user@example.com", "securePassword");
40
- * console.log(`Welcome ${user.name}!`);
41
- * } catch (error) {
42
- * console.error("Login failed:", error.message);
43
- * }
44
- * ```
45
- */
46
- logIn(email: string, password: string): Promise<User>;
47
- /**
48
- * Updates the current user's password.
49
- *
50
- * @param currentPassword - The user's current password
51
- * @param newPassword - The new password the user wants to set
52
- * @returns Promise that resolves to true if the password update is successful
53
- * @throws {APIError} If the current password is invalid or another error occurs during the update
54
- *
55
- * @example
56
- * ```typescript
57
- * try {
58
- * await authRepo.updatePassword("oldPassword", "newSecurePassword");
59
- * console.log("Password updated successfully");
60
- * } catch (error) {
61
- * console.error("Password update failed:", error.message);
62
- * }
63
- * ```
64
- */
65
- updatePassword(currentPassword: string, newPassword: string): Promise<boolean>;
66
- }
@@ -1,139 +0,0 @@
1
- import { type StoreApi, type UseBoundStore } from "zustand";
2
- import { User } from "@/models/user.model";
3
- /** Type definition for the store's internal state */
4
- type AuthState = {
5
- user: string | undefined;
6
- token: string | undefined;
7
- };
8
- /** Type definition for the store's actions */
9
- interface AuthActions {
10
- setUser: (user: User) => void;
11
- getUser: () => User | undefined;
12
- setToken: (token: string) => void;
13
- getToken: () => string | undefined;
14
- setUserAndToken: (user: User, token: string) => void;
15
- clearAuth: () => void;
16
- }
17
- /**
18
- * Unified Zustand store for managing both user and token state with persistence.
19
- *
20
- * Features:
21
- * - Persists both user data and token to sessionStorage
22
- * - Serializes/deserializes User objects to/from JSON
23
- * - Provides reactive state updates for React components
24
- * - Automatically syncs user and token state
25
- * - Server-side rendering safe
26
- */
27
- export declare const authStore: UseBoundStore<StoreApi<AuthState & AuthActions>>;
28
- /**
29
- * Gets the current authenticated user from the auth store.
30
- * This function can be called from anywhere in the application.
31
- *
32
- * @returns The current user or undefined if not authenticated
33
- *
34
- * @example
35
- * ```typescript
36
- * // In BaseRepository or any other file
37
- * const user = getCurrentUser();
38
- * if (user) {
39
- * console.log(`Current user: ${user.name}`);
40
- * }
41
- * ```
42
- */
43
- export declare const getCurrentUser: () => User | undefined;
44
- /**
45
- * Gets the current authentication token from the auth store.
46
- * This function can be called from anywhere in the application,
47
- * including BaseRepository for automatic token injection.
48
- *
49
- * @returns The current token or undefined if not authenticated
50
- *
51
- * @example
52
- * ```typescript
53
- * // In BaseRepository
54
- * const token = getCurrentToken();
55
- * if (token) {
56
- * // Use token for API calls
57
- * return initClient(contract, { baseHeaders: { token } });
58
- * }
59
- * ```
60
- */
61
- export declare const getCurrentToken: () => string | undefined;
62
- /**
63
- * React hook to access the current user with reactive updates.
64
- *
65
- * @returns The current user or undefined if not authenticated
66
- * @throws {Error} If called in a server environment
67
- *
68
- * @example
69
- * ```typescript
70
- * function UserProfile() {
71
- * const user = useCurrentUser();
72
- *
73
- * if (!user) {
74
- * return <div>Please log in</div>;
75
- * }
76
- *
77
- * return <div>Welcome, {user.name}!</div>;
78
- * }
79
- * ```
80
- */
81
- export declare const useCurrentUser: () => User | undefined;
82
- /**
83
- * React hook to access the current token with reactive updates.
84
- *
85
- * @returns The current token or undefined if not authenticated
86
- * @throws {Error} If called in a server environment
87
- *
88
- * @example
89
- * ```typescript
90
- * function SomeComponent() {
91
- * const token = useCurrentToken();
92
- *
93
- * if (!token) {
94
- * return <div>Please log in</div>;
95
- * }
96
- *
97
- * // Use token...
98
- * }
99
- * ```
100
- */
101
- export declare const useCurrentToken: () => string | undefined;
102
- /**
103
- * Checks if a user is currently authenticated.
104
- *
105
- * @returns True if user is authenticated, false otherwise
106
- *
107
- * @example
108
- * ```typescript
109
- * if (isAuthenticated()) {
110
- * // User is logged in
111
- * showDashboard();
112
- * } else {
113
- * // User needs to log in
114
- * showLoginForm();
115
- * }
116
- * ```
117
- */
118
- export declare const isAuthenticated: () => boolean;
119
- /**
120
- * Gets debug information about the current authentication state.
121
- * Useful for troubleshooting authentication issues.
122
- *
123
- * @returns Object containing authentication state information
124
- *
125
- * @example
126
- * ```typescript
127
- * const debugInfo = getAuthDebugInfo();
128
- * console.log("Auth Debug Info:", debugInfo);
129
- * ```
130
- */
131
- export declare const getAuthDebugInfo: () => {
132
- hasUser: boolean;
133
- hasToken: boolean;
134
- isAuthenticated: boolean;
135
- userName: string;
136
- tokenLength: number;
137
- storeState: string | (AuthState & AuthActions);
138
- };
139
- export {};