@temboplus/afloat 0.1.53 → 0.1.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/README.md +246 -42
  2. package/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
  3. package/{script/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
  4. package/dist/features/admin/admin.repository.d.ts +179 -0
  5. package/dist/features/admin/index.d.ts +2 -0
  6. package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
  7. package/dist/features/auth/access/access.repository.d.ts +55 -0
  8. package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
  9. package/dist/features/auth/auth.manager.d.ts +249 -0
  10. package/dist/features/auth/auth.repository.d.ts +66 -0
  11. package/dist/features/auth/auth.store.d.ts +139 -0
  12. package/{script/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
  13. package/dist/features/auth/identity/identity.repository.d.ts +58 -0
  14. package/dist/features/auth/index.d.ts +5 -0
  15. package/{script/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
  16. package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
  17. package/dist/features/auth/profile/profile.repository.d.ts +56 -0
  18. package/{esm/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
  19. package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
  20. package/{script/src → dist}/features/auth/storage/types.d.ts +1 -2
  21. package/dist/features/contact/contact-input-handler.d.ts +16 -0
  22. package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
  23. package/dist/features/contact/contact.dtos.d.ts +90 -0
  24. package/dist/features/contact/contact.repository.d.ts +116 -0
  25. package/dist/features/contact/index.d.ts +2 -0
  26. package/dist/features/payout/index.d.ts +3 -0
  27. package/dist/features/payout/payout-channel-handler.d.ts +108 -0
  28. package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
  29. package/dist/features/payout/payout.dtos.d.ts +365 -0
  30. package/dist/features/payout/payout.repository.d.ts +193 -0
  31. package/dist/features/wallet/index.d.ts +4 -0
  32. package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
  33. package/{script/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
  34. package/dist/features/wallet/wallet.dtos.d.ts +204 -0
  35. package/dist/features/wallet/wallet.repository.d.ts +120 -0
  36. package/dist/features/wallet/wallet.utils.d.ts +17 -0
  37. package/dist/index.cjs.js +2 -0
  38. package/dist/index.cjs.js.map +1 -0
  39. package/dist/index.d.ts +7 -0
  40. package/dist/index.esm.js +2 -0
  41. package/dist/index.esm.js.map +1 -0
  42. package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
  43. package/{script/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
  44. package/dist/lib/api/index.d.ts +2 -0
  45. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  46. package/{script/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  47. package/dist/lib/error/error.utils.d.ts +22 -0
  48. package/dist/lib/error/index.d.ts +3 -0
  49. package/dist/models/contact-info.model.d.ts +817 -0
  50. package/{script/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
  51. package/dist/models/index.d.ts +10 -0
  52. package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
  53. package/{script/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +13 -15
  54. package/{esm/src → dist}/models/permission.d.ts +1 -2
  55. package/{script/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
  56. package/{script/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
  57. package/dist/models/statement-entry.model.d.ts +195 -0
  58. package/{esm/src/models/user/authenticated-user.d.ts → dist/models/user.model.d.ts} +1 -2
  59. package/{script/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
  60. package/package.json +47 -26
  61. package/LICENSE +0 -7
  62. package/esm/_dnt.test_shims.d.ts.map +0 -1
  63. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  65. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  68. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  69. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  71. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  72. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  74. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  75. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  77. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  78. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  80. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  81. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  83. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  84. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  86. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  87. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  92. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  97. package/esm/mod.d.ts +0 -8
  98. package/esm/mod.d.ts.map +0 -1
  99. package/esm/mod.js +0 -7
  100. package/esm/package.json +0 -3
  101. package/esm/src/errors/api_error.d.ts.map +0 -1
  102. package/esm/src/errors/api_error.js +0 -90
  103. package/esm/src/errors/index.d.ts +0 -3
  104. package/esm/src/errors/index.d.ts.map +0 -1
  105. package/esm/src/errors/index.js +0 -2
  106. package/esm/src/errors/permission_error.d.ts +0 -48
  107. package/esm/src/errors/permission_error.d.ts.map +0 -1
  108. package/esm/src/errors/permission_error.js +0 -70
  109. package/esm/src/features/admin/contract.d.ts.map +0 -1
  110. package/esm/src/features/admin/contract.js +0 -210
  111. package/esm/src/features/admin/index.d.ts +0 -4
  112. package/esm/src/features/admin/index.d.ts.map +0 -1
  113. package/esm/src/features/admin/index.js +0 -3
  114. package/esm/src/features/admin/repository.d.ts +0 -114
  115. package/esm/src/features/admin/repository.d.ts.map +0 -1
  116. package/esm/src/features/admin/repository.js +0 -248
  117. package/esm/src/features/admin/schemas.d.ts +0 -146
  118. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  119. package/esm/src/features/admin/schemas.js +0 -206
  120. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  121. package/esm/src/features/auth/access/contract.js +0 -14
  122. package/esm/src/features/auth/contract.d.ts.map +0 -1
  123. package/esm/src/features/auth/contract.js +0 -43
  124. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  125. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  126. package/esm/src/features/auth/identity/contract.js +0 -17
  127. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  128. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  129. package/esm/src/features/auth/identity/repository.js +0 -30
  130. package/esm/src/features/auth/index.d.ts +0 -2
  131. package/esm/src/features/auth/index.d.ts.map +0 -1
  132. package/esm/src/features/auth/index.js +0 -1
  133. package/esm/src/features/auth/manager.d.ts +0 -105
  134. package/esm/src/features/auth/manager.d.ts.map +0 -1
  135. package/esm/src/features/auth/manager.js +0 -181
  136. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  137. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  138. package/esm/src/features/auth/profile/contract.js +0 -14
  139. package/esm/src/features/auth/repository.d.ts +0 -30
  140. package/esm/src/features/auth/repository.d.ts.map +0 -1
  141. package/esm/src/features/auth/repository.js +0 -69
  142. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  143. package/esm/src/features/auth/storage/client_store.js +0 -46
  144. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  145. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  146. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  147. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  148. package/esm/src/features/auth/storage/server_store.js +0 -34
  149. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  150. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  151. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  152. package/esm/src/features/auth/storage/types.d.ts +0 -42
  153. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  154. package/esm/src/features/auth/storage/types.js +0 -1
  155. package/esm/src/features/contact/contract.d.ts.map +0 -1
  156. package/esm/src/features/contact/contract.js +0 -49
  157. package/esm/src/features/contact/index.d.ts +0 -2
  158. package/esm/src/features/contact/index.d.ts.map +0 -1
  159. package/esm/src/features/contact/index.js +0 -1
  160. package/esm/src/features/contact/repository.d.ts +0 -58
  161. package/esm/src/features/contact/repository.d.ts.map +0 -1
  162. package/esm/src/features/contact/repository.js +0 -108
  163. package/esm/src/features/payout/contract.d.ts.map +0 -1
  164. package/esm/src/features/payout/contract.js +0 -75
  165. package/esm/src/features/payout/index.d.ts +0 -2
  166. package/esm/src/features/payout/index.d.ts.map +0 -1
  167. package/esm/src/features/payout/index.js +0 -1
  168. package/esm/src/features/payout/repository.d.ts +0 -67
  169. package/esm/src/features/payout/repository.d.ts.map +0 -1
  170. package/esm/src/features/payout/repository.js +0 -163
  171. package/esm/src/features/wallet/contract.d.ts +0 -137
  172. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  173. package/esm/src/features/wallet/contract.js +0 -38
  174. package/esm/src/features/wallet/index.d.ts +0 -2
  175. package/esm/src/features/wallet/index.d.ts.map +0 -1
  176. package/esm/src/features/wallet/index.js +0 -1
  177. package/esm/src/features/wallet/repository.d.ts +0 -57
  178. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  179. package/esm/src/features/wallet/repository.js +0 -93
  180. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  181. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  182. package/esm/src/models/contact/derivatives/contact.js +0 -266
  183. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  184. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  185. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  186. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  187. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  188. package/esm/src/models/contact/index.d.ts +0 -5
  189. package/esm/src/models/contact/index.d.ts.map +0 -1
  190. package/esm/src/models/contact/index.js +0 -4
  191. package/esm/src/models/contact/schemas.d.ts +0 -66
  192. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  193. package/esm/src/models/contact/schemas.js +0 -64
  194. package/esm/src/models/contact/validation.d.ts +0 -37
  195. package/esm/src/models/contact/validation.d.ts.map +0 -1
  196. package/esm/src/models/contact/validation.js +0 -139
  197. package/esm/src/models/contact/validation.test.d.ts.map +0 -1
  198. package/esm/src/models/index.d.ts +0 -7
  199. package/esm/src/models/index.d.ts.map +0 -1
  200. package/esm/src/models/index.js +0 -6
  201. package/esm/src/models/payout/api.d.ts +0 -29
  202. package/esm/src/models/payout/api.d.ts.map +0 -1
  203. package/esm/src/models/payout/api.js +0 -1
  204. package/esm/src/models/payout/channel.d.ts +0 -58
  205. package/esm/src/models/payout/channel.d.ts.map +0 -1
  206. package/esm/src/models/payout/channel.js +0 -53
  207. package/esm/src/models/payout/derivatives/payout.d.ts +0 -156
  208. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  209. package/esm/src/models/payout/derivatives/payout.js +0 -261
  210. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  211. package/esm/src/models/payout/index.d.ts +0 -6
  212. package/esm/src/models/payout/index.d.ts.map +0 -1
  213. package/esm/src/models/payout/index.js +0 -5
  214. package/esm/src/models/payout/schemas.d.ts +0 -156
  215. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  216. package/esm/src/models/payout/schemas.js +0 -105
  217. package/esm/src/models/payout/status.d.ts +0 -33
  218. package/esm/src/models/payout/status.d.ts.map +0 -1
  219. package/esm/src/models/payout/status.js +0 -34
  220. package/esm/src/models/permission.d.ts.map +0 -1
  221. package/esm/src/models/permission.js +0 -50
  222. package/esm/src/models/role.d.ts +0 -21
  223. package/esm/src/models/role.d.ts.map +0 -1
  224. package/esm/src/models/role.js +0 -73
  225. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  226. package/esm/src/models/user/authenticated-user.js +0 -226
  227. package/esm/src/models/user/index.d.ts +0 -4
  228. package/esm/src/models/user/index.d.ts.map +0 -1
  229. package/esm/src/models/user/index.js +0 -3
  230. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  231. package/esm/src/models/user/managed-user.js +0 -255
  232. package/esm/src/models/user/profile.d.ts +0 -161
  233. package/esm/src/models/user/profile.d.ts.map +0 -1
  234. package/esm/src/models/user/profile.js +0 -334
  235. package/esm/src/models/wallet/index.d.ts +0 -4
  236. package/esm/src/models/wallet/index.d.ts.map +0 -1
  237. package/esm/src/models/wallet/index.js +0 -3
  238. package/esm/src/models/wallet/schemas.d.ts +0 -95
  239. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  240. package/esm/src/models/wallet/schemas.js +0 -35
  241. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  242. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  243. package/esm/src/models/wallet/statement_entry.js +0 -255
  244. package/esm/src/models/wallet/wallet.d.ts +0 -147
  245. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  246. package/esm/src/models/wallet/wallet.js +0 -279
  247. package/esm/src/shared/base_repository.d.ts.map +0 -1
  248. package/esm/src/shared/base_repository.js +0 -153
  249. package/esm/src/shared/common_responses.d.ts +0 -13
  250. package/esm/src/shared/common_responses.d.ts.map +0 -1
  251. package/esm/src/shared/common_responses.js +0 -10
  252. package/esm/src/shared/index.d.ts +0 -3
  253. package/esm/src/shared/index.d.ts.map +0 -1
  254. package/esm/src/shared/index.js +0 -2
  255. package/esm/src/shared/token_required_repository.d.ts +0 -78
  256. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  257. package/esm/src/shared/token_required_repository.js +0 -128
  258. package/script/_dnt.test_shims.d.ts.map +0 -1
  259. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  260. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  261. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  262. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  263. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  264. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  265. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  266. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  267. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  268. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  269. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  270. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  271. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  272. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  273. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  274. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  275. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  276. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  277. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  278. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  279. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  280. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  281. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  282. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  283. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  284. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  285. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  286. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  287. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  288. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  289. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  290. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  291. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  292. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  293. package/script/mod.d.ts +0 -8
  294. package/script/mod.d.ts.map +0 -1
  295. package/script/mod.js +0 -23
  296. package/script/package.json +0 -3
  297. package/script/src/errors/api_error.d.ts +0 -63
  298. package/script/src/errors/api_error.d.ts.map +0 -1
  299. package/script/src/errors/api_error.js +0 -94
  300. package/script/src/errors/index.d.ts +0 -3
  301. package/script/src/errors/index.d.ts.map +0 -1
  302. package/script/src/errors/index.js +0 -18
  303. package/script/src/errors/permission_error.d.ts.map +0 -1
  304. package/script/src/errors/permission_error.js +0 -74
  305. package/script/src/features/admin/contract.d.ts +0 -842
  306. package/script/src/features/admin/contract.d.ts.map +0 -1
  307. package/script/src/features/admin/contract.js +0 -213
  308. package/script/src/features/admin/index.d.ts +0 -4
  309. package/script/src/features/admin/index.d.ts.map +0 -1
  310. package/script/src/features/admin/index.js +0 -19
  311. package/script/src/features/admin/repository.d.ts +0 -114
  312. package/script/src/features/admin/repository.d.ts.map +0 -1
  313. package/script/src/features/admin/repository.js +0 -252
  314. package/script/src/features/admin/schemas.d.ts.map +0 -1
  315. package/script/src/features/admin/schemas.js +0 -209
  316. package/script/src/features/auth/access/contract.d.ts +0 -14
  317. package/script/src/features/auth/access/contract.d.ts.map +0 -1
  318. package/script/src/features/auth/access/contract.js +0 -17
  319. package/script/src/features/auth/contract.d.ts +0 -112
  320. package/script/src/features/auth/contract.d.ts.map +0 -1
  321. package/script/src/features/auth/contract.js +0 -46
  322. package/script/src/features/auth/identity/contract.d.ts.map +0 -1
  323. package/script/src/features/auth/identity/contract.js +0 -20
  324. package/script/src/features/auth/identity/repository.d.ts +0 -22
  325. package/script/src/features/auth/identity/repository.d.ts.map +0 -1
  326. package/script/src/features/auth/identity/repository.js +0 -34
  327. package/script/src/features/auth/index.d.ts +0 -2
  328. package/script/src/features/auth/index.d.ts.map +0 -1
  329. package/script/src/features/auth/index.js +0 -17
  330. package/script/src/features/auth/manager.d.ts +0 -105
  331. package/script/src/features/auth/manager.d.ts.map +0 -1
  332. package/script/src/features/auth/manager.js +0 -185
  333. package/script/src/features/auth/profile/contract.d.ts.map +0 -1
  334. package/script/src/features/auth/profile/contract.js +0 -17
  335. package/script/src/features/auth/repository.d.ts +0 -30
  336. package/script/src/features/auth/repository.d.ts.map +0 -1
  337. package/script/src/features/auth/repository.js +0 -73
  338. package/script/src/features/auth/storage/client_store.d.ts +0 -30
  339. package/script/src/features/auth/storage/client_store.d.ts.map +0 -1
  340. package/script/src/features/auth/storage/client_store.js +0 -51
  341. package/script/src/features/auth/storage/client_token_handler.d.ts +0 -32
  342. package/script/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  343. package/script/src/features/auth/storage/client_token_handler.js +0 -40
  344. package/script/src/features/auth/storage/server_store.d.ts +0 -24
  345. package/script/src/features/auth/storage/server_store.d.ts.map +0 -1
  346. package/script/src/features/auth/storage/server_store.js +0 -38
  347. package/script/src/features/auth/storage/server_token_handler.d.ts +0 -36
  348. package/script/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  349. package/script/src/features/auth/storage/server_token_handler.js +0 -119
  350. package/script/src/features/auth/storage/types.d.ts.map +0 -1
  351. package/script/src/features/auth/storage/types.js +0 -2
  352. package/script/src/features/contact/contract.d.ts +0 -170
  353. package/script/src/features/contact/contract.d.ts.map +0 -1
  354. package/script/src/features/contact/contract.js +0 -52
  355. package/script/src/features/contact/index.d.ts +0 -2
  356. package/script/src/features/contact/index.d.ts.map +0 -1
  357. package/script/src/features/contact/index.js +0 -17
  358. package/script/src/features/contact/repository.d.ts +0 -58
  359. package/script/src/features/contact/repository.d.ts.map +0 -1
  360. package/script/src/features/contact/repository.js +0 -112
  361. package/script/src/features/payout/contract.d.ts +0 -623
  362. package/script/src/features/payout/contract.d.ts.map +0 -1
  363. package/script/src/features/payout/contract.js +0 -78
  364. package/script/src/features/payout/index.d.ts +0 -2
  365. package/script/src/features/payout/index.d.ts.map +0 -1
  366. package/script/src/features/payout/index.js +0 -17
  367. package/script/src/features/payout/repository.d.ts +0 -67
  368. package/script/src/features/payout/repository.d.ts.map +0 -1
  369. package/script/src/features/payout/repository.js +0 -167
  370. package/script/src/features/wallet/contract.d.ts.map +0 -1
  371. package/script/src/features/wallet/contract.js +0 -41
  372. package/script/src/features/wallet/index.d.ts +0 -2
  373. package/script/src/features/wallet/index.d.ts.map +0 -1
  374. package/script/src/features/wallet/index.js +0 -17
  375. package/script/src/features/wallet/repository.d.ts +0 -57
  376. package/script/src/features/wallet/repository.d.ts.map +0 -1
  377. package/script/src/features/wallet/repository.js +0 -97
  378. package/script/src/models/contact/derivatives/contact.d.ts.map +0 -1
  379. package/script/src/models/contact/derivatives/contact.js +0 -270
  380. package/script/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  381. package/script/src/models/contact/derivatives/contact_info.d.ts +0 -188
  382. package/script/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  383. package/script/src/models/contact/derivatives/contact_info.js +0 -260
  384. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  385. package/script/src/models/contact/index.d.ts +0 -5
  386. package/script/src/models/contact/index.d.ts.map +0 -1
  387. package/script/src/models/contact/index.js +0 -20
  388. package/script/src/models/contact/schemas.d.ts +0 -66
  389. package/script/src/models/contact/schemas.d.ts.map +0 -1
  390. package/script/src/models/contact/schemas.js +0 -67
  391. package/script/src/models/contact/validation.d.ts +0 -37
  392. package/script/src/models/contact/validation.d.ts.map +0 -1
  393. package/script/src/models/contact/validation.js +0 -146
  394. package/script/src/models/contact/validation.test.d.ts.map +0 -1
  395. package/script/src/models/index.d.ts +0 -7
  396. package/script/src/models/index.d.ts.map +0 -1
  397. package/script/src/models/index.js +0 -22
  398. package/script/src/models/payout/api.d.ts +0 -29
  399. package/script/src/models/payout/api.d.ts.map +0 -1
  400. package/script/src/models/payout/api.js +0 -2
  401. package/script/src/models/payout/channel.d.ts +0 -58
  402. package/script/src/models/payout/channel.d.ts.map +0 -1
  403. package/script/src/models/payout/channel.js +0 -56
  404. package/script/src/models/payout/derivatives/payout.d.ts.map +0 -1
  405. package/script/src/models/payout/derivatives/payout.js +0 -265
  406. package/script/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  407. package/script/src/models/payout/index.d.ts +0 -6
  408. package/script/src/models/payout/index.d.ts.map +0 -1
  409. package/script/src/models/payout/index.js +0 -21
  410. package/script/src/models/payout/schemas.d.ts +0 -156
  411. package/script/src/models/payout/schemas.d.ts.map +0 -1
  412. package/script/src/models/payout/schemas.js +0 -108
  413. package/script/src/models/payout/status.d.ts +0 -33
  414. package/script/src/models/payout/status.d.ts.map +0 -1
  415. package/script/src/models/payout/status.js +0 -37
  416. package/script/src/models/permission.d.ts +0 -55
  417. package/script/src/models/permission.d.ts.map +0 -1
  418. package/script/src/models/permission.js +0 -53
  419. package/script/src/models/role.d.ts.map +0 -1
  420. package/script/src/models/role.js +0 -77
  421. package/script/src/models/user/authenticated-user.d.ts +0 -77
  422. package/script/src/models/user/authenticated-user.d.ts.map +0 -1
  423. package/script/src/models/user/authenticated-user.js +0 -230
  424. package/script/src/models/user/index.d.ts +0 -4
  425. package/script/src/models/user/index.d.ts.map +0 -1
  426. package/script/src/models/user/index.js +0 -19
  427. package/script/src/models/user/managed-user.d.ts +0 -108
  428. package/script/src/models/user/managed-user.d.ts.map +0 -1
  429. package/script/src/models/user/managed-user.js +0 -260
  430. package/script/src/models/user/profile.d.ts.map +0 -1
  431. package/script/src/models/user/profile.js +0 -338
  432. package/script/src/models/wallet/index.d.ts +0 -4
  433. package/script/src/models/wallet/index.d.ts.map +0 -1
  434. package/script/src/models/wallet/index.js +0 -19
  435. package/script/src/models/wallet/schemas.d.ts +0 -95
  436. package/script/src/models/wallet/schemas.d.ts.map +0 -1
  437. package/script/src/models/wallet/schemas.js +0 -38
  438. package/script/src/models/wallet/statement_entry.d.ts +0 -160
  439. package/script/src/models/wallet/statement_entry.d.ts.map +0 -1
  440. package/script/src/models/wallet/statement_entry.js +0 -259
  441. package/script/src/models/wallet/wallet.d.ts.map +0 -1
  442. package/script/src/models/wallet/wallet.js +0 -283
  443. package/script/src/shared/base_repository.d.ts +0 -80
  444. package/script/src/shared/base_repository.d.ts.map +0 -1
  445. package/script/src/shared/base_repository.js +0 -157
  446. package/script/src/shared/common_responses.d.ts.map +0 -1
  447. package/script/src/shared/common_responses.js +0 -13
  448. package/script/src/shared/index.d.ts +0 -3
  449. package/script/src/shared/index.d.ts.map +0 -1
  450. package/script/src/shared/index.js +0 -18
  451. package/script/src/shared/token_required_repository.d.ts +0 -78
  452. package/script/src/shared/token_required_repository.d.ts.map +0 -1
  453. package/script/src/shared/token_required_repository.js +0 -132
@@ -1,181 +0,0 @@
1
- import { AuthRepository } from "./repository.js";
2
- import { createClientStore, useClientUser, } from "./storage/client_store.js";
3
- import { ClientTokenHandler } from "./storage/client_token_handler.js";
4
- import { ServerStore } from "./storage/server_store.js";
5
- import { ServerTokenHandler } from "./storage/server_token_handler.js";
6
- /**
7
- * Global context to hold the current auth instance reference.
8
- * This provides a way to access the auth instance across the application
9
- * without directly coupling to the singleton pattern.
10
- */
11
- export const AuthContext = {
12
- // Default undefined state - will be set during initialization
13
- current: undefined,
14
- };
15
- /**
16
- * Main authentication class that works in both client and server environments.
17
- * Provides authentication functionality and user management.
18
- */
19
- export class AfloatAuth {
20
- /**
21
- * Private constructor to maintain control over instantiation.
22
- * @param {AuthStore} store - The auth store implementation to use
23
- * @param {TokenHandler} tokenHandler - The token handler implementation to use
24
- */
25
- constructor(store, tokenHandler) {
26
- /** The auth store implementation */
27
- Object.defineProperty(this, "store", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: void 0
32
- });
33
- /** The token handler implementation */
34
- Object.defineProperty(this, "tokenHandler", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: void 0
39
- });
40
- this.store = store;
41
- this.tokenHandler = tokenHandler;
42
- }
43
- /**
44
- * Gets or creates the client-side singleton instance of AfloatAuth.
45
- * This getter will automatically initialize the client instance if it hasn't been created yet.
46
- * For server-side usage, use initializeServer() instead.
47
- *
48
- * @returns {AfloatAuth} The client-side singleton instance
49
- * @example
50
- * // Client-side usage
51
- * const auth = AfloatAuth.instance;
52
- *
53
- * // Server-side usage (don't use .instance)
54
- * const serverAuth = await AfloatAuth.initializeServer(token);
55
- */
56
- static get instance() {
57
- if (!AfloatAuth._instance) {
58
- AfloatAuth._instance = new AfloatAuth(createClientStore(), ClientTokenHandler.instance);
59
- // Set as current instance for global access
60
- AuthContext.current = AfloatAuth._instance;
61
- }
62
- return AfloatAuth._instance;
63
- }
64
- /**
65
- * Creates a new server-side instance of AfloatAuth.
66
- * Unlike the client-side instance getter, this creates a new instance each time.
67
- *
68
- * @param {string} token - Authentication token
69
- * @returns {Promise<AfloatAuth>} A new server-side instance
70
- * @throws {Error} If token is invalid or required data cannot be fetched
71
- */
72
- static async initializeServer(token) {
73
- if (!token) {
74
- throw new Error("Token is required for server initialization");
75
- }
76
- const tokenHandler = new ServerTokenHandler(token);
77
- const store = new ServerStore();
78
- try {
79
- // Fetch and construct user data
80
- const user = await tokenHandler.constructUser(token);
81
- store.setUser(user);
82
- // Create and initialize auth instance
83
- const auth = new AfloatAuth(store, tokenHandler);
84
- // Set as current instance for global access
85
- AuthContext.current = auth;
86
- return auth;
87
- }
88
- catch (error) {
89
- if (error instanceof Error) {
90
- console.log(error.stack);
91
- throw new Error(`Failed to initialize server auth: ${error.message}`);
92
- }
93
- throw new Error("Failed to initialize server auth");
94
- }
95
- }
96
- /**
97
- * Gets the authentication repository instance.
98
- * @private
99
- * @returns {AuthRepository} The repository for auth operations
100
- */
101
- get repo() {
102
- return new AuthRepository();
103
- }
104
- /**
105
- * Gets the current authentication token.
106
- * @returns {string | undefined} The current token or undefined if not authenticated
107
- */
108
- getUserToken() {
109
- return this.tokenHandler.getUserToken();
110
- }
111
- /**
112
- * Gets the currently authenticated user.
113
- * @returns {User | undefined} The current user or undefined if not authenticated
114
- */
115
- get currentUser() {
116
- return this.store.getUser();
117
- }
118
- /**
119
- * React hook for accessing the current user in client-side code.
120
- * @throws {Error} If called in a server environment
121
- * @returns {User | undefined} The current user or undefined if not authenticated
122
- */
123
- useCurrentUser() {
124
- return useClientUser();
125
- }
126
- /**
127
- * Checks if the current user has a specific permission.
128
- * @param {Permission} perm - The permission to check
129
- * @returns {boolean} True if the user has the permission, false otherwise
130
- */
131
- checkPermission(perm) {
132
- return this.currentUser?.can(perm) ?? false;
133
- }
134
- /**
135
- * Authenticates a user with email and password.
136
- * @param {string} email - The user's email
137
- * @param {string} password - The user's password
138
- * @returns {Promise<User>} Promise resolving to the authenticated user
139
- * @throws Will throw an error if authentication fails
140
- */
141
- async logIn(email, password) {
142
- const user = await this.repo.logIn(email, password);
143
- this.clearSavedData();
144
- this.store.setUser(user);
145
- this.tokenHandler.setUserToken(user.token);
146
- return user;
147
- }
148
- /**
149
- * Updates the user's password.
150
- * @param {string} current - The current password
151
- * @param {string} updated - The new password
152
- * @returns {Promise<boolean>} Promise resolving to true if successful
153
- * @throws Will throw an error if the password update fails
154
- */
155
- async resetPassword(current, updated) {
156
- await this.repo.updatePassword(current, updated);
157
- this.clearSavedData();
158
- return true;
159
- }
160
- /**
161
- * Logs out the current user.
162
- */
163
- logOut() {
164
- this.clearSavedData();
165
- }
166
- /**
167
- * Clears all authentication data.
168
- * @private
169
- */
170
- clearSavedData() {
171
- this.store.refresh();
172
- this.tokenHandler.clearToken();
173
- }
174
- }
175
- /** client AfloatAuth instance */
176
- Object.defineProperty(AfloatAuth, "_instance", {
177
- enumerable: true,
178
- configurable: true,
179
- writable: true,
180
- value: null
181
- });
@@ -1,37 +0,0 @@
1
- /**
2
- * Profile API contract
3
- */
4
- export declare const profileContract: {
5
- getCurrentProfile: {
6
- method: "GET";
7
- path: "/me";
8
- responses: {
9
- 200: import("zod").ZodObject<{
10
- id: import("zod").ZodString;
11
- firstName: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
12
- lastName: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
13
- displayName: import("zod").ZodString;
14
- phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
15
- accountNo: import("zod").ZodString;
16
- email: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
17
- }, import("zod").UnknownKeysParam, import("zod").ZodTypeAny, {
18
- id: string;
19
- displayName: string;
20
- accountNo: string;
21
- firstName?: string | null | undefined;
22
- lastName?: string | null | undefined;
23
- phone?: string | null | undefined;
24
- email?: string | null | undefined;
25
- }, {
26
- id: string;
27
- displayName: string;
28
- accountNo: string;
29
- firstName?: string | null | undefined;
30
- lastName?: string | null | undefined;
31
- phone?: string | null | undefined;
32
- email?: string | null | undefined;
33
- }>;
34
- };
35
- };
36
- };
37
- //# sourceMappingURL=contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/profile/contract.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ1B,CAAC"}
@@ -1,14 +0,0 @@
1
- import { initContract } from "@ts-rest/core";
2
- import { Profile } from "../../../models/index.js";
3
- /**
4
- * Profile API contract
5
- */
6
- export const profileContract = initContract().router({
7
- getCurrentProfile: {
8
- method: "GET",
9
- path: "/me",
10
- responses: {
11
- 200: Profile.schema,
12
- },
13
- },
14
- });
@@ -1,30 +0,0 @@
1
- import { User } from "../../models/index.js";
2
- import { BaseRepository } from "../../shared/base_repository.js";
3
- import { authContract } from "./contract.js";
4
- /**
5
- * Class representing the AuthRepository.
6
- * Provides methods to handle authentication-related operations, such as login and password updates.
7
- */
8
- export declare class AuthRepository extends BaseRepository<typeof authContract> {
9
- /**
10
- * Initializes an instance of AuthRepository.
11
- */
12
- constructor();
13
- /**
14
- * Logs in a user with the provided email and password.
15
- * @param email - The email of the user attempting to log in.
16
- * @param password - The password of the user.
17
- * @returns A promise that resolves to a User object on successful login.
18
- * @throws {APIError} If the email or password is invalid, or if another error occurs during the login process.
19
- */
20
- logIn(email: string, password: string): Promise<User>;
21
- /**
22
- * Updates the user's password.
23
- * @param currentPassword - The user's current password.
24
- * @param newPassword - The new password the user wants to set.
25
- * @returns A promise that resolves to true if the password update is successful.
26
- * @throws {APIError} If the current password is invalid or another error occurs during the update process.
27
- */
28
- updatePassword(currentPassword: string, newPassword: string): Promise<boolean>;
29
- }
30
- //# sourceMappingURL=repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/auth/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C;;;GAGG;AACH,qBAAa,cAAe,SAAQ,cAAc,CAAC,OAAO,YAAY,CAAC;IACrE;;OAEG;;IAKH;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3D;;;;;;OAMG;IACG,cAAc,CAClB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;CAiBpB"}
@@ -1,69 +0,0 @@
1
- import { User } from "../../models/index.js";
2
- import { BaseRepository } from "../../shared/base_repository.js";
3
- import { authContract } from "./contract.js";
4
- import { APIError } from "../../errors/api_error.js";
5
- import { LoginRepository } from "./identity/repository.js";
6
- /**
7
- * Class representing the AuthRepository.
8
- * Provides methods to handle authentication-related operations, such as login and password updates.
9
- */
10
- export class AuthRepository extends BaseRepository {
11
- /**
12
- * Initializes an instance of AuthRepository.
13
- */
14
- constructor() {
15
- super("auth", authContract);
16
- }
17
- /**
18
- * Logs in a user with the provided email and password.
19
- * @param email - The email of the user attempting to log in.
20
- * @param password - The password of the user.
21
- * @returns A promise that resolves to a User object on successful login.
22
- * @throws {APIError} If the email or password is invalid, or if another error occurs during the login process.
23
- */
24
- async logIn(email, password) {
25
- const body = { type: "password", identity: email, password };
26
- const result = await this.client.logIn({ body });
27
- if (result.status === 400) {
28
- throw new APIError({
29
- message: "Invalid email or password",
30
- statusCode: 400,
31
- });
32
- }
33
- if (result.status === 201) {
34
- const repo = new LoginRepository();
35
- const loginCredentials = await repo.getIdentity(result.body.token);
36
- const user = User.from({ ...result.body, ...loginCredentials });
37
- if (user)
38
- return user;
39
- }
40
- throw new APIError({
41
- message: "An error occurred while trying to log in",
42
- statusCode: 502,
43
- });
44
- }
45
- /**
46
- * Updates the user's password.
47
- * @param currentPassword - The user's current password.
48
- * @param newPassword - The new password the user wants to set.
49
- * @returns A promise that resolves to true if the password update is successful.
50
- * @throws {APIError} If the current password is invalid or another error occurs during the update process.
51
- */
52
- async updatePassword(currentPassword, newPassword) {
53
- const result = await this.client.resetPassword({
54
- body: { currentPassword, newPassword },
55
- });
56
- if (result.status === 200)
57
- return true;
58
- if (result.status === 400) {
59
- throw new APIError({
60
- message: "Invalid current password",
61
- statusCode: 400,
62
- });
63
- }
64
- throw new APIError({
65
- message: "An error occurred while trying to update password",
66
- statusCode: 502,
67
- });
68
- }
69
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"client_store.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/storage/client_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAU,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAY,MAAM,SAAS,CAAC;AAE9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,4CAA4C;AAC5C,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1C,8CAA8C;AAC9C,UAAU,OAAO;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,CA2BhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,SAMpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAO,IAAI,GAAG,SAEvC,CAAC"}
@@ -1,46 +0,0 @@
1
- import { User } from "../../../models/user/index.js";
2
- import { create, useStore } from "zustand";
3
- import { createJSONStorage, persist } from "zustand/middleware";
4
- /** Key used for storing auth data in session storage */
5
- const AUTH_STORE_SESSION_STORAGE_KEY = "auth-store";
6
- /**
7
- * Creates and exports the Zustand store directly for reactive hooks
8
- * @internal This should only be used by AfloatAuth
9
- */
10
- export const clientStore = create(persist((set, get) => ({
11
- user: undefined,
12
- getUser: () => {
13
- try {
14
- const jsonUser = get().user;
15
- if (jsonUser)
16
- return User.fromJSON(jsonUser);
17
- }
18
- catch (_) {
19
- console.log(_);
20
- }
21
- return undefined;
22
- },
23
- setUser: (user) => set({ user: user.toJSON() }),
24
- refresh: () => set({ user: undefined }),
25
- }), {
26
- name: AUTH_STORE_SESSION_STORAGE_KEY,
27
- storage: createJSONStorage(() => sessionStorage),
28
- }));
29
- /**
30
- * Creates a client-side authentication store using Zustand.
31
- * @returns {AuthStore} An implementation of AuthStore for client-side use
32
- */
33
- export const createClientStore = () => {
34
- return {
35
- getUser: () => clientStore.getState().getUser(),
36
- setUser: (user) => clientStore.getState().setUser(user),
37
- refresh: () => clientStore.getState().refresh(),
38
- };
39
- };
40
- /**
41
- * React hook to access the current user with reactive updates.
42
- * @returns {User | undefined} The current user or undefined if not authenticated
43
- */
44
- export const useClientUser = () => {
45
- return useStore(clientStore).getUser();
46
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"client_token_handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/storage/client_token_handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAqB;IAE7C,uDAAuD;IACvD,OAAO;IAEP;;;OAGG;IACH,MAAM,KAAK,QAAQ,IAAI,kBAAkB,CAExC;IAED;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Client-side implementation of TokenHandler.
3
- * Manages tokens using sessionStorage.
4
- * @implements {TokenHandler}
5
- */
6
- export class ClientTokenHandler {
7
- /** Private constructor to enforce singleton pattern */
8
- constructor() { }
9
- /**
10
- * Gets the singleton instance of ClientTokenHandler.
11
- * @returns {ClientTokenHandler} The singleton instance
12
- */
13
- static get instance() {
14
- return this._instance || (this._instance = new this());
15
- }
16
- /**
17
- * Retrieves the token from sessionStorage.
18
- * @returns {string | undefined} The stored token or undefined if not present
19
- */
20
- getUserToken() {
21
- return sessionStorage.getItem("auth_token") || undefined;
22
- }
23
- /**
24
- * Stores the token in sessionStorage.
25
- * @param {string} token - The token to store
26
- */
27
- setUserToken(token) {
28
- sessionStorage.setItem("auth_token", token);
29
- }
30
- /**
31
- * Removes the token from sessionStorage.
32
- */
33
- clearToken() {
34
- sessionStorage.removeItem("auth_token");
35
- }
36
- }
@@ -1,24 +0,0 @@
1
- import type { User } from "../../../models/user/index.js";
2
- import type { AuthStore } from "./types.js";
3
- /**
4
- * Server-side implementation of AuthStore.
5
- * Maintains user state in memory for the duration of a request.
6
- */
7
- export declare class ServerStore implements AuthStore {
8
- private user?;
9
- /**
10
- * Retrieves the current user from memory.
11
- * @returns {User | undefined} The current user or undefined if not set
12
- */
13
- getUser(): User | undefined;
14
- /**
15
- * Sets the current user in memory.
16
- * @param {User} user - The user to store
17
- */
18
- setUser(user: User): void;
19
- /**
20
- * Clears the stored user from memory.
21
- */
22
- refresh(): void;
23
- }
24
- //# sourceMappingURL=server_store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server_store.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/storage/server_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;GAGG;AACH,qBAAa,WAAY,YAAW,SAAS;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAO;IAEpB;;;OAGG;IACH,OAAO,IAAI,IAAI,GAAG,SAAS;IAI3B;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Server-side implementation of AuthStore.
3
- * Maintains user state in memory for the duration of a request.
4
- */
5
- export class ServerStore {
6
- constructor() {
7
- Object.defineProperty(this, "user", {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value: void 0
12
- });
13
- }
14
- /**
15
- * Retrieves the current user from memory.
16
- * @returns {User | undefined} The current user or undefined if not set
17
- */
18
- getUser() {
19
- return this.user;
20
- }
21
- /**
22
- * Sets the current user in memory.
23
- * @param {User} user - The user to store
24
- */
25
- setUser(user) {
26
- this.user = user;
27
- }
28
- /**
29
- * Clears the stored user from memory.
30
- */
31
- refresh() {
32
- this.user = undefined;
33
- }
34
- }
@@ -1,36 +0,0 @@
1
- import type { TokenHandler } from "./types.js";
2
- import { User } from "../../../models/index.js";
3
- /**
4
- * Server-side implementation of TokenHandler.
5
- * Manages tokens in memory for the duration of a request.
6
- * Uses TokenRequiredRepository instead of repositories that rely on AfloatAuth.
7
- * @implements {TokenHandler}
8
- */
9
- export declare class ServerTokenHandler implements TokenHandler {
10
- private token;
11
- private accessRepo;
12
- private profileRepo;
13
- private identityRepo;
14
- /**
15
- * Creates a new instance of ServerTokenHandler.
16
- * @param {string} [token] - Optional initial token value
17
- */
18
- constructor(token: string);
19
- /**
20
- * Returns the stored token.
21
- * @returns {string | undefined} The current token or undefined if not set
22
- */
23
- getUserToken(): string | undefined;
24
- /**
25
- * Stores the provided token in memory.
26
- * @param {string} token - The token to store
27
- */
28
- setUserToken(token: string): void;
29
- clearToken(): void;
30
- /**
31
- * Fetches and constructs the full user data
32
- * @returns {Promise<User>}
33
- */
34
- constructUser(token: string): Promise<User>;
35
- }
36
- //# sourceMappingURL=server_token_handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server_token_handler.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/storage/server_token_handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAW,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAMzD;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAiD;IACnE,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,YAAY,CAAmD;IAEvE;;;OAGG;gBACS,KAAK,EAAE,MAAM;IAqBzB;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjC,UAAU,IAAI,IAAI;IAOlB;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoDlD"}
@@ -1,115 +0,0 @@
1
- import { Profile, User } from "../../../models/index.js";
2
- import { profileContract } from "../profile/contract.js";
3
- import { identityContract } from "../identity/contract.js";
4
- import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
5
- import { accessContract } from "../access/contract.js";
6
- /**
7
- * Server-side implementation of TokenHandler.
8
- * Manages tokens in memory for the duration of a request.
9
- * Uses TokenRequiredRepository instead of repositories that rely on AfloatAuth.
10
- * @implements {TokenHandler}
11
- */
12
- export class ServerTokenHandler {
13
- /**
14
- * Creates a new instance of ServerTokenHandler.
15
- * @param {string} [token] - Optional initial token value
16
- */
17
- constructor(token) {
18
- Object.defineProperty(this, "token", {
19
- enumerable: true,
20
- configurable: true,
21
- writable: true,
22
- value: void 0
23
- });
24
- Object.defineProperty(this, "accessRepo", {
25
- enumerable: true,
26
- configurable: true,
27
- writable: true,
28
- value: void 0
29
- });
30
- Object.defineProperty(this, "profileRepo", {
31
- enumerable: true,
32
- configurable: true,
33
- writable: true,
34
- value: void 0
35
- });
36
- Object.defineProperty(this, "identityRepo", {
37
- enumerable: true,
38
- configurable: true,
39
- writable: true,
40
- value: void 0
41
- });
42
- this.token = token;
43
- this.accessRepo = new TokenRequiredRepository("auth", accessContract, this.token);
44
- this.profileRepo = new TokenRequiredRepository("profile", profileContract, this.token);
45
- this.identityRepo = new TokenRequiredRepository("login", identityContract, this.token);
46
- }
47
- /**
48
- * Returns the stored token.
49
- * @returns {string | undefined} The current token or undefined if not set
50
- */
51
- getUserToken() {
52
- return this.token;
53
- }
54
- /**
55
- * Stores the provided token in memory.
56
- * @param {string} token - The token to store
57
- */
58
- setUserToken(token) {
59
- this.token = token;
60
- this.accessRepo.setToken(token);
61
- this.profileRepo.setToken(token);
62
- this.identityRepo.setToken(token);
63
- }
64
- clearToken() {
65
- this.token = "";
66
- this.accessRepo.setToken("");
67
- this.profileRepo.setToken("");
68
- this.identityRepo.setToken("");
69
- }
70
- /**
71
- * Fetches and constructs the full user data
72
- * @returns {Promise<User>}
73
- */
74
- async constructUser(token) {
75
- if (!this.token) {
76
- throw new Error("Token is required to construct user");
77
- }
78
- this.setUserToken(token);
79
- try {
80
- // Fetch all data concurrently with Promise.all
81
- const [access, profileResult, identityResult] = await Promise.all([
82
- this.accessRepo.client.getAccessList(),
83
- this.profileRepo.client.getCurrentProfile(),
84
- this.identityRepo.client.getUserCredentials(),
85
- ]);
86
- // Extract and validate response data
87
- const accessList = this.accessRepo.handleResponse(access, 200);
88
- const profileData = this.profileRepo.handleResponse(profileResult, 200);
89
- const identityData = this.identityRepo.handleResponse(identityResult, 200);
90
- // Create profile object
91
- const profile = Profile.from(profileData);
92
- if (!profile) {
93
- throw new Error("Failed to create profile from response data");
94
- }
95
- // Construct and return user object
96
- const user = User.from({
97
- token: this.token,
98
- profile,
99
- access: accessList,
100
- resetPassword: false,
101
- ...identityData,
102
- });
103
- if (!user) {
104
- throw new Error("Failed to construct user");
105
- }
106
- return user;
107
- }
108
- catch (error) {
109
- const message = error instanceof Error
110
- ? error.message
111
- : "Unknown error occurred";
112
- throw new Error(`Error constructing user: ${message}`);
113
- }
114
- }
115
- }