@temboplus/afloat 0.1.53 → 0.1.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/README.md +246 -42
  2. package/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
  3. package/{script/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
  4. package/dist/features/admin/admin.repository.d.ts +179 -0
  5. package/dist/features/admin/index.d.ts +2 -0
  6. package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
  7. package/dist/features/auth/access/access.repository.d.ts +55 -0
  8. package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
  9. package/dist/features/auth/auth.manager.d.ts +249 -0
  10. package/dist/features/auth/auth.repository.d.ts +66 -0
  11. package/dist/features/auth/auth.store.d.ts +139 -0
  12. package/{script/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
  13. package/dist/features/auth/identity/identity.repository.d.ts +58 -0
  14. package/dist/features/auth/index.d.ts +5 -0
  15. package/{script/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
  16. package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
  17. package/dist/features/auth/profile/profile.repository.d.ts +56 -0
  18. package/{esm/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
  19. package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
  20. package/{script/src → dist}/features/auth/storage/types.d.ts +1 -2
  21. package/dist/features/contact/contact-input-handler.d.ts +16 -0
  22. package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
  23. package/dist/features/contact/contact.dtos.d.ts +90 -0
  24. package/dist/features/contact/contact.repository.d.ts +116 -0
  25. package/dist/features/contact/index.d.ts +2 -0
  26. package/dist/features/payout/index.d.ts +3 -0
  27. package/dist/features/payout/payout-channel-handler.d.ts +108 -0
  28. package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
  29. package/dist/features/payout/payout.dtos.d.ts +365 -0
  30. package/dist/features/payout/payout.repository.d.ts +193 -0
  31. package/dist/features/wallet/index.d.ts +4 -0
  32. package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
  33. package/{script/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
  34. package/dist/features/wallet/wallet.dtos.d.ts +204 -0
  35. package/dist/features/wallet/wallet.repository.d.ts +120 -0
  36. package/dist/features/wallet/wallet.utils.d.ts +17 -0
  37. package/dist/index.cjs.js +2 -0
  38. package/dist/index.cjs.js.map +1 -0
  39. package/dist/index.d.ts +7 -0
  40. package/dist/index.esm.js +2 -0
  41. package/dist/index.esm.js.map +1 -0
  42. package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
  43. package/{script/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
  44. package/dist/lib/api/index.d.ts +2 -0
  45. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  46. package/{script/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  47. package/dist/lib/error/error.utils.d.ts +22 -0
  48. package/dist/lib/error/index.d.ts +3 -0
  49. package/dist/models/contact-info.model.d.ts +817 -0
  50. package/{script/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
  51. package/dist/models/index.d.ts +10 -0
  52. package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
  53. package/{script/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +13 -15
  54. package/{esm/src → dist}/models/permission.d.ts +1 -2
  55. package/{script/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
  56. package/{script/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
  57. package/dist/models/statement-entry.model.d.ts +195 -0
  58. package/{esm/src/models/user/authenticated-user.d.ts → dist/models/user.model.d.ts} +1 -2
  59. package/{script/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
  60. package/package.json +47 -26
  61. package/LICENSE +0 -7
  62. package/esm/_dnt.test_shims.d.ts.map +0 -1
  63. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  65. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  68. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  69. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  71. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  72. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  74. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  75. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  77. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  78. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  80. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  81. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  83. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  84. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  86. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  87. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  92. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  97. package/esm/mod.d.ts +0 -8
  98. package/esm/mod.d.ts.map +0 -1
  99. package/esm/mod.js +0 -7
  100. package/esm/package.json +0 -3
  101. package/esm/src/errors/api_error.d.ts.map +0 -1
  102. package/esm/src/errors/api_error.js +0 -90
  103. package/esm/src/errors/index.d.ts +0 -3
  104. package/esm/src/errors/index.d.ts.map +0 -1
  105. package/esm/src/errors/index.js +0 -2
  106. package/esm/src/errors/permission_error.d.ts +0 -48
  107. package/esm/src/errors/permission_error.d.ts.map +0 -1
  108. package/esm/src/errors/permission_error.js +0 -70
  109. package/esm/src/features/admin/contract.d.ts.map +0 -1
  110. package/esm/src/features/admin/contract.js +0 -210
  111. package/esm/src/features/admin/index.d.ts +0 -4
  112. package/esm/src/features/admin/index.d.ts.map +0 -1
  113. package/esm/src/features/admin/index.js +0 -3
  114. package/esm/src/features/admin/repository.d.ts +0 -114
  115. package/esm/src/features/admin/repository.d.ts.map +0 -1
  116. package/esm/src/features/admin/repository.js +0 -248
  117. package/esm/src/features/admin/schemas.d.ts +0 -146
  118. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  119. package/esm/src/features/admin/schemas.js +0 -206
  120. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  121. package/esm/src/features/auth/access/contract.js +0 -14
  122. package/esm/src/features/auth/contract.d.ts.map +0 -1
  123. package/esm/src/features/auth/contract.js +0 -43
  124. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  125. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  126. package/esm/src/features/auth/identity/contract.js +0 -17
  127. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  128. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  129. package/esm/src/features/auth/identity/repository.js +0 -30
  130. package/esm/src/features/auth/index.d.ts +0 -2
  131. package/esm/src/features/auth/index.d.ts.map +0 -1
  132. package/esm/src/features/auth/index.js +0 -1
  133. package/esm/src/features/auth/manager.d.ts +0 -105
  134. package/esm/src/features/auth/manager.d.ts.map +0 -1
  135. package/esm/src/features/auth/manager.js +0 -181
  136. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  137. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  138. package/esm/src/features/auth/profile/contract.js +0 -14
  139. package/esm/src/features/auth/repository.d.ts +0 -30
  140. package/esm/src/features/auth/repository.d.ts.map +0 -1
  141. package/esm/src/features/auth/repository.js +0 -69
  142. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  143. package/esm/src/features/auth/storage/client_store.js +0 -46
  144. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  145. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  146. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  147. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  148. package/esm/src/features/auth/storage/server_store.js +0 -34
  149. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  150. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  151. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  152. package/esm/src/features/auth/storage/types.d.ts +0 -42
  153. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  154. package/esm/src/features/auth/storage/types.js +0 -1
  155. package/esm/src/features/contact/contract.d.ts.map +0 -1
  156. package/esm/src/features/contact/contract.js +0 -49
  157. package/esm/src/features/contact/index.d.ts +0 -2
  158. package/esm/src/features/contact/index.d.ts.map +0 -1
  159. package/esm/src/features/contact/index.js +0 -1
  160. package/esm/src/features/contact/repository.d.ts +0 -58
  161. package/esm/src/features/contact/repository.d.ts.map +0 -1
  162. package/esm/src/features/contact/repository.js +0 -108
  163. package/esm/src/features/payout/contract.d.ts.map +0 -1
  164. package/esm/src/features/payout/contract.js +0 -75
  165. package/esm/src/features/payout/index.d.ts +0 -2
  166. package/esm/src/features/payout/index.d.ts.map +0 -1
  167. package/esm/src/features/payout/index.js +0 -1
  168. package/esm/src/features/payout/repository.d.ts +0 -67
  169. package/esm/src/features/payout/repository.d.ts.map +0 -1
  170. package/esm/src/features/payout/repository.js +0 -163
  171. package/esm/src/features/wallet/contract.d.ts +0 -137
  172. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  173. package/esm/src/features/wallet/contract.js +0 -38
  174. package/esm/src/features/wallet/index.d.ts +0 -2
  175. package/esm/src/features/wallet/index.d.ts.map +0 -1
  176. package/esm/src/features/wallet/index.js +0 -1
  177. package/esm/src/features/wallet/repository.d.ts +0 -57
  178. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  179. package/esm/src/features/wallet/repository.js +0 -93
  180. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  181. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  182. package/esm/src/models/contact/derivatives/contact.js +0 -266
  183. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  184. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  185. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  186. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  187. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  188. package/esm/src/models/contact/index.d.ts +0 -5
  189. package/esm/src/models/contact/index.d.ts.map +0 -1
  190. package/esm/src/models/contact/index.js +0 -4
  191. package/esm/src/models/contact/schemas.d.ts +0 -66
  192. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  193. package/esm/src/models/contact/schemas.js +0 -64
  194. package/esm/src/models/contact/validation.d.ts +0 -37
  195. package/esm/src/models/contact/validation.d.ts.map +0 -1
  196. package/esm/src/models/contact/validation.js +0 -139
  197. package/esm/src/models/contact/validation.test.d.ts.map +0 -1
  198. package/esm/src/models/index.d.ts +0 -7
  199. package/esm/src/models/index.d.ts.map +0 -1
  200. package/esm/src/models/index.js +0 -6
  201. package/esm/src/models/payout/api.d.ts +0 -29
  202. package/esm/src/models/payout/api.d.ts.map +0 -1
  203. package/esm/src/models/payout/api.js +0 -1
  204. package/esm/src/models/payout/channel.d.ts +0 -58
  205. package/esm/src/models/payout/channel.d.ts.map +0 -1
  206. package/esm/src/models/payout/channel.js +0 -53
  207. package/esm/src/models/payout/derivatives/payout.d.ts +0 -156
  208. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  209. package/esm/src/models/payout/derivatives/payout.js +0 -261
  210. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  211. package/esm/src/models/payout/index.d.ts +0 -6
  212. package/esm/src/models/payout/index.d.ts.map +0 -1
  213. package/esm/src/models/payout/index.js +0 -5
  214. package/esm/src/models/payout/schemas.d.ts +0 -156
  215. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  216. package/esm/src/models/payout/schemas.js +0 -105
  217. package/esm/src/models/payout/status.d.ts +0 -33
  218. package/esm/src/models/payout/status.d.ts.map +0 -1
  219. package/esm/src/models/payout/status.js +0 -34
  220. package/esm/src/models/permission.d.ts.map +0 -1
  221. package/esm/src/models/permission.js +0 -50
  222. package/esm/src/models/role.d.ts +0 -21
  223. package/esm/src/models/role.d.ts.map +0 -1
  224. package/esm/src/models/role.js +0 -73
  225. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  226. package/esm/src/models/user/authenticated-user.js +0 -226
  227. package/esm/src/models/user/index.d.ts +0 -4
  228. package/esm/src/models/user/index.d.ts.map +0 -1
  229. package/esm/src/models/user/index.js +0 -3
  230. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  231. package/esm/src/models/user/managed-user.js +0 -255
  232. package/esm/src/models/user/profile.d.ts +0 -161
  233. package/esm/src/models/user/profile.d.ts.map +0 -1
  234. package/esm/src/models/user/profile.js +0 -334
  235. package/esm/src/models/wallet/index.d.ts +0 -4
  236. package/esm/src/models/wallet/index.d.ts.map +0 -1
  237. package/esm/src/models/wallet/index.js +0 -3
  238. package/esm/src/models/wallet/schemas.d.ts +0 -95
  239. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  240. package/esm/src/models/wallet/schemas.js +0 -35
  241. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  242. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  243. package/esm/src/models/wallet/statement_entry.js +0 -255
  244. package/esm/src/models/wallet/wallet.d.ts +0 -147
  245. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  246. package/esm/src/models/wallet/wallet.js +0 -279
  247. package/esm/src/shared/base_repository.d.ts.map +0 -1
  248. package/esm/src/shared/base_repository.js +0 -153
  249. package/esm/src/shared/common_responses.d.ts +0 -13
  250. package/esm/src/shared/common_responses.d.ts.map +0 -1
  251. package/esm/src/shared/common_responses.js +0 -10
  252. package/esm/src/shared/index.d.ts +0 -3
  253. package/esm/src/shared/index.d.ts.map +0 -1
  254. package/esm/src/shared/index.js +0 -2
  255. package/esm/src/shared/token_required_repository.d.ts +0 -78
  256. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  257. package/esm/src/shared/token_required_repository.js +0 -128
  258. package/script/_dnt.test_shims.d.ts.map +0 -1
  259. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  260. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  261. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  262. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  263. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  264. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  265. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  266. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  267. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  268. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  269. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  270. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  271. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  272. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  273. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  274. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  275. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  276. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  277. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  278. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  279. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  280. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  281. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  282. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  283. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  284. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  285. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  286. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  287. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  288. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  289. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  290. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  291. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  292. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  293. package/script/mod.d.ts +0 -8
  294. package/script/mod.d.ts.map +0 -1
  295. package/script/mod.js +0 -23
  296. package/script/package.json +0 -3
  297. package/script/src/errors/api_error.d.ts +0 -63
  298. package/script/src/errors/api_error.d.ts.map +0 -1
  299. package/script/src/errors/api_error.js +0 -94
  300. package/script/src/errors/index.d.ts +0 -3
  301. package/script/src/errors/index.d.ts.map +0 -1
  302. package/script/src/errors/index.js +0 -18
  303. package/script/src/errors/permission_error.d.ts.map +0 -1
  304. package/script/src/errors/permission_error.js +0 -74
  305. package/script/src/features/admin/contract.d.ts +0 -842
  306. package/script/src/features/admin/contract.d.ts.map +0 -1
  307. package/script/src/features/admin/contract.js +0 -213
  308. package/script/src/features/admin/index.d.ts +0 -4
  309. package/script/src/features/admin/index.d.ts.map +0 -1
  310. package/script/src/features/admin/index.js +0 -19
  311. package/script/src/features/admin/repository.d.ts +0 -114
  312. package/script/src/features/admin/repository.d.ts.map +0 -1
  313. package/script/src/features/admin/repository.js +0 -252
  314. package/script/src/features/admin/schemas.d.ts.map +0 -1
  315. package/script/src/features/admin/schemas.js +0 -209
  316. package/script/src/features/auth/access/contract.d.ts +0 -14
  317. package/script/src/features/auth/access/contract.d.ts.map +0 -1
  318. package/script/src/features/auth/access/contract.js +0 -17
  319. package/script/src/features/auth/contract.d.ts +0 -112
  320. package/script/src/features/auth/contract.d.ts.map +0 -1
  321. package/script/src/features/auth/contract.js +0 -46
  322. package/script/src/features/auth/identity/contract.d.ts.map +0 -1
  323. package/script/src/features/auth/identity/contract.js +0 -20
  324. package/script/src/features/auth/identity/repository.d.ts +0 -22
  325. package/script/src/features/auth/identity/repository.d.ts.map +0 -1
  326. package/script/src/features/auth/identity/repository.js +0 -34
  327. package/script/src/features/auth/index.d.ts +0 -2
  328. package/script/src/features/auth/index.d.ts.map +0 -1
  329. package/script/src/features/auth/index.js +0 -17
  330. package/script/src/features/auth/manager.d.ts +0 -105
  331. package/script/src/features/auth/manager.d.ts.map +0 -1
  332. package/script/src/features/auth/manager.js +0 -185
  333. package/script/src/features/auth/profile/contract.d.ts.map +0 -1
  334. package/script/src/features/auth/profile/contract.js +0 -17
  335. package/script/src/features/auth/repository.d.ts +0 -30
  336. package/script/src/features/auth/repository.d.ts.map +0 -1
  337. package/script/src/features/auth/repository.js +0 -73
  338. package/script/src/features/auth/storage/client_store.d.ts +0 -30
  339. package/script/src/features/auth/storage/client_store.d.ts.map +0 -1
  340. package/script/src/features/auth/storage/client_store.js +0 -51
  341. package/script/src/features/auth/storage/client_token_handler.d.ts +0 -32
  342. package/script/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  343. package/script/src/features/auth/storage/client_token_handler.js +0 -40
  344. package/script/src/features/auth/storage/server_store.d.ts +0 -24
  345. package/script/src/features/auth/storage/server_store.d.ts.map +0 -1
  346. package/script/src/features/auth/storage/server_store.js +0 -38
  347. package/script/src/features/auth/storage/server_token_handler.d.ts +0 -36
  348. package/script/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  349. package/script/src/features/auth/storage/server_token_handler.js +0 -119
  350. package/script/src/features/auth/storage/types.d.ts.map +0 -1
  351. package/script/src/features/auth/storage/types.js +0 -2
  352. package/script/src/features/contact/contract.d.ts +0 -170
  353. package/script/src/features/contact/contract.d.ts.map +0 -1
  354. package/script/src/features/contact/contract.js +0 -52
  355. package/script/src/features/contact/index.d.ts +0 -2
  356. package/script/src/features/contact/index.d.ts.map +0 -1
  357. package/script/src/features/contact/index.js +0 -17
  358. package/script/src/features/contact/repository.d.ts +0 -58
  359. package/script/src/features/contact/repository.d.ts.map +0 -1
  360. package/script/src/features/contact/repository.js +0 -112
  361. package/script/src/features/payout/contract.d.ts +0 -623
  362. package/script/src/features/payout/contract.d.ts.map +0 -1
  363. package/script/src/features/payout/contract.js +0 -78
  364. package/script/src/features/payout/index.d.ts +0 -2
  365. package/script/src/features/payout/index.d.ts.map +0 -1
  366. package/script/src/features/payout/index.js +0 -17
  367. package/script/src/features/payout/repository.d.ts +0 -67
  368. package/script/src/features/payout/repository.d.ts.map +0 -1
  369. package/script/src/features/payout/repository.js +0 -167
  370. package/script/src/features/wallet/contract.d.ts.map +0 -1
  371. package/script/src/features/wallet/contract.js +0 -41
  372. package/script/src/features/wallet/index.d.ts +0 -2
  373. package/script/src/features/wallet/index.d.ts.map +0 -1
  374. package/script/src/features/wallet/index.js +0 -17
  375. package/script/src/features/wallet/repository.d.ts +0 -57
  376. package/script/src/features/wallet/repository.d.ts.map +0 -1
  377. package/script/src/features/wallet/repository.js +0 -97
  378. package/script/src/models/contact/derivatives/contact.d.ts.map +0 -1
  379. package/script/src/models/contact/derivatives/contact.js +0 -270
  380. package/script/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
  381. package/script/src/models/contact/derivatives/contact_info.d.ts +0 -188
  382. package/script/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  383. package/script/src/models/contact/derivatives/contact_info.js +0 -260
  384. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
  385. package/script/src/models/contact/index.d.ts +0 -5
  386. package/script/src/models/contact/index.d.ts.map +0 -1
  387. package/script/src/models/contact/index.js +0 -20
  388. package/script/src/models/contact/schemas.d.ts +0 -66
  389. package/script/src/models/contact/schemas.d.ts.map +0 -1
  390. package/script/src/models/contact/schemas.js +0 -67
  391. package/script/src/models/contact/validation.d.ts +0 -37
  392. package/script/src/models/contact/validation.d.ts.map +0 -1
  393. package/script/src/models/contact/validation.js +0 -146
  394. package/script/src/models/contact/validation.test.d.ts.map +0 -1
  395. package/script/src/models/index.d.ts +0 -7
  396. package/script/src/models/index.d.ts.map +0 -1
  397. package/script/src/models/index.js +0 -22
  398. package/script/src/models/payout/api.d.ts +0 -29
  399. package/script/src/models/payout/api.d.ts.map +0 -1
  400. package/script/src/models/payout/api.js +0 -2
  401. package/script/src/models/payout/channel.d.ts +0 -58
  402. package/script/src/models/payout/channel.d.ts.map +0 -1
  403. package/script/src/models/payout/channel.js +0 -56
  404. package/script/src/models/payout/derivatives/payout.d.ts.map +0 -1
  405. package/script/src/models/payout/derivatives/payout.js +0 -265
  406. package/script/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
  407. package/script/src/models/payout/index.d.ts +0 -6
  408. package/script/src/models/payout/index.d.ts.map +0 -1
  409. package/script/src/models/payout/index.js +0 -21
  410. package/script/src/models/payout/schemas.d.ts +0 -156
  411. package/script/src/models/payout/schemas.d.ts.map +0 -1
  412. package/script/src/models/payout/schemas.js +0 -108
  413. package/script/src/models/payout/status.d.ts +0 -33
  414. package/script/src/models/payout/status.d.ts.map +0 -1
  415. package/script/src/models/payout/status.js +0 -37
  416. package/script/src/models/permission.d.ts +0 -55
  417. package/script/src/models/permission.d.ts.map +0 -1
  418. package/script/src/models/permission.js +0 -53
  419. package/script/src/models/role.d.ts.map +0 -1
  420. package/script/src/models/role.js +0 -77
  421. package/script/src/models/user/authenticated-user.d.ts +0 -77
  422. package/script/src/models/user/authenticated-user.d.ts.map +0 -1
  423. package/script/src/models/user/authenticated-user.js +0 -230
  424. package/script/src/models/user/index.d.ts +0 -4
  425. package/script/src/models/user/index.d.ts.map +0 -1
  426. package/script/src/models/user/index.js +0 -19
  427. package/script/src/models/user/managed-user.d.ts +0 -108
  428. package/script/src/models/user/managed-user.d.ts.map +0 -1
  429. package/script/src/models/user/managed-user.js +0 -260
  430. package/script/src/models/user/profile.d.ts.map +0 -1
  431. package/script/src/models/user/profile.js +0 -338
  432. package/script/src/models/wallet/index.d.ts +0 -4
  433. package/script/src/models/wallet/index.d.ts.map +0 -1
  434. package/script/src/models/wallet/index.js +0 -19
  435. package/script/src/models/wallet/schemas.d.ts +0 -95
  436. package/script/src/models/wallet/schemas.d.ts.map +0 -1
  437. package/script/src/models/wallet/schemas.js +0 -38
  438. package/script/src/models/wallet/statement_entry.d.ts +0 -160
  439. package/script/src/models/wallet/statement_entry.d.ts.map +0 -1
  440. package/script/src/models/wallet/statement_entry.js +0 -259
  441. package/script/src/models/wallet/wallet.d.ts.map +0 -1
  442. package/script/src/models/wallet/wallet.js +0 -283
  443. package/script/src/shared/base_repository.d.ts +0 -80
  444. package/script/src/shared/base_repository.d.ts.map +0 -1
  445. package/script/src/shared/base_repository.js +0 -157
  446. package/script/src/shared/common_responses.d.ts.map +0 -1
  447. package/script/src/shared/common_responses.js +0 -13
  448. package/script/src/shared/index.d.ts +0 -3
  449. package/script/src/shared/index.d.ts.map +0 -1
  450. package/script/src/shared/index.js +0 -18
  451. package/script/src/shared/token_required_repository.d.ts +0 -78
  452. package/script/src/shared/token_required_repository.d.ts.map +0 -1
  453. package/script/src/shared/token_required_repository.js +0 -132
@@ -1,226 +0,0 @@
1
- // deno-lint-ignore-file no-explicit-any
2
- import { Permissions } from "../permission.js";
3
- import { Profile } from "./profile.js";
4
- /**
5
- * Represents a user in Afloat.
6
- *
7
- * This class centralizes user-related logic, simplifying interaction
8
- * with user-related data and ensuring consistent permission checks across the application.
9
- */
10
- export class User {
11
- /**
12
- * Creates a new instance of the `User` class.
13
- *
14
- * @param userData - An object containing the user's profile, token,
15
- * permissions (access list), and the `resetPassword` flag.
16
- */
17
- constructor(data) {
18
- /**
19
- * Logged-in user name
20
- */
21
- Object.defineProperty(this, "name", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- });
27
- /**
28
- * Logged-in identity: phone-number or email address
29
- */
30
- Object.defineProperty(this, "identity", {
31
- enumerable: true,
32
- configurable: true,
33
- writable: true,
34
- value: void 0
35
- });
36
- /**
37
- * The user's Afloat profile, containing personal information such as name, contact details, and account information.
38
- */
39
- Object.defineProperty(this, "profile", {
40
- enumerable: true,
41
- configurable: true,
42
- writable: true,
43
- value: void 0
44
- });
45
- /**
46
- * The user's authentication token. This token must be passed in the request headers
47
- * for all authenticated API endpoints.
48
- */
49
- Object.defineProperty(this, "token", {
50
- enumerable: true,
51
- configurable: true,
52
- writable: true,
53
- value: void 0
54
- });
55
- /**
56
- * Indicates whether the user is required to change their default password.
57
- *
58
- * Afloat users are initially provided with a default username and password. After the first
59
- * successful login, `resetPassword` will be set to `true` to prompt the user to set a new password.
60
- */
61
- Object.defineProperty(this, "resetPassword", {
62
- enumerable: true,
63
- configurable: true,
64
- writable: true,
65
- value: void 0
66
- });
67
- /**
68
- * A map of permission keys to boolean values, indicating whether the user has access
69
- * to specific actions or features in the system.
70
- */
71
- Object.defineProperty(this, "permissionsMap", {
72
- enumerable: true,
73
- configurable: true,
74
- writable: true,
75
- value: void 0
76
- });
77
- const { profile, token, access, resetPassword, name, identity } = data;
78
- this.profile = profile;
79
- this.token = token;
80
- this.resetPassword = resetPassword;
81
- this.name = name;
82
- this.identity = identity;
83
- this.permissionsMap = {};
84
- for (const group of Object.values(Permissions)) {
85
- for (const perm of Object.values(group)) {
86
- this.permissionsMap[perm] = access.includes(perm);
87
- }
88
- }
89
- }
90
- /**
91
- * Checks if the user has a specific permission.
92
- *
93
- * @param permission - The permission key to check.
94
- * @returns `true` if the user has the specified permission, otherwise `false`.
95
- */
96
- can(permission) {
97
- return this.permissionsMap[permission] ?? false;
98
- }
99
- /**
100
- * Serializes the `User` instance to a JSON string.
101
- *
102
- * @returns A JSON string representation of the `User` instance, including:
103
- * - `profile`: The user's profile information. (Requires profile.toJSON() method)
104
- * - `token`: The user's authentication token.
105
- * - `resetPassword`: Indicates whether the user must reset their password.
106
- * - `permissions`: An array of permission keys the user has.
107
- */
108
- toJSON() {
109
- return JSON.stringify({
110
- profile: this.profile.toObject(),
111
- token: this.token,
112
- resetPassword: this.resetPassword,
113
- name: this.name,
114
- identity: this.identity,
115
- permissions: Object.keys(this.permissionsMap).filter((key) => this.permissionsMap[key]),
116
- });
117
- }
118
- /**
119
- * Creates a new `User` instance from a JSON string.
120
- *
121
- * @param jsonString - A JSON string containing user data.
122
- * @returns A `User` instance reconstructed from the JSON data, or undefined if jsonString is invalid.
123
- */
124
- static fromJSON(jsonString) {
125
- try {
126
- return User.from(JSON.parse(jsonString));
127
- }
128
- catch (e) {
129
- console.error("Invalid JSON string:", e);
130
- return undefined;
131
- }
132
- }
133
- /**
134
- * Creates a new `User` instance from a data object, JSON string, or object with a Profile instance/object.
135
- *
136
- * @param data - The data object, JSON string, or object with Profile instance/object containing user information.
137
- * @returns A `User` instance, or undefined if data is invalid.
138
- */
139
- static from(data) {
140
- let parsedData;
141
- // Parse JSON string if needed
142
- if (typeof data === "string") {
143
- try {
144
- parsedData = JSON.parse(data);
145
- }
146
- catch (error) {
147
- console.error("Invalid JSON string:", error);
148
- return undefined;
149
- }
150
- }
151
- else {
152
- parsedData = data;
153
- }
154
- if (!parsedData) {
155
- console.error("Data is null or undefined.");
156
- return undefined;
157
- }
158
- // Handle different profile formats
159
- let profile;
160
- let rawProfile = parsedData.profile;
161
- // Handle stringified profile (the case in the provided sample)
162
- if (typeof rawProfile === "string") {
163
- try {
164
- // Attempt to parse the stringified profile
165
- rawProfile = JSON.parse(rawProfile);
166
- }
167
- catch (error) {
168
- console.error("Failed to parse profile JSON string:", error);
169
- return undefined;
170
- }
171
- }
172
- // Create Profile instance based on what we received
173
- if (Profile.is(rawProfile)) {
174
- // Already a Profile instance
175
- profile = rawProfile;
176
- }
177
- else if (typeof rawProfile === "object" && rawProfile !== null) {
178
- // Convert object to Profile instance
179
- profile = Profile.from(rawProfile);
180
- if (!profile) {
181
- console.error("Failed to create Profile from data:", rawProfile);
182
- return undefined;
183
- }
184
- }
185
- else if (typeof rawProfile === "string") {
186
- profile = Profile.fromJSON(rawProfile);
187
- if (!profile) {
188
- console.error("Failed to create Profile from JSON data:", rawProfile);
189
- return undefined;
190
- }
191
- }
192
- else {
193
- console.error("Invalid profile format:", typeof rawProfile);
194
- return undefined;
195
- }
196
- // Validate other required fields
197
- if (!parsedData.token || typeof parsedData.token !== "string" ||
198
- !parsedData.name || typeof parsedData.name !== "string" ||
199
- !parsedData.identity || typeof parsedData.identity !== "string" ||
200
- !Array.isArray(parsedData.permissions) &&
201
- !Array.isArray(parsedData.access) ||
202
- typeof parsedData.resetPassword !== "boolean") {
203
- console.error("Missing or invalid required User fields:", {
204
- token: typeof parsedData.token,
205
- name: typeof parsedData.name,
206
- identity: typeof parsedData.identity,
207
- permissions: Array.isArray(parsedData.permissions),
208
- access: Array.isArray(parsedData.access),
209
- resetPassword: typeof parsedData.resetPassword,
210
- });
211
- return undefined;
212
- }
213
- // Support both 'permissions' and 'access' field names
214
- const access = parsedData.access || parsedData.permissions;
215
- // Create and return the User instance
216
- const args = {
217
- profile: profile,
218
- token: parsedData.token,
219
- access: access,
220
- resetPassword: parsedData.resetPassword,
221
- name: parsedData.name,
222
- identity: parsedData.identity,
223
- };
224
- return new User(args);
225
- }
226
- }
@@ -1,4 +0,0 @@
1
- export * from "./profile.js";
2
- export * from "./authenticated-user.js";
3
- export * from "./managed-user.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/models/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./profile.js";
2
- export * from "./authenticated-user.js";
3
- export * from "./managed-user.js";
@@ -1 +0,0 @@
1
- {"version":3,"file":"managed-user.d.ts","sourceRoot":"","sources":["../../../../src/src/models/user/managed-user.ts"],"names":[],"mappings":"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"}
@@ -1,255 +0,0 @@
1
- // deno-lint-ignore-file no-explicit-any
2
- // ====================== Base User Entity ====================== //
3
- import { Role } from "../role.js";
4
- /**
5
- * Base user entity - represents a user in the system
6
- */
7
- export class UserEntity {
8
- constructor(data) {
9
- Object.defineProperty(this, "id", {
10
- enumerable: true,
11
- configurable: true,
12
- writable: true,
13
- value: void 0
14
- });
15
- Object.defineProperty(this, "name", {
16
- enumerable: true,
17
- configurable: true,
18
- writable: true,
19
- value: void 0
20
- });
21
- Object.defineProperty(this, "identity", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- }); // email or phone
27
- Object.defineProperty(this, "profileId", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: void 0
32
- });
33
- Object.defineProperty(this, "permissions", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: void 0
38
- });
39
- this.id = data.id;
40
- this.name = data.name;
41
- this.identity = data.identity;
42
- this.profileId = data.profileId;
43
- this.permissions = new Set(data.permissions);
44
- }
45
- /**
46
- * Check if user has a specific permission
47
- */
48
- can(permission) {
49
- return this.permissions.has(permission);
50
- }
51
- /**
52
- * Check if user has any of the specified permissions
53
- */
54
- canAny(permissions) {
55
- return permissions.some((p) => this.permissions.has(p));
56
- }
57
- /**
58
- * Check if user has all of the specified permissions
59
- */
60
- canAll(permissions) {
61
- return permissions.every((p) => this.permissions.has(p));
62
- }
63
- }
64
- /**
65
- * Represents a user from the admin management perspective.
66
- * Same person as AuthenticatedUser but with management metadata and capabilities.
67
- */
68
- export class ManagedUser extends UserEntity {
69
- constructor(data) {
70
- super({
71
- id: data.id,
72
- name: data.name,
73
- identity: data.identity,
74
- profileId: data.profileId,
75
- permissions: data.role?.access ?? [],
76
- });
77
- Object.defineProperty(this, "type", {
78
- enumerable: true,
79
- configurable: true,
80
- writable: true,
81
- value: void 0
82
- });
83
- Object.defineProperty(this, "roleId", {
84
- enumerable: true,
85
- configurable: true,
86
- writable: true,
87
- value: void 0
88
- });
89
- Object.defineProperty(this, "resetPassword", {
90
- enumerable: true,
91
- configurable: true,
92
- writable: true,
93
- value: void 0
94
- });
95
- Object.defineProperty(this, "isActive", {
96
- enumerable: true,
97
- configurable: true,
98
- writable: true,
99
- value: void 0
100
- });
101
- Object.defineProperty(this, "isArchived", {
102
- enumerable: true,
103
- configurable: true,
104
- writable: true,
105
- value: void 0
106
- });
107
- Object.defineProperty(this, "role", {
108
- enumerable: true,
109
- configurable: true,
110
- writable: true,
111
- value: void 0
112
- });
113
- Object.defineProperty(this, "createdAt", {
114
- enumerable: true,
115
- configurable: true,
116
- writable: true,
117
- value: void 0
118
- });
119
- Object.defineProperty(this, "updatedAt", {
120
- enumerable: true,
121
- configurable: true,
122
- writable: true,
123
- value: void 0
124
- });
125
- this.type = data.type;
126
- this.roleId = data.roleId;
127
- this.resetPassword = data.resetPassword;
128
- this.isActive = data.isActive;
129
- this.isArchived = data.isArchived;
130
- this.createdAt = new Date(data.createdAt);
131
- this.updatedAt = new Date(data.updatedAt);
132
- if (data.role) {
133
- try {
134
- this.role = new Role(data.role);
135
- }
136
- catch (_) {
137
- //
138
- }
139
- }
140
- }
141
- /**
142
- * Check if user account is active
143
- */
144
- isAccountActive() {
145
- return this.isActive;
146
- }
147
- /**
148
- * Check if user account is archived
149
- */
150
- isAccountArchived() {
151
- return this.isArchived;
152
- }
153
- /**
154
- * Check if user needs to reset password
155
- */
156
- needsPasswordReset() {
157
- return this.resetPassword;
158
- }
159
- /**
160
- * Get comprehensive account status
161
- */
162
- getAccountStatus() {
163
- if (this.isArchived) {
164
- return {
165
- status: "archived",
166
- label: "Archived",
167
- color: "default",
168
- description: "Account has been archived and is no longer accessible",
169
- };
170
- }
171
- if (!this.isActive) {
172
- return {
173
- status: "inactive",
174
- label: "Inactive",
175
- color: "error",
176
- description: "Account has been deactivated by an administrator",
177
- };
178
- }
179
- if (this.resetPassword) {
180
- return {
181
- status: "password_reset_required",
182
- label: "Password Reset Required",
183
- color: "warning",
184
- description: "User must reset their password on next login",
185
- };
186
- }
187
- return {
188
- status: "active",
189
- label: "Active",
190
- color: "success",
191
- description: "Account is active and ready to use",
192
- };
193
- }
194
- /**
195
- * Get role display name
196
- */
197
- getRoleName() {
198
- return this.role?.name ?? "";
199
- }
200
- /**
201
- * Get formatted creation date
202
- */
203
- getCreatedDate() {
204
- return this.createdAt.toLocaleDateString();
205
- }
206
- /**
207
- * Get time since last update
208
- */
209
- getLastUpdateInfo() {
210
- const now = new Date();
211
- const diffMs = now.getTime() - this.updatedAt.getTime();
212
- const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));
213
- if (diffDays === 0)
214
- return "Today";
215
- if (diffDays === 1)
216
- return "Yesterday";
217
- if (diffDays < 7)
218
- return `${diffDays} days ago`;
219
- if (diffDays < 30)
220
- return `${Math.floor(diffDays / 7)} weeks ago`;
221
- return this.updatedAt.toLocaleDateString();
222
- }
223
- static from(data) {
224
- try {
225
- if (!data?.id || !data?.name || !data?.identity || !data?.roleId) {
226
- console.error("Missing required ManagedUser fields:", data);
227
- return undefined;
228
- }
229
- return new ManagedUser(data);
230
- }
231
- catch (error) {
232
- console.error("Error creating ManagedUser:", error);
233
- return undefined;
234
- }
235
- }
236
- static createMany(dataArray) {
237
- return dataArray.map((data) => ManagedUser.from(data)).filter(Boolean);
238
- }
239
- toJSON() {
240
- return {
241
- id: this.id,
242
- name: this.name,
243
- identity: this.identity,
244
- type: this.type,
245
- profileId: this.profileId,
246
- roleId: this.roleId,
247
- resetPassword: this.resetPassword,
248
- isActive: this.isActive,
249
- isArchived: this.isArchived,
250
- role: this.role?.toJSON(),
251
- createdAt: this.createdAt.toISOString(),
252
- updatedAt: this.updatedAt.toISOString(),
253
- };
254
- }
255
- }
@@ -1,161 +0,0 @@
1
- import { z } from "zod";
2
- import { PhoneNumber } from "@temboplus/frontend-core";
3
- /**
4
- * Type definition for profile schema using Zod.
5
- * This type helper ensures type safety when implementing the actual schema.
6
- */
7
- type ProfileZodSchemaType = z.ZodObject<{
8
- id: z.ZodString;
9
- firstName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
10
- lastName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
11
- displayName: z.ZodString;
12
- phone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
13
- accountNo: z.ZodString;
14
- email: z.ZodNullable<z.ZodOptional<z.ZodString>>;
15
- }>;
16
- /**
17
- * Zod schema for validating user profile data.
18
- * Defines validation rules and constraints for each profile field.
19
- *
20
- * @const {ProfileType}
21
- *
22
- * @property {string} id - Unique identifier for the profile
23
- * @property {string | null | undefined} firstName - User's first name, can be null or undefined
24
- * @property {string | null | undefined} lastName - User's last name, can be null or undefined
25
- * @property {string} displayName - User's display name
26
- * @property {string | null | undefined} phone - User's contact phone number, can be null or undefined
27
- * @property {string} accountNo - User's account number
28
- * @property {string | null | undefined} email - User's email address, can be null or undefined
29
- */
30
- export declare const profileSchema: ProfileZodSchemaType;
31
- /**
32
- * TypeScript type representing a validated user profile.
33
- * Use this type for profile instances that have been validated against the schema.
34
- */
35
- export type ProfileType = z.infer<typeof profileSchema>;
36
- /**
37
- * Represents a user profile in the system.
38
- *
39
- * This class provides methods for creating, validating, and manipulating user profile data.
40
- * It integrates with the Zod schema validation for data integrity.
41
- */
42
- export declare class Profile {
43
- /** Unique identifier for the profile */
44
- private _id;
45
- /** User's first name */
46
- private _firstName?;
47
- /** User's last name */
48
- private _lastName?;
49
- /** User's display name, can be used for presentation */
50
- private _displayName;
51
- /** User's phone number, stored as a PhoneNumber object */
52
- private _phone?;
53
- /** User's account number */
54
- private _accountNo;
55
- /** User's email address */
56
- private _email?;
57
- /**
58
- * Gets the profile schema used for validation.
59
- */
60
- static get schema(): ProfileZodSchemaType;
61
- /**
62
- * Creates a new Profile instance with the provided data.
63
- *
64
- * Private constructor to enforce use of static factory methods.
65
- *
66
- * @param data - Object containing profile information
67
- */
68
- private constructor();
69
- /**
70
- * Creates a new Profile instance with the provided data.
71
- *
72
- * @param data - Object containing profile information.
73
- */
74
- static create(data: {
75
- id: string;
76
- firstName?: string | null;
77
- lastName?: string | null;
78
- displayName: string;
79
- phone?: string | null;
80
- accountNo: string;
81
- email?: string | null;
82
- }): Profile | undefined;
83
- /**
84
- * Gets the profile's unique identifier.
85
- */
86
- get id(): string;
87
- /**
88
- * Gets the user's first name.
89
- */
90
- get firstName(): string | null | undefined;
91
- /**
92
- * Gets the user's last name.
93
- */
94
- get lastName(): string | null | undefined;
95
- /**
96
- * Gets the user's display name.
97
- */
98
- get displayName(): string;
99
- /**
100
- * Gets the user's phone number object.
101
- */
102
- get phone(): PhoneNumber | null | undefined;
103
- /**
104
- * Gets the user's account number.
105
- */
106
- get accountNo(): string;
107
- /**
108
- * Gets the user's email address.
109
- */
110
- get email(): string | null | undefined;
111
- /**
112
- * Gets the user's formatted phone number in international format.
113
- */
114
- get formattedPhone(): string | null | undefined;
115
- /**
116
- * Gets the user's name for display purposes.
117
- * Returns the display name if it exists, otherwise returns the first and last name combined.
118
- */
119
- getName(): string;
120
- /**
121
- * Creates a plain object representation of the profile for validation or serialization.
122
- *
123
- * @returns A plain object matching the ProfileType interface
124
- */
125
- toObject(): ProfileType;
126
- /**
127
- * Converts the profile to a JSON string.
128
- *
129
- * @returns A JSON string representation of the profile
130
- */
131
- toJSON(): string;
132
- /**
133
- * Validates the profile data against the Zod schema.
134
- *
135
- * @returns True if the profile is valid, false otherwise
136
- */
137
- validate(): boolean;
138
- /**
139
- * Creates a Profile instance from a JSON string.
140
- *
141
- * @param jsonString - JSON string containing profile data
142
- * @returns A new Profile instance, or undefined if parsing failed
143
- */
144
- static fromJSON(jsonString: string): Profile | undefined;
145
- /**
146
- * Creates a Profile instance from a plain object.
147
- *
148
- * @param data - Object containing profile data
149
- * @returns A new Profile instance, or undefined if parsing failed
150
- */
151
- static from(data: any): Profile | undefined;
152
- /**
153
- * Type guard to check if an unknown object is a valid Profile instance.
154
- *
155
- * @param obj - The object to check
156
- * @returns Type predicate indicating if the object is a valid Profile
157
- */
158
- static is(obj: unknown): obj is Profile;
159
- }
160
- export {};
161
- //# sourceMappingURL=profile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/src/models/user/profile.ts"],"names":[],"mappings":"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"}