@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.
- package/README.md +208 -127
- package/dist/{ApiResponseInterface-DDI7QQPR.d.ts → ApiResponseInterface-CfcC7pPC.d.mts} +11 -2
- package/dist/{ApiResponseInterface-BHN5D9r5.d.mts → ApiResponseInterface-DTBJaV5R.d.ts} +11 -2
- package/dist/{BlockNoteEditor-QV6ESIQA.js → BlockNoteEditor-7FM7B737.js} +19 -24
- package/dist/BlockNoteEditor-7FM7B737.js.map +1 -0
- package/dist/{BlockNoteEditor-U2IHUVUF.mjs → BlockNoteEditor-RVL76ZAS.mjs} +11 -16
- package/dist/BlockNoteEditor-RVL76ZAS.mjs.map +1 -0
- package/dist/JsonApiRequest-KOKGVPBI.js +25 -0
- package/dist/{JsonApiRequest-UJ7FGIVI.js.map → JsonApiRequest-KOKGVPBI.js.map} +1 -1
- package/dist/{JsonApiRequest-6UR7DIAR.mjs → JsonApiRequest-VCCRO732.mjs} +2 -2
- package/dist/chunk-2Z56AS2S.js +2723 -0
- package/dist/chunk-2Z56AS2S.js.map +1 -0
- package/dist/{chunk-HTLEKZND.mjs → chunk-37NJZ2VD.mjs} +281 -1019
- package/dist/chunk-37NJZ2VD.mjs.map +1 -0
- package/dist/{chunk-2K3Q24UF.js → chunk-3ZPK4QOB.js} +24 -14
- package/dist/chunk-3ZPK4QOB.js.map +1 -0
- package/dist/chunk-AGWQ75PQ.js +142 -0
- package/dist/chunk-AGWQ75PQ.js.map +1 -0
- package/dist/{chunk-32HM6MDD.js → chunk-CSM6AIAP.js} +1 -1
- package/dist/{chunk-32HM6MDD.js.map → chunk-CSM6AIAP.js.map} +1 -1
- package/dist/{chunk-IKBA4AHN.mjs → chunk-F4Y3GZG4.mjs} +3 -3
- package/dist/{chunk-YF5XQZDR.mjs → chunk-F5UNXZ3J.mjs} +1 -1
- package/dist/chunk-F5UNXZ3J.mjs.map +1 -0
- package/dist/chunk-IGOWVLJH.mjs +142 -0
- package/dist/chunk-IGOWVLJH.mjs.map +1 -0
- package/dist/{chunk-HAG77QBV.mjs → chunk-K4W5QXL5.mjs} +1 -1
- package/dist/chunk-KFL5ZFM4.mjs +2723 -0
- package/dist/chunk-KFL5ZFM4.mjs.map +1 -0
- package/dist/{chunk-HR4H2FP7.mjs → chunk-KJ4ETLJB.mjs} +24 -14
- package/dist/chunk-KJ4ETLJB.mjs.map +1 -0
- package/dist/chunk-LOSPCUCF.js +637 -0
- package/dist/chunk-LOSPCUCF.js.map +1 -0
- package/dist/{chunk-E2HRC2OG.js → chunk-SVX7E6RR.js} +10360 -6256
- package/dist/chunk-SVX7E6RR.js.map +1 -0
- package/dist/{chunk-EFJEWLRL.js → chunk-YUO55Q5A.js} +1 -1
- package/dist/chunk-YUO55Q5A.js.map +1 -0
- package/dist/chunk-ZQTFZKLJ.mjs +12089 -0
- package/dist/chunk-ZQTFZKLJ.mjs.map +1 -0
- package/dist/{chunk-PMXG5WBC.js → chunk-ZUEEIQHW.js} +3 -3
- package/dist/{chunk-PMXG5WBC.js.map → chunk-ZUEEIQHW.js.map} +1 -1
- package/dist/client/index.d.mts +161 -11
- package/dist/client/index.d.ts +161 -11
- package/dist/client/index.js +74 -12
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +73 -11
- package/dist/components/index.d.mts +762 -73
- package/dist/components/index.d.ts +762 -73
- package/dist/components/index.js +465 -12
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +466 -13
- package/dist/config-B43zxEvn.d.mts +69 -0
- package/dist/config-D2OUrI_G.d.ts +69 -0
- package/dist/content.fields-Ck5lkQ5d.d.mts +47 -0
- package/dist/content.fields-Ck5lkQ5d.d.ts +47 -0
- package/dist/{content.interface-C_PGZMuy.d.ts → content.interface-Bs8a7uW6.d.mts} +2 -3
- package/dist/{content.interface-D_WS6CrB.d.mts → content.interface-UtsJ-mzs.d.ts} +2 -3
- package/dist/contexts/index.d.mts +13 -6
- package/dist/contexts/index.d.ts +13 -6
- package/dist/contexts/index.js +10 -12
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/index.mjs +9 -11
- package/dist/core/index.d.mts +539 -8
- package/dist/core/index.d.ts +539 -8
- package/dist/core/index.js +104 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +105 -3
- package/dist/index.d.mts +131 -70
- package/dist/index.d.ts +131 -70
- package/dist/index.js +97 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +118 -28
- package/dist/notification.interface-BdcwkuQE.d.mts +228 -0
- package/dist/notification.interface-BdcwkuQE.d.ts +228 -0
- package/dist/request-GBLBPYFM.js +8 -0
- package/dist/request-GBLBPYFM.js.map +1 -0
- package/dist/request-XABCMU25.mjs +8 -0
- package/dist/{AbstractService-wLid8dB0.d.ts → s3.interface-D7ttGatc.d.ts} +36 -26
- package/dist/{AbstractService-BsY6W3Ej.d.mts → s3.interface-DlaMDRTn.d.mts} +36 -26
- package/dist/scripts/generate-web-module/generator.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/generator.js +8 -5
- package/dist/scripts/generate-web-module/generator.js.map +1 -1
- package/dist/scripts/generate-web-module/index.js +1 -1
- package/dist/scripts/generate-web-module/index.js.map +1 -1
- package/dist/scripts/generate-web-module/templates/components/editor.template.js +8 -1
- package/dist/scripts/generate-web-module/templates/components/editor.template.js.map +1 -1
- package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts +4 -3
- package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/transformers/parent-detector.js +9 -3
- package/dist/scripts/generate-web-module/transformers/parent-detector.js.map +1 -1
- package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts +11 -0
- package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/transformers/relationship-resolver.js +36 -9
- package/dist/scripts/generate-web-module/transformers/relationship-resolver.js.map +1 -1
- package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts +2 -0
- package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/types/template-data.interface.d.ts +1 -0
- package/dist/scripts/generate-web-module/types/template-data.interface.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/utils/i18n-updater.d.ts +4 -3
- package/dist/scripts/generate-web-module/utils/i18n-updater.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/utils/i18n-updater.js +9 -9
- package/dist/scripts/generate-web-module/utils/i18n-updater.js.map +1 -1
- package/dist/scripts/generate-web-module/validators/json-schema-validator.js +3 -3
- package/dist/scripts/generate-web-module/validators/json-schema-validator.js.map +1 -1
- package/dist/server/index.d.mts +299 -4
- package/dist/server/index.d.ts +299 -4
- package/dist/server/index.js +215 -5
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +214 -4
- package/dist/server/index.mjs.map +1 -1
- package/dist/token-2UWQJY5T.js +8 -0
- package/dist/token-2UWQJY5T.js.map +1 -0
- package/dist/token-EOK3N45S.mjs +8 -0
- package/dist/{useSocket-DzMKRKCA.d.ts → useSocket-8vwK_R_c.d.ts} +1 -1
- package/dist/{useSocket-Cn7fB_B1.d.mts → useSocket-BWJUXuOl.d.mts} +1 -1
- package/package.json +12 -52
- package/scripts/generate-web-module/generator.ts +8 -5
- package/scripts/generate-web-module/index.ts +1 -1
- package/scripts/generate-web-module/templates/components/editor.template.ts +7 -2
- package/scripts/generate-web-module/transformers/parent-detector.ts +10 -3
- package/scripts/generate-web-module/transformers/relationship-resolver.ts +36 -9
- package/scripts/generate-web-module/types/json-schema.interface.ts +2 -0
- package/scripts/generate-web-module/types/template-data.interface.ts +1 -0
- package/scripts/generate-web-module/utils/i18n-updater.ts +9 -9
- package/scripts/generate-web-module/validators/json-schema-validator.ts +3 -3
- package/src/client/JsonApiClient.ts +248 -0
- package/src/client/config.ts +78 -0
- package/src/client/index.ts +6 -1
- package/src/components/containers/TabsContainer.tsx +1 -1
- package/src/components/editors/BlockNoteEditor.tsx +3 -1
- package/src/components/index.ts +4 -0
- package/src/components/navigations/Breadcrumb.tsx +1 -1
- package/src/components/navigations/Header.tsx +2 -2
- package/src/contexts/CommonContext.tsx +1 -1
- package/src/contexts/SocketContext.tsx +1 -1
- package/src/contexts/index.ts +3 -0
- package/src/core/abstracts/ClientAbstractService.ts +255 -0
- package/src/core/abstracts/ServerAbstractService.ts +180 -0
- package/src/core/abstracts/index.ts +2 -0
- package/src/core/index.ts +32 -3
- package/src/discord/config.ts +15 -0
- package/src/discord/index.ts +1 -0
- package/src/features/auth/components/details/LandingComponent.tsx +2 -2
- package/src/features/auth/components/forms/AcceptInvitation.tsx +1 -1
- package/src/features/auth/components/forms/ActivateAccount.tsx +1 -1
- package/src/features/auth/components/forms/Cookies.tsx +2 -1
- package/src/features/auth/components/forms/ForgotPassword.tsx +1 -1
- package/src/features/auth/components/forms/Login.tsx +1 -1
- package/src/features/auth/components/forms/Logout.tsx +1 -1
- package/src/features/auth/components/forms/RefreshUser.tsx +2 -1
- package/src/features/auth/components/forms/Register.tsx +1 -1
- package/src/features/auth/components/forms/ResetPassword.tsx +1 -1
- package/src/features/auth/data/auth.service.ts +1 -1
- package/src/features/auth/data/index.ts +0 -1
- package/src/features/auth/utils/AuthCookies.ts +1 -1
- package/src/features/company/components/forms/CompanyConfigurationEditor.tsx +4 -2
- package/src/features/company/components/forms/CompanyDeleter.tsx +2 -1
- package/src/features/company/components/forms/CompanyEditor.tsx +6 -3
- package/src/features/company/components/forms/CompanyLicense.tsx +4 -2
- package/src/features/company/components/lists/CompaniesList.tsx +2 -1
- package/src/features/company/data/index.ts +0 -1
- package/src/features/content/components/lists/ContentsListById.tsx +2 -1
- package/src/features/content/components/lists/RelevantContentsList.tsx +2 -1
- package/src/features/content/data/index.ts +0 -1
- package/src/features/feature/data/index.ts +0 -1
- package/src/features/notification/components/lists/NotificationsList.tsx +2 -1
- package/src/features/notification/contexts/NotificationContext.tsx +2 -1
- package/src/features/notification/data/index.ts +0 -1
- package/src/features/push/data/index.ts +0 -1
- package/src/features/role/components/forms/RemoveUserFromRole.tsx +4 -2
- package/src/features/role/components/forms/UserRoleAdd.tsx +2 -1
- package/src/features/role/components/lists/RolesList.tsx +2 -1
- package/src/features/role/components/lists/UserRolesList.tsx +2 -1
- package/src/features/role/data/index.ts +0 -1
- package/src/features/s3/data/index.ts +0 -1
- package/src/features/user/components/forms/RoleUserAdd.tsx +4 -2
- package/src/features/user/components/forms/UserDeleter.tsx +2 -1
- package/src/features/user/components/forms/UserEditor.tsx +6 -3
- package/src/features/user/components/forms/UserMultiSelect.tsx +2 -1
- package/src/features/user/components/forms/UserReactivator.tsx +2 -1
- package/src/features/user/components/forms/UserResentInvitationEmail.tsx +2 -1
- package/src/features/user/components/forms/UserSelector.tsx +2 -1
- package/src/features/user/components/lists/AdminUsersList.tsx +2 -1
- package/src/features/user/components/lists/CompanyUsersList.tsx +2 -1
- package/src/features/user/components/lists/RelevantUsersList.tsx +2 -1
- package/src/features/user/components/lists/RoleUsersList.tsx +2 -1
- package/src/features/user/components/lists/UsersListByContentIds.tsx +2 -1
- package/src/features/user/data/index.ts +0 -1
- package/src/features/user/hooks/useUserSearch.ts +2 -1
- package/src/features/user/index.ts +1 -0
- package/src/hooks/useDataListRetriever.ts +4 -4
- package/src/hooks/usePageTracker.ts +1 -1
- package/src/hooks/usePushNotifications.ts +3 -2
- package/src/hooks/useSocket.ts +1 -1
- package/src/index.ts +7 -2
- package/src/roles/config.ts +0 -15
- package/src/roles/index.ts +1 -9
- package/src/server/JsonApiServer.ts +249 -0
- package/src/server/cache.ts +1 -1
- package/src/server/index.ts +13 -0
- package/src/server/request.ts +32 -18
- package/src/server/token.ts +1 -1
- package/dist/ApiData-DPKNfY-9.d.mts +0 -10
- package/dist/ApiData-DPKNfY-9.d.ts +0 -10
- package/dist/ApiDataInterface-DPP8s46n.d.mts +0 -21
- package/dist/ApiDataInterface-DPP8s46n.d.ts +0 -21
- package/dist/BlockNoteEditor-QV6ESIQA.js.map +0 -1
- package/dist/BlockNoteEditor-U2IHUVUF.mjs.map +0 -1
- package/dist/JsonApiRequest-UJ7FGIVI.js +0 -25
- package/dist/atoms/index.d.mts +0 -12
- package/dist/atoms/index.d.ts +0 -12
- package/dist/atoms/index.js +0 -9
- package/dist/atoms/index.js.map +0 -1
- package/dist/atoms/index.mjs +0 -9
- package/dist/chunk-2K3Q24UF.js.map +0 -1
- package/dist/chunk-3FBCC4G3.js +0 -8
- package/dist/chunk-3FBCC4G3.js.map +0 -1
- package/dist/chunk-3UELCPIN.js +0 -46
- package/dist/chunk-3UELCPIN.js.map +0 -1
- package/dist/chunk-5IET37O4.js +0 -4210
- package/dist/chunk-5IET37O4.js.map +0 -1
- package/dist/chunk-AYHKQWHH.js +0 -68
- package/dist/chunk-AYHKQWHH.js.map +0 -1
- package/dist/chunk-DEYKTLA3.js +0 -1131
- package/dist/chunk-DEYKTLA3.js.map +0 -1
- package/dist/chunk-E2HRC2OG.js.map +0 -1
- package/dist/chunk-EFJEWLRL.js.map +0 -1
- package/dist/chunk-FMBQZAIP.mjs +0 -490
- package/dist/chunk-FMBQZAIP.mjs.map +0 -1
- package/dist/chunk-HR4H2FP7.mjs.map +0 -1
- package/dist/chunk-HTLEKZND.mjs.map +0 -1
- package/dist/chunk-JGFWIT2E.mjs +0 -1131
- package/dist/chunk-JGFWIT2E.mjs.map +0 -1
- package/dist/chunk-P2F54I7Q.mjs +0 -4210
- package/dist/chunk-P2F54I7Q.mjs.map +0 -1
- package/dist/chunk-PO5Q3H5I.js +0 -1375
- package/dist/chunk-PO5Q3H5I.js.map +0 -1
- package/dist/chunk-Q2N6SQYW.mjs +0 -8
- package/dist/chunk-Q2N6SQYW.mjs.map +0 -1
- package/dist/chunk-Q4FXESVT.js +0 -490
- package/dist/chunk-Q4FXESVT.js.map +0 -1
- package/dist/chunk-R2ONK22M.mjs +0 -7985
- package/dist/chunk-R2ONK22M.mjs.map +0 -1
- package/dist/chunk-SM63SZCP.mjs +0 -68
- package/dist/chunk-SM63SZCP.mjs.map +0 -1
- package/dist/chunk-SZZYEG3P.mjs +0 -46
- package/dist/chunk-SZZYEG3P.mjs.map +0 -1
- package/dist/chunk-YF5XQZDR.mjs.map +0 -1
- package/dist/config-BmnK65TD.d.mts +0 -35
- package/dist/config-BmnK65TD.d.ts +0 -35
- package/dist/config-DQeAo9Kf.d.mts +0 -49
- package/dist/config-DQeAo9Kf.d.ts +0 -49
- package/dist/content.fields-cHPdM8GJ.d.mts +0 -27
- package/dist/content.fields-cHPdM8GJ.d.ts +0 -27
- package/dist/d3.link.interface-ClC4Irqp.d.mts +0 -21
- package/dist/d3.link.interface-ClC4Irqp.d.ts +0 -21
- package/dist/features/index.d.mts +0 -476
- package/dist/features/index.d.ts +0 -476
- package/dist/features/index.js +0 -87
- package/dist/features/index.js.map +0 -1
- package/dist/features/index.mjs +0 -87
- package/dist/hooks/index.d.mts +0 -69
- package/dist/hooks/index.d.ts +0 -69
- package/dist/hooks/index.js +0 -56
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/index.mjs +0 -56
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/interfaces/index.d.mts +0 -4
- package/dist/interfaces/index.d.ts +0 -4
- package/dist/interfaces/index.js +0 -2
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interfaces/index.mjs +0 -2
- package/dist/interfaces/index.mjs.map +0 -1
- package/dist/notification.interface-BBgMUdLR.d.mts +0 -14
- package/dist/notification.interface-gyvT-Z2F.d.ts +0 -14
- package/dist/permissions/index.d.mts +0 -41
- package/dist/permissions/index.d.ts +0 -41
- package/dist/permissions/index.js +0 -14
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/index.mjs +0 -14
- package/dist/permissions/index.mjs.map +0 -1
- package/dist/request-7FE3LJLV.mjs +0 -9
- package/dist/request-7FE3LJLV.mjs.map +0 -1
- package/dist/request-QFS7NEIE.js +0 -9
- package/dist/request-QFS7NEIE.js.map +0 -1
- package/dist/roles/index.d.mts +0 -39
- package/dist/roles/index.d.ts +0 -39
- package/dist/roles/index.js +0 -18
- package/dist/roles/index.js.map +0 -1
- package/dist/roles/index.mjs +0 -18
- package/dist/roles/index.mjs.map +0 -1
- package/dist/shadcnui/index.d.mts +0 -698
- package/dist/shadcnui/index.d.ts +0 -698
- package/dist/shadcnui/index.js +0 -468
- package/dist/shadcnui/index.js.map +0 -1
- package/dist/shadcnui/index.mjs +0 -467
- package/dist/shadcnui/index.mjs.map +0 -1
- package/dist/token-IJSPOMW6.mjs +0 -9
- package/dist/token-IJSPOMW6.mjs.map +0 -1
- package/dist/token-UYE7CV6X.js +0 -9
- package/dist/token-UYE7CV6X.js.map +0 -1
- package/dist/types-B2QRyqyK.d.ts +0 -39
- package/dist/types-CgvNmxTd.d.mts +0 -39
- package/dist/types-t2PyXhDu.d.mts +0 -116
- package/dist/types-t2PyXhDu.d.ts +0 -116
- package/dist/user.interface-CAsTIbuQ.d.mts +0 -85
- package/dist/user.interface-CbWqMaaU.d.ts +0 -85
- package/dist/utils/index.d.mts +0 -224
- package/dist/utils/index.d.ts +0 -224
- package/dist/utils/index.js +0 -46
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/index.mjs +0 -46
- package/dist/utils/index.mjs.map +0 -1
- /package/dist/{JsonApiRequest-6UR7DIAR.mjs.map → JsonApiRequest-VCCRO732.mjs.map} +0 -0
- /package/dist/{chunk-IKBA4AHN.mjs.map → chunk-F4Y3GZG4.mjs.map} +0 -0
- /package/dist/{chunk-HAG77QBV.mjs.map → chunk-K4W5QXL5.mjs.map} +0 -0
- /package/dist/{atoms/index.mjs.map → request-XABCMU25.mjs.map} +0 -0
- /package/dist/{features/index.mjs.map → token-EOK3N45S.mjs.map} +0 -0
package/dist/server/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { A as ApiData } from '../
|
|
2
|
-
import { M as ModuleWithPermissions,
|
|
1
|
+
import { A as ApiData, a as ApiResponseInterface } from '../ApiResponseInterface-DTBJaV5R.js';
|
|
2
|
+
import { M as ModuleWithPermissions, b as Action, a as ApiRequestDataTypeInterface, U as UserInterface, J as JsonApiHydratedDataInterface, j as UserInput, e as CompanyInterface, C as CompanyInput, i as RoleInterface, N as NotificationInterface, f as FeatureInterface } from '../notification.interface-BdcwkuQE.js';
|
|
3
|
+
import { A as AbstractService, a as AuthInput, c as AuthInterface, N as NextRef, P as PreviousRef, e as S3Interface } from '../s3.interface-D7ttGatc.js';
|
|
4
|
+
import { a as ContentInterface } from '../content.interface-UtsJ-mzs.js';
|
|
3
5
|
import 'lucide-react';
|
|
4
6
|
|
|
5
7
|
type CacheProfile = "seconds" | "minutes" | "hours" | "days" | "weeks" | "max" | "default";
|
|
@@ -34,7 +36,7 @@ interface ServerRequestParams {
|
|
|
34
36
|
}
|
|
35
37
|
/**
|
|
36
38
|
* Server-side request with Next.js caching support.
|
|
37
|
-
* Uses
|
|
39
|
+
* Uses fetch's native caching options for Next.js compatibility.
|
|
38
40
|
*/
|
|
39
41
|
declare function serverRequest(params: ServerRequestParams): Promise<ApiData>;
|
|
40
42
|
|
|
@@ -62,4 +64,297 @@ declare class ServerSession {
|
|
|
62
64
|
*/
|
|
63
65
|
declare function getServerToken(): Promise<string | undefined>;
|
|
64
66
|
|
|
65
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Configure the JSON:API server client.
|
|
69
|
+
* Call this in your Bootstrapper or server initialization.
|
|
70
|
+
*/
|
|
71
|
+
declare function configureServerJsonApi(config: {
|
|
72
|
+
apiUrl: string;
|
|
73
|
+
appUrl?: string;
|
|
74
|
+
trackablePages?: ModuleWithPermissions[];
|
|
75
|
+
bootstrapper?: () => void;
|
|
76
|
+
additionalHeaders?: Record<string, string>;
|
|
77
|
+
}): void;
|
|
78
|
+
declare function getServerApiUrl(): string;
|
|
79
|
+
declare function getServerAppUrl(): string;
|
|
80
|
+
declare function getServerTrackablePages(): ModuleWithPermissions[];
|
|
81
|
+
declare function ServerJsonApiGet(params: {
|
|
82
|
+
classKey: ApiRequestDataTypeInterface;
|
|
83
|
+
endpoint: string;
|
|
84
|
+
companyId?: string;
|
|
85
|
+
language: string;
|
|
86
|
+
}): Promise<ApiResponseInterface>;
|
|
87
|
+
declare function ServerJsonApiPost(params: {
|
|
88
|
+
classKey: ApiRequestDataTypeInterface;
|
|
89
|
+
endpoint: string;
|
|
90
|
+
companyId?: string;
|
|
91
|
+
body?: any;
|
|
92
|
+
overridesJsonApiCreation?: boolean;
|
|
93
|
+
files?: {
|
|
94
|
+
[key: string]: File | Blob;
|
|
95
|
+
} | File | Blob;
|
|
96
|
+
language: string;
|
|
97
|
+
responseType?: ApiRequestDataTypeInterface;
|
|
98
|
+
}): Promise<ApiResponseInterface>;
|
|
99
|
+
declare function ServerJsonApiPut(params: {
|
|
100
|
+
classKey: ApiRequestDataTypeInterface;
|
|
101
|
+
endpoint: string;
|
|
102
|
+
companyId?: string;
|
|
103
|
+
body?: any;
|
|
104
|
+
files?: {
|
|
105
|
+
[key: string]: File | Blob;
|
|
106
|
+
} | File | Blob;
|
|
107
|
+
language: string;
|
|
108
|
+
responseType?: ApiRequestDataTypeInterface;
|
|
109
|
+
}): Promise<ApiResponseInterface>;
|
|
110
|
+
declare function ServerJsonApiPatch(params: {
|
|
111
|
+
classKey: ApiRequestDataTypeInterface;
|
|
112
|
+
endpoint: string;
|
|
113
|
+
companyId?: string;
|
|
114
|
+
body?: any;
|
|
115
|
+
files?: {
|
|
116
|
+
[key: string]: File | Blob;
|
|
117
|
+
} | File | Blob;
|
|
118
|
+
overridesJsonApiCreation?: boolean;
|
|
119
|
+
responseType?: ApiRequestDataTypeInterface;
|
|
120
|
+
language: string;
|
|
121
|
+
}): Promise<ApiResponseInterface>;
|
|
122
|
+
declare function ServerJsonApiDelete(params: {
|
|
123
|
+
classKey: ApiRequestDataTypeInterface;
|
|
124
|
+
endpoint: string;
|
|
125
|
+
companyId?: string;
|
|
126
|
+
language: string;
|
|
127
|
+
responseType?: ApiRequestDataTypeInterface;
|
|
128
|
+
}): Promise<ApiResponseInterface>;
|
|
129
|
+
|
|
130
|
+
declare class AuthService extends AbstractService {
|
|
131
|
+
static login(params: {
|
|
132
|
+
email: string;
|
|
133
|
+
password: string;
|
|
134
|
+
language?: string;
|
|
135
|
+
}): Promise<UserInterface>;
|
|
136
|
+
static logout(params?: {
|
|
137
|
+
language?: string;
|
|
138
|
+
}): Promise<void>;
|
|
139
|
+
static initialiseForgotPassword(params: {
|
|
140
|
+
email: string;
|
|
141
|
+
language?: string;
|
|
142
|
+
}): Promise<void>;
|
|
143
|
+
static register(params: AuthInput): Promise<void>;
|
|
144
|
+
static activate(params: {
|
|
145
|
+
activationCode: string;
|
|
146
|
+
}): Promise<void>;
|
|
147
|
+
static validateCode(params: {
|
|
148
|
+
code: string;
|
|
149
|
+
language?: string;
|
|
150
|
+
}): Promise<void>;
|
|
151
|
+
static resetPassword(params: {
|
|
152
|
+
code: string;
|
|
153
|
+
password: string;
|
|
154
|
+
}): Promise<void>;
|
|
155
|
+
static acceptInvitation(params: {
|
|
156
|
+
code: string;
|
|
157
|
+
password: string;
|
|
158
|
+
}): Promise<void>;
|
|
159
|
+
static findToken(params: {
|
|
160
|
+
tokenCode: string;
|
|
161
|
+
}): Promise<AuthInterface>;
|
|
162
|
+
static saveToken(params: {
|
|
163
|
+
dehydratedAuth: JsonApiHydratedDataInterface;
|
|
164
|
+
}): Promise<void>;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
declare class UserService extends AbstractService {
|
|
168
|
+
static findFullUser(): Promise<UserInterface>;
|
|
169
|
+
static findById(params: {
|
|
170
|
+
userId: string;
|
|
171
|
+
}): Promise<UserInterface>;
|
|
172
|
+
static findByEmail(params: {
|
|
173
|
+
email: string;
|
|
174
|
+
}): Promise<UserInterface>;
|
|
175
|
+
static findMany(params: {
|
|
176
|
+
roleId?: string;
|
|
177
|
+
search?: string;
|
|
178
|
+
fetchAll?: boolean;
|
|
179
|
+
includeDeleted?: boolean;
|
|
180
|
+
next?: NextRef;
|
|
181
|
+
prev?: PreviousRef;
|
|
182
|
+
}): Promise<UserInterface[]>;
|
|
183
|
+
static findManyByContentIds(params: {
|
|
184
|
+
contentIds: string[];
|
|
185
|
+
search?: string;
|
|
186
|
+
next?: NextRef;
|
|
187
|
+
prev?: PreviousRef;
|
|
188
|
+
}): Promise<UserInterface[]>;
|
|
189
|
+
static findRelevant(params: {
|
|
190
|
+
id: string;
|
|
191
|
+
next?: NextRef;
|
|
192
|
+
prev?: PreviousRef;
|
|
193
|
+
}): Promise<UserInterface[]>;
|
|
194
|
+
static findManyForAmin(params: {
|
|
195
|
+
companyId?: string;
|
|
196
|
+
search?: string;
|
|
197
|
+
next?: NextRef;
|
|
198
|
+
prev?: PreviousRef;
|
|
199
|
+
}): Promise<UserInterface[]>;
|
|
200
|
+
static findAllUsers(params: {
|
|
201
|
+
companyId: string;
|
|
202
|
+
search?: string;
|
|
203
|
+
limitToRoles?: string[];
|
|
204
|
+
isDeleted?: boolean;
|
|
205
|
+
next?: NextRef;
|
|
206
|
+
prev?: PreviousRef;
|
|
207
|
+
}): Promise<UserInterface[]>;
|
|
208
|
+
static findAllUsersByRole(params: {
|
|
209
|
+
roleId: string;
|
|
210
|
+
search?: string;
|
|
211
|
+
next?: NextRef;
|
|
212
|
+
prev?: PreviousRef;
|
|
213
|
+
}): Promise<UserInterface[]>;
|
|
214
|
+
static findAllUsersNotInRole(params: {
|
|
215
|
+
roleId: string;
|
|
216
|
+
search?: string;
|
|
217
|
+
next?: NextRef;
|
|
218
|
+
prev?: PreviousRef;
|
|
219
|
+
}): Promise<UserInterface[]>;
|
|
220
|
+
static create(params: UserInput): Promise<UserInterface>;
|
|
221
|
+
static reactivate(params: {
|
|
222
|
+
userId: string;
|
|
223
|
+
}): Promise<UserInterface>;
|
|
224
|
+
static sendInvitation(params: {
|
|
225
|
+
userId: string;
|
|
226
|
+
companyId?: string;
|
|
227
|
+
}): Promise<void>;
|
|
228
|
+
static update(params: UserInput): Promise<UserInterface>;
|
|
229
|
+
static patchRate(params: UserInput): Promise<UserInterface>;
|
|
230
|
+
static delete(params: {
|
|
231
|
+
userId: string;
|
|
232
|
+
companyId: string;
|
|
233
|
+
}): Promise<void>;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
declare class CompanyService extends AbstractService {
|
|
237
|
+
static findOne(params: {
|
|
238
|
+
companyId: string;
|
|
239
|
+
}): Promise<CompanyInterface>;
|
|
240
|
+
static findMany(params: {
|
|
241
|
+
search?: string;
|
|
242
|
+
next?: NextRef;
|
|
243
|
+
}): Promise<CompanyInterface[]>;
|
|
244
|
+
static delete(params: {
|
|
245
|
+
companyId: string;
|
|
246
|
+
}): Promise<void>;
|
|
247
|
+
static create(params: CompanyInput): Promise<CompanyInterface>;
|
|
248
|
+
static update(params: CompanyInput): Promise<CompanyInterface>;
|
|
249
|
+
static updateConfigurations(params: CompanyInput): Promise<CompanyInterface>;
|
|
250
|
+
static activateLicense(params: CompanyInput): Promise<CompanyInterface>;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
declare class RoleService extends AbstractService {
|
|
254
|
+
static findById(params: {
|
|
255
|
+
roleId: string;
|
|
256
|
+
}): Promise<RoleInterface>;
|
|
257
|
+
static findAllRoles(params: {
|
|
258
|
+
search?: string;
|
|
259
|
+
next?: NextRef;
|
|
260
|
+
}): Promise<RoleInterface[]>;
|
|
261
|
+
static findAllRolesByUser(params: {
|
|
262
|
+
userId: string;
|
|
263
|
+
search?: string;
|
|
264
|
+
next?: NextRef;
|
|
265
|
+
prev?: PreviousRef;
|
|
266
|
+
}): Promise<RoleInterface[]>;
|
|
267
|
+
static findAllRolesUserNotIn(params: {
|
|
268
|
+
userId: string;
|
|
269
|
+
search?: string;
|
|
270
|
+
next?: NextRef;
|
|
271
|
+
prev?: PreviousRef;
|
|
272
|
+
}): Promise<RoleInterface[]>;
|
|
273
|
+
static addUserToRole(params: {
|
|
274
|
+
userId: string;
|
|
275
|
+
roleId: string;
|
|
276
|
+
}): Promise<void>;
|
|
277
|
+
static removeUserFromRole(params: {
|
|
278
|
+
userId: string;
|
|
279
|
+
roleId: string;
|
|
280
|
+
}): Promise<void>;
|
|
281
|
+
static create(params: {
|
|
282
|
+
roleId: string;
|
|
283
|
+
name: string;
|
|
284
|
+
description?: string;
|
|
285
|
+
}): Promise<RoleInterface>;
|
|
286
|
+
static update(params: {
|
|
287
|
+
roleId: string;
|
|
288
|
+
name: string;
|
|
289
|
+
description?: string;
|
|
290
|
+
}): Promise<RoleInterface>;
|
|
291
|
+
static delete(params: {
|
|
292
|
+
roleId: string;
|
|
293
|
+
}): Promise<RoleInterface>;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
declare class ContentService extends AbstractService {
|
|
297
|
+
static findMany(params: {
|
|
298
|
+
contentIds?: string[];
|
|
299
|
+
search?: string;
|
|
300
|
+
fetchAll?: boolean;
|
|
301
|
+
next?: NextRef;
|
|
302
|
+
prev?: PreviousRef;
|
|
303
|
+
}): Promise<ContentInterface[]>;
|
|
304
|
+
static findRelevant(params: {
|
|
305
|
+
id: string;
|
|
306
|
+
next?: NextRef;
|
|
307
|
+
prev?: PreviousRef;
|
|
308
|
+
}): Promise<ContentInterface[]>;
|
|
309
|
+
static findManyByAuthor(params: {
|
|
310
|
+
userId: string;
|
|
311
|
+
search?: string;
|
|
312
|
+
fetchAll?: boolean;
|
|
313
|
+
next?: NextRef;
|
|
314
|
+
prev?: PreviousRef;
|
|
315
|
+
}): Promise<ContentInterface[]>;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
declare class NotificationService extends AbstractService {
|
|
319
|
+
static findMany(params: {
|
|
320
|
+
isArchived?: boolean;
|
|
321
|
+
next?: NextRef;
|
|
322
|
+
}): Promise<NotificationInterface[]>;
|
|
323
|
+
static markAsRead(params: {
|
|
324
|
+
data: any;
|
|
325
|
+
}): Promise<void>;
|
|
326
|
+
static archive(params: {
|
|
327
|
+
id: string;
|
|
328
|
+
}): Promise<void>;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
declare class FeatureService extends AbstractService {
|
|
332
|
+
static findMany(params: {
|
|
333
|
+
companyId?: string;
|
|
334
|
+
search?: string;
|
|
335
|
+
next?: NextRef;
|
|
336
|
+
}): Promise<FeatureInterface[]>;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
declare class PushService extends AbstractService {
|
|
340
|
+
static register(params: {
|
|
341
|
+
data: any;
|
|
342
|
+
}): Promise<void>;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
declare class S3Service extends AbstractService {
|
|
346
|
+
static getPreSignedUrl(params: {
|
|
347
|
+
key: string;
|
|
348
|
+
contentType: string;
|
|
349
|
+
isPublic?: boolean;
|
|
350
|
+
}): Promise<S3Interface>;
|
|
351
|
+
static getSignedUrl(params: {
|
|
352
|
+
key: string;
|
|
353
|
+
isPublic?: boolean;
|
|
354
|
+
}): Promise<S3Interface>;
|
|
355
|
+
static deleteFile(params: {
|
|
356
|
+
key: string;
|
|
357
|
+
}): Promise<void>;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
export { type CacheProfile, AuthService as ServerAuthService, CompanyService as ServerCompanyService, ContentService as ServerContentService, FeatureService as ServerFeatureService, ServerJsonApiDelete, ServerJsonApiGet, ServerJsonApiPatch, ServerJsonApiPost, ServerJsonApiPut, NotificationService as ServerNotificationService, PushService as ServerPushService, type ServerRequestParams, RoleService as ServerRoleService, S3Service as ServerS3Service, ServerSession, UserService as ServerUserService, configureServerJsonApi, getServerApiUrl, getServerAppUrl, getServerToken, getServerTrackablePages, invalidateCacheTag, invalidateCacheTags, serverRequest };
|
package/dist/server/index.js
CHANGED
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk3ZPK4QOBjs = require('../chunk-3ZPK4QOB.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var _chunkEFJEWLRLjs = require('../chunk-EFJEWLRL.js');
|
|
7
6
|
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _chunkLOSPCUCFjs = require('../chunk-LOSPCUCF.js');
|
|
15
|
+
require('../chunk-ZUEEIQHW.js');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunkCSM6AIAPjs = require('../chunk-CSM6AIAP.js');
|
|
19
|
+
require('../chunk-2Z56AS2S.js');
|
|
20
|
+
require('../chunk-IBS6NI7D.js');
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var _chunkAGAJMJ4Tjs = require('../chunk-AGAJMJ4T.js');
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
var _chunkYUO55Q5Ajs = require('../chunk-YUO55Q5A.js');
|
|
28
|
+
require('../chunk-LXKSUWAV.js');
|
|
10
29
|
|
|
11
30
|
|
|
12
31
|
var _chunk7QVYU63Ejs = require('../chunk-7QVYU63E.js');
|
|
@@ -78,7 +97,7 @@ var ServerSession = class {
|
|
|
78
97
|
if (!rawModules) return false;
|
|
79
98
|
const modules = JSON.parse(_zlib2.default.gunzipSync(Buffer.from(rawModules, "base64")).toString());
|
|
80
99
|
const selectedModule = modules.find((module) => module.id === params.module.moduleId);
|
|
81
|
-
return
|
|
100
|
+
return _chunkCSM6AIAPjs.checkPermissionsFromServer.call(void 0, {
|
|
82
101
|
module: params.module,
|
|
83
102
|
action: params.action,
|
|
84
103
|
data: params.data,
|
|
@@ -88,10 +107,201 @@ var ServerSession = class {
|
|
|
88
107
|
}
|
|
89
108
|
};
|
|
90
109
|
|
|
110
|
+
// src/server/JsonApiServer.ts
|
|
111
|
+
var _serverConfig = null;
|
|
112
|
+
function configureServerJsonApi(config) {
|
|
113
|
+
_serverConfig = config;
|
|
114
|
+
if (config.bootstrapper) {
|
|
115
|
+
config.bootstrapper();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
_chunk7QVYU63Ejs.__name.call(void 0, configureServerJsonApi, "configureServerJsonApi");
|
|
119
|
+
function getServerApiUrl() {
|
|
120
|
+
if (_optionalChain([_serverConfig, 'optionalAccess', _22 => _22.apiUrl])) {
|
|
121
|
+
return _serverConfig.apiUrl;
|
|
122
|
+
}
|
|
123
|
+
const envUrl = process.env.NEXT_PUBLIC_API_URL;
|
|
124
|
+
if (!envUrl) {
|
|
125
|
+
throw new Error("API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable.");
|
|
126
|
+
}
|
|
127
|
+
return envUrl;
|
|
128
|
+
}
|
|
129
|
+
_chunk7QVYU63Ejs.__name.call(void 0, getServerApiUrl, "getServerApiUrl");
|
|
130
|
+
function getServerAppUrl() {
|
|
131
|
+
if (_optionalChain([_serverConfig, 'optionalAccess', _23 => _23.appUrl])) {
|
|
132
|
+
return _serverConfig.appUrl;
|
|
133
|
+
}
|
|
134
|
+
const envUrl = process.env.NEXT_PUBLIC_ADDRESS;
|
|
135
|
+
if (!envUrl) {
|
|
136
|
+
throw new Error("App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable.");
|
|
137
|
+
}
|
|
138
|
+
return envUrl.trim().replace(/\/+$/, "");
|
|
139
|
+
}
|
|
140
|
+
_chunk7QVYU63Ejs.__name.call(void 0, getServerAppUrl, "getServerAppUrl");
|
|
141
|
+
function getServerTrackablePages() {
|
|
142
|
+
return _nullishCoalesce(_optionalChain([_serverConfig, 'optionalAccess', _24 => _24.trackablePages]), () => ( []));
|
|
143
|
+
}
|
|
144
|
+
_chunk7QVYU63Ejs.__name.call(void 0, getServerTrackablePages, "getServerTrackablePages");
|
|
145
|
+
function runServerBootstrapper() {
|
|
146
|
+
if (_optionalChain([_serverConfig, 'optionalAccess', _25 => _25.bootstrapper])) {
|
|
147
|
+
_serverConfig.bootstrapper();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
_chunk7QVYU63Ejs.__name.call(void 0, runServerBootstrapper, "runServerBootstrapper");
|
|
151
|
+
function buildServerUrl(endpoint) {
|
|
152
|
+
const apiUrl = getServerApiUrl();
|
|
153
|
+
return endpoint.startsWith("http") ? endpoint : `${apiUrl}${endpoint}`;
|
|
154
|
+
}
|
|
155
|
+
_chunk7QVYU63Ejs.__name.call(void 0, buildServerUrl, "buildServerUrl");
|
|
156
|
+
async function ServerJsonApiGet(params) {
|
|
157
|
+
runServerBootstrapper();
|
|
158
|
+
const token = await _chunkYUO55Q5Ajs.getServerToken.call(void 0, );
|
|
159
|
+
const apiResponse = await _chunk3ZPK4QOBjs.serverRequest.call(void 0, {
|
|
160
|
+
method: "GET",
|
|
161
|
+
url: buildServerUrl(params.endpoint),
|
|
162
|
+
token,
|
|
163
|
+
cache: params.classKey.cache,
|
|
164
|
+
companyId: params.companyId,
|
|
165
|
+
language: params.language,
|
|
166
|
+
additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _26 => _26.additionalHeaders])
|
|
167
|
+
});
|
|
168
|
+
return _chunkAGAJMJ4Tjs.translateResponse.call(void 0, {
|
|
169
|
+
classKey: params.classKey,
|
|
170
|
+
apiResponse,
|
|
171
|
+
companyId: params.companyId,
|
|
172
|
+
language: params.language,
|
|
173
|
+
paginationHandler: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (endpoint) => ServerJsonApiGet({
|
|
174
|
+
classKey: params.classKey,
|
|
175
|
+
endpoint,
|
|
176
|
+
companyId: params.companyId,
|
|
177
|
+
language: params.language
|
|
178
|
+
}), "paginationHandler")
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
_chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiGet, "ServerJsonApiGet");
|
|
182
|
+
async function ServerJsonApiPost(params) {
|
|
183
|
+
runServerBootstrapper();
|
|
184
|
+
const token = await _chunkYUO55Q5Ajs.getServerToken.call(void 0, );
|
|
185
|
+
let body = params.body;
|
|
186
|
+
if (!body) {
|
|
187
|
+
body = {};
|
|
188
|
+
} else if (params.overridesJsonApiCreation !== true) {
|
|
189
|
+
body = _chunkAGAJMJ4Tjs.JsonApiDataFactory.create(params.classKey, body);
|
|
190
|
+
}
|
|
191
|
+
const apiResponse = await _chunk3ZPK4QOBjs.serverRequest.call(void 0, {
|
|
192
|
+
method: "POST",
|
|
193
|
+
url: buildServerUrl(params.endpoint),
|
|
194
|
+
token,
|
|
195
|
+
body,
|
|
196
|
+
files: params.files,
|
|
197
|
+
companyId: params.companyId,
|
|
198
|
+
language: params.language,
|
|
199
|
+
additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _27 => _27.additionalHeaders])
|
|
200
|
+
});
|
|
201
|
+
return _chunkAGAJMJ4Tjs.translateResponse.call(void 0, {
|
|
202
|
+
classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
|
|
203
|
+
apiResponse,
|
|
204
|
+
companyId: params.companyId,
|
|
205
|
+
language: params.language
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
_chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiPost, "ServerJsonApiPost");
|
|
209
|
+
async function ServerJsonApiPut(params) {
|
|
210
|
+
runServerBootstrapper();
|
|
211
|
+
const token = await _chunkYUO55Q5Ajs.getServerToken.call(void 0, );
|
|
212
|
+
let body = params.body;
|
|
213
|
+
if (!body) {
|
|
214
|
+
body = {};
|
|
215
|
+
} else {
|
|
216
|
+
body = _chunkAGAJMJ4Tjs.JsonApiDataFactory.create(params.classKey, body);
|
|
217
|
+
}
|
|
218
|
+
const apiResponse = await _chunk3ZPK4QOBjs.serverRequest.call(void 0, {
|
|
219
|
+
method: "PUT",
|
|
220
|
+
url: buildServerUrl(params.endpoint),
|
|
221
|
+
token,
|
|
222
|
+
body,
|
|
223
|
+
files: params.files,
|
|
224
|
+
companyId: params.companyId,
|
|
225
|
+
language: params.language,
|
|
226
|
+
additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _28 => _28.additionalHeaders])
|
|
227
|
+
});
|
|
228
|
+
return _chunkAGAJMJ4Tjs.translateResponse.call(void 0, {
|
|
229
|
+
classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
|
|
230
|
+
apiResponse,
|
|
231
|
+
companyId: params.companyId,
|
|
232
|
+
language: params.language
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
_chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiPut, "ServerJsonApiPut");
|
|
236
|
+
async function ServerJsonApiPatch(params) {
|
|
237
|
+
runServerBootstrapper();
|
|
238
|
+
const token = await _chunkYUO55Q5Ajs.getServerToken.call(void 0, );
|
|
239
|
+
let body = params.body;
|
|
240
|
+
if (!body) {
|
|
241
|
+
body = {};
|
|
242
|
+
} else if (params.overridesJsonApiCreation !== true) {
|
|
243
|
+
body = _chunkAGAJMJ4Tjs.JsonApiDataFactory.create(params.classKey, body);
|
|
244
|
+
}
|
|
245
|
+
const apiResponse = await _chunk3ZPK4QOBjs.serverRequest.call(void 0, {
|
|
246
|
+
method: "PATCH",
|
|
247
|
+
url: buildServerUrl(params.endpoint),
|
|
248
|
+
token,
|
|
249
|
+
body,
|
|
250
|
+
files: params.files,
|
|
251
|
+
companyId: params.companyId,
|
|
252
|
+
language: params.language,
|
|
253
|
+
additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _29 => _29.additionalHeaders])
|
|
254
|
+
});
|
|
255
|
+
return _chunkAGAJMJ4Tjs.translateResponse.call(void 0, {
|
|
256
|
+
classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
|
|
257
|
+
apiResponse,
|
|
258
|
+
companyId: params.companyId,
|
|
259
|
+
language: params.language
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
_chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiPatch, "ServerJsonApiPatch");
|
|
263
|
+
async function ServerJsonApiDelete(params) {
|
|
264
|
+
runServerBootstrapper();
|
|
265
|
+
const token = await _chunkYUO55Q5Ajs.getServerToken.call(void 0, );
|
|
266
|
+
const apiResponse = await _chunk3ZPK4QOBjs.serverRequest.call(void 0, {
|
|
267
|
+
method: "DELETE",
|
|
268
|
+
url: buildServerUrl(params.endpoint),
|
|
269
|
+
token,
|
|
270
|
+
companyId: params.companyId,
|
|
271
|
+
language: params.language,
|
|
272
|
+
additionalHeaders: _optionalChain([_serverConfig, 'optionalAccess', _30 => _30.additionalHeaders])
|
|
273
|
+
});
|
|
274
|
+
return _chunkAGAJMJ4Tjs.translateResponse.call(void 0, {
|
|
275
|
+
classKey: _nullishCoalesce(params.responseType, () => ( params.classKey)),
|
|
276
|
+
apiResponse,
|
|
277
|
+
companyId: params.companyId,
|
|
278
|
+
language: params.language
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
_chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiDelete, "ServerJsonApiDelete");
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
91
301
|
|
|
92
302
|
|
|
93
303
|
|
|
94
304
|
|
|
95
305
|
|
|
96
|
-
exports.ServerSession = ServerSession; exports.getServerToken =
|
|
306
|
+
exports.ServerAuthService = _chunkLOSPCUCFjs.AuthService; exports.ServerCompanyService = _chunkLOSPCUCFjs.CompanyService; exports.ServerContentService = _chunkLOSPCUCFjs.ContentService; exports.ServerFeatureService = _chunkLOSPCUCFjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkLOSPCUCFjs.NotificationService; exports.ServerPushService = _chunkLOSPCUCFjs.PushService; exports.ServerRoleService = _chunkLOSPCUCFjs.RoleService; exports.ServerS3Service = _chunkLOSPCUCFjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkLOSPCUCFjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunk3ZPK4QOBjs.serverRequest;
|
|
97
307
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","../../src/server/cache.ts","../../src/server/ServerSession.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","sourcesContent":[null,"\"use server\";\n\nimport { revalidateTag } from \"next/cache\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n","import { cookies } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport zlib from \"zlib\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\n\nexport class ServerSession {\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async isLicenseActive(): Promise<boolean> {\n const cookieStore = await cookies();\n const licenseExpirationDate = cookieStore.get(\"licenseExpirationDate\")?.value;\n\n if (!licenseExpirationDate) return false;\n\n const now = new Date();\n return new Date(licenseExpirationDate) > now;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(zlib.gunzipSync(Buffer.from(rawModules, \"base64\")).toString());\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","../../src/server/cache.ts","../../src/server/ServerSession.ts","../../src/server/JsonApiServer.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/server/index.js","sourcesContent":[null,"// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { revalidateTag } from \"next/cache\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile (defaults to \"max\" for immediate invalidation)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n","import { cookies } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport zlib from \"zlib\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\n\nexport class ServerSession {\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async isLicenseActive(): Promise<boolean> {\n const cookieStore = await cookies();\n const licenseExpirationDate = cookieStore.get(\"licenseExpirationDate\")?.value;\n\n if (!licenseExpirationDate) return false;\n\n const now = new Date();\n return new Date(licenseExpirationDate) > now;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(zlib.gunzipSync(Buffer.from(rawModules, \"base64\")).toString());\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n","// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { JsonApiDataFactory } from \"../core/factories/JsonApiDataFactory\";\nimport { ApiRequestDataTypeInterface } from \"../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../core/interfaces/ApiResponseInterface\";\nimport { translateResponse } from \"../core/utils/translateResponse\";\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { serverRequest } from \"./request\";\nimport { getServerToken } from \"./token\";\n\n// Config storage for server contexts\nlet _serverConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n} | null = null;\n\n/**\n * Configure the JSON:API server client.\n * Call this in your Bootstrapper or server initialization.\n */\nexport function configureServerJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n}): void {\n _serverConfig = config;\n if (config.bootstrapper) {\n config.bootstrapper();\n }\n}\n\nexport function getServerApiUrl(): string {\n if (_serverConfig?.apiUrl) {\n return _serverConfig.apiUrl;\n }\n const envUrl = process.env.NEXT_PUBLIC_API_URL;\n if (!envUrl) {\n throw new Error(\"API URL not configured. Use configureServerJsonApi() or set NEXT_PUBLIC_API_URL environment variable.\");\n }\n return envUrl;\n}\n\nexport function getServerAppUrl(): string {\n if (_serverConfig?.appUrl) {\n return _serverConfig.appUrl;\n }\n const envUrl = process.env.NEXT_PUBLIC_ADDRESS;\n if (!envUrl) {\n throw new Error(\"App URL not configured. Use configureServerJsonApi({ appUrl }) or set NEXT_PUBLIC_ADDRESS environment variable.\");\n }\n return envUrl.trim().replace(/\\/+$/, \"\");\n}\n\nexport function getServerTrackablePages(): ModuleWithPermissions[] {\n return _serverConfig?.trackablePages ?? [];\n}\n\nfunction runServerBootstrapper(): void {\n if (_serverConfig?.bootstrapper) {\n _serverConfig.bootstrapper();\n }\n}\n\nfunction buildServerUrl(endpoint: string): string {\n const apiUrl = getServerApiUrl();\n return endpoint.startsWith(\"http\") ? endpoint : `${apiUrl}${endpoint}`;\n}\n\nexport async function ServerJsonApiGet(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"GET\",\n url: buildServerUrl(params.endpoint),\n token,\n cache: params.classKey.cache,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n paginationHandler: async (endpoint: string) =>\n ServerJsonApiGet({\n classKey: params.classKey,\n endpoint,\n companyId: params.companyId,\n language: params.language,\n }),\n });\n}\n\nexport async function ServerJsonApiPost(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n overridesJsonApiCreation?: boolean;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"POST\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPut(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PUT\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiPatch(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n body?: any;\n files?: { [key: string]: File | Blob } | File | Blob;\n overridesJsonApiCreation?: boolean;\n responseType?: ApiRequestDataTypeInterface;\n language: string;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n let body = params.body;\n if (!body) {\n body = {};\n } else if (params.overridesJsonApiCreation !== true) {\n body = JsonApiDataFactory.create(params.classKey, body);\n }\n\n const apiResponse = await serverRequest({\n method: \"PATCH\",\n url: buildServerUrl(params.endpoint),\n token,\n body,\n files: params.files,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n\nexport async function ServerJsonApiDelete(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n language: string;\n responseType?: ApiRequestDataTypeInterface;\n}): Promise<ApiResponseInterface> {\n runServerBootstrapper();\n const token = await getServerToken();\n\n const apiResponse = await serverRequest({\n method: \"DELETE\",\n url: buildServerUrl(params.endpoint),\n token,\n companyId: params.companyId,\n language: params.language,\n additionalHeaders: _serverConfig?.additionalHeaders,\n });\n\n return translateResponse({\n classKey: params.responseType ?? params.classKey,\n apiResponse,\n companyId: params.companyId,\n language: params.language,\n });\n}\n"]}
|