@temboplus/afloat 0.1.77-beta.9 → 0.1.79

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 (415) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +42 -246
  3. package/esm/mod.d.ts +8 -0
  4. package/esm/mod.d.ts.map +1 -0
  5. package/esm/mod.js +7 -0
  6. package/esm/package.json +3 -0
  7. package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
  8. package/esm/src/errors/api_error.d.ts.map +1 -0
  9. package/esm/src/errors/api_error.js +90 -0
  10. package/esm/src/errors/index.d.ts +3 -0
  11. package/esm/src/errors/index.d.ts.map +1 -0
  12. package/esm/src/errors/index.js +2 -0
  13. package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
  14. package/esm/src/errors/permission_error.d.ts.map +1 -0
  15. package/esm/src/errors/permission_error.js +70 -0
  16. package/{dist/modules/team-member/team-member.contract.d.ts → esm/src/features/admin/contract.d.ts} +158 -233
  17. package/esm/src/features/admin/contract.d.ts.map +1 -0
  18. package/esm/src/features/admin/contract.js +210 -0
  19. package/esm/src/features/admin/index.d.ts +4 -0
  20. package/esm/src/features/admin/index.d.ts.map +1 -0
  21. package/esm/src/features/admin/index.js +3 -0
  22. package/esm/src/features/admin/repository.d.ts +114 -0
  23. package/esm/src/features/admin/repository.d.ts.map +1 -0
  24. package/esm/src/features/admin/repository.js +248 -0
  25. package/esm/src/features/admin/schemas.d.ts +146 -0
  26. package/esm/src/features/admin/schemas.d.ts.map +1 -0
  27. package/esm/src/features/admin/schemas.js +206 -0
  28. package/esm/src/features/auth/access/contract.d.ts +14 -0
  29. package/esm/src/features/auth/access/contract.d.ts.map +1 -0
  30. package/esm/src/features/auth/access/contract.js +14 -0
  31. package/esm/src/features/auth/access/repository.d.ts +11 -0
  32. package/esm/src/features/auth/access/repository.d.ts.map +1 -0
  33. package/esm/src/features/auth/access/repository.js +25 -0
  34. package/{dist/modules/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +19 -16
  35. package/esm/src/features/auth/contract.d.ts.map +1 -0
  36. package/esm/src/features/auth/contract.js +43 -0
  37. package/esm/src/features/auth/identity/contract.d.ts +23 -0
  38. package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
  39. package/esm/src/features/auth/identity/contract.js +17 -0
  40. package/esm/src/features/auth/identity/repository.d.ts +22 -0
  41. package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
  42. package/esm/src/features/auth/identity/repository.js +30 -0
  43. package/esm/src/features/auth/index.d.ts +6 -0
  44. package/esm/src/features/auth/index.d.ts.map +1 -0
  45. package/esm/src/features/auth/index.js +5 -0
  46. package/esm/src/features/auth/manager.d.ts +105 -0
  47. package/esm/src/features/auth/manager.d.ts.map +1 -0
  48. package/esm/src/features/auth/manager.js +181 -0
  49. package/{dist/modules/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
  50. package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
  51. package/esm/src/features/auth/profile/contract.js +14 -0
  52. package/esm/src/features/auth/profile/repository.d.ts +11 -0
  53. package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
  54. package/esm/src/features/auth/profile/repository.js +25 -0
  55. package/esm/src/features/auth/repository.d.ts +30 -0
  56. package/esm/src/features/auth/repository.d.ts.map +1 -0
  57. package/esm/src/features/auth/repository.js +69 -0
  58. package/{dist/modules/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +2 -1
  59. package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
  60. package/esm/src/features/auth/storage/client_store.js +46 -0
  61. package/{dist/modules/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +1 -0
  62. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  63. package/esm/src/features/auth/storage/client_token_handler.js +36 -0
  64. package/esm/src/features/auth/storage/server_store.d.ts +24 -0
  65. package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
  66. package/esm/src/features/auth/storage/server_store.js +34 -0
  67. package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
  68. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  69. package/esm/src/features/auth/storage/server_token_handler.js +115 -0
  70. package/{dist/modules → esm/src/features}/auth/storage/types.d.ts +2 -1
  71. package/esm/src/features/auth/storage/types.d.ts.map +1 -0
  72. package/esm/src/features/auth/storage/types.js +1 -0
  73. package/{dist/modules/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +55 -88
  74. package/esm/src/features/contact/contract.d.ts.map +1 -0
  75. package/esm/src/features/contact/contract.js +49 -0
  76. package/esm/src/features/contact/index.d.ts +2 -0
  77. package/esm/src/features/contact/index.d.ts.map +1 -0
  78. package/esm/src/features/contact/index.js +1 -0
  79. package/esm/src/features/contact/repository.d.ts +58 -0
  80. package/esm/src/features/contact/repository.d.ts.map +1 -0
  81. package/esm/src/features/contact/repository.js +108 -0
  82. package/{dist/modules/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +197 -340
  83. package/esm/src/features/payout/contract.d.ts.map +1 -0
  84. package/esm/src/features/payout/contract.js +75 -0
  85. package/esm/src/features/payout/index.d.ts +2 -0
  86. package/esm/src/features/payout/index.d.ts.map +1 -0
  87. package/esm/src/features/payout/index.js +1 -0
  88. package/esm/src/features/payout/repository.d.ts +67 -0
  89. package/esm/src/features/payout/repository.d.ts.map +1 -0
  90. package/esm/src/features/payout/repository.js +163 -0
  91. package/{dist/modules/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +11 -13
  92. package/esm/src/features/wallet/contract.d.ts.map +1 -0
  93. package/esm/src/features/wallet/contract.js +38 -0
  94. package/esm/src/features/wallet/index.d.ts +2 -0
  95. package/esm/src/features/wallet/index.d.ts.map +1 -0
  96. package/esm/src/features/wallet/index.js +1 -0
  97. package/esm/src/features/wallet/repository.d.ts +57 -0
  98. package/esm/src/features/wallet/repository.d.ts.map +1 -0
  99. package/esm/src/features/wallet/repository.js +93 -0
  100. package/esm/src/models/contact/derivatives/contact.d.ts +172 -0
  101. package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
  102. package/esm/src/models/contact/derivatives/contact.js +266 -0
  103. package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
  104. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  105. package/esm/src/models/contact/derivatives/contact_info.js +255 -0
  106. package/esm/src/models/contact/index.d.ts +5 -0
  107. package/esm/src/models/contact/index.d.ts.map +1 -0
  108. package/esm/src/models/contact/index.js +4 -0
  109. package/esm/src/models/contact/schemas.d.ts +66 -0
  110. package/esm/src/models/contact/schemas.d.ts.map +1 -0
  111. package/esm/src/models/contact/schemas.js +64 -0
  112. package/esm/src/models/contact/validation.d.ts +37 -0
  113. package/esm/src/models/contact/validation.d.ts.map +1 -0
  114. package/esm/src/models/contact/validation.js +146 -0
  115. package/esm/src/models/index.d.ts +7 -0
  116. package/esm/src/models/index.d.ts.map +1 -0
  117. package/esm/src/models/index.js +6 -0
  118. package/esm/src/models/payout/api.d.ts +29 -0
  119. package/esm/src/models/payout/api.d.ts.map +1 -0
  120. package/esm/src/models/payout/api.js +1 -0
  121. package/esm/src/models/payout/channel.d.ts +58 -0
  122. package/esm/src/models/payout/channel.d.ts.map +1 -0
  123. package/esm/src/models/payout/channel.js +53 -0
  124. package/esm/src/models/payout/derivatives/payout.d.ts +158 -0
  125. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
  126. package/esm/src/models/payout/derivatives/payout.js +271 -0
  127. package/esm/src/models/payout/index.d.ts +7 -0
  128. package/esm/src/models/payout/index.d.ts.map +1 -0
  129. package/esm/src/models/payout/index.js +6 -0
  130. package/esm/src/models/payout/narration.d.ts +164 -0
  131. package/esm/src/models/payout/narration.d.ts.map +1 -0
  132. package/esm/src/models/payout/narration.js +308 -0
  133. package/esm/src/models/payout/schemas.d.ts +156 -0
  134. package/esm/src/models/payout/schemas.d.ts.map +1 -0
  135. package/esm/src/models/payout/schemas.js +105 -0
  136. package/esm/src/models/payout/status.d.ts +33 -0
  137. package/esm/src/models/payout/status.d.ts.map +1 -0
  138. package/esm/src/models/payout/status.js +34 -0
  139. package/{dist/modules/login/permission.type.d.ts → esm/src/models/permission.d.ts} +9 -8
  140. package/esm/src/models/permission.d.ts.map +1 -0
  141. package/esm/src/models/permission.js +50 -0
  142. package/esm/src/models/role.d.ts +21 -0
  143. package/esm/src/models/role.d.ts.map +1 -0
  144. package/esm/src/models/role.js +73 -0
  145. package/esm/src/models/user/authenticated-user.d.ts +77 -0
  146. package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
  147. package/esm/src/models/user/authenticated-user.js +226 -0
  148. package/esm/src/models/user/index.d.ts +4 -0
  149. package/esm/src/models/user/index.d.ts.map +1 -0
  150. package/esm/src/models/user/index.js +3 -0
  151. package/esm/src/models/user/managed-user.d.ts +108 -0
  152. package/esm/src/models/user/managed-user.d.ts.map +1 -0
  153. package/esm/src/models/user/managed-user.js +255 -0
  154. package/{dist/modules/profile/profile.model.d.ts → esm/src/models/user/profile.d.ts} +52 -81
  155. package/esm/src/models/user/profile.d.ts.map +1 -0
  156. package/esm/src/models/user/profile.js +334 -0
  157. package/esm/src/models/wallet/index.d.ts +4 -0
  158. package/esm/src/models/wallet/index.d.ts.map +1 -0
  159. package/esm/src/models/wallet/index.js +3 -0
  160. package/esm/src/models/wallet/schemas.d.ts +95 -0
  161. package/esm/src/models/wallet/schemas.d.ts.map +1 -0
  162. package/esm/src/models/wallet/schemas.js +35 -0
  163. package/esm/src/models/wallet/statement_entry.d.ts +160 -0
  164. package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
  165. package/esm/src/models/wallet/statement_entry.js +255 -0
  166. package/{dist/modules/wallet/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +37 -31
  167. package/esm/src/models/wallet/wallet.d.ts.map +1 -0
  168. package/esm/src/models/wallet/wallet.js +279 -0
  169. package/esm/src/shared/base_repository.d.ts +80 -0
  170. package/esm/src/shared/base_repository.d.ts.map +1 -0
  171. package/esm/src/shared/base_repository.js +153 -0
  172. package/esm/src/shared/common_responses.d.ts +13 -0
  173. package/esm/src/shared/common_responses.d.ts.map +1 -0
  174. package/esm/src/shared/common_responses.js +10 -0
  175. package/esm/src/shared/index.d.ts +3 -0
  176. package/esm/src/shared/index.d.ts.map +1 -0
  177. package/esm/src/shared/index.js +2 -0
  178. package/esm/src/shared/token_required_repository.d.ts +78 -0
  179. package/esm/src/shared/token_required_repository.d.ts.map +1 -0
  180. package/esm/src/shared/token_required_repository.js +128 -0
  181. package/package.json +23 -49
  182. package/script/mod.d.ts +8 -0
  183. package/script/mod.d.ts.map +1 -0
  184. package/script/mod.js +23 -0
  185. package/script/npm/src/mod.d.ts +8 -0
  186. package/script/npm/src/mod.d.ts.map +1 -0
  187. package/script/npm/src/mod.js +23 -0
  188. package/script/npm/src/src/errors/api_error.d.ts +63 -0
  189. package/script/npm/src/src/errors/api_error.d.ts.map +1 -0
  190. package/script/npm/src/src/errors/api_error.js +94 -0
  191. package/script/npm/src/src/errors/index.d.ts +3 -0
  192. package/script/npm/src/src/errors/index.d.ts.map +1 -0
  193. package/script/npm/src/src/errors/index.js +18 -0
  194. package/script/npm/src/src/errors/permission_error.d.ts +48 -0
  195. package/script/npm/src/src/errors/permission_error.d.ts.map +1 -0
  196. package/script/npm/src/src/errors/permission_error.js +74 -0
  197. package/script/npm/src/src/features/admin/contract.d.ts +842 -0
  198. package/script/npm/src/src/features/admin/contract.d.ts.map +1 -0
  199. package/script/npm/src/src/features/admin/contract.js +213 -0
  200. package/script/npm/src/src/features/admin/index.d.ts +4 -0
  201. package/script/npm/src/src/features/admin/index.d.ts.map +1 -0
  202. package/script/npm/src/src/features/admin/index.js +19 -0
  203. package/script/npm/src/src/features/admin/repository.d.ts +114 -0
  204. package/script/npm/src/src/features/admin/repository.d.ts.map +1 -0
  205. package/script/npm/src/src/features/admin/repository.js +252 -0
  206. package/script/npm/src/src/features/admin/schemas.d.ts +146 -0
  207. package/script/npm/src/src/features/admin/schemas.d.ts.map +1 -0
  208. package/script/npm/src/src/features/admin/schemas.js +209 -0
  209. package/script/npm/src/src/features/auth/access/contract.d.ts +14 -0
  210. package/script/npm/src/src/features/auth/access/contract.d.ts.map +1 -0
  211. package/script/npm/src/src/features/auth/access/contract.js +17 -0
  212. package/script/npm/src/src/features/auth/access/repository.d.ts +11 -0
  213. package/script/npm/src/src/features/auth/access/repository.d.ts.map +1 -0
  214. package/script/npm/src/src/features/auth/access/repository.js +29 -0
  215. package/script/npm/src/src/features/auth/contract.d.ts +112 -0
  216. package/script/npm/src/src/features/auth/contract.d.ts.map +1 -0
  217. package/script/npm/src/src/features/auth/contract.js +46 -0
  218. package/script/npm/src/src/features/auth/identity/contract.d.ts +23 -0
  219. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +1 -0
  220. package/script/npm/src/src/features/auth/identity/contract.js +20 -0
  221. package/script/npm/src/src/features/auth/identity/repository.d.ts +22 -0
  222. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +1 -0
  223. package/script/npm/src/src/features/auth/identity/repository.js +34 -0
  224. package/script/npm/src/src/features/auth/index.d.ts +6 -0
  225. package/script/npm/src/src/features/auth/index.d.ts.map +1 -0
  226. package/script/npm/src/src/features/auth/index.js +21 -0
  227. package/script/npm/src/src/features/auth/manager.d.ts +105 -0
  228. package/script/npm/src/src/features/auth/manager.d.ts.map +1 -0
  229. package/script/npm/src/src/features/auth/manager.js +185 -0
  230. package/script/npm/src/src/features/auth/profile/contract.d.ts +37 -0
  231. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +1 -0
  232. package/script/npm/src/src/features/auth/profile/contract.js +17 -0
  233. package/script/npm/src/src/features/auth/profile/repository.d.ts +11 -0
  234. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +1 -0
  235. package/script/npm/src/src/features/auth/profile/repository.js +29 -0
  236. package/script/npm/src/src/features/auth/repository.d.ts +30 -0
  237. package/script/npm/src/src/features/auth/repository.d.ts.map +1 -0
  238. package/script/npm/src/src/features/auth/repository.js +73 -0
  239. package/script/npm/src/src/features/auth/storage/client_store.d.ts +30 -0
  240. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +1 -0
  241. package/script/npm/src/src/features/auth/storage/client_store.js +51 -0
  242. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +32 -0
  243. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
  244. package/script/npm/src/src/features/auth/storage/client_token_handler.js +40 -0
  245. package/script/npm/src/src/features/auth/storage/server_store.d.ts +24 -0
  246. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +1 -0
  247. package/script/npm/src/src/features/auth/storage/server_store.js +38 -0
  248. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +36 -0
  249. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
  250. package/script/npm/src/src/features/auth/storage/server_token_handler.js +119 -0
  251. package/script/npm/src/src/features/auth/storage/types.d.ts +42 -0
  252. package/script/npm/src/src/features/auth/storage/types.d.ts.map +1 -0
  253. package/script/npm/src/src/features/auth/storage/types.js +2 -0
  254. package/script/npm/src/src/features/contact/contract.d.ts +170 -0
  255. package/script/npm/src/src/features/contact/contract.d.ts.map +1 -0
  256. package/script/npm/src/src/features/contact/contract.js +52 -0
  257. package/script/npm/src/src/features/contact/index.d.ts +2 -0
  258. package/script/npm/src/src/features/contact/index.d.ts.map +1 -0
  259. package/script/npm/src/src/features/contact/index.js +17 -0
  260. package/script/npm/src/src/features/contact/repository.d.ts +58 -0
  261. package/script/npm/src/src/features/contact/repository.d.ts.map +1 -0
  262. package/script/npm/src/src/features/contact/repository.js +112 -0
  263. package/script/npm/src/src/features/payout/contract.d.ts +623 -0
  264. package/script/npm/src/src/features/payout/contract.d.ts.map +1 -0
  265. package/script/npm/src/src/features/payout/contract.js +78 -0
  266. package/script/npm/src/src/features/payout/index.d.ts +2 -0
  267. package/script/npm/src/src/features/payout/index.d.ts.map +1 -0
  268. package/script/npm/src/src/features/payout/index.js +17 -0
  269. package/script/npm/src/src/features/payout/repository.d.ts +67 -0
  270. package/script/npm/src/src/features/payout/repository.d.ts.map +1 -0
  271. package/script/npm/src/src/features/payout/repository.js +167 -0
  272. package/script/npm/src/src/features/wallet/contract.d.ts +137 -0
  273. package/script/npm/src/src/features/wallet/contract.d.ts.map +1 -0
  274. package/script/npm/src/src/features/wallet/contract.js +41 -0
  275. package/script/npm/src/src/features/wallet/index.d.ts +2 -0
  276. package/script/npm/src/src/features/wallet/index.d.ts.map +1 -0
  277. package/script/npm/src/src/features/wallet/index.js +17 -0
  278. package/script/npm/src/src/features/wallet/repository.d.ts +57 -0
  279. package/script/npm/src/src/features/wallet/repository.d.ts.map +1 -0
  280. package/script/npm/src/src/features/wallet/repository.js +97 -0
  281. package/script/npm/src/src/models/contact/derivatives/contact.d.ts +172 -0
  282. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +1 -0
  283. package/script/npm/src/src/models/contact/derivatives/contact.js +270 -0
  284. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +188 -0
  285. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  286. package/script/npm/src/src/models/contact/derivatives/contact_info.js +260 -0
  287. package/script/npm/src/src/models/contact/index.d.ts +5 -0
  288. package/script/npm/src/src/models/contact/index.d.ts.map +1 -0
  289. package/script/npm/src/src/models/contact/index.js +20 -0
  290. package/script/npm/src/src/models/contact/schemas.d.ts +66 -0
  291. package/script/npm/src/src/models/contact/schemas.d.ts.map +1 -0
  292. package/script/npm/src/src/models/contact/schemas.js +67 -0
  293. package/script/npm/src/src/models/contact/validation.d.ts +37 -0
  294. package/script/npm/src/src/models/contact/validation.d.ts.map +1 -0
  295. package/script/npm/src/src/models/contact/validation.js +153 -0
  296. package/script/npm/src/src/models/index.d.ts +7 -0
  297. package/script/npm/src/src/models/index.d.ts.map +1 -0
  298. package/script/npm/src/src/models/index.js +22 -0
  299. package/script/npm/src/src/models/payout/api.d.ts +29 -0
  300. package/script/npm/src/src/models/payout/api.d.ts.map +1 -0
  301. package/script/npm/src/src/models/payout/api.js +2 -0
  302. package/script/npm/src/src/models/payout/channel.d.ts +58 -0
  303. package/script/npm/src/src/models/payout/channel.d.ts.map +1 -0
  304. package/script/npm/src/src/models/payout/channel.js +56 -0
  305. package/script/npm/src/src/models/payout/derivatives/payout.d.ts +158 -0
  306. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +1 -0
  307. package/script/npm/src/src/models/payout/derivatives/payout.js +275 -0
  308. package/script/npm/src/src/models/payout/index.d.ts +7 -0
  309. package/script/npm/src/src/models/payout/index.d.ts.map +1 -0
  310. package/script/npm/src/src/models/payout/index.js +22 -0
  311. package/script/npm/src/src/models/payout/narration.d.ts +164 -0
  312. package/script/npm/src/src/models/payout/narration.d.ts.map +1 -0
  313. package/script/npm/src/src/models/payout/narration.js +312 -0
  314. package/script/npm/src/src/models/payout/schemas.d.ts +156 -0
  315. package/script/npm/src/src/models/payout/schemas.d.ts.map +1 -0
  316. package/script/npm/src/src/models/payout/schemas.js +108 -0
  317. package/script/npm/src/src/models/payout/status.d.ts +33 -0
  318. package/script/npm/src/src/models/payout/status.d.ts.map +1 -0
  319. package/script/npm/src/src/models/payout/status.js +37 -0
  320. package/script/npm/src/src/models/permission.d.ts +55 -0
  321. package/script/npm/src/src/models/permission.d.ts.map +1 -0
  322. package/script/npm/src/src/models/permission.js +53 -0
  323. package/script/npm/src/src/models/role.d.ts +21 -0
  324. package/script/npm/src/src/models/role.d.ts.map +1 -0
  325. package/script/npm/src/src/models/role.js +77 -0
  326. package/script/npm/src/src/models/user/authenticated-user.d.ts +77 -0
  327. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +1 -0
  328. package/script/npm/src/src/models/user/authenticated-user.js +230 -0
  329. package/script/npm/src/src/models/user/index.d.ts +4 -0
  330. package/script/npm/src/src/models/user/index.d.ts.map +1 -0
  331. package/script/npm/src/src/models/user/index.js +19 -0
  332. package/script/npm/src/src/models/user/managed-user.d.ts +108 -0
  333. package/script/npm/src/src/models/user/managed-user.d.ts.map +1 -0
  334. package/script/npm/src/src/models/user/managed-user.js +260 -0
  335. package/script/npm/src/src/models/user/profile.d.ts +161 -0
  336. package/script/npm/src/src/models/user/profile.d.ts.map +1 -0
  337. package/script/npm/src/src/models/user/profile.js +338 -0
  338. package/script/npm/src/src/models/wallet/index.d.ts +4 -0
  339. package/script/npm/src/src/models/wallet/index.d.ts.map +1 -0
  340. package/script/npm/src/src/models/wallet/index.js +19 -0
  341. package/script/npm/src/src/models/wallet/schemas.d.ts +95 -0
  342. package/script/npm/src/src/models/wallet/schemas.d.ts.map +1 -0
  343. package/script/npm/src/src/models/wallet/schemas.js +38 -0
  344. package/script/npm/src/src/models/wallet/statement_entry.d.ts +160 -0
  345. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +1 -0
  346. package/script/npm/src/src/models/wallet/statement_entry.js +259 -0
  347. package/script/npm/src/src/models/wallet/wallet.d.ts +147 -0
  348. package/script/npm/src/src/models/wallet/wallet.d.ts.map +1 -0
  349. package/script/npm/src/src/models/wallet/wallet.js +283 -0
  350. package/script/npm/src/src/shared/base_repository.d.ts +80 -0
  351. package/script/npm/src/src/shared/base_repository.d.ts.map +1 -0
  352. package/script/npm/src/src/shared/base_repository.js +157 -0
  353. package/script/npm/src/src/shared/common_responses.d.ts +13 -0
  354. package/script/npm/src/src/shared/common_responses.d.ts.map +1 -0
  355. package/script/npm/src/src/shared/common_responses.js +13 -0
  356. package/script/npm/src/src/shared/index.d.ts +3 -0
  357. package/script/npm/src/src/shared/index.d.ts.map +1 -0
  358. package/script/npm/src/src/shared/index.js +18 -0
  359. package/script/npm/src/src/shared/token_required_repository.d.ts +78 -0
  360. package/script/npm/src/src/shared/token_required_repository.d.ts.map +1 -0
  361. package/script/npm/src/src/shared/token_required_repository.js +132 -0
  362. package/script/package.json +3 -0
  363. package/dist/index.cjs.js +0 -2
  364. package/dist/index.cjs.js.map +0 -1
  365. package/dist/index.d.ts +0 -10
  366. package/dist/index.esm.js +0 -2
  367. package/dist/index.esm.js.map +0 -1
  368. package/dist/lib/api/base-repository.d.ts +0 -175
  369. package/dist/lib/api/index.d.ts +0 -1
  370. package/dist/lib/error/error.utils.d.ts +0 -22
  371. package/dist/lib/error/index.d.ts +0 -3
  372. package/dist/lib/query/index.d.ts +0 -4
  373. package/dist/lib/query/pagination/pagination.d.ts +0 -73
  374. package/dist/lib/query/pagination/pagination.schemas.d.ts +0 -83
  375. package/dist/lib/query/query.builder.d.ts +0 -71
  376. package/dist/lib/query/query.types.d.ts +0 -36
  377. package/dist/modules/auth/auth.manager.d.ts +0 -249
  378. package/dist/modules/auth/auth.repository.d.ts +0 -83
  379. package/dist/modules/auth/auth.store.d.ts +0 -139
  380. package/dist/modules/auth/company-membership.model.d.ts +0 -171
  381. package/dist/modules/auth/index.d.ts +0 -4
  382. package/dist/modules/auth/user.model.d.ts +0 -363
  383. package/dist/modules/contact/contact-info.model.d.ts +0 -485
  384. package/dist/modules/contact/contact-input-handler.d.ts +0 -16
  385. package/dist/modules/contact/contact.dtos.d.ts +0 -84
  386. package/dist/modules/contact/contact.model.d.ts +0 -441
  387. package/dist/modules/contact/contact.repository.d.ts +0 -116
  388. package/dist/modules/contact/index.d.ts +0 -4
  389. package/dist/modules/login/index.d.ts +0 -4
  390. package/dist/modules/login/login.api-contract.d.ts +0 -51
  391. package/dist/modules/login/login.dtos.d.ts +0 -85
  392. package/dist/modules/login/login.model.d.ts +0 -168
  393. package/dist/modules/login/login.repository.d.ts +0 -58
  394. package/dist/modules/payout/index.d.ts +0 -5
  395. package/dist/modules/payout/payout-channel-handler.d.ts +0 -82
  396. package/dist/modules/payout/payout.dtos.d.ts +0 -605
  397. package/dist/modules/payout/payout.model.d.ts +0 -379
  398. package/dist/modules/payout/payout.query.d.ts +0 -133
  399. package/dist/modules/payout/payout.repository.d.ts +0 -181
  400. package/dist/modules/profile/index.d.ts +0 -3
  401. package/dist/modules/profile/profile.dtos.d.ts +0 -80
  402. package/dist/modules/profile/profile.repository.d.ts +0 -56
  403. package/dist/modules/team-member/index.d.ts +0 -4
  404. package/dist/modules/team-member/role.model.d.ts +0 -61
  405. package/dist/modules/team-member/team-member.dtos.d.ts +0 -261
  406. package/dist/modules/team-member/team-member.model.d.ts +0 -237
  407. package/dist/modules/team-member/team-member.repository.d.ts +0 -179
  408. package/dist/modules/wallet/index.d.ts +0 -7
  409. package/dist/modules/wallet/narration.model.d.ts +0 -225
  410. package/dist/modules/wallet/statement-entry.model.d.ts +0 -299
  411. package/dist/modules/wallet/wallet-manager.session.d.ts +0 -143
  412. package/dist/modules/wallet/wallet.dtos.d.ts +0 -204
  413. package/dist/modules/wallet/wallet.query.d.ts +0 -95
  414. package/dist/modules/wallet/wallet.repository.d.ts +0 -205
  415. package/dist/modules/wallet/wallet.utils.d.ts +0 -17
@@ -1,139 +0,0 @@
1
- import { type StoreApi, type UseBoundStore } from "zustand";
2
- import { User } from "@/modules/auth/user.model.js";
3
- /** Type definition for the store's internal state */
4
- type AuthState = {
5
- user: string | undefined;
6
- token: string | undefined;
7
- };
8
- /** Type definition for the store's actions */
9
- interface AuthActions {
10
- setUser: (user: User) => void;
11
- getUser: () => User | undefined;
12
- setToken: (token: string) => void;
13
- getToken: () => string | undefined;
14
- setUserAndToken: (user: User, token: string) => void;
15
- clearAuth: () => void;
16
- }
17
- /**
18
- * Unified Zustand store for managing both user and token state with persistence.
19
- *
20
- * Features:
21
- * - Persists both user data and token to sessionStorage
22
- * - Serializes/deserializes User objects to/from JSON
23
- * - Provides reactive state updates for React components
24
- * - Automatically syncs user and token state
25
- * - Server-side rendering safe
26
- */
27
- export declare const authStore: UseBoundStore<StoreApi<AuthState & AuthActions>>;
28
- /**
29
- * Gets the current authenticated user from the auth store.
30
- * This function can be called from anywhere in the application.
31
- *
32
- * @returns The current user or undefined if not authenticated
33
- *
34
- * @example
35
- * ```typescript
36
- * // In BaseRepository or any other file
37
- * const user = getCurrentUser();
38
- * if (user) {
39
- * console.log(`Current user: ${user.name}`);
40
- * }
41
- * ```
42
- */
43
- export declare const getCurrentUser: () => User | undefined;
44
- /**
45
- * Gets the current authentication token from the auth store.
46
- * This function can be called from anywhere in the application,
47
- * including BaseRepository for automatic token injection.
48
- *
49
- * @returns The current token or undefined if not authenticated
50
- *
51
- * @example
52
- * ```typescript
53
- * // In BaseRepository
54
- * const token = getCurrentToken();
55
- * if (token) {
56
- * // Use token for API calls
57
- * return initClient(contract, { baseHeaders: { token } });
58
- * }
59
- * ```
60
- */
61
- export declare const getCurrentToken: () => string | undefined;
62
- /**
63
- * React hook to access the current user with reactive updates.
64
- *
65
- * @returns The current user or undefined if not authenticated
66
- * @throws {Error} If called in a server environment
67
- *
68
- * @example
69
- * ```typescript
70
- * function UserProfile() {
71
- * const user = useCurrentUser();
72
- *
73
- * if (!user) {
74
- * return <div>Please log in</div>;
75
- * }
76
- *
77
- * return <div>Welcome, {user.name}!</div>;
78
- * }
79
- * ```
80
- */
81
- export declare const useCurrentUser: () => User | undefined;
82
- /**
83
- * React hook to access the current token with reactive updates.
84
- *
85
- * @returns The current token or undefined if not authenticated
86
- * @throws {Error} If called in a server environment
87
- *
88
- * @example
89
- * ```typescript
90
- * function SomeComponent() {
91
- * const token = useCurrentToken();
92
- *
93
- * if (!token) {
94
- * return <div>Please log in</div>;
95
- * }
96
- *
97
- * // Use token...
98
- * }
99
- * ```
100
- */
101
- export declare const useCurrentToken: () => string | undefined;
102
- /**
103
- * Checks if a user is currently authenticated.
104
- *
105
- * @returns True if user is authenticated, false otherwise
106
- *
107
- * @example
108
- * ```typescript
109
- * if (isAuthenticated()) {
110
- * // User is logged in
111
- * showDashboard();
112
- * } else {
113
- * // User needs to log in
114
- * showLoginForm();
115
- * }
116
- * ```
117
- */
118
- export declare const isAuthenticated: () => boolean;
119
- /**
120
- * Gets debug information about the current authentication state.
121
- * Useful for troubleshooting authentication issues.
122
- *
123
- * @returns Object containing authentication state information
124
- *
125
- * @example
126
- * ```typescript
127
- * const debugInfo = getAuthDebugInfo();
128
- * console.log("Auth Debug Info:", debugInfo);
129
- * ```
130
- */
131
- export declare const getAuthDebugInfo: () => {
132
- hasUser: boolean;
133
- hasToken: boolean;
134
- isAuthenticated: boolean;
135
- userName: string;
136
- tokenLength: number;
137
- storeState: string | (AuthState & AuthActions);
138
- };
139
- export {};
@@ -1,171 +0,0 @@
1
- import z from "zod";
2
- import { Profile } from "../profile/profile.model.js";
3
- import { Role } from "../team-member/role.model.js";
4
- /**
5
- * Zod schema for CompanyMembership JSON serialization
6
- */
7
- export declare const CompanyMembershipJSONSchema: z.ZodObject<{
8
- companyProfile: z.ZodObject<{
9
- id: z.ZodString;
10
- firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
- lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
- displayName: z.ZodString;
13
- phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
- accountNo: z.ZodString;
15
- email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
- autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
17
- version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
18
- }, "strip", z.ZodTypeAny, {
19
- id: string;
20
- displayName: string;
21
- accountNo: string;
22
- version: string;
23
- firstName?: string | null | undefined;
24
- lastName?: string | null | undefined;
25
- phone?: string | null | undefined;
26
- email?: string | null | undefined;
27
- autoApprove?: boolean | null | undefined;
28
- }, {
29
- id: string;
30
- displayName: string;
31
- accountNo: string;
32
- firstName?: string | null | undefined;
33
- lastName?: string | null | undefined;
34
- phone?: string | null | undefined;
35
- email?: string | null | undefined;
36
- autoApprove?: boolean | null | undefined;
37
- version?: string | undefined;
38
- }>;
39
- role: z.ZodOptional<z.ZodObject<{
40
- id: z.ZodString;
41
- name: z.ZodString;
42
- description: z.ZodOptional<z.ZodString>;
43
- access: z.ZodArray<z.ZodString, "many">;
44
- createdAt: z.ZodString;
45
- updatedAt: z.ZodString;
46
- version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
47
- }, "strip", z.ZodTypeAny, {
48
- name: string;
49
- id: string;
50
- version: string;
51
- createdAt: string;
52
- updatedAt: string;
53
- access: string[];
54
- description?: string | undefined;
55
- }, {
56
- name: string;
57
- id: string;
58
- createdAt: string;
59
- updatedAt: string;
60
- access: string[];
61
- version?: string | undefined;
62
- description?: string | undefined;
63
- }>>;
64
- version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
65
- }, "strip", z.ZodTypeAny, {
66
- version: string;
67
- companyProfile: {
68
- id: string;
69
- displayName: string;
70
- accountNo: string;
71
- version: string;
72
- firstName?: string | null | undefined;
73
- lastName?: string | null | undefined;
74
- phone?: string | null | undefined;
75
- email?: string | null | undefined;
76
- autoApprove?: boolean | null | undefined;
77
- };
78
- role?: {
79
- name: string;
80
- id: string;
81
- version: string;
82
- createdAt: string;
83
- updatedAt: string;
84
- access: string[];
85
- description?: string | undefined;
86
- } | undefined;
87
- }, {
88
- companyProfile: {
89
- id: string;
90
- displayName: string;
91
- accountNo: string;
92
- firstName?: string | null | undefined;
93
- lastName?: string | null | undefined;
94
- phone?: string | null | undefined;
95
- email?: string | null | undefined;
96
- autoApprove?: boolean | null | undefined;
97
- version?: string | undefined;
98
- };
99
- version?: string | undefined;
100
- role?: {
101
- name: string;
102
- id: string;
103
- createdAt: string;
104
- updatedAt: string;
105
- access: string[];
106
- version?: string | undefined;
107
- description?: string | undefined;
108
- } | undefined;
109
- }>;
110
- export type CompanyMembershipJSON = z.infer<typeof CompanyMembershipJSONSchema>;
111
- export type CompanyMembershipData = {
112
- companyProfile: Profile;
113
- role?: Role;
114
- };
115
- /**
116
- * Represents a user's membership within a company.
117
- *
118
- * This class encapsulates the relationship between a user and their company:
119
- * - The company profile the user belongs to
120
- * - The user's role within that company (optional - depends on permissions)
121
- *
122
- * Note: Permissions are stored in LogIn.access, not here.
123
- * This model focuses purely on the company-user relationship.
124
- *
125
- * The role may be undefined if the user doesn't have permission to view
126
- * role details (Permissions.Role.ViewRole).
127
- */
128
- export declare class CompanyMembership {
129
- private readonly _companyProfile;
130
- private readonly _role?;
131
- private constructor();
132
- /**
133
- * Creates a CompanyMembership instance from the required data.
134
- *
135
- * @param data - The membership data
136
- * @returns A new CompanyMembership instance, or undefined if invalid
137
- *
138
- * @example
139
- * ```typescript
140
- * const membership = CompanyMembership.from({
141
- * companyProfile: profile,
142
- * role: role // optional
143
- * });
144
- * ```
145
- */
146
- static from(data: CompanyMembershipData): CompanyMembership | undefined;
147
- /**
148
- * Gets the company profile.
149
- */
150
- get companyProfile(): Profile;
151
- /**
152
- * Gets the user's role (may be undefined if user lacks permission to view it).
153
- */
154
- get role(): Role | undefined;
155
- /**
156
- * Serializes the CompanyMembership instance to a JSON-compatible object
157
- */
158
- toJSON(): CompanyMembershipJSON;
159
- /**
160
- * Serializes the CompanyMembership instance to a JSON string
161
- */
162
- toJSONString(): string;
163
- /**
164
- * Creates a CompanyMembership instance from a JSON-compatible object or string
165
- */
166
- static fromJSON(json: CompanyMembershipJSON | string): CompanyMembership | undefined;
167
- /**
168
- * Type guard using Zod schema validation
169
- */
170
- static isCompanyMembershipJSON(obj: unknown): obj is CompanyMembershipJSON;
171
- }
@@ -1,4 +0,0 @@
1
- export * from "./auth.manager.js";
2
- export * from "./auth.repository.js";
3
- export * from "./user.model.js";
4
- export * from "./company-membership.model.js";
@@ -1,363 +0,0 @@
1
- import { Permission } from "../login/permission.type.js";
2
- import { Profile } from "../profile/profile.model.js";
3
- import { LogIn } from "../login/login.model.js";
4
- import { CompanyMembership } from "./company-membership.model.js";
5
- import { Role } from "../team-member/role.model.js";
6
- import z from "zod";
7
- /**
8
- * Zod schema for User JSON serialization
9
- * Composes the schemas from nested objects
10
- */
11
- export declare const UserJSONSchema: z.ZodObject<{
12
- logIn: z.ZodObject<{
13
- id: z.ZodString;
14
- profileId: z.ZodString;
15
- name: z.ZodString;
16
- identity: z.ZodString;
17
- type: z.ZodString;
18
- roleId: z.ZodString;
19
- isActive: z.ZodBoolean;
20
- isArchived: z.ZodBoolean;
21
- resetPassword: z.ZodBoolean;
22
- createdAt: z.ZodString;
23
- updatedAt: z.ZodString;
24
- access: z.ZodArray<z.ZodString, "many">;
25
- version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
26
- }, "strip", z.ZodTypeAny, {
27
- type: string;
28
- name: string;
29
- id: string;
30
- version: string;
31
- profileId: string;
32
- identity: string;
33
- roleId: string;
34
- isActive: boolean;
35
- isArchived: boolean;
36
- resetPassword: boolean;
37
- createdAt: string;
38
- updatedAt: string;
39
- access: string[];
40
- }, {
41
- type: string;
42
- name: string;
43
- id: string;
44
- profileId: string;
45
- identity: string;
46
- roleId: string;
47
- isActive: boolean;
48
- isArchived: boolean;
49
- resetPassword: boolean;
50
- createdAt: string;
51
- updatedAt: string;
52
- access: string[];
53
- version?: string | undefined;
54
- }>;
55
- companyProfile: z.ZodObject<{
56
- id: z.ZodString;
57
- firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
- lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
- displayName: z.ZodString;
60
- phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
- accountNo: z.ZodString;
62
- email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
- autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
64
- version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
65
- }, "strip", z.ZodTypeAny, {
66
- id: string;
67
- displayName: string;
68
- accountNo: string;
69
- version: string;
70
- firstName?: string | null | undefined;
71
- lastName?: string | null | undefined;
72
- phone?: string | null | undefined;
73
- email?: string | null | undefined;
74
- autoApprove?: boolean | null | undefined;
75
- }, {
76
- id: string;
77
- displayName: string;
78
- accountNo: string;
79
- firstName?: string | null | undefined;
80
- lastName?: string | null | undefined;
81
- phone?: string | null | undefined;
82
- email?: string | null | undefined;
83
- autoApprove?: boolean | null | undefined;
84
- version?: string | undefined;
85
- }>;
86
- role: z.ZodOptional<z.ZodObject<{
87
- id: z.ZodString;
88
- name: z.ZodString;
89
- description: z.ZodOptional<z.ZodString>;
90
- access: z.ZodArray<z.ZodString, "many">;
91
- createdAt: z.ZodString;
92
- updatedAt: z.ZodString;
93
- version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
94
- }, "strip", z.ZodTypeAny, {
95
- name: string;
96
- id: string;
97
- version: string;
98
- createdAt: string;
99
- updatedAt: string;
100
- access: string[];
101
- description?: string | undefined;
102
- }, {
103
- name: string;
104
- id: string;
105
- createdAt: string;
106
- updatedAt: string;
107
- access: string[];
108
- version?: string | undefined;
109
- description?: string | undefined;
110
- }>>;
111
- token: z.ZodString;
112
- version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
113
- }, "strip", z.ZodTypeAny, {
114
- version: string;
115
- companyProfile: {
116
- id: string;
117
- displayName: string;
118
- accountNo: string;
119
- version: string;
120
- firstName?: string | null | undefined;
121
- lastName?: string | null | undefined;
122
- phone?: string | null | undefined;
123
- email?: string | null | undefined;
124
- autoApprove?: boolean | null | undefined;
125
- };
126
- logIn: {
127
- type: string;
128
- name: string;
129
- id: string;
130
- version: string;
131
- profileId: string;
132
- identity: string;
133
- roleId: string;
134
- isActive: boolean;
135
- isArchived: boolean;
136
- resetPassword: boolean;
137
- createdAt: string;
138
- updatedAt: string;
139
- access: string[];
140
- };
141
- token: string;
142
- role?: {
143
- name: string;
144
- id: string;
145
- version: string;
146
- createdAt: string;
147
- updatedAt: string;
148
- access: string[];
149
- description?: string | undefined;
150
- } | undefined;
151
- }, {
152
- companyProfile: {
153
- id: string;
154
- displayName: string;
155
- accountNo: string;
156
- firstName?: string | null | undefined;
157
- lastName?: string | null | undefined;
158
- phone?: string | null | undefined;
159
- email?: string | null | undefined;
160
- autoApprove?: boolean | null | undefined;
161
- version?: string | undefined;
162
- };
163
- logIn: {
164
- type: string;
165
- name: string;
166
- id: string;
167
- profileId: string;
168
- identity: string;
169
- roleId: string;
170
- isActive: boolean;
171
- isArchived: boolean;
172
- resetPassword: boolean;
173
- createdAt: string;
174
- updatedAt: string;
175
- access: string[];
176
- version?: string | undefined;
177
- };
178
- token: string;
179
- version?: string | undefined;
180
- role?: {
181
- name: string;
182
- id: string;
183
- createdAt: string;
184
- updatedAt: string;
185
- access: string[];
186
- version?: string | undefined;
187
- description?: string | undefined;
188
- } | undefined;
189
- }>;
190
- /**
191
- * Infer the UserJSON type from the schema
192
- */
193
- export type UserJSON = z.infer<typeof UserJSONSchema>;
194
- export type UserData = {
195
- logIn: LogIn;
196
- companyProfile: Profile;
197
- role?: Role;
198
- token: string;
199
- };
200
- /**
201
- * Represents the currently authenticated user session.
202
- *
203
- * This class combines:
204
- * - LogIn: User account data (identity, permissions, resetPassword, etc.)
205
- * - CompanyMembership: User's relationship to their company (company profile + role)
206
- * - Token: Session authentication token
207
- *
208
- * The User represents "who is logged in right now" with their full context.
209
- *
210
- * Note: The role in CompanyMembership may be undefined if the user doesn't have
211
- * permission to view role details (Permissions.Role.ViewRole).
212
- */
213
- export declare class User {
214
- private readonly _logIn;
215
- private readonly _membership;
216
- private readonly _token;
217
- private readonly _permissionMap;
218
- private constructor();
219
- /**
220
- * Creates a User instance from the provided data.
221
- *
222
- * @param data - User session data
223
- * @returns A new User instance, or undefined if data is invalid
224
- *
225
- * @example
226
- * ```typescript
227
- * const user = User.from({
228
- * logIn: logIn,
229
- * companyProfile: profile,
230
- * role: role, // optional
231
- * token: "auth-token"
232
- * });
233
- * ```
234
- */
235
- static from(data: UserData): User | undefined;
236
- /**
237
- * Gets the user's login data.
238
- */
239
- get logIn(): LogIn;
240
- /**
241
- * Gets the user's company membership (includes company profile and role).
242
- */
243
- get membership(): CompanyMembership;
244
- /**
245
- * Gets the user's authentication token.
246
- */
247
- get token(): string;
248
- /**
249
- * Convenience getter for the user's ID.
250
- */
251
- get id(): string;
252
- /**
253
- * Convenience getter for the user's name.
254
- */
255
- get name(): string;
256
- /**
257
- * Convenience getter for the user's identity (email).
258
- */
259
- get identity(): string;
260
- /**
261
- * Convenience getter for the user's role ID.
262
- */
263
- get roleId(): string;
264
- /**
265
- * Convenience getter for whether the user must reset their password.
266
- */
267
- get resetPassword(): boolean;
268
- /**
269
- * Convenience getter for the company profile.
270
- */
271
- get profile(): Profile;
272
- /**
273
- * Convenience getter for the user's role (may be undefined).
274
- */
275
- get role(): Role | undefined;
276
- /**
277
- * Convenience getter for permissions array.
278
- */
279
- get access(): ReadonlyArray<string>;
280
- /**
281
- * Checks if the user has a specific permission.
282
- *
283
- * @param permission - The permission to check
284
- * @returns true if the user has the permission
285
- */
286
- can(permission: Permission): boolean;
287
- /**
288
- * Checks if the user has any of the specified permissions.
289
- *
290
- * @param permissions - Array of permissions to check
291
- * @returns true if the user has at least one permission
292
- */
293
- canAny(permissions: Permission[]): boolean;
294
- /**
295
- * Checks if the user has all of the specified permissions.
296
- *
297
- * @param permissions - Array of permissions to check
298
- * @returns true if the user has all permissions
299
- */
300
- canAll(permissions: Permission[]): boolean;
301
- /**
302
- * Checks if the user can manage team members.
303
- */
304
- canManageTeam(): boolean;
305
- /**
306
- * Checks if the user can view role details.
307
- */
308
- canViewRoles(): boolean;
309
- /**
310
- * Serializes the User instance to a JSON-compatible object
311
- *
312
- * This method creates a complete snapshot of the user session including
313
- * all nested objects (LogIn, Profile, Role). All data can be reconstructed
314
- * from this JSON representation without needing backend calls.
315
- *
316
- * @returns {UserJSON} A plain object containing all necessary User data
317
- *
318
- * @example
319
- * ```typescript
320
- * const user = User.from({ ... });
321
- * const json = user.toJSON();
322
- * // Store in localStorage
323
- * localStorage.setItem('currentUser', JSON.stringify(json));
324
- * ```
325
- */
326
- toJSON(): UserJSON;
327
- /**
328
- * Serializes the User instance to a JSON string
329
- *
330
- * @returns {string} JSON string representation of the User
331
- */
332
- toJSONString(): string;
333
- /**
334
- * Creates a User instance from a JSON-compatible object or string
335
- *
336
- * This static method reconstructs a complete User instance from data that was
337
- * previously serialized using toJSON(). It validates the input data and
338
- * ensures all nested objects (LogIn, Profile, Role) are properly reconstructed.
339
- *
340
- * @param {UserJSON | string} json - Either a UserJSON object or a JSON string
341
- * @returns {User | undefined} A User instance if valid, undefined otherwise
342
- *
343
- * @example
344
- * ```typescript
345
- * // From localStorage
346
- * const stored = localStorage.getItem('currentUser');
347
- * const user = User.fromJSON(stored!);
348
- *
349
- * // From object
350
- * const userJson = {
351
- * logIn: { id: "...", ... },
352
- * companyProfile: { id: "...", ... },
353
- * token: "..."
354
- * };
355
- * const user = User.fromJSON(userJson);
356
- * ```
357
- */
358
- static fromJSON(json: UserJSON | string): User | undefined;
359
- /**
360
- * Type guard using Zod schema validation
361
- */
362
- static isUserJSON(obj: unknown): obj is UserJSON;
363
- }