@temboplus/afloat 0.1.60 → 0.1.62

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 (554) 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/npm/src/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/npm/src/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/npm/src/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
  16. package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
  17. package/dist/features/auth/profile/profile.repository.d.ts +56 -0
  18. package/{script/npm/src/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/npm/src/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/npm/src/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/npm/src/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/npm/src/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/npm/src/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
  51. package/dist/models/index.d.ts +11 -0
  52. package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
  53. package/dist/models/narration.model.d.ts +184 -0
  54. package/{script/npm/src/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +13 -17
  55. package/{esm/src → dist}/models/permission.d.ts +1 -2
  56. package/{script/npm/src/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
  57. package/{script/npm/src/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
  58. package/dist/models/statement-entry.model.d.ts +248 -0
  59. package/dist/models/user.model.d.ts +65 -0
  60. package/{script/npm/src/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
  61. package/package.json +47 -25
  62. package/LICENSE +0 -7
  63. package/esm/_dnt.test_shims.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  65. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  68. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  69. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  71. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  72. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  74. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  75. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  77. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  78. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  80. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  81. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  83. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  84. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  86. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  87. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  92. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  97. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  98. package/esm/mod.d.ts +0 -8
  99. package/esm/mod.d.ts.map +0 -1
  100. package/esm/mod.js +0 -7
  101. package/esm/package.json +0 -3
  102. package/esm/src/errors/api_error.d.ts.map +0 -1
  103. package/esm/src/errors/api_error.js +0 -90
  104. package/esm/src/errors/index.d.ts +0 -3
  105. package/esm/src/errors/index.d.ts.map +0 -1
  106. package/esm/src/errors/index.js +0 -2
  107. package/esm/src/errors/permission_error.d.ts +0 -48
  108. package/esm/src/errors/permission_error.d.ts.map +0 -1
  109. package/esm/src/errors/permission_error.js +0 -70
  110. package/esm/src/features/admin/contract.d.ts.map +0 -1
  111. package/esm/src/features/admin/contract.js +0 -210
  112. package/esm/src/features/admin/index.d.ts +0 -4
  113. package/esm/src/features/admin/index.d.ts.map +0 -1
  114. package/esm/src/features/admin/index.js +0 -3
  115. package/esm/src/features/admin/repository.d.ts +0 -114
  116. package/esm/src/features/admin/repository.d.ts.map +0 -1
  117. package/esm/src/features/admin/repository.js +0 -248
  118. package/esm/src/features/admin/schemas.d.ts +0 -146
  119. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  120. package/esm/src/features/admin/schemas.js +0 -206
  121. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  122. package/esm/src/features/auth/access/contract.js +0 -14
  123. package/esm/src/features/auth/access/repository.d.ts +0 -11
  124. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  125. package/esm/src/features/auth/access/repository.js +0 -25
  126. package/esm/src/features/auth/contract.d.ts.map +0 -1
  127. package/esm/src/features/auth/contract.js +0 -43
  128. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  129. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  130. package/esm/src/features/auth/identity/contract.js +0 -17
  131. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  132. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  133. package/esm/src/features/auth/identity/repository.js +0 -30
  134. package/esm/src/features/auth/index.d.ts +0 -6
  135. package/esm/src/features/auth/index.d.ts.map +0 -1
  136. package/esm/src/features/auth/index.js +0 -5
  137. package/esm/src/features/auth/manager.d.ts +0 -105
  138. package/esm/src/features/auth/manager.d.ts.map +0 -1
  139. package/esm/src/features/auth/manager.js +0 -181
  140. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  141. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  142. package/esm/src/features/auth/profile/contract.js +0 -14
  143. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  144. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  145. package/esm/src/features/auth/profile/repository.js +0 -25
  146. package/esm/src/features/auth/repository.d.ts +0 -30
  147. package/esm/src/features/auth/repository.d.ts.map +0 -1
  148. package/esm/src/features/auth/repository.js +0 -69
  149. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  150. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  151. package/esm/src/features/auth/storage/client_store.js +0 -46
  152. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  153. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  154. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  155. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  156. package/esm/src/features/auth/storage/server_store.js +0 -34
  157. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  158. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  159. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  160. package/esm/src/features/auth/storage/types.d.ts +0 -42
  161. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  162. package/esm/src/features/auth/storage/types.js +0 -1
  163. package/esm/src/features/contact/contract.d.ts.map +0 -1
  164. package/esm/src/features/contact/contract.js +0 -49
  165. package/esm/src/features/contact/index.d.ts +0 -2
  166. package/esm/src/features/contact/index.d.ts.map +0 -1
  167. package/esm/src/features/contact/index.js +0 -1
  168. package/esm/src/features/contact/repository.d.ts +0 -58
  169. package/esm/src/features/contact/repository.d.ts.map +0 -1
  170. package/esm/src/features/contact/repository.js +0 -108
  171. package/esm/src/features/payout/contract.d.ts.map +0 -1
  172. package/esm/src/features/payout/contract.js +0 -75
  173. package/esm/src/features/payout/index.d.ts +0 -2
  174. package/esm/src/features/payout/index.d.ts.map +0 -1
  175. package/esm/src/features/payout/index.js +0 -1
  176. package/esm/src/features/payout/repository.d.ts +0 -67
  177. package/esm/src/features/payout/repository.d.ts.map +0 -1
  178. package/esm/src/features/payout/repository.js +0 -163
  179. package/esm/src/features/wallet/contract.d.ts +0 -137
  180. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  181. package/esm/src/features/wallet/contract.js +0 -38
  182. package/esm/src/features/wallet/index.d.ts +0 -2
  183. package/esm/src/features/wallet/index.d.ts.map +0 -1
  184. package/esm/src/features/wallet/index.js +0 -1
  185. package/esm/src/features/wallet/repository.d.ts +0 -57
  186. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  187. package/esm/src/features/wallet/repository.js +0 -93
  188. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  189. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  190. package/esm/src/models/contact/derivatives/contact.js +0 -266
  191. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  192. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  193. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  194. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  195. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  196. package/esm/src/models/contact/index.d.ts +0 -5
  197. package/esm/src/models/contact/index.d.ts.map +0 -1
  198. package/esm/src/models/contact/index.js +0 -4
  199. package/esm/src/models/contact/schemas.d.ts +0 -66
  200. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  201. package/esm/src/models/contact/schemas.js +0 -64
  202. package/esm/src/models/contact/validation.d.ts +0 -37
  203. package/esm/src/models/contact/validation.d.ts.map +0 -1
  204. package/esm/src/models/contact/validation.js +0 -146
  205. package/esm/src/models/contact/validation.test.d.ts.map +0 -1
  206. package/esm/src/models/index.d.ts +0 -7
  207. package/esm/src/models/index.d.ts.map +0 -1
  208. package/esm/src/models/index.js +0 -6
  209. package/esm/src/models/payout/api.d.ts +0 -29
  210. package/esm/src/models/payout/api.d.ts.map +0 -1
  211. package/esm/src/models/payout/api.js +0 -1
  212. package/esm/src/models/payout/channel.d.ts +0 -58
  213. package/esm/src/models/payout/channel.d.ts.map +0 -1
  214. package/esm/src/models/payout/channel.js +0 -53
  215. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  216. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  217. package/esm/src/models/payout/derivatives/payout.js +0 -265
  218. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  219. package/esm/src/models/payout/index.d.ts +0 -7
  220. package/esm/src/models/payout/index.d.ts.map +0 -1
  221. package/esm/src/models/payout/index.js +0 -6
  222. package/esm/src/models/payout/narration.d.ts +0 -164
  223. package/esm/src/models/payout/narration.d.ts.map +0 -1
  224. package/esm/src/models/payout/narration.js +0 -308
  225. package/esm/src/models/payout/schemas.d.ts +0 -156
  226. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  227. package/esm/src/models/payout/schemas.js +0 -105
  228. package/esm/src/models/payout/status.d.ts +0 -33
  229. package/esm/src/models/payout/status.d.ts.map +0 -1
  230. package/esm/src/models/payout/status.js +0 -34
  231. package/esm/src/models/permission.d.ts.map +0 -1
  232. package/esm/src/models/permission.js +0 -50
  233. package/esm/src/models/role.d.ts +0 -21
  234. package/esm/src/models/role.d.ts.map +0 -1
  235. package/esm/src/models/role.js +0 -73
  236. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  237. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  238. package/esm/src/models/user/authenticated-user.js +0 -226
  239. package/esm/src/models/user/index.d.ts +0 -4
  240. package/esm/src/models/user/index.d.ts.map +0 -1
  241. package/esm/src/models/user/index.js +0 -3
  242. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  243. package/esm/src/models/user/managed-user.js +0 -255
  244. package/esm/src/models/user/profile.d.ts +0 -161
  245. package/esm/src/models/user/profile.d.ts.map +0 -1
  246. package/esm/src/models/user/profile.js +0 -334
  247. package/esm/src/models/wallet/index.d.ts +0 -4
  248. package/esm/src/models/wallet/index.d.ts.map +0 -1
  249. package/esm/src/models/wallet/index.js +0 -3
  250. package/esm/src/models/wallet/schemas.d.ts +0 -95
  251. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  252. package/esm/src/models/wallet/schemas.js +0 -35
  253. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  254. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  255. package/esm/src/models/wallet/statement_entry.js +0 -255
  256. package/esm/src/models/wallet/wallet.d.ts +0 -147
  257. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  258. package/esm/src/models/wallet/wallet.js +0 -279
  259. package/esm/src/shared/base_repository.d.ts.map +0 -1
  260. package/esm/src/shared/base_repository.js +0 -153
  261. package/esm/src/shared/common_responses.d.ts +0 -13
  262. package/esm/src/shared/common_responses.d.ts.map +0 -1
  263. package/esm/src/shared/common_responses.js +0 -10
  264. package/esm/src/shared/index.d.ts +0 -3
  265. package/esm/src/shared/index.d.ts.map +0 -1
  266. package/esm/src/shared/index.js +0 -2
  267. package/esm/src/shared/token_required_repository.d.ts +0 -78
  268. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  269. package/esm/src/shared/token_required_repository.js +0 -128
  270. package/script/mod.d.ts +0 -8
  271. package/script/mod.d.ts.map +0 -1
  272. package/script/mod.js +0 -23
  273. package/script/npm/src/_dnt.test_shims.d.ts +0 -6
  274. package/script/npm/src/_dnt.test_shims.d.ts.map +0 -1
  275. package/script/npm/src/_dnt.test_shims.js +0 -65
  276. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts +0 -29
  277. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  278. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.js +0 -49
  279. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts +0 -24
  280. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  281. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.js +0 -49
  282. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.d.ts +0 -16
  283. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  284. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.js +0 -25
  285. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts +0 -26
  286. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  287. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.js +0 -34
  288. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.d.ts +0 -17
  289. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  290. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.js +0 -209
  291. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.d.ts +0 -35
  292. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  293. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.js +0 -61
  294. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.d.ts +0 -18
  295. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  296. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.js +0 -30
  297. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.d.ts +0 -15
  298. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  299. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.js +0 -23
  300. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.d.ts +0 -18
  301. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  302. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.js +0 -25
  303. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.d.ts +0 -20
  304. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  305. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.js +0 -32
  306. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts +0 -20
  307. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  308. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.js +0 -32
  309. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts +0 -23
  310. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  311. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.js +0 -55
  312. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts +0 -25
  313. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  314. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.js +0 -56
  315. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.d.ts +0 -19
  316. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  317. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.js +0 -31
  318. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts +0 -20
  319. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  320. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.js +0 -32
  321. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.d.ts +0 -18
  322. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  323. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.js +0 -29
  324. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.d.ts +0 -44
  325. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  326. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.js +0 -61
  327. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts +0 -21
  328. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  329. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.js +0 -36
  330. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts +0 -20
  331. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  332. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.js +0 -32
  333. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts +0 -18
  334. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  335. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.js +0 -29
  336. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts +0 -23
  337. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  338. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.js +0 -35
  339. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts +0 -29
  340. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  341. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.js +0 -163
  342. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts +0 -42
  343. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  344. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.js +0 -56
  345. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts +0 -24
  346. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  347. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.js +0 -60
  348. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts +0 -18
  349. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  350. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.js +0 -29
  351. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.d.ts +0 -45
  352. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  353. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.js +0 -47
  354. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts +0 -15
  355. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  356. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.js +0 -23
  357. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts +0 -15
  358. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  359. package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.js +0 -23
  360. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +0 -82
  361. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  362. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.js +0 -115
  363. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +0 -140
  364. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  365. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.js +0 -283
  366. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +0 -99
  367. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  368. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.js +0 -185
  369. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.d.ts +0 -2
  370. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  371. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.js +0 -63
  372. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +0 -159
  373. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  374. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.js +0 -242
  375. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.d.ts +0 -16
  376. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  377. package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.js +0 -3
  378. package/script/npm/src/mod.d.ts +0 -8
  379. package/script/npm/src/mod.d.ts.map +0 -1
  380. package/script/npm/src/mod.js +0 -23
  381. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  382. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  383. package/script/npm/src/src/errors/api_error.js +0 -94
  384. package/script/npm/src/src/errors/index.d.ts +0 -3
  385. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  386. package/script/npm/src/src/errors/index.js +0 -18
  387. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  388. package/script/npm/src/src/errors/permission_error.js +0 -74
  389. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  390. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  391. package/script/npm/src/src/features/admin/contract.js +0 -213
  392. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  393. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  394. package/script/npm/src/src/features/admin/index.js +0 -19
  395. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  396. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  397. package/script/npm/src/src/features/admin/repository.js +0 -252
  398. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  399. package/script/npm/src/src/features/admin/schemas.js +0 -209
  400. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  401. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  402. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  403. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  404. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  405. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  406. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  407. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  408. package/script/npm/src/src/features/auth/contract.js +0 -46
  409. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  410. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  411. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  412. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  413. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  414. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  415. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  416. package/script/npm/src/src/features/auth/index.js +0 -21
  417. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  418. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  419. package/script/npm/src/src/features/auth/manager.js +0 -185
  420. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  421. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  422. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  423. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  424. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  425. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  426. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  427. package/script/npm/src/src/features/auth/repository.js +0 -73
  428. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  429. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  430. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  431. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  432. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  433. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  434. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  435. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  436. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  437. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  438. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  439. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  440. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  441. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  442. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  443. package/script/npm/src/src/features/contact/contract.js +0 -52
  444. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  445. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  446. package/script/npm/src/src/features/contact/index.js +0 -17
  447. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  448. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  449. package/script/npm/src/src/features/contact/repository.js +0 -112
  450. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  451. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  452. package/script/npm/src/src/features/payout/contract.js +0 -78
  453. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  454. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  455. package/script/npm/src/src/features/payout/index.js +0 -17
  456. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  457. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  458. package/script/npm/src/src/features/payout/repository.js +0 -167
  459. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  460. package/script/npm/src/src/features/wallet/contract.js +0 -41
  461. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  462. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  463. package/script/npm/src/src/features/wallet/index.js +0 -17
  464. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  465. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  466. package/script/npm/src/src/features/wallet/repository.js +0 -97
  467. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  468. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  469. package/script/npm/src/src/models/contact/derivatives/contact.test.d.ts +0 -1
  470. package/script/npm/src/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  471. package/script/npm/src/src/models/contact/derivatives/contact.test.js +0 -64
  472. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  473. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  474. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  475. package/script/npm/src/src/models/contact/derivatives/contact_info.test.d.ts +0 -1
  476. package/script/npm/src/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  477. package/script/npm/src/src/models/contact/derivatives/contact_info.test.js +0 -331
  478. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  479. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  480. package/script/npm/src/src/models/contact/index.js +0 -20
  481. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  482. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  483. package/script/npm/src/src/models/contact/schemas.js +0 -67
  484. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  485. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  486. package/script/npm/src/src/models/contact/validation.js +0 -153
  487. package/script/npm/src/src/models/contact/validation.test.d.ts +0 -2
  488. package/script/npm/src/src/models/contact/validation.test.d.ts.map +0 -1
  489. package/script/npm/src/src/models/contact/validation.test.js +0 -186
  490. package/script/npm/src/src/models/index.d.ts +0 -7
  491. package/script/npm/src/src/models/index.d.ts.map +0 -1
  492. package/script/npm/src/src/models/index.js +0 -22
  493. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  494. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  495. package/script/npm/src/src/models/payout/api.js +0 -2
  496. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  497. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  498. package/script/npm/src/src/models/payout/channel.js +0 -56
  499. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  500. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -269
  501. package/script/npm/src/src/models/payout/derivatives/payout.test.d.ts +0 -1
  502. package/script/npm/src/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  503. package/script/npm/src/src/models/payout/derivatives/payout.test.js +0 -76
  504. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  505. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  506. package/script/npm/src/src/models/payout/index.js +0 -22
  507. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  508. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  509. package/script/npm/src/src/models/payout/narration.js +0 -312
  510. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  511. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  512. package/script/npm/src/src/models/payout/schemas.js +0 -108
  513. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  514. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  515. package/script/npm/src/src/models/payout/status.js +0 -37
  516. package/script/npm/src/src/models/permission.d.ts +0 -55
  517. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  518. package/script/npm/src/src/models/permission.js +0 -53
  519. package/script/npm/src/src/models/role.d.ts.map +0 -1
  520. package/script/npm/src/src/models/role.js +0 -77
  521. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  522. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  523. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  524. package/script/npm/src/src/models/user/index.d.ts +0 -4
  525. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  526. package/script/npm/src/src/models/user/index.js +0 -19
  527. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  528. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  529. package/script/npm/src/src/models/user/managed-user.js +0 -260
  530. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  531. package/script/npm/src/src/models/user/profile.js +0 -338
  532. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  533. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  534. package/script/npm/src/src/models/wallet/index.js +0 -19
  535. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  536. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  537. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  538. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  539. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  540. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  541. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  542. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  543. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  544. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  545. package/script/npm/src/src/shared/base_repository.js +0 -157
  546. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  547. package/script/npm/src/src/shared/common_responses.js +0 -13
  548. package/script/npm/src/src/shared/index.d.ts +0 -3
  549. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  550. package/script/npm/src/src/shared/index.js +0 -18
  551. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  552. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  553. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  554. package/script/package.json +0 -3
package/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # @temboplus/afloat
2
2
 
3
- **A foundational library for Temboplus-Afloat projects.**
4
-
5
- This JavaScript/TypeScript package provides a central hub for shared utilities, logic, and data access mechanisms within the Temboplus-Afloat ecosystem.
3
+ A foundational JavaScript/TypeScript library for TemboPlus-Afloat projects, providing abstracted server communication, shared utilities, and standardized data models for consistent development.
6
4
 
7
5
  ## Key Features
8
6
 
@@ -22,7 +20,7 @@ This JavaScript/TypeScript package provides a central hub for shared utilities,
22
20
 
23
21
  * **Cross-Environment Compatibility**
24
22
  * Works seamlessly in both client-side and server-side environments
25
- * Supports both synchronous and asynchronous initialization patterns
23
+ * Different patterns for client-side authentication management vs server-side token handling
26
24
 
27
25
  ## Usage
28
26
 
@@ -30,7 +28,7 @@ This JavaScript/TypeScript package provides a central hub for shared utilities,
30
28
 
31
29
  #### Client-Side Usage
32
30
 
33
- In client-side applications, authentication is initialized synchronously:
31
+ In client-side applications, use the `AfloatAuth` singleton for authentication management:
34
32
 
35
33
  ```typescript
36
34
  import { AfloatAuth } from "@temboplus/afloat";
@@ -39,42 +37,67 @@ import { AfloatAuth } from "@temboplus/afloat";
39
37
  const auth = AfloatAuth.instance;
40
38
 
41
39
  // Check if user is authenticated
42
- console.log("User authenticated:", !!auth.currentUser);
40
+ console.log("User authenticated:", auth.isAuthenticated);
43
41
 
44
42
  // Access current user
45
43
  const user = auth.currentUser;
46
44
  if (user) {
47
45
  console.log(`Logged in as: ${user.email}`);
48
46
  }
47
+
48
+ // Login a user
49
+ try {
50
+ const user = await auth.logIn("user@example.com", "password123");
51
+ console.log("Login successful!");
52
+ } catch (error) {
53
+ console.error("Login failed:", error.message);
54
+ }
55
+
56
+ // Check permissions
57
+ if (auth.checkPermission(Permission.ViewBalance)) {
58
+ console.log("User can view balance");
59
+ }
60
+
61
+ // React hook for reactive user state
62
+ function UserProfile() {
63
+ const user = auth.useCurrentUser();
64
+
65
+ if (!user) {
66
+ return <LoginForm />;
67
+ }
68
+
69
+ return <div>Hello, {user.name}!</div>;
70
+ }
49
71
  ```
50
72
 
51
73
  #### Server-Side Usage
52
74
 
53
- In server-side environments, authentication requires asynchronous initialization:
75
+ In server-side environments, **do not use `AfloatAuth`**. Instead, extract the authentication token from requests and pass it directly to repositories:
54
76
 
55
77
  ```typescript
56
- import { AfloatAuth } from "@temboplus/afloat";
78
+ import { WalletRepository } from "@temboplus/afloat";
57
79
 
58
- // In a server route handler or similar context
80
+ // In a server route handler or API endpoint
59
81
  async function handleRequest(req, res) {
60
82
  try {
61
- // Extract token from request
83
+ // Extract token from request headers
62
84
  const token = req.headers.authorization?.replace('Bearer ', '');
63
85
 
64
86
  if (!token) {
65
87
  return res.status(401).json({ error: 'Unauthorized' });
66
88
  }
67
89
 
68
- // Initialize server-side auth
69
- const auth = await AfloatAuth.initializeServer(token);
90
+ // Create repository with explicit token
91
+ const walletRepo = new WalletRepository({ token });
70
92
 
71
- // Now you can use auth for permission checks
72
- const isAdmin = auth.checkPermission(Permissions.Payout.View);
93
+ // Use repository methods directly
94
+ const balance = await walletRepo.getBalance({ wallet });
95
+ const wallets = await walletRepo.getWallets();
73
96
 
74
- // Continue with your handler logic...
97
+ return res.json({ balance, wallets });
75
98
  } catch (error) {
76
- console.error('Authentication error:', error);
77
- return res.status(500).json({ error: 'Authentication failed' });
99
+ console.error('Server request error:', error);
100
+ return res.status(500).json({ error: 'Internal server error' });
78
101
  }
79
102
  }
80
103
  ```
@@ -86,54 +109,235 @@ Repositories provide a consistent interface for data operations across environme
86
109
  #### Client-Side Repository Usage
87
110
 
88
111
  ```typescript
89
- import { WalletRepo } from "@temboplus/afloat";
112
+ import { WalletRepository } from "@temboplus/afloat";
113
+
114
+ // Option 1: Let repository use service locator (default behavior)
115
+ const walletRepo = new WalletRepository();
90
116
 
91
- // Create repository - auth is automatically handled
92
- const walletRepo = new WalletRepo();
117
+ // Option 2: Explicitly pass token from auth manager
118
+ const auth = AfloatAuth.instance;
119
+ const walletRepo = new WalletRepository({ token: auth.getUserToken() });
93
120
 
94
121
  // Use repository methods
95
122
  async function displayBalance() {
96
123
  try {
97
- const balance = await walletRepo.getBalance();
98
- console.log(`Current balance: ${balance}`);
124
+ const balance = await walletRepo.getBalance({ wallet });
125
+ console.log(`Current balance: ${balance.value} ${balance.currency}`);
99
126
  } catch (error) {
100
127
  console.error('Error fetching balance:', error);
101
128
  }
102
129
  }
130
+
131
+ // Get all wallets
132
+ const wallets = await walletRepo.getWallets();
133
+
134
+ // Get wallet statement
135
+ const entries = await walletRepo.getStatement({
136
+ wallet,
137
+ range: {
138
+ startDate: new Date('2024-01-01'),
139
+ endDate: new Date('2024-01-31')
140
+ }
141
+ });
103
142
  ```
104
143
 
105
144
  #### Server-Side Repository Usage
106
145
 
107
146
  ```typescript
108
- import { AfloatAuth, WalletRepo } from "@temboplus/afloat";
147
+ import { WalletRepository } from "@temboplus/afloat";
109
148
 
110
- async function processServerRequest(token) {
111
- // Initialize auth for this request
112
- const auth = await AfloatAuth.initializeServer(token);
113
-
114
- // Create repository with explicit auth instance
115
- const walletRepo = new WalletRepo({ auth });
149
+ async function processServerRequest(token: string) {
150
+ // Create repository with explicit token (no auth manager needed)
151
+ const walletRepo = new WalletRepository({ token });
116
152
 
117
- // Use repository methods
118
- const balance = await walletRepo.getBalance();
153
+ // Use repository methods directly
154
+ const balance = await walletRepo.getBalance({ wallet });
119
155
  const wallets = await walletRepo.getWallets();
120
156
 
121
157
  return { balance, wallets };
122
158
  }
159
+
160
+ // In Express.js middleware
161
+ app.use('/api/wallet', async (req, res, next) => {
162
+ const token = extractTokenFromRequest(req);
163
+
164
+ if (!token) {
165
+ return res.status(401).json({ error: 'No token provided' });
166
+ }
167
+
168
+ req.walletRepo = new WalletRepository({ token });
169
+ next();
170
+ });
123
171
  ```
124
172
 
173
+ ## Architecture Overview
174
+
175
+ ### Client-Side Pattern
176
+ - **Authentication Management**: Use `AfloatAuth.instance` singleton
177
+ - **Repository Creation**: Can use service locator or explicit token passing
178
+ - **State Management**: Reactive updates through React hooks
179
+ - **Permission Checking**: Built into the auth manager
180
+
181
+ ### Server-Side Pattern
182
+ - **No Auth Manager**: Extract tokens directly from requests
183
+ - **Repository Creation**: Always pass token explicitly
184
+ - **Stateless**: Each request creates fresh repository instances
185
+ - **Permission Checking**: Handle at route/middleware level
186
+
125
187
  ## Best Practices
126
188
 
127
- 1. **Client-Side Applications**
128
- - Initialize `AfloatAuth.instance` early in your application lifecycle
129
- - Create repositories without explicit auth parameters
130
- - Handle permission errors appropriately in your UI
189
+ ### Client-Side Applications
190
+
191
+ 1. **Initialize Early**: Set up `AfloatAuth.instance` early in your application lifecycle
192
+ 2. **Use React Hooks**: Leverage `auth.useCurrentUser()` for reactive UI updates
193
+ 3. **Handle Permissions**: Check permissions before attempting restricted operations
194
+ 4. **Error Handling**: Implement proper error handling for authentication failures
195
+
196
+ ```typescript
197
+ // Good: Initialize auth early
198
+ const auth = AfloatAuth.instance;
199
+
200
+ // Good: Use reactive hooks in components
201
+ function Dashboard() {
202
+ const user = auth.useCurrentUser();
203
+
204
+ if (!user) return <LoginPrompt />;
205
+
206
+ return <UserDashboard user={user} />;
207
+ }
208
+
209
+ // Good: Check permissions before operations
210
+ if (auth.checkPermission(Permission.ViewBalance)) {
211
+ const repo = new WalletRepository();
212
+ const balance = await repo.getBalance({ wallet });
213
+ }
214
+ ```
215
+
216
+ ### Server-Side Applications
217
+
218
+ 1. **Token Extraction**: Always extract and validate tokens from requests
219
+ 2. **Explicit Dependencies**: Pass tokens explicitly to repositories
220
+ 3. **Error Handling**: Implement proper middleware for authentication errors
221
+ 4. **Stateless Design**: Create fresh repository instances per request
222
+
223
+ ```typescript
224
+ // Good: Extract token from request
225
+ const token = req.headers.authorization?.replace('Bearer ', '');
226
+
227
+ // Good: Explicit token passing
228
+ const repo = new WalletRepository({ token });
229
+
230
+ // Good: Middleware pattern
231
+ const authMiddleware = (req, res, next) => {
232
+ const token = extractToken(req);
233
+
234
+ if (!token) {
235
+ return res.status(401).json({ error: 'Unauthorized' });
236
+ }
237
+
238
+ req.authToken = token;
239
+ next();
240
+ };
241
+
242
+ // Good: Use in route handlers
243
+ app.get('/api/balance', authMiddleware, async (req, res) => {
244
+ const repo = new WalletRepository({ token: req.authToken });
245
+ const balance = await repo.getBalance({ wallet });
246
+ res.json({ balance });
247
+ });
248
+ ```
249
+
250
+ ### Testing
251
+
252
+ 1. **Client-Side**: Mock the `AfloatAuth` singleton or use dependency injection
253
+ 2. **Server-Side**: Mock repositories with test tokens
254
+ 3. **Integration**: Test both authentication flows and repository operations
255
+
256
+ ```typescript
257
+ // Client-side testing
258
+ const mockAuth = {
259
+ currentUser: testUser,
260
+ getUserToken: () => 'test-token',
261
+ checkPermission: () => true
262
+ };
263
+
264
+ // Server-side testing
265
+ const testRepo = new WalletRepository({ token: 'test-token' });
266
+ ```
267
+
268
+ ## Troubleshooting
269
+
270
+ ### Common Issues
271
+
272
+ #### `"Cannot find package 'react'" in Node.js`
273
+
274
+ This error occurs when using Zustand v5. Ensure you're using Zustand v4:
275
+ ```bash
276
+ npm install zustand@^4.5.7
277
+ ```
278
+
279
+ Remove any existing v5 installation:
280
+ ```bash
281
+ npm uninstall zustand@5.x.x
282
+ ```
283
+
284
+ #### Authentication Errors in Server Environment
285
+
286
+ **Problem**: Trying to use `AfloatAuth.instance` in server-side code
287
+ **Solution**: Extract tokens from requests and pass directly to repositories
288
+
289
+ ```typescript
290
+ // ❌ Don't do this in server code
291
+ const auth = AfloatAuth.instance; // This is client-side only!
292
+
293
+ // ✅ Do this instead
294
+ const token = req.headers.authorization?.replace('Bearer ', '');
295
+ const repo = new WalletRepository({ token });
296
+ ```
297
+
298
+ #### Repository Token Issues
299
+
300
+ **Problem**: Repository calls failing with authentication errors
301
+ **Solution**: Ensure tokens are properly extracted and passed
302
+
303
+ ```typescript
304
+ // ❌ Missing token
305
+ const repo = new WalletRepository(); // May fail in server context
306
+
307
+ // ✅ Explicit token
308
+ const repo = new WalletRepository({ token: extractedToken });
309
+ ```
310
+
311
+ ### Debug Information
312
+
313
+ Use the auth manager's debug utilities for troubleshooting:
314
+
315
+ ```typescript
316
+ // Client-side debugging
317
+ const debugInfo = AfloatAuth.instance.getDebugInfo();
318
+ console.log('Auth Debug Info:', debugInfo);
319
+ ```
320
+
321
+ ## API Reference
322
+
323
+ ### AfloatAuth (Client-Side Only)
324
+
325
+ - `AfloatAuth.instance` - Singleton instance for client-side usage
326
+ - `currentUser` - Get current authenticated user
327
+ - `isAuthenticated` - Check authentication status
328
+ - `getUserToken()` - Get current auth token
329
+ - `useCurrentUser()` - React hook for reactive user state
330
+ - `checkPermission(perm)` - Check user permissions
331
+ - `logIn(email, password)` - Authenticate user
332
+ - `logOut()` - Clear authentication state
333
+ - `resetPassword(current, new)` - Update user password
334
+
335
+ ### Repository Pattern
131
336
 
132
- 2. **Server-Side Applications**
133
- - Always use `await AfloatAuth.initializeServer(token)` for each request
134
- - Pass the auth instance explicitly to repositories
135
- - Implement proper error handling for authentication failures
337
+ All repositories accept optional configuration:
338
+ - `token` - Authentication token for API calls
339
+ - `root` - Custom API root URL
136
340
 
137
- 3. **Testing**
138
- - Use the `AuthContext` to inject mock auth instances during testing
139
- - Reset `AuthContext.current` after each test to prevent test pollution
341
+ Example repositories:
342
+ - `WalletRepository` - Wallet operations and balance management
343
+ - `AuthRepository` - Authentication operations