@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
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