@temboplus/afloat 0.1.80 → 0.2.0-beta.1

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 (413) hide show
  1. package/README.md +246 -42
  2. package/dist/index.cjs.js +2 -0
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.d.ts +10 -0
  5. package/dist/index.esm.js +2 -0
  6. package/dist/index.esm.js.map +1 -0
  7. package/dist/lib/api/base-repository.d.ts +177 -0
  8. package/dist/lib/api/index.d.ts +1 -0
  9. package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
  10. package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
  11. package/dist/lib/error/error.utils.d.ts +22 -0
  12. package/dist/lib/error/index.d.ts +3 -0
  13. package/dist/lib/query/index.d.ts +4 -0
  14. package/dist/lib/query/pagination/pagination.d.ts +73 -0
  15. package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
  16. package/dist/lib/query/query.builder.d.ts +75 -0
  17. package/dist/lib/query/query.types.d.ts +36 -0
  18. package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
  19. package/dist/modules/auth/auth.repository.d.ts +83 -0
  20. package/dist/modules/auth/company-membership.model.d.ts +171 -0
  21. package/dist/modules/auth/index.d.ts +3 -0
  22. package/dist/modules/auth/user.model.d.ts +363 -0
  23. package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
  24. package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
  25. package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
  26. package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
  27. package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
  28. package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
  29. package/dist/modules/beneficiary/index.d.ts +6 -0
  30. package/dist/modules/login/index.d.ts +4 -0
  31. package/dist/modules/login/login.api-contract.d.ts +51 -0
  32. package/dist/modules/login/login.dtos.d.ts +85 -0
  33. package/dist/modules/login/login.model.d.ts +168 -0
  34. package/dist/modules/login/login.repository.d.ts +58 -0
  35. package/{script/npm/src/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +8 -9
  36. package/dist/modules/payout/index.d.ts +5 -0
  37. package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
  38. package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
  39. package/dist/modules/payout/payout.dtos.d.ts +607 -0
  40. package/dist/modules/payout/payout.model.d.ts +383 -0
  41. package/dist/modules/payout/payout.query.d.ts +134 -0
  42. package/dist/modules/payout/payout.repository.d.ts +204 -0
  43. package/dist/modules/profile/index.d.ts +3 -0
  44. package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
  45. package/dist/modules/profile/profile.dtos.d.ts +80 -0
  46. package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
  47. package/dist/modules/profile/profile.repository.d.ts +56 -0
  48. package/dist/modules/team-member/index.d.ts +4 -0
  49. package/dist/modules/team-member/role.model.d.ts +61 -0
  50. package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
  51. package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
  52. package/dist/modules/team-member/team-member.model.d.ts +237 -0
  53. package/dist/modules/team-member/team-member.repository.d.ts +179 -0
  54. package/dist/modules/wallet/index.d.ts +6 -0
  55. package/dist/modules/wallet/narration.model.d.ts +225 -0
  56. package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
  57. package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
  58. package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
  59. package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
  60. package/dist/modules/wallet/wallet.query.d.ts +95 -0
  61. package/dist/modules/wallet/wallet.repository.d.ts +205 -0
  62. package/dist/modules/wallet/wallet.utils.d.ts +17 -0
  63. package/package.json +49 -23
  64. package/LICENSE +0 -7
  65. package/esm/mod.d.ts +0 -8
  66. package/esm/mod.d.ts.map +0 -1
  67. package/esm/mod.js +0 -7
  68. package/esm/package.json +0 -3
  69. package/esm/src/errors/api_error.d.ts.map +0 -1
  70. package/esm/src/errors/api_error.js +0 -90
  71. package/esm/src/errors/index.d.ts +0 -3
  72. package/esm/src/errors/index.d.ts.map +0 -1
  73. package/esm/src/errors/index.js +0 -2
  74. package/esm/src/errors/permission_error.d.ts +0 -48
  75. package/esm/src/errors/permission_error.d.ts.map +0 -1
  76. package/esm/src/errors/permission_error.js +0 -70
  77. package/esm/src/features/admin/contract.d.ts.map +0 -1
  78. package/esm/src/features/admin/contract.js +0 -210
  79. package/esm/src/features/admin/index.d.ts +0 -4
  80. package/esm/src/features/admin/index.d.ts.map +0 -1
  81. package/esm/src/features/admin/index.js +0 -3
  82. package/esm/src/features/admin/repository.d.ts +0 -114
  83. package/esm/src/features/admin/repository.d.ts.map +0 -1
  84. package/esm/src/features/admin/repository.js +0 -248
  85. package/esm/src/features/admin/schemas.d.ts +0 -146
  86. package/esm/src/features/admin/schemas.d.ts.map +0 -1
  87. package/esm/src/features/admin/schemas.js +0 -206
  88. package/esm/src/features/auth/access/contract.d.ts +0 -14
  89. package/esm/src/features/auth/access/contract.d.ts.map +0 -1
  90. package/esm/src/features/auth/access/contract.js +0 -14
  91. package/esm/src/features/auth/access/repository.d.ts +0 -11
  92. package/esm/src/features/auth/access/repository.d.ts.map +0 -1
  93. package/esm/src/features/auth/access/repository.js +0 -25
  94. package/esm/src/features/auth/contract.d.ts.map +0 -1
  95. package/esm/src/features/auth/contract.js +0 -43
  96. package/esm/src/features/auth/identity/contract.d.ts +0 -23
  97. package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
  98. package/esm/src/features/auth/identity/contract.js +0 -17
  99. package/esm/src/features/auth/identity/repository.d.ts +0 -22
  100. package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
  101. package/esm/src/features/auth/identity/repository.js +0 -30
  102. package/esm/src/features/auth/index.d.ts +0 -6
  103. package/esm/src/features/auth/index.d.ts.map +0 -1
  104. package/esm/src/features/auth/index.js +0 -5
  105. package/esm/src/features/auth/manager.d.ts +0 -105
  106. package/esm/src/features/auth/manager.d.ts.map +0 -1
  107. package/esm/src/features/auth/manager.js +0 -181
  108. package/esm/src/features/auth/profile/contract.d.ts +0 -37
  109. package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
  110. package/esm/src/features/auth/profile/contract.js +0 -14
  111. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  112. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  113. package/esm/src/features/auth/profile/repository.js +0 -25
  114. package/esm/src/features/auth/repository.d.ts +0 -30
  115. package/esm/src/features/auth/repository.d.ts.map +0 -1
  116. package/esm/src/features/auth/repository.js +0 -69
  117. package/esm/src/features/auth/storage/client_store.d.ts +0 -30
  118. package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
  119. package/esm/src/features/auth/storage/client_store.js +0 -46
  120. package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
  121. package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  122. package/esm/src/features/auth/storage/client_token_handler.js +0 -36
  123. package/esm/src/features/auth/storage/server_store.d.ts +0 -24
  124. package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
  125. package/esm/src/features/auth/storage/server_store.js +0 -34
  126. package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
  127. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  128. package/esm/src/features/auth/storage/server_token_handler.js +0 -115
  129. package/esm/src/features/auth/storage/types.d.ts +0 -42
  130. package/esm/src/features/auth/storage/types.d.ts.map +0 -1
  131. package/esm/src/features/auth/storage/types.js +0 -1
  132. package/esm/src/features/contact/contract.d.ts +0 -170
  133. package/esm/src/features/contact/contract.d.ts.map +0 -1
  134. package/esm/src/features/contact/contract.js +0 -49
  135. package/esm/src/features/contact/index.d.ts +0 -2
  136. package/esm/src/features/contact/index.d.ts.map +0 -1
  137. package/esm/src/features/contact/index.js +0 -1
  138. package/esm/src/features/contact/repository.d.ts +0 -58
  139. package/esm/src/features/contact/repository.d.ts.map +0 -1
  140. package/esm/src/features/contact/repository.js +0 -108
  141. package/esm/src/features/payout/contract.d.ts.map +0 -1
  142. package/esm/src/features/payout/contract.js +0 -75
  143. package/esm/src/features/payout/index.d.ts +0 -2
  144. package/esm/src/features/payout/index.d.ts.map +0 -1
  145. package/esm/src/features/payout/index.js +0 -1
  146. package/esm/src/features/payout/repository.d.ts +0 -67
  147. package/esm/src/features/payout/repository.d.ts.map +0 -1
  148. package/esm/src/features/payout/repository.js +0 -179
  149. package/esm/src/features/wallet/contract.d.ts +0 -137
  150. package/esm/src/features/wallet/contract.d.ts.map +0 -1
  151. package/esm/src/features/wallet/contract.js +0 -38
  152. package/esm/src/features/wallet/index.d.ts +0 -2
  153. package/esm/src/features/wallet/index.d.ts.map +0 -1
  154. package/esm/src/features/wallet/index.js +0 -1
  155. package/esm/src/features/wallet/repository.d.ts +0 -57
  156. package/esm/src/features/wallet/repository.d.ts.map +0 -1
  157. package/esm/src/features/wallet/repository.js +0 -93
  158. package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
  159. package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
  160. package/esm/src/models/contact/derivatives/contact.js +0 -266
  161. package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
  162. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  163. package/esm/src/models/contact/derivatives/contact_info.js +0 -255
  164. package/esm/src/models/contact/index.d.ts +0 -5
  165. package/esm/src/models/contact/index.d.ts.map +0 -1
  166. package/esm/src/models/contact/index.js +0 -4
  167. package/esm/src/models/contact/schemas.d.ts +0 -66
  168. package/esm/src/models/contact/schemas.d.ts.map +0 -1
  169. package/esm/src/models/contact/schemas.js +0 -64
  170. package/esm/src/models/contact/validation.d.ts +0 -37
  171. package/esm/src/models/contact/validation.d.ts.map +0 -1
  172. package/esm/src/models/contact/validation.js +0 -146
  173. package/esm/src/models/index.d.ts +0 -7
  174. package/esm/src/models/index.d.ts.map +0 -1
  175. package/esm/src/models/index.js +0 -6
  176. package/esm/src/models/payout/api.d.ts +0 -29
  177. package/esm/src/models/payout/api.d.ts.map +0 -1
  178. package/esm/src/models/payout/api.js +0 -1
  179. package/esm/src/models/payout/channel.d.ts +0 -58
  180. package/esm/src/models/payout/channel.d.ts.map +0 -1
  181. package/esm/src/models/payout/channel.js +0 -53
  182. package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
  183. package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
  184. package/esm/src/models/payout/derivatives/payout.js +0 -271
  185. package/esm/src/models/payout/index.d.ts +0 -7
  186. package/esm/src/models/payout/index.d.ts.map +0 -1
  187. package/esm/src/models/payout/index.js +0 -6
  188. package/esm/src/models/payout/narration.d.ts +0 -164
  189. package/esm/src/models/payout/narration.d.ts.map +0 -1
  190. package/esm/src/models/payout/narration.js +0 -308
  191. package/esm/src/models/payout/schemas.d.ts +0 -156
  192. package/esm/src/models/payout/schemas.d.ts.map +0 -1
  193. package/esm/src/models/payout/schemas.js +0 -105
  194. package/esm/src/models/payout/status.d.ts +0 -33
  195. package/esm/src/models/payout/status.d.ts.map +0 -1
  196. package/esm/src/models/payout/status.js +0 -34
  197. package/esm/src/models/permission.d.ts +0 -55
  198. package/esm/src/models/permission.d.ts.map +0 -1
  199. package/esm/src/models/permission.js +0 -50
  200. package/esm/src/models/role.d.ts +0 -21
  201. package/esm/src/models/role.d.ts.map +0 -1
  202. package/esm/src/models/role.js +0 -73
  203. package/esm/src/models/user/authenticated-user.d.ts +0 -77
  204. package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
  205. package/esm/src/models/user/authenticated-user.js +0 -226
  206. package/esm/src/models/user/index.d.ts +0 -4
  207. package/esm/src/models/user/index.d.ts.map +0 -1
  208. package/esm/src/models/user/index.js +0 -3
  209. package/esm/src/models/user/managed-user.d.ts +0 -108
  210. package/esm/src/models/user/managed-user.d.ts.map +0 -1
  211. package/esm/src/models/user/managed-user.js +0 -255
  212. package/esm/src/models/user/profile.d.ts +0 -161
  213. package/esm/src/models/user/profile.d.ts.map +0 -1
  214. package/esm/src/models/user/profile.js +0 -334
  215. package/esm/src/models/wallet/index.d.ts +0 -4
  216. package/esm/src/models/wallet/index.d.ts.map +0 -1
  217. package/esm/src/models/wallet/index.js +0 -3
  218. package/esm/src/models/wallet/schemas.d.ts +0 -95
  219. package/esm/src/models/wallet/schemas.d.ts.map +0 -1
  220. package/esm/src/models/wallet/schemas.js +0 -35
  221. package/esm/src/models/wallet/statement_entry.d.ts +0 -160
  222. package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
  223. package/esm/src/models/wallet/statement_entry.js +0 -255
  224. package/esm/src/models/wallet/wallet.d.ts.map +0 -1
  225. package/esm/src/models/wallet/wallet.js +0 -279
  226. package/esm/src/shared/base_repository.d.ts +0 -80
  227. package/esm/src/shared/base_repository.d.ts.map +0 -1
  228. package/esm/src/shared/base_repository.js +0 -153
  229. package/esm/src/shared/common_responses.d.ts +0 -13
  230. package/esm/src/shared/common_responses.d.ts.map +0 -1
  231. package/esm/src/shared/common_responses.js +0 -10
  232. package/esm/src/shared/index.d.ts +0 -3
  233. package/esm/src/shared/index.d.ts.map +0 -1
  234. package/esm/src/shared/index.js +0 -2
  235. package/esm/src/shared/token_required_repository.d.ts +0 -78
  236. package/esm/src/shared/token_required_repository.d.ts.map +0 -1
  237. package/esm/src/shared/token_required_repository.js +0 -128
  238. package/script/mod.d.ts +0 -8
  239. package/script/mod.d.ts.map +0 -1
  240. package/script/mod.js +0 -23
  241. package/script/npm/src/mod.d.ts +0 -8
  242. package/script/npm/src/mod.d.ts.map +0 -1
  243. package/script/npm/src/mod.js +0 -23
  244. package/script/npm/src/src/errors/api_error.d.ts +0 -63
  245. package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
  246. package/script/npm/src/src/errors/api_error.js +0 -94
  247. package/script/npm/src/src/errors/index.d.ts +0 -3
  248. package/script/npm/src/src/errors/index.d.ts.map +0 -1
  249. package/script/npm/src/src/errors/index.js +0 -18
  250. package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
  251. package/script/npm/src/src/errors/permission_error.js +0 -74
  252. package/script/npm/src/src/features/admin/contract.d.ts +0 -842
  253. package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
  254. package/script/npm/src/src/features/admin/contract.js +0 -213
  255. package/script/npm/src/src/features/admin/index.d.ts +0 -4
  256. package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
  257. package/script/npm/src/src/features/admin/index.js +0 -19
  258. package/script/npm/src/src/features/admin/repository.d.ts +0 -114
  259. package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
  260. package/script/npm/src/src/features/admin/repository.js +0 -252
  261. package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
  262. package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
  263. package/script/npm/src/src/features/admin/schemas.js +0 -209
  264. package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
  265. package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
  266. package/script/npm/src/src/features/auth/access/contract.js +0 -17
  267. package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
  268. package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
  269. package/script/npm/src/src/features/auth/access/repository.js +0 -29
  270. package/script/npm/src/src/features/auth/contract.d.ts +0 -112
  271. package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
  272. package/script/npm/src/src/features/auth/contract.js +0 -46
  273. package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
  274. package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
  275. package/script/npm/src/src/features/auth/identity/contract.js +0 -20
  276. package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
  277. package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
  278. package/script/npm/src/src/features/auth/identity/repository.js +0 -34
  279. package/script/npm/src/src/features/auth/index.d.ts +0 -6
  280. package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
  281. package/script/npm/src/src/features/auth/index.js +0 -21
  282. package/script/npm/src/src/features/auth/manager.d.ts +0 -105
  283. package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
  284. package/script/npm/src/src/features/auth/manager.js +0 -185
  285. package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
  286. package/script/npm/src/src/features/auth/profile/contract.js +0 -17
  287. package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
  288. package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
  289. package/script/npm/src/src/features/auth/profile/repository.js +0 -29
  290. package/script/npm/src/src/features/auth/repository.d.ts +0 -30
  291. package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
  292. package/script/npm/src/src/features/auth/repository.js +0 -73
  293. package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
  294. package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
  295. package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
  296. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
  297. package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
  298. package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
  299. package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
  300. package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
  301. package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
  302. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
  303. package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
  304. package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
  305. package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
  306. package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
  307. package/script/npm/src/src/features/auth/storage/types.js +0 -2
  308. package/script/npm/src/src/features/contact/contract.d.ts +0 -170
  309. package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
  310. package/script/npm/src/src/features/contact/contract.js +0 -52
  311. package/script/npm/src/src/features/contact/index.d.ts +0 -2
  312. package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
  313. package/script/npm/src/src/features/contact/index.js +0 -17
  314. package/script/npm/src/src/features/contact/repository.d.ts +0 -58
  315. package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
  316. package/script/npm/src/src/features/contact/repository.js +0 -112
  317. package/script/npm/src/src/features/payout/contract.d.ts +0 -623
  318. package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
  319. package/script/npm/src/src/features/payout/contract.js +0 -78
  320. package/script/npm/src/src/features/payout/index.d.ts +0 -2
  321. package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
  322. package/script/npm/src/src/features/payout/index.js +0 -17
  323. package/script/npm/src/src/features/payout/repository.d.ts +0 -67
  324. package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
  325. package/script/npm/src/src/features/payout/repository.js +0 -183
  326. package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
  327. package/script/npm/src/src/features/wallet/contract.js +0 -41
  328. package/script/npm/src/src/features/wallet/index.d.ts +0 -2
  329. package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
  330. package/script/npm/src/src/features/wallet/index.js +0 -17
  331. package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
  332. package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
  333. package/script/npm/src/src/features/wallet/repository.js +0 -97
  334. package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
  335. package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
  336. package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
  337. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
  338. package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
  339. package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
  340. package/script/npm/src/src/models/contact/index.d.ts +0 -5
  341. package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
  342. package/script/npm/src/src/models/contact/index.js +0 -20
  343. package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
  344. package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
  345. package/script/npm/src/src/models/contact/schemas.js +0 -67
  346. package/script/npm/src/src/models/contact/validation.d.ts +0 -37
  347. package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
  348. package/script/npm/src/src/models/contact/validation.js +0 -153
  349. package/script/npm/src/src/models/index.d.ts +0 -7
  350. package/script/npm/src/src/models/index.d.ts.map +0 -1
  351. package/script/npm/src/src/models/index.js +0 -22
  352. package/script/npm/src/src/models/payout/api.d.ts +0 -29
  353. package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
  354. package/script/npm/src/src/models/payout/api.js +0 -2
  355. package/script/npm/src/src/models/payout/channel.d.ts +0 -58
  356. package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
  357. package/script/npm/src/src/models/payout/channel.js +0 -56
  358. package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
  359. package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
  360. package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
  361. package/script/npm/src/src/models/payout/index.d.ts +0 -7
  362. package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
  363. package/script/npm/src/src/models/payout/index.js +0 -22
  364. package/script/npm/src/src/models/payout/narration.d.ts +0 -164
  365. package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
  366. package/script/npm/src/src/models/payout/narration.js +0 -312
  367. package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
  368. package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
  369. package/script/npm/src/src/models/payout/schemas.js +0 -108
  370. package/script/npm/src/src/models/payout/status.d.ts +0 -33
  371. package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
  372. package/script/npm/src/src/models/payout/status.js +0 -37
  373. package/script/npm/src/src/models/permission.d.ts.map +0 -1
  374. package/script/npm/src/src/models/permission.js +0 -53
  375. package/script/npm/src/src/models/role.d.ts +0 -21
  376. package/script/npm/src/src/models/role.d.ts.map +0 -1
  377. package/script/npm/src/src/models/role.js +0 -77
  378. package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
  379. package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
  380. package/script/npm/src/src/models/user/authenticated-user.js +0 -230
  381. package/script/npm/src/src/models/user/index.d.ts +0 -4
  382. package/script/npm/src/src/models/user/index.d.ts.map +0 -1
  383. package/script/npm/src/src/models/user/index.js +0 -19
  384. package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
  385. package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
  386. package/script/npm/src/src/models/user/managed-user.js +0 -260
  387. package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
  388. package/script/npm/src/src/models/user/profile.js +0 -338
  389. package/script/npm/src/src/models/wallet/index.d.ts +0 -4
  390. package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
  391. package/script/npm/src/src/models/wallet/index.js +0 -19
  392. package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
  393. package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
  394. package/script/npm/src/src/models/wallet/schemas.js +0 -38
  395. package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
  396. package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
  397. package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
  398. package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
  399. package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
  400. package/script/npm/src/src/models/wallet/wallet.js +0 -283
  401. package/script/npm/src/src/shared/base_repository.d.ts +0 -80
  402. package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
  403. package/script/npm/src/src/shared/base_repository.js +0 -157
  404. package/script/npm/src/src/shared/common_responses.d.ts +0 -13
  405. package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
  406. package/script/npm/src/src/shared/common_responses.js +0 -13
  407. package/script/npm/src/src/shared/index.d.ts +0 -3
  408. package/script/npm/src/src/shared/index.d.ts.map +0 -1
  409. package/script/npm/src/src/shared/index.js +0 -18
  410. package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
  411. package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
  412. package/script/npm/src/src/shared/token_required_repository.js +0 -132
  413. package/script/package.json +0 -3
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PayoutSchemas = void 0;
4
- const zod_1 = require("zod");
5
- const status_js_1 = require("./status.js");
6
- /**
7
- * Creates a Zod schema that transforms null values to undefined
8
- * This is useful when dealing with APIs that return null but you want to use undefined in your codebase
9
- *
10
- * @template T - The type of Zod schema being transformed
11
- * @param {T} schema - The original Zod schema to transform
12
- * @returns {MakeOptionalResult<T>} A new schema that:
13
- * - Accepts the original type or null as input
14
- * - Outputs the original type or undefined
15
- * - Automatically transforms null to undefined during validation
16
- *
17
- * @example
18
- * const userSchema = z.object({
19
- * name: makeOptional(z.string()), // accepts: string | null, outputs: string | undefined
20
- * });
21
- *
22
- * // These are all valid:
23
- * userSchema.parse({ name: "John" }) // { name: "John" }
24
- * userSchema.parse({ name: null }) // { name: undefined }
25
- */
26
- const makeOptional = (schema) => schema.nullable().transform((val) => val === null ? undefined : val);
27
- /**
28
- * Schema for identifying users in the payout process
29
- * Used to track who created or actioned a payout
30
- */
31
- const identifierSchema = zod_1.z.object({
32
- name: zod_1.z.string(),
33
- identity: zod_1.z.string(),
34
- });
35
- /**
36
- * Schema for payout status
37
- * Defines all possible states a payout can be in
38
- */
39
- const payoutStatusSchema = zod_1.z.enum([
40
- status_js_1.PAYOUT_STATUS.CREATED,
41
- status_js_1.PAYOUT_STATUS.PAID,
42
- status_js_1.PAYOUT_STATUS.FAILED,
43
- status_js_1.PAYOUT_STATUS.REJECTED,
44
- status_js_1.PAYOUT_STATUS.PENDING,
45
- status_js_1.PAYOUT_STATUS.QUEUED,
46
- status_js_1.PAYOUT_STATUS.REVERSED,
47
- ]);
48
- /**
49
- * Schema for payout approval status
50
- * Defines all possible approval states
51
- */
52
- const approvalPayoutStatusSchema = zod_1.z.enum([
53
- status_js_1.PAYOUT_APPROVAL_STATUS.APPROVED,
54
- status_js_1.PAYOUT_APPROVAL_STATUS.PENDING,
55
- status_js_1.PAYOUT_APPROVAL_STATUS.REJECTED,
56
- ]);
57
- /**
58
- * Base schema for payout operations
59
- * Contains common fields used across all payout operations
60
- */
61
- const basePayoutSchema = zod_1.z.object({
62
- channel: zod_1.z.string(),
63
- msisdn: zod_1.z.string(),
64
- amount: zod_1.z.coerce.number(),
65
- description: zod_1.z.string(),
66
- notes: makeOptional(zod_1.z.string()).optional(),
67
- });
68
- /**
69
- * Schema for creating a new payout
70
- * Extends base payout schema with payee information
71
- */
72
- const payoutInputSchema = basePayoutSchema.extend({
73
- payeeName: zod_1.z.string(),
74
- });
75
- /**
76
- * Schema for complete payout record
77
- * Extends base payout schema with additional fields for:
78
- * - Identification (id, profileId)
79
- * - Status tracking
80
- * - Timestamps
81
- * - Approval information
82
- * - User tracking (created by, actioned by)
83
- */
84
- const payoutSchema = basePayoutSchema.extend({
85
- id: zod_1.z.string(),
86
- profileId: zod_1.z.string(),
87
- payeeName: zod_1.z.string(),
88
- status: payoutStatusSchema,
89
- statusMessage: zod_1.z.string(),
90
- partnerReference: makeOptional(zod_1.z.string()).optional(),
91
- createdAt: zod_1.z.coerce.date(),
92
- updatedAt: zod_1.z.coerce.date(),
93
- actionedAt: zod_1.z.coerce.date().nullish(),
94
- approvalStatus: approvalPayoutStatusSchema,
95
- createdBy: makeOptional(identifierSchema).optional(),
96
- actionedBy: makeOptional(identifierSchema).optional(),
97
- });
98
- /**
99
- * Export object containing all payout-related schemas
100
- * Used for validation and type checking throughout the application
101
- */
102
- exports.PayoutSchemas = {
103
- payoutData: payoutSchema, // Complete payout record schema
104
- payoutInput: payoutInputSchema, // New payout input schema
105
- payoutTransactionStatus: payoutStatusSchema, // Payout status enum schema
106
- payoutApprovalStatus: approvalPayoutStatusSchema, // Approval status enum schema
107
- payoutApprover: identifierSchema, // Identifier schema for approvers
108
- };
@@ -1,33 +0,0 @@
1
- /**
2
- * Represents the current status of a payout transaction.
3
- * @enum {string}
4
- * @readonly
5
- */
6
- export declare enum PAYOUT_STATUS {
7
- QUEUED = "QUEUED",
8
- /** Payout is awaiting processing */
9
- PENDING = "PENDING",
10
- /** Payout has been successfully processed */
11
- PAID = "PAID",
12
- /** Payout processing has failed */
13
- FAILED = "FAILED",
14
- /** Payout has been rejected */
15
- REJECTED = "REJECTED",
16
- /** Payout has been initially created but not yet processed */
17
- CREATED = "CREATED",
18
- REVERSED = "REVERSED"
19
- }
20
- /**
21
- * Represents the approval status for payouts that require authorization.
22
- * @enum {string}
23
- * @readonly
24
- */
25
- export declare enum PAYOUT_APPROVAL_STATUS {
26
- /** Payout is awaiting approval decision */
27
- PENDING = "Pending",
28
- /** Payout has been approved */
29
- APPROVED = "Approved",
30
- /** Payout has been rejected during approval process */
31
- REJECTED = "Rejected"
32
- }
33
- //# sourceMappingURL=status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,aAAa;IACvB,MAAM,WAAW;IAEjB,oCAAoC;IACpC,OAAO,YAAY;IACnB,6CAA6C;IAC7C,IAAI,SAAS;IACb,mCAAmC;IACnC,MAAM,WAAW;IACjB,+BAA+B;IAC/B,QAAQ,aAAa;IACrB,8DAA8D;IAC9D,OAAO,YAAY;IAEnB,QAAQ,aAAa;CACtB;AAED;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,2CAA2C;IAC3C,OAAO,YAAY;IACnB,+BAA+B;IAC/B,QAAQ,aAAa;IACrB,uDAAuD;IACvD,QAAQ,aAAa;CACtB"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PAYOUT_APPROVAL_STATUS = exports.PAYOUT_STATUS = void 0;
4
- /**
5
- * Represents the current status of a payout transaction.
6
- * @enum {string}
7
- * @readonly
8
- */
9
- var PAYOUT_STATUS;
10
- (function (PAYOUT_STATUS) {
11
- PAYOUT_STATUS["QUEUED"] = "QUEUED";
12
- /** Payout is awaiting processing */
13
- PAYOUT_STATUS["PENDING"] = "PENDING";
14
- /** Payout has been successfully processed */
15
- PAYOUT_STATUS["PAID"] = "PAID";
16
- /** Payout processing has failed */
17
- PAYOUT_STATUS["FAILED"] = "FAILED";
18
- /** Payout has been rejected */
19
- PAYOUT_STATUS["REJECTED"] = "REJECTED";
20
- /** Payout has been initially created but not yet processed */
21
- PAYOUT_STATUS["CREATED"] = "CREATED";
22
- PAYOUT_STATUS["REVERSED"] = "REVERSED";
23
- })(PAYOUT_STATUS || (exports.PAYOUT_STATUS = PAYOUT_STATUS = {}));
24
- /**
25
- * Represents the approval status for payouts that require authorization.
26
- * @enum {string}
27
- * @readonly
28
- */
29
- var PAYOUT_APPROVAL_STATUS;
30
- (function (PAYOUT_APPROVAL_STATUS) {
31
- /** Payout is awaiting approval decision */
32
- PAYOUT_APPROVAL_STATUS["PENDING"] = "Pending";
33
- /** Payout has been approved */
34
- PAYOUT_APPROVAL_STATUS["APPROVED"] = "Approved";
35
- /** Payout has been rejected during approval process */
36
- PAYOUT_APPROVAL_STATUS["REJECTED"] = "Rejected";
37
- })(PAYOUT_APPROVAL_STATUS || (exports.PAYOUT_APPROVAL_STATUS = PAYOUT_APPROVAL_STATUS = {}));
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/permission.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Cd,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,WAAW,CAAC,OAAO,CAAC,GAC5D,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,WAAW,CAAC,OAAO,CAAC,GAC5D,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,WAAW,CAAC,OAAO,CAAC,GAC5D,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,OAAO,WAAW,CAAC,MAAM,CAAC,GAC1D,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,OAAO,WAAW,CAAC,QAAQ,CAAC,GAC9D,OAAO,WAAW,CAAC,cAAc,CAAC,MAAM,OAAO,WAAW,CAAC,cAAc,CAAC,GAC1E,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,OAAO,WAAW,CAAC,IAAI,CAAC,GACtD,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Permissions = void 0;
4
- /**
5
- * All Afloat Permissions
6
- */
7
- exports.Permissions = {
8
- Profile: {
9
- ViewCurrent: "profile.getCurrent",
10
- Update: "profile.update",
11
- },
12
- Contact: {
13
- View: "contact.findById",
14
- List: "contact.findAll",
15
- Create: "contact.create",
16
- Update: "contact.update",
17
- Delete: "contact.delete",
18
- },
19
- Payment: {
20
- View: "payment.findById",
21
- List: "payment.findAll",
22
- Create: "payment.create",
23
- },
24
- Payout: {
25
- View: "payout.findById",
26
- List: "payout.findAll",
27
- Create: "payout.create",
28
- Approve: "payout.approve",
29
- },
30
- Transfer: {
31
- View: "transfer.findById",
32
- List: "transfer.findAll",
33
- Create: "transfer.create",
34
- Approve: "transfer.approve",
35
- },
36
- Wallet: {
37
- ViewBalance: "wallet.getBalance",
38
- ViewStatement: "wallet.getStatement",
39
- },
40
- Role: {
41
- ViewRoles: "role.findAll",
42
- ViewRole: "role.findById",
43
- },
44
- UserManagement: {
45
- ViewUsers: "login.findAll",
46
- ViewUser: "login.findById",
47
- CreateUser: "login.create",
48
- UpdateUser: "login.update",
49
- ArchiveUser: "login.archive",
50
- UnArchiveUser: "login.unarchive",
51
- ResetPassword: "login.resetPassword",
52
- },
53
- }; // Make it deeply readonly
@@ -1,21 +0,0 @@
1
- export interface RoleData {
2
- id: string;
3
- name: string;
4
- description?: string;
5
- access: string[];
6
- createdAt: string;
7
- updatedAt: string;
8
- }
9
- export declare class Role {
10
- readonly id: string;
11
- readonly name: string;
12
- readonly description?: string;
13
- readonly permissions: ReadonlySet<string>;
14
- readonly createdAt: Date;
15
- readonly updatedAt: Date;
16
- constructor(data: RoleData);
17
- hasPermission(permission: string): boolean;
18
- static from(data: any): Role | undefined;
19
- toJSON(): any;
20
- }
21
- //# sourceMappingURL=role.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/role.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,IAAI;IACf,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,SAAgB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,SAAS,EAAE,IAAI,CAAC;gBAEpB,IAAI,EAAE,QAAQ;IAS1B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI1C,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS;IAYxC,MAAM,IAAI,GAAG;CAUd"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- // deno-lint-ignore-file no-explicit-any
3
- // ====================== Role Entity ====================== //
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.Role = void 0;
6
- class Role {
7
- constructor(data) {
8
- Object.defineProperty(this, "id", {
9
- enumerable: true,
10
- configurable: true,
11
- writable: true,
12
- value: void 0
13
- });
14
- Object.defineProperty(this, "name", {
15
- enumerable: true,
16
- configurable: true,
17
- writable: true,
18
- value: void 0
19
- });
20
- Object.defineProperty(this, "description", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: void 0
25
- });
26
- Object.defineProperty(this, "permissions", {
27
- enumerable: true,
28
- configurable: true,
29
- writable: true,
30
- value: void 0
31
- });
32
- Object.defineProperty(this, "createdAt", {
33
- enumerable: true,
34
- configurable: true,
35
- writable: true,
36
- value: void 0
37
- });
38
- Object.defineProperty(this, "updatedAt", {
39
- enumerable: true,
40
- configurable: true,
41
- writable: true,
42
- value: void 0
43
- });
44
- this.id = data.id;
45
- this.name = data.name;
46
- this.description = data.description;
47
- this.permissions = new Set(data.access);
48
- this.createdAt = new Date(data.createdAt);
49
- this.updatedAt = new Date(data.updatedAt);
50
- }
51
- hasPermission(permission) {
52
- return this.permissions.has(permission);
53
- }
54
- static from(data) {
55
- try {
56
- if (!data?.id || !data?.name || !Array.isArray(data?.access)) {
57
- return undefined;
58
- }
59
- return new Role(data);
60
- }
61
- catch (error) {
62
- console.error("Error creating Role:", error);
63
- return undefined;
64
- }
65
- }
66
- toJSON() {
67
- return {
68
- id: this.id,
69
- name: this.name,
70
- description: this.description,
71
- access: Array.from(this.permissions),
72
- createdAt: this.createdAt.toISOString(),
73
- updatedAt: this.updatedAt.toISOString(),
74
- };
75
- }
76
- }
77
- exports.Role = Role;
@@ -1,77 +0,0 @@
1
- import { Profile } from "./profile.js";
2
- /**
3
- * Represents a user in Afloat.
4
- *
5
- * This class centralizes user-related logic, simplifying interaction
6
- * with user-related data and ensuring consistent permission checks across the application.
7
- */
8
- export declare class User {
9
- /**
10
- * Logged-in user name
11
- */
12
- name: string;
13
- /**
14
- * Logged-in identity: phone-number or email address
15
- */
16
- identity: string;
17
- /**
18
- * The user's Afloat profile, containing personal information such as name, contact details, and account information.
19
- */
20
- profile: Profile;
21
- /**
22
- * The user's authentication token. This token must be passed in the request headers
23
- * for all authenticated API endpoints.
24
- */
25
- token: string;
26
- /**
27
- * Indicates whether the user is required to change their default password.
28
- *
29
- * Afloat users are initially provided with a default username and password. After the first
30
- * successful login, `resetPassword` will be set to `true` to prompt the user to set a new password.
31
- */
32
- resetPassword: boolean;
33
- /**
34
- * A map of permission keys to boolean values, indicating whether the user has access
35
- * to specific actions or features in the system.
36
- */
37
- private permissionsMap;
38
- /**
39
- * Creates a new instance of the `User` class.
40
- *
41
- * @param userData - An object containing the user's profile, token,
42
- * permissions (access list), and the `resetPassword` flag.
43
- */
44
- private constructor();
45
- /**
46
- * Checks if the user has a specific permission.
47
- *
48
- * @param permission - The permission key to check.
49
- * @returns `true` if the user has the specified permission, otherwise `false`.
50
- */
51
- can(permission: string): boolean;
52
- /**
53
- * Serializes the `User` instance to a JSON string.
54
- *
55
- * @returns A JSON string representation of the `User` instance, including:
56
- * - `profile`: The user's profile information. (Requires profile.toJSON() method)
57
- * - `token`: The user's authentication token.
58
- * - `resetPassword`: Indicates whether the user must reset their password.
59
- * - `permissions`: An array of permission keys the user has.
60
- */
61
- toJSON(): string;
62
- /**
63
- * Creates a new `User` instance from a JSON string.
64
- *
65
- * @param jsonString - A JSON string containing user data.
66
- * @returns A `User` instance reconstructed from the JSON data, or undefined if jsonString is invalid.
67
- */
68
- static fromJSON(jsonString: string): User | undefined;
69
- /**
70
- * Creates a new `User` instance from a data object, JSON string, or object with a Profile instance/object.
71
- *
72
- * @param data - The data object, JSON string, or object with Profile instance/object containing user information.
73
- * @returns A `User` instance, or undefined if data is invalid.
74
- */
75
- static from(data: any): User | undefined;
76
- }
77
- //# sourceMappingURL=authenticated-user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authenticated-user.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/user/authenticated-user.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;GAKG;AACH,qBAAa,IAAI;IACf;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,OAAO,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACI,KAAK,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACI,aAAa,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;;OAKG;IACH,OAAO;IAwBP;;;;;OAKG;IACI,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;OAQG;IACI,MAAM,IAAI,MAAM;IAavB;;;;;OAKG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAS5D;;;;;OAKG;WACW,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS;CA4FhD"}
@@ -1,230 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.User = void 0;
4
- // deno-lint-ignore-file no-explicit-any
5
- const permission_js_1 = require("../permission.js");
6
- const profile_js_1 = require("./profile.js");
7
- /**
8
- * Represents a user in Afloat.
9
- *
10
- * This class centralizes user-related logic, simplifying interaction
11
- * with user-related data and ensuring consistent permission checks across the application.
12
- */
13
- class User {
14
- /**
15
- * Creates a new instance of the `User` class.
16
- *
17
- * @param userData - An object containing the user's profile, token,
18
- * permissions (access list), and the `resetPassword` flag.
19
- */
20
- constructor(data) {
21
- /**
22
- * Logged-in user name
23
- */
24
- Object.defineProperty(this, "name", {
25
- enumerable: true,
26
- configurable: true,
27
- writable: true,
28
- value: void 0
29
- });
30
- /**
31
- * Logged-in identity: phone-number or email address
32
- */
33
- Object.defineProperty(this, "identity", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: void 0
38
- });
39
- /**
40
- * The user's Afloat profile, containing personal information such as name, contact details, and account information.
41
- */
42
- Object.defineProperty(this, "profile", {
43
- enumerable: true,
44
- configurable: true,
45
- writable: true,
46
- value: void 0
47
- });
48
- /**
49
- * The user's authentication token. This token must be passed in the request headers
50
- * for all authenticated API endpoints.
51
- */
52
- Object.defineProperty(this, "token", {
53
- enumerable: true,
54
- configurable: true,
55
- writable: true,
56
- value: void 0
57
- });
58
- /**
59
- * Indicates whether the user is required to change their default password.
60
- *
61
- * Afloat users are initially provided with a default username and password. After the first
62
- * successful login, `resetPassword` will be set to `true` to prompt the user to set a new password.
63
- */
64
- Object.defineProperty(this, "resetPassword", {
65
- enumerable: true,
66
- configurable: true,
67
- writable: true,
68
- value: void 0
69
- });
70
- /**
71
- * A map of permission keys to boolean values, indicating whether the user has access
72
- * to specific actions or features in the system.
73
- */
74
- Object.defineProperty(this, "permissionsMap", {
75
- enumerable: true,
76
- configurable: true,
77
- writable: true,
78
- value: void 0
79
- });
80
- const { profile, token, access, resetPassword, name, identity } = data;
81
- this.profile = profile;
82
- this.token = token;
83
- this.resetPassword = resetPassword;
84
- this.name = name;
85
- this.identity = identity;
86
- this.permissionsMap = {};
87
- for (const group of Object.values(permission_js_1.Permissions)) {
88
- for (const perm of Object.values(group)) {
89
- this.permissionsMap[perm] = access.includes(perm);
90
- }
91
- }
92
- }
93
- /**
94
- * Checks if the user has a specific permission.
95
- *
96
- * @param permission - The permission key to check.
97
- * @returns `true` if the user has the specified permission, otherwise `false`.
98
- */
99
- can(permission) {
100
- return this.permissionsMap[permission] ?? false;
101
- }
102
- /**
103
- * Serializes the `User` instance to a JSON string.
104
- *
105
- * @returns A JSON string representation of the `User` instance, including:
106
- * - `profile`: The user's profile information. (Requires profile.toJSON() method)
107
- * - `token`: The user's authentication token.
108
- * - `resetPassword`: Indicates whether the user must reset their password.
109
- * - `permissions`: An array of permission keys the user has.
110
- */
111
- toJSON() {
112
- return JSON.stringify({
113
- profile: this.profile.toObject(),
114
- token: this.token,
115
- resetPassword: this.resetPassword,
116
- name: this.name,
117
- identity: this.identity,
118
- permissions: Object.keys(this.permissionsMap).filter((key) => this.permissionsMap[key]),
119
- });
120
- }
121
- /**
122
- * Creates a new `User` instance from a JSON string.
123
- *
124
- * @param jsonString - A JSON string containing user data.
125
- * @returns A `User` instance reconstructed from the JSON data, or undefined if jsonString is invalid.
126
- */
127
- static fromJSON(jsonString) {
128
- try {
129
- return User.from(JSON.parse(jsonString));
130
- }
131
- catch (e) {
132
- console.error("Invalid JSON string:", e);
133
- return undefined;
134
- }
135
- }
136
- /**
137
- * Creates a new `User` instance from a data object, JSON string, or object with a Profile instance/object.
138
- *
139
- * @param data - The data object, JSON string, or object with Profile instance/object containing user information.
140
- * @returns A `User` instance, or undefined if data is invalid.
141
- */
142
- static from(data) {
143
- let parsedData;
144
- // Parse JSON string if needed
145
- if (typeof data === "string") {
146
- try {
147
- parsedData = JSON.parse(data);
148
- }
149
- catch (error) {
150
- console.error("Invalid JSON string:", error);
151
- return undefined;
152
- }
153
- }
154
- else {
155
- parsedData = data;
156
- }
157
- if (!parsedData) {
158
- console.error("Data is null or undefined.");
159
- return undefined;
160
- }
161
- // Handle different profile formats
162
- let profile;
163
- let rawProfile = parsedData.profile;
164
- // Handle stringified profile (the case in the provided sample)
165
- if (typeof rawProfile === "string") {
166
- try {
167
- // Attempt to parse the stringified profile
168
- rawProfile = JSON.parse(rawProfile);
169
- }
170
- catch (error) {
171
- console.error("Failed to parse profile JSON string:", error);
172
- return undefined;
173
- }
174
- }
175
- // Create Profile instance based on what we received
176
- if (profile_js_1.Profile.is(rawProfile)) {
177
- // Already a Profile instance
178
- profile = rawProfile;
179
- }
180
- else if (typeof rawProfile === "object" && rawProfile !== null) {
181
- // Convert object to Profile instance
182
- profile = profile_js_1.Profile.from(rawProfile);
183
- if (!profile) {
184
- console.error("Failed to create Profile from data:", rawProfile);
185
- return undefined;
186
- }
187
- }
188
- else if (typeof rawProfile === "string") {
189
- profile = profile_js_1.Profile.fromJSON(rawProfile);
190
- if (!profile) {
191
- console.error("Failed to create Profile from JSON data:", rawProfile);
192
- return undefined;
193
- }
194
- }
195
- else {
196
- console.error("Invalid profile format:", typeof rawProfile);
197
- return undefined;
198
- }
199
- // Validate other required fields
200
- if (!parsedData.token || typeof parsedData.token !== "string" ||
201
- !parsedData.name || typeof parsedData.name !== "string" ||
202
- !parsedData.identity || typeof parsedData.identity !== "string" ||
203
- !Array.isArray(parsedData.permissions) &&
204
- !Array.isArray(parsedData.access) ||
205
- typeof parsedData.resetPassword !== "boolean") {
206
- console.error("Missing or invalid required User fields:", {
207
- token: typeof parsedData.token,
208
- name: typeof parsedData.name,
209
- identity: typeof parsedData.identity,
210
- permissions: Array.isArray(parsedData.permissions),
211
- access: Array.isArray(parsedData.access),
212
- resetPassword: typeof parsedData.resetPassword,
213
- });
214
- return undefined;
215
- }
216
- // Support both 'permissions' and 'access' field names
217
- const access = parsedData.access || parsedData.permissions;
218
- // Create and return the User instance
219
- const args = {
220
- profile: profile,
221
- token: parsedData.token,
222
- access: access,
223
- resetPassword: parsedData.resetPassword,
224
- name: parsedData.name,
225
- identity: parsedData.identity,
226
- };
227
- return new User(args);
228
- }
229
- }
230
- exports.User = User;
@@ -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"}