@carlonicora/nextjs-jsonapi 1.4.0 → 1.6.0

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 (317) hide show
  1. package/README.md +208 -127
  2. package/dist/{ApiResponseInterface-DDI7QQPR.d.ts → ApiResponseInterface-CfcC7pPC.d.mts} +11 -2
  3. package/dist/{ApiResponseInterface-BHN5D9r5.d.mts → ApiResponseInterface-DTBJaV5R.d.ts} +11 -2
  4. package/dist/{BlockNoteEditor-QV6ESIQA.js → BlockNoteEditor-7FM7B737.js} +19 -24
  5. package/dist/BlockNoteEditor-7FM7B737.js.map +1 -0
  6. package/dist/{BlockNoteEditor-U2IHUVUF.mjs → BlockNoteEditor-RVL76ZAS.mjs} +11 -16
  7. package/dist/BlockNoteEditor-RVL76ZAS.mjs.map +1 -0
  8. package/dist/JsonApiRequest-KOKGVPBI.js +25 -0
  9. package/dist/{JsonApiRequest-UJ7FGIVI.js.map → JsonApiRequest-KOKGVPBI.js.map} +1 -1
  10. package/dist/{JsonApiRequest-6UR7DIAR.mjs → JsonApiRequest-VCCRO732.mjs} +2 -2
  11. package/dist/chunk-2Z56AS2S.js +2723 -0
  12. package/dist/chunk-2Z56AS2S.js.map +1 -0
  13. package/dist/{chunk-HTLEKZND.mjs → chunk-37NJZ2VD.mjs} +281 -1019
  14. package/dist/chunk-37NJZ2VD.mjs.map +1 -0
  15. package/dist/{chunk-2K3Q24UF.js → chunk-3ZPK4QOB.js} +24 -14
  16. package/dist/chunk-3ZPK4QOB.js.map +1 -0
  17. package/dist/chunk-AGWQ75PQ.js +142 -0
  18. package/dist/chunk-AGWQ75PQ.js.map +1 -0
  19. package/dist/{chunk-32HM6MDD.js → chunk-CSM6AIAP.js} +1 -1
  20. package/dist/{chunk-32HM6MDD.js.map → chunk-CSM6AIAP.js.map} +1 -1
  21. package/dist/{chunk-IKBA4AHN.mjs → chunk-F4Y3GZG4.mjs} +3 -3
  22. package/dist/{chunk-YF5XQZDR.mjs → chunk-F5UNXZ3J.mjs} +1 -1
  23. package/dist/chunk-F5UNXZ3J.mjs.map +1 -0
  24. package/dist/chunk-IGOWVLJH.mjs +142 -0
  25. package/dist/chunk-IGOWVLJH.mjs.map +1 -0
  26. package/dist/{chunk-HAG77QBV.mjs → chunk-K4W5QXL5.mjs} +1 -1
  27. package/dist/chunk-KFL5ZFM4.mjs +2723 -0
  28. package/dist/chunk-KFL5ZFM4.mjs.map +1 -0
  29. package/dist/{chunk-HR4H2FP7.mjs → chunk-KJ4ETLJB.mjs} +24 -14
  30. package/dist/chunk-KJ4ETLJB.mjs.map +1 -0
  31. package/dist/chunk-LOSPCUCF.js +637 -0
  32. package/dist/chunk-LOSPCUCF.js.map +1 -0
  33. package/dist/{chunk-E2HRC2OG.js → chunk-SVX7E6RR.js} +10360 -6256
  34. package/dist/chunk-SVX7E6RR.js.map +1 -0
  35. package/dist/{chunk-EFJEWLRL.js → chunk-YUO55Q5A.js} +1 -1
  36. package/dist/chunk-YUO55Q5A.js.map +1 -0
  37. package/dist/chunk-ZQTFZKLJ.mjs +12089 -0
  38. package/dist/chunk-ZQTFZKLJ.mjs.map +1 -0
  39. package/dist/{chunk-PMXG5WBC.js → chunk-ZUEEIQHW.js} +3 -3
  40. package/dist/{chunk-PMXG5WBC.js.map → chunk-ZUEEIQHW.js.map} +1 -1
  41. package/dist/client/index.d.mts +161 -11
  42. package/dist/client/index.d.ts +161 -11
  43. package/dist/client/index.js +74 -12
  44. package/dist/client/index.js.map +1 -1
  45. package/dist/client/index.mjs +73 -11
  46. package/dist/components/index.d.mts +762 -73
  47. package/dist/components/index.d.ts +762 -73
  48. package/dist/components/index.js +465 -12
  49. package/dist/components/index.js.map +1 -1
  50. package/dist/components/index.mjs +466 -13
  51. package/dist/config-B43zxEvn.d.mts +69 -0
  52. package/dist/config-D2OUrI_G.d.ts +69 -0
  53. package/dist/content.fields-Ck5lkQ5d.d.mts +47 -0
  54. package/dist/content.fields-Ck5lkQ5d.d.ts +47 -0
  55. package/dist/{content.interface-C_PGZMuy.d.ts → content.interface-Bs8a7uW6.d.mts} +2 -3
  56. package/dist/{content.interface-D_WS6CrB.d.mts → content.interface-UtsJ-mzs.d.ts} +2 -3
  57. package/dist/contexts/index.d.mts +13 -6
  58. package/dist/contexts/index.d.ts +13 -6
  59. package/dist/contexts/index.js +10 -12
  60. package/dist/contexts/index.js.map +1 -1
  61. package/dist/contexts/index.mjs +9 -11
  62. package/dist/core/index.d.mts +539 -8
  63. package/dist/core/index.d.ts +539 -8
  64. package/dist/core/index.js +104 -2
  65. package/dist/core/index.js.map +1 -1
  66. package/dist/core/index.mjs +105 -3
  67. package/dist/index.d.mts +131 -70
  68. package/dist/index.d.ts +131 -70
  69. package/dist/index.js +97 -7
  70. package/dist/index.js.map +1 -1
  71. package/dist/index.mjs +118 -28
  72. package/dist/notification.interface-BdcwkuQE.d.mts +228 -0
  73. package/dist/notification.interface-BdcwkuQE.d.ts +228 -0
  74. package/dist/request-GBLBPYFM.js +8 -0
  75. package/dist/request-GBLBPYFM.js.map +1 -0
  76. package/dist/request-XABCMU25.mjs +8 -0
  77. package/dist/{AbstractService-wLid8dB0.d.ts → s3.interface-D7ttGatc.d.ts} +36 -26
  78. package/dist/{AbstractService-BsY6W3Ej.d.mts → s3.interface-DlaMDRTn.d.mts} +36 -26
  79. package/dist/scripts/generate-web-module/generator.d.ts.map +1 -1
  80. package/dist/scripts/generate-web-module/generator.js +8 -5
  81. package/dist/scripts/generate-web-module/generator.js.map +1 -1
  82. package/dist/scripts/generate-web-module/index.js +1 -1
  83. package/dist/scripts/generate-web-module/index.js.map +1 -1
  84. package/dist/scripts/generate-web-module/templates/components/editor.template.js +8 -1
  85. package/dist/scripts/generate-web-module/templates/components/editor.template.js.map +1 -1
  86. package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts +4 -3
  87. package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts.map +1 -1
  88. package/dist/scripts/generate-web-module/transformers/parent-detector.js +9 -3
  89. package/dist/scripts/generate-web-module/transformers/parent-detector.js.map +1 -1
  90. package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts +11 -0
  91. package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts.map +1 -1
  92. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js +36 -9
  93. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js.map +1 -1
  94. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts +2 -0
  95. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts.map +1 -1
  96. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts +1 -0
  97. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts.map +1 -1
  98. package/dist/scripts/generate-web-module/utils/i18n-updater.d.ts +4 -3
  99. package/dist/scripts/generate-web-module/utils/i18n-updater.d.ts.map +1 -1
  100. package/dist/scripts/generate-web-module/utils/i18n-updater.js +9 -9
  101. package/dist/scripts/generate-web-module/utils/i18n-updater.js.map +1 -1
  102. package/dist/scripts/generate-web-module/validators/json-schema-validator.js +3 -3
  103. package/dist/scripts/generate-web-module/validators/json-schema-validator.js.map +1 -1
  104. package/dist/server/index.d.mts +299 -4
  105. package/dist/server/index.d.ts +299 -4
  106. package/dist/server/index.js +215 -5
  107. package/dist/server/index.js.map +1 -1
  108. package/dist/server/index.mjs +214 -4
  109. package/dist/server/index.mjs.map +1 -1
  110. package/dist/token-2UWQJY5T.js +8 -0
  111. package/dist/token-2UWQJY5T.js.map +1 -0
  112. package/dist/token-EOK3N45S.mjs +8 -0
  113. package/dist/{useSocket-DzMKRKCA.d.ts → useSocket-8vwK_R_c.d.ts} +1 -1
  114. package/dist/{useSocket-Cn7fB_B1.d.mts → useSocket-BWJUXuOl.d.mts} +1 -1
  115. package/package.json +12 -52
  116. package/scripts/generate-web-module/generator.ts +8 -5
  117. package/scripts/generate-web-module/index.ts +1 -1
  118. package/scripts/generate-web-module/templates/components/editor.template.ts +7 -2
  119. package/scripts/generate-web-module/transformers/parent-detector.ts +10 -3
  120. package/scripts/generate-web-module/transformers/relationship-resolver.ts +36 -9
  121. package/scripts/generate-web-module/types/json-schema.interface.ts +2 -0
  122. package/scripts/generate-web-module/types/template-data.interface.ts +1 -0
  123. package/scripts/generate-web-module/utils/i18n-updater.ts +9 -9
  124. package/scripts/generate-web-module/validators/json-schema-validator.ts +3 -3
  125. package/src/client/JsonApiClient.ts +248 -0
  126. package/src/client/config.ts +78 -0
  127. package/src/client/index.ts +6 -1
  128. package/src/components/containers/TabsContainer.tsx +1 -1
  129. package/src/components/editors/BlockNoteEditor.tsx +3 -1
  130. package/src/components/index.ts +4 -0
  131. package/src/components/navigations/Breadcrumb.tsx +1 -1
  132. package/src/components/navigations/Header.tsx +2 -2
  133. package/src/contexts/CommonContext.tsx +1 -1
  134. package/src/contexts/SocketContext.tsx +1 -1
  135. package/src/contexts/index.ts +3 -0
  136. package/src/core/abstracts/ClientAbstractService.ts +255 -0
  137. package/src/core/abstracts/ServerAbstractService.ts +180 -0
  138. package/src/core/abstracts/index.ts +2 -0
  139. package/src/core/index.ts +32 -3
  140. package/src/discord/config.ts +15 -0
  141. package/src/discord/index.ts +1 -0
  142. package/src/features/auth/components/details/LandingComponent.tsx +2 -2
  143. package/src/features/auth/components/forms/AcceptInvitation.tsx +1 -1
  144. package/src/features/auth/components/forms/ActivateAccount.tsx +1 -1
  145. package/src/features/auth/components/forms/Cookies.tsx +2 -1
  146. package/src/features/auth/components/forms/ForgotPassword.tsx +1 -1
  147. package/src/features/auth/components/forms/Login.tsx +1 -1
  148. package/src/features/auth/components/forms/Logout.tsx +1 -1
  149. package/src/features/auth/components/forms/RefreshUser.tsx +2 -1
  150. package/src/features/auth/components/forms/Register.tsx +1 -1
  151. package/src/features/auth/components/forms/ResetPassword.tsx +1 -1
  152. package/src/features/auth/data/auth.service.ts +1 -1
  153. package/src/features/auth/data/index.ts +0 -1
  154. package/src/features/auth/utils/AuthCookies.ts +1 -1
  155. package/src/features/company/components/forms/CompanyConfigurationEditor.tsx +4 -2
  156. package/src/features/company/components/forms/CompanyDeleter.tsx +2 -1
  157. package/src/features/company/components/forms/CompanyEditor.tsx +6 -3
  158. package/src/features/company/components/forms/CompanyLicense.tsx +4 -2
  159. package/src/features/company/components/lists/CompaniesList.tsx +2 -1
  160. package/src/features/company/data/index.ts +0 -1
  161. package/src/features/content/components/lists/ContentsListById.tsx +2 -1
  162. package/src/features/content/components/lists/RelevantContentsList.tsx +2 -1
  163. package/src/features/content/data/index.ts +0 -1
  164. package/src/features/feature/data/index.ts +0 -1
  165. package/src/features/notification/components/lists/NotificationsList.tsx +2 -1
  166. package/src/features/notification/contexts/NotificationContext.tsx +2 -1
  167. package/src/features/notification/data/index.ts +0 -1
  168. package/src/features/push/data/index.ts +0 -1
  169. package/src/features/role/components/forms/RemoveUserFromRole.tsx +4 -2
  170. package/src/features/role/components/forms/UserRoleAdd.tsx +2 -1
  171. package/src/features/role/components/lists/RolesList.tsx +2 -1
  172. package/src/features/role/components/lists/UserRolesList.tsx +2 -1
  173. package/src/features/role/data/index.ts +0 -1
  174. package/src/features/s3/data/index.ts +0 -1
  175. package/src/features/user/components/forms/RoleUserAdd.tsx +4 -2
  176. package/src/features/user/components/forms/UserDeleter.tsx +2 -1
  177. package/src/features/user/components/forms/UserEditor.tsx +6 -3
  178. package/src/features/user/components/forms/UserMultiSelect.tsx +2 -1
  179. package/src/features/user/components/forms/UserReactivator.tsx +2 -1
  180. package/src/features/user/components/forms/UserResentInvitationEmail.tsx +2 -1
  181. package/src/features/user/components/forms/UserSelector.tsx +2 -1
  182. package/src/features/user/components/lists/AdminUsersList.tsx +2 -1
  183. package/src/features/user/components/lists/CompanyUsersList.tsx +2 -1
  184. package/src/features/user/components/lists/RelevantUsersList.tsx +2 -1
  185. package/src/features/user/components/lists/RoleUsersList.tsx +2 -1
  186. package/src/features/user/components/lists/UsersListByContentIds.tsx +2 -1
  187. package/src/features/user/data/index.ts +0 -1
  188. package/src/features/user/hooks/useUserSearch.ts +2 -1
  189. package/src/features/user/index.ts +1 -0
  190. package/src/hooks/useDataListRetriever.ts +4 -4
  191. package/src/hooks/usePageTracker.ts +1 -1
  192. package/src/hooks/usePushNotifications.ts +3 -2
  193. package/src/hooks/useSocket.ts +1 -1
  194. package/src/index.ts +7 -2
  195. package/src/roles/config.ts +0 -15
  196. package/src/roles/index.ts +1 -9
  197. package/src/server/JsonApiServer.ts +249 -0
  198. package/src/server/cache.ts +1 -1
  199. package/src/server/index.ts +13 -0
  200. package/src/server/request.ts +32 -18
  201. package/src/server/token.ts +1 -1
  202. package/dist/ApiData-DPKNfY-9.d.mts +0 -10
  203. package/dist/ApiData-DPKNfY-9.d.ts +0 -10
  204. package/dist/ApiDataInterface-DPP8s46n.d.mts +0 -21
  205. package/dist/ApiDataInterface-DPP8s46n.d.ts +0 -21
  206. package/dist/BlockNoteEditor-QV6ESIQA.js.map +0 -1
  207. package/dist/BlockNoteEditor-U2IHUVUF.mjs.map +0 -1
  208. package/dist/JsonApiRequest-UJ7FGIVI.js +0 -25
  209. package/dist/atoms/index.d.mts +0 -12
  210. package/dist/atoms/index.d.ts +0 -12
  211. package/dist/atoms/index.js +0 -9
  212. package/dist/atoms/index.js.map +0 -1
  213. package/dist/atoms/index.mjs +0 -9
  214. package/dist/chunk-2K3Q24UF.js.map +0 -1
  215. package/dist/chunk-3FBCC4G3.js +0 -8
  216. package/dist/chunk-3FBCC4G3.js.map +0 -1
  217. package/dist/chunk-3UELCPIN.js +0 -46
  218. package/dist/chunk-3UELCPIN.js.map +0 -1
  219. package/dist/chunk-5IET37O4.js +0 -4210
  220. package/dist/chunk-5IET37O4.js.map +0 -1
  221. package/dist/chunk-AYHKQWHH.js +0 -68
  222. package/dist/chunk-AYHKQWHH.js.map +0 -1
  223. package/dist/chunk-DEYKTLA3.js +0 -1131
  224. package/dist/chunk-DEYKTLA3.js.map +0 -1
  225. package/dist/chunk-E2HRC2OG.js.map +0 -1
  226. package/dist/chunk-EFJEWLRL.js.map +0 -1
  227. package/dist/chunk-FMBQZAIP.mjs +0 -490
  228. package/dist/chunk-FMBQZAIP.mjs.map +0 -1
  229. package/dist/chunk-HR4H2FP7.mjs.map +0 -1
  230. package/dist/chunk-HTLEKZND.mjs.map +0 -1
  231. package/dist/chunk-JGFWIT2E.mjs +0 -1131
  232. package/dist/chunk-JGFWIT2E.mjs.map +0 -1
  233. package/dist/chunk-P2F54I7Q.mjs +0 -4210
  234. package/dist/chunk-P2F54I7Q.mjs.map +0 -1
  235. package/dist/chunk-PO5Q3H5I.js +0 -1375
  236. package/dist/chunk-PO5Q3H5I.js.map +0 -1
  237. package/dist/chunk-Q2N6SQYW.mjs +0 -8
  238. package/dist/chunk-Q2N6SQYW.mjs.map +0 -1
  239. package/dist/chunk-Q4FXESVT.js +0 -490
  240. package/dist/chunk-Q4FXESVT.js.map +0 -1
  241. package/dist/chunk-R2ONK22M.mjs +0 -7985
  242. package/dist/chunk-R2ONK22M.mjs.map +0 -1
  243. package/dist/chunk-SM63SZCP.mjs +0 -68
  244. package/dist/chunk-SM63SZCP.mjs.map +0 -1
  245. package/dist/chunk-SZZYEG3P.mjs +0 -46
  246. package/dist/chunk-SZZYEG3P.mjs.map +0 -1
  247. package/dist/chunk-YF5XQZDR.mjs.map +0 -1
  248. package/dist/config-BmnK65TD.d.mts +0 -35
  249. package/dist/config-BmnK65TD.d.ts +0 -35
  250. package/dist/config-DQeAo9Kf.d.mts +0 -49
  251. package/dist/config-DQeAo9Kf.d.ts +0 -49
  252. package/dist/content.fields-cHPdM8GJ.d.mts +0 -27
  253. package/dist/content.fields-cHPdM8GJ.d.ts +0 -27
  254. package/dist/d3.link.interface-ClC4Irqp.d.mts +0 -21
  255. package/dist/d3.link.interface-ClC4Irqp.d.ts +0 -21
  256. package/dist/features/index.d.mts +0 -476
  257. package/dist/features/index.d.ts +0 -476
  258. package/dist/features/index.js +0 -87
  259. package/dist/features/index.js.map +0 -1
  260. package/dist/features/index.mjs +0 -87
  261. package/dist/hooks/index.d.mts +0 -69
  262. package/dist/hooks/index.d.ts +0 -69
  263. package/dist/hooks/index.js +0 -56
  264. package/dist/hooks/index.js.map +0 -1
  265. package/dist/hooks/index.mjs +0 -56
  266. package/dist/hooks/index.mjs.map +0 -1
  267. package/dist/interfaces/index.d.mts +0 -4
  268. package/dist/interfaces/index.d.ts +0 -4
  269. package/dist/interfaces/index.js +0 -2
  270. package/dist/interfaces/index.js.map +0 -1
  271. package/dist/interfaces/index.mjs +0 -2
  272. package/dist/interfaces/index.mjs.map +0 -1
  273. package/dist/notification.interface-BBgMUdLR.d.mts +0 -14
  274. package/dist/notification.interface-gyvT-Z2F.d.ts +0 -14
  275. package/dist/permissions/index.d.mts +0 -41
  276. package/dist/permissions/index.d.ts +0 -41
  277. package/dist/permissions/index.js +0 -14
  278. package/dist/permissions/index.js.map +0 -1
  279. package/dist/permissions/index.mjs +0 -14
  280. package/dist/permissions/index.mjs.map +0 -1
  281. package/dist/request-7FE3LJLV.mjs +0 -9
  282. package/dist/request-7FE3LJLV.mjs.map +0 -1
  283. package/dist/request-QFS7NEIE.js +0 -9
  284. package/dist/request-QFS7NEIE.js.map +0 -1
  285. package/dist/roles/index.d.mts +0 -39
  286. package/dist/roles/index.d.ts +0 -39
  287. package/dist/roles/index.js +0 -18
  288. package/dist/roles/index.js.map +0 -1
  289. package/dist/roles/index.mjs +0 -18
  290. package/dist/roles/index.mjs.map +0 -1
  291. package/dist/shadcnui/index.d.mts +0 -698
  292. package/dist/shadcnui/index.d.ts +0 -698
  293. package/dist/shadcnui/index.js +0 -468
  294. package/dist/shadcnui/index.js.map +0 -1
  295. package/dist/shadcnui/index.mjs +0 -467
  296. package/dist/shadcnui/index.mjs.map +0 -1
  297. package/dist/token-IJSPOMW6.mjs +0 -9
  298. package/dist/token-IJSPOMW6.mjs.map +0 -1
  299. package/dist/token-UYE7CV6X.js +0 -9
  300. package/dist/token-UYE7CV6X.js.map +0 -1
  301. package/dist/types-B2QRyqyK.d.ts +0 -39
  302. package/dist/types-CgvNmxTd.d.mts +0 -39
  303. package/dist/types-t2PyXhDu.d.mts +0 -116
  304. package/dist/types-t2PyXhDu.d.ts +0 -116
  305. package/dist/user.interface-CAsTIbuQ.d.mts +0 -85
  306. package/dist/user.interface-CbWqMaaU.d.ts +0 -85
  307. package/dist/utils/index.d.mts +0 -224
  308. package/dist/utils/index.d.ts +0 -224
  309. package/dist/utils/index.js +0 -46
  310. package/dist/utils/index.js.map +0 -1
  311. package/dist/utils/index.mjs +0 -46
  312. package/dist/utils/index.mjs.map +0 -1
  313. /package/dist/{JsonApiRequest-6UR7DIAR.mjs.map → JsonApiRequest-VCCRO732.mjs.map} +0 -0
  314. /package/dist/{chunk-IKBA4AHN.mjs.map → chunk-F4Y3GZG4.mjs.map} +0 -0
  315. /package/dist/{chunk-HAG77QBV.mjs.map → chunk-K4W5QXL5.mjs.map} +0 -0
  316. /package/dist/{atoms/index.mjs.map → request-XABCMU25.mjs.map} +0 -0
  317. /package/dist/{features/index.mjs.map → token-EOK3N45S.mjs.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-LOSPCUCF.js","../src/features/auth/data/auth.service.ts","../src/features/user/data/user.service.ts","../src/features/company/data/company.service.ts","../src/features/role/data/role.service.ts","../src/features/content/data/content.service.ts","../src/features/notification/data/notification.service.ts","../src/features/feature/data/feature.service.ts","../src/features/push/data/push.service.ts","../src/features/s3/data/s3.service.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-LOSPCUCF.js","sourcesContent":[null,"import { AuthInput, AuthInterface } from \".\";\nimport { JsonApiDelete, JsonApiGet, JsonApiPost } from \"../../../unified\";\nimport {\n AbstractService,\n ApiResponseInterface,\n EndpointCreator,\n HttpMethod,\n JsonApiHydratedDataInterface,\n Modules,\n rehydrate,\n} from \"../../../core\";\nimport { UserInterface } from \"../../user\";\nimport { getTokenHandler } from \"../config\";\n\nexport class AuthService extends AbstractService {\n static async login(params: { email: string; password: string; language?: string }): Promise<UserInterface> {\n const language = params.language || \"en-US\";\n\n const apiResponse: ApiResponseInterface = await JsonApiPost({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth, id: \"login\" }).generate(),\n body: { email: params.email, password: params.password } as AuthInput,\n language: language,\n });\n\n if (!apiResponse.ok) throw new Error(apiResponse.error);\n\n const auth = apiResponse.data as AuthInterface;\n\n // Use injected token handler if configured\n const handler = getTokenHandler();\n if (handler) {\n await handler.updateToken({\n token: auth.token,\n refreshToken: auth.refreshToken,\n userId: auth.user.id,\n companyId: auth.user.company?.id,\n licenseExpirationDate: auth.user.company?.licenseExpirationDate,\n roles: auth.user.roles.map((role) => role.id),\n features: auth.user.company?.features?.map((feature) => feature.id) ?? [],\n modules: auth.user.modules.map((module) => ({\n id: module.id,\n permissions: module.permissions,\n })),\n });\n }\n\n return auth.user;\n }\n\n static async logout(params?: { language?: string }): Promise<void> {\n const language = params?.language || \"en-US\";\n\n await JsonApiDelete({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth }).generate(),\n language: language,\n });\n\n // Use injected token handler if configured\n const handler = getTokenHandler();\n if (handler) {\n await handler.removeToken();\n }\n }\n\n static async initialiseForgotPassword(params: { email: string; language?: string }): Promise<void> {\n const language = params.language || \"en-US\";\n\n const response: ApiResponseInterface = await JsonApiPost({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth, id: \"forgot\" }).generate(),\n body: { email: params.email } as AuthInput,\n language: language,\n });\n\n if (!response.ok) {\n throw new Error(response.error);\n }\n }\n\n static async register(params: AuthInput): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Auth, id: \"register\" });\n\n await this.callApi({\n type: Modules.Auth,\n method: HttpMethod.POST,\n endpoint: endpoint.generate(),\n input: params,\n });\n }\n\n static async activate(params: { activationCode: string }): Promise<void> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Auth,\n id: \"activate\",\n childEndpoint: params.activationCode,\n });\n\n await this.callApi({ type: Modules.Auth, method: HttpMethod.POST, endpoint: endpoint.generate() });\n }\n\n static async validateCode(params: { code: string; language?: string }): Promise<void> {\n const language = params.language || \"en-US\";\n\n const apiResponse: ApiResponseInterface = await JsonApiGet({\n classKey: Modules.Auth,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth, id: \"validate\", childEndpoint: params.code }).generate(),\n language: language,\n });\n\n if (!apiResponse.ok) throw new Error(apiResponse.error);\n }\n\n static async resetPassword(params: { code: string; password: string }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Auth, id: \"reset\", childEndpoint: params.code });\n\n const input: AuthInput = { password: params.password };\n\n await this.callApi({ type: Modules.Auth, method: HttpMethod.POST, endpoint: endpoint.generate(), input: input });\n }\n\n static async acceptInvitation(params: { code: string; password: string }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Auth, id: \"invitation\", childEndpoint: params.code });\n\n const input: AuthInput = { password: params.password };\n\n await this.callApi({ type: Modules.Auth, method: HttpMethod.POST, endpoint: endpoint.generate(), input: input });\n }\n\n static async findToken(params: { tokenCode: string }): Promise<AuthInterface> {\n return await this.callApi<AuthInterface>({\n type: Modules.Auth,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.Auth }).addAdditionalParam(\"code\", params.tokenCode).generate(),\n });\n }\n\n static async saveToken(params: { dehydratedAuth: JsonApiHydratedDataInterface }): Promise<void> {\n const auth: AuthInterface = rehydrate(Modules.Auth, params.dehydratedAuth) as AuthInterface;\n\n const handler = getTokenHandler();\n if (handler) {\n await handler.updateToken({\n token: auth.token,\n refreshToken: auth.refreshToken,\n userId: auth.user.id,\n companyId: auth.user.company?.id,\n licenseExpirationDate: auth.user.company?.licenseExpirationDate,\n roles: auth.user.roles.map((role) => role.id),\n features: auth.user.company?.features?.map((feature) => feature.id) ?? [],\n modules: auth.user.modules.map((module) => ({\n id: module.id,\n permissions: module.permissions,\n })),\n });\n }\n }\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef, PreviousRef } from \"../../../core\";\nimport { UserInput, UserInterface } from \"./user.interface\";\n\nexport class UserService extends AbstractService {\n static async findFullUser(): Promise<UserInterface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User, id: \"me\", childEndpoint: \"full\" });\n\n return this.callApi<UserInterface>({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n });\n }\n\n static async findById(params: { userId: string }): Promise<UserInterface> {\n return this.callApi<UserInterface>({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.userId }).generate(),\n });\n }\n\n static async findByEmail(params: { email: string }): Promise<UserInterface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User, id: \"email\", childEndpoint: params.email });\n\n return this.callApi<UserInterface>({ type: Modules.User, method: HttpMethod.GET, endpoint: endpoint.generate() });\n }\n\n static async findMany(params: {\n roleId?: string;\n search?: string;\n fetchAll?: boolean;\n includeDeleted?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User });\n\n if (params.roleId) endpoint.addAdditionalParam(\"roleId\", params.roleId);\n\n if (params.includeDeleted) endpoint.addAdditionalParam(\"includeDeleted\", \"true\");\n if (params.fetchAll) endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findManyByContentIds(params: {\n contentIds: string[];\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User });\n\n endpoint.addAdditionalParam(\"contentIds\", params.contentIds.map((id) => id).join(\",\"));\n endpoint.addAdditionalParam(\"includeDeleted\", \"true\");\n endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findRelevant(params: { id: string; next?: NextRef; prev?: PreviousRef }): Promise<UserInterface[]> {\n const endpoint: EndpointCreator = new EndpointCreator({\n endpoint: Modules.Content,\n id: params.id,\n childEndpoint: \"user-relevance\",\n });\n\n if (Modules.User.inclusions?.lists?.fields) endpoint.limitToFields(Modules.User.inclusions.lists.fields);\n if (Modules.User.inclusions?.lists?.types) endpoint.limitToType(Modules.User.inclusions.lists.types);\n\n return this.callApi<UserInterface[]>({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findManyForAmin(params: {\n companyId?: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n if (!params.companyId) return [];\n\n const endpoint = new EndpointCreator({\n endpoint: Modules.Company,\n id: params.companyId,\n childEndpoint: Modules.User,\n });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n previous: params.prev,\n });\n }\n\n static async findAllUsers(params: {\n companyId: string;\n search?: string;\n limitToRoles?: string[];\n isDeleted?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Company,\n id: params.companyId,\n childEndpoint: Modules.User,\n });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n if (params.isDeleted) endpoint.addAdditionalParam(\"isDeleted\", \"true\");\n if (params.limitToRoles && params.limitToRoles.length > 0)\n endpoint.addAdditionalParam(\"limitToRoles\", params.limitToRoles.join(\",\"));\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllUsersByRole(params: {\n roleId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Role, id: params.roleId, childEndpoint: Modules.User });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllUsersNotInRole(params: {\n roleId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<UserInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Role,\n id: params.roleId,\n childEndpoint: Modules.User,\n }).addAdditionalParam(\"notInRole\", \"true\");\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async create(params: UserInput): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.User }).generate(),\n companyId: params.companyId,\n input: params,\n });\n }\n\n static async reactivate(params: { userId: string }): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.PATCH,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.userId }).generate(),\n });\n }\n\n static async sendInvitation(params: { userId: string; companyId?: string }): Promise<void> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.User,\n id: params.userId,\n childEndpoint: \"send-invitation-email\",\n });\n\n if (params.companyId) endpoint.addAdditionalParam(\"companyId\", params.companyId);\n\n this.callApi({\n type: Modules.User,\n method: HttpMethod.POST,\n endpoint: endpoint.generate(),\n });\n }\n\n static async update(params: UserInput): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.id }).generate(),\n companyId: params.companyId,\n input: params,\n });\n }\n\n static async patchRate(params: UserInput): Promise<UserInterface> {\n return this.callApi({\n type: Modules.User,\n method: HttpMethod.PATCH,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.id, childEndpoint: \"rates\" }).generate(),\n companyId: params.companyId,\n input: params,\n });\n }\n\n static async delete(params: { userId: string; companyId: string }): Promise<void> {\n await this.callApi({\n type: Modules.User,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.User, id: params.userId }).generate(),\n companyId: params.companyId,\n });\n }\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef } from \"../../../core\";\nimport { CompanyInput, CompanyInterface } from \"./company.interface\";\n\nexport class CompanyService extends AbstractService {\n static async findOne(params: { companyId: string }): Promise<CompanyInterface> {\n return this.callApi<CompanyInterface>({\n type: Modules.Company,\n method: HttpMethod.GET,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.companyId }).generate(),\n });\n }\n\n static async findMany(params: { search?: string; next?: NextRef }): Promise<CompanyInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Company });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi<CompanyInterface[]>({\n type: Modules.Company,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async delete(params: { companyId: string }): Promise<void> {\n await this.callApi({\n type: Modules.Company,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.companyId }).generate(),\n });\n }\n\n static async create(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.Company }).generate(),\n input: params,\n });\n }\n\n static async update(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.id }).generate(),\n input: params,\n });\n }\n\n static async updateConfigurations(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({\n endpoint: Modules.Company,\n id: params.id,\n childEndpoint: \"configurations\",\n }).generate(),\n input: params,\n });\n }\n\n static async activateLicense(params: CompanyInput): Promise<CompanyInterface> {\n return this.callApi({\n type: Modules.Company,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.Company, id: params.id, childEndpoint: \"license\" }).generate(),\n input: params,\n });\n }\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef, PreviousRef } from \"../../../core\";\nimport { RoleInput, RoleInterface } from \"./role.interface\";\n\nexport class RoleService extends AbstractService {\n static async findById(params: { roleId: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: new EndpointCreator({ endpoint: Modules.Role, id: params.roleId }).generate(),\n });\n }\n\n static async findAllRoles(params: { search?: string; next?: NextRef }): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Role });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllRolesByUser(params: {\n userId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.User, id: params.userId, childEndpoint: Modules.Role });\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findAllRolesUserNotIn(params: {\n userId: string;\n search?: string;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<RoleInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.User,\n id: params.userId,\n childEndpoint: Modules.Role,\n }).addAdditionalParam(\"userNotIn\", \"true\");\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi({\n type: Modules.Role,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async addUserToRole(params: { userId: string; roleId: string }): Promise<void> {\n this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({\n endpoint: Modules.Role,\n id: params.roleId,\n childEndpoint: Modules.User,\n childId: params.userId,\n }).generate(),\n });\n }\n\n static async removeUserFromRole(params: { userId: string; roleId: string }): Promise<void> {\n this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({\n endpoint: Modules.Role,\n id: params.roleId,\n childEndpoint: Modules.User,\n childId: params.userId,\n }).generate(),\n });\n }\n\n static async create(params: { roleId: string; name: string; description?: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.POST,\n endpoint: new EndpointCreator({ endpoint: Modules.Role }).generate(),\n input: { id: params.roleId, name: params.name, description: params.description } as RoleInput,\n });\n }\n\n static async update(params: { roleId: string; name: string; description?: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.PUT,\n endpoint: new EndpointCreator({ endpoint: Modules.Role, id: params.roleId }).generate(),\n input: { id: params.roleId, name: params.name, description: params.description } as RoleInput,\n });\n }\n\n static async delete(params: { roleId: string }): Promise<RoleInterface> {\n return this.callApi<RoleInterface>({\n type: Modules.Role,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.Role, id: params.roleId }).generate(),\n });\n }\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef, PreviousRef } from \"../../../core\";\nimport { ContentInterface } from \"./content.interface\";\n\nexport class ContentService extends AbstractService {\n static async findMany(params: {\n contentIds?: string[];\n search?: string;\n fetchAll?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<ContentInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Content });\n\n if (params.contentIds) {\n endpoint.addAdditionalParam(\"contentIds\", params.contentIds.join(\",\"));\n endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n } else {\n if (params.fetchAll) endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n }\n if (Modules.Content.inclusions?.lists?.fields) endpoint.limitToFields(Modules.Content.inclusions.lists.fields);\n if (Modules.Content.inclusions?.lists?.types) endpoint.limitToType(Modules.Content.inclusions.lists.types);\n\n return this.callApi({\n type: Modules.Content,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findRelevant(params: { id: string; next?: NextRef; prev?: PreviousRef }): Promise<ContentInterface[]> {\n const endpoint: EndpointCreator = new EndpointCreator({\n endpoint: Modules.Content,\n id: params.id,\n childEndpoint: \"relevance\",\n });\n\n if (Modules.Content.inclusions?.lists?.fields) endpoint.limitToFields(Modules.Content.inclusions.lists.fields);\n if (Modules.Content.inclusions?.lists?.types) endpoint.limitToType(Modules.Content.inclusions.lists.types);\n\n return this.callApi<ContentInterface[]>({\n type: Modules.Content,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async findManyByAuthor(params: {\n userId: string;\n search?: string;\n fetchAll?: boolean;\n next?: NextRef;\n prev?: PreviousRef;\n }): Promise<ContentInterface[]> {\n const endpoint = new EndpointCreator({\n endpoint: Modules.Author,\n id: params.userId,\n childEndpoint: Modules.Content,\n });\n\n if (params.fetchAll) endpoint.addAdditionalParam(\"fetchAll\", \"true\");\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n if (Modules.Content.inclusions?.lists?.fields) endpoint.limitToFields(Modules.Content.inclusions.lists.fields);\n if (Modules.Content.inclusions?.lists?.types) endpoint.limitToType(Modules.Content.inclusions.lists.types);\n\n return this.callApi({\n type: Modules.Content,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef } from \"../../../core\";\nimport { NotificationInterface } from \"./notification.interface\";\n\nexport class NotificationService extends AbstractService {\n static async findMany(params: { isArchived?: boolean; next?: NextRef }): Promise<NotificationInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Notification });\n\n if (params.isArchived) endpoint.addAdditionalParam(\"isArchived\", \"true\");\n\n return this.callApi<NotificationInterface[]>({\n type: Modules.Notification,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n\n static async markAsRead(params: { data: any }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Notification });\n await this.callApi({\n type: Modules.Notification,\n method: HttpMethod.PATCH,\n endpoint: endpoint.generate(),\n input: params.data,\n overridesJsonApiCreation: true,\n });\n }\n\n static async archive(params: { id: string }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Notification, id: params.id, childEndpoint: \"archive\" });\n\n await this.callApi({ type: Modules.Notification, method: HttpMethod.POST, endpoint: endpoint.generate() });\n }\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules, NextRef } from \"../../../core\";\nimport { FeatureInterface } from \"./feature.interface\";\n\nexport class FeatureService extends AbstractService {\n static async findMany(params: { companyId?: string; search?: string; next?: NextRef }): Promise<FeatureInterface[]> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Feature });\n\n if (params.companyId) endpoint.endpoint(Modules.Company).id(params.companyId).childEndpoint(Modules.Feature);\n\n if (params.search) endpoint.addAdditionalParam(\"search\", params.search);\n\n return this.callApi<FeatureInterface[]>({\n type: Modules.Feature,\n method: HttpMethod.GET,\n endpoint: endpoint.generate(),\n next: params.next,\n });\n }\n}\n","import { AbstractService, HttpMethod } from \"../../../core\";\nimport { EndpointCreator } from \"../../../core\";\nimport { Modules } from \"../../../core\";\n\nexport class PushService extends AbstractService {\n static async register(params: { data: any }): Promise<void> {\n const endpoint = new EndpointCreator({ endpoint: Modules.Push });\n\n await this.callApi({\n type: Modules.Push,\n method: HttpMethod.POST,\n endpoint: endpoint.generate(),\n input: params.data,\n overridesJsonApiCreation: true,\n });\n }\n}\n","import { AbstractService, EndpointCreator, HttpMethod, Modules } from \"../../../core\";\nimport { S3Interface } from \"./s3.interface\";\n\nexport class S3Service extends AbstractService {\n static async getPreSignedUrl(params: { key: string; contentType: string; isPublic?: boolean }): Promise<S3Interface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.S3 })\n .addAdditionalParam(\"key\", params.key)\n .addAdditionalParam(\"contentType\", params.contentType);\n\n if (params.isPublic) endpoint.addAdditionalParam(\"isPublic\", \"true\");\n\n return this.callApi<S3Interface>({ type: Modules.S3, method: HttpMethod.GET, endpoint: endpoint.generate() });\n }\n\n static async getSignedUrl(params: { key: string; isPublic?: boolean }): Promise<S3Interface> {\n const endpoint = new EndpointCreator({ endpoint: Modules.S3, id: \"sign\" }).addAdditionalParam(\"key\", params.key);\n\n if (params.isPublic) endpoint.addAdditionalParam(\"isPublic\", \"true\");\n\n return this.callApi<S3Interface>({ type: Modules.S3, method: HttpMethod.GET, endpoint: endpoint.generate() });\n }\n\n static async deleteFile(params: { key: string }): Promise<void> {\n this.callApi<S3Interface>({\n type: Modules.S3,\n method: HttpMethod.DELETE,\n endpoint: new EndpointCreator({ endpoint: Modules.S3 }).addAdditionalParam(\"key\", params.key).generate(),\n });\n }\n}\n"]}