@carlonicora/nextjs-jsonapi 1.0.4 → 1.0.5
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/dist/{AbstractService-BKlpJA61.d.mts → AbstractService-B2n_JdiC.d.mts} +1 -1
- package/dist/{AbstractService-D9eSVKNa.d.ts → AbstractService-DtQTYovo.d.ts} +1 -1
- package/dist/{content.interface-Dg2lt_An.d.mts → AuthComponent-CPLvEerw.d.mts} +11 -15
- package/dist/{content.interface-BhyAiOFq.d.ts → AuthComponent-m6Qp4Hz6.d.ts} +11 -15
- package/dist/{BlockNoteEditor-UVO3VZZE.mjs → BlockNoteEditor-BLVXQPXV.mjs} +14 -18
- package/dist/{BlockNoteEditor-UVO3VZZE.mjs.map → BlockNoteEditor-BLVXQPXV.mjs.map} +1 -1
- package/dist/{BlockNoteEditor-VFWG6LXI.js → BlockNoteEditor-ZTDHULFT.js} +15 -19
- package/dist/BlockNoteEditor-ZTDHULFT.js.map +1 -0
- package/dist/JsonApiRequest-O7BGUMFO.mjs +23 -0
- package/dist/JsonApiRequest-VARLNKAF.js +23 -0
- package/dist/JsonApiRequest-VARLNKAF.js.map +1 -0
- package/dist/chunk-2LM6LCJW.mjs +1 -0
- package/dist/chunk-3APORDYP.mjs +7783 -0
- package/dist/chunk-3APORDYP.mjs.map +1 -0
- package/dist/{chunk-TMVHSY3Y.js → chunk-5ZEADNNP.js} +36 -17
- package/dist/chunk-5ZEADNNP.js.map +1 -0
- package/dist/{chunk-ECDTZBYO.mjs → chunk-74F6BBHH.mjs} +21 -2
- package/dist/chunk-74F6BBHH.mjs.map +1 -0
- package/dist/{chunk-GYWPEPOH.mjs → chunk-7C5RAEBO.mjs} +72 -68
- package/dist/chunk-7C5RAEBO.mjs.map +1 -0
- package/dist/chunk-A5DDIABK.js +1 -0
- package/dist/{chunk-TEGF6ZWG.js → chunk-AGAJMJ4T.js} +47 -9
- package/dist/chunk-AGAJMJ4T.js.map +1 -0
- package/dist/{chunk-CXQOWQSY.js → chunk-AYHKQWHH.js} +15 -2
- package/dist/chunk-AYHKQWHH.js.map +1 -0
- package/dist/{chunk-I2REI7OA.js → chunk-HMHGLXWC.js} +33 -15
- package/dist/chunk-HMHGLXWC.js.map +1 -0
- package/dist/chunk-IWFGEPAA.mjs +1 -0
- package/dist/chunk-JC3WJK65.js +1 -0
- package/dist/{chunk-L6EQEAXU.mjs → chunk-PYF2U6WG.mjs} +25 -7
- package/dist/chunk-PYF2U6WG.mjs.map +1 -0
- package/dist/{chunk-YDVTFM7X.mjs → chunk-RBIVEH2K.mjs} +42 -4
- package/dist/chunk-RBIVEH2K.mjs.map +1 -0
- package/dist/{chunk-V2JJPI7N.js → chunk-RZO2LOW4.js} +237 -233
- package/dist/chunk-RZO2LOW4.js.map +1 -0
- package/dist/{chunk-X4BIHJ2B.mjs → chunk-SM63SZCP.mjs} +15 -2
- package/dist/chunk-SM63SZCP.mjs.map +1 -0
- package/dist/chunk-WEC4YMOS.js +7783 -0
- package/dist/chunk-WEC4YMOS.js.map +1 -0
- package/dist/client/index.d.mts +21 -2
- package/dist/client/index.d.ts +21 -2
- package/dist/client/index.js +18 -245
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +28 -255
- package/dist/client/index.mjs.map +1 -1
- package/dist/components/index.d.mts +293 -8
- package/dist/components/index.d.ts +293 -8
- package/dist/components/index.js +78 -2323
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +172 -2417
- package/dist/components/index.mjs.map +1 -1
- package/dist/{config-hXufftVS.d.ts → config-BmnK65TD.d.mts} +1 -0
- package/dist/{config-hXufftVS.d.mts → config-BmnK65TD.d.ts} +1 -0
- package/dist/config-DQeAo9Kf.d.mts +49 -0
- package/dist/config-DQeAo9Kf.d.ts +49 -0
- package/dist/contexts/index.d.mts +109 -21
- package/dist/contexts/index.d.ts +109 -21
- package/dist/contexts/index.js +39 -7
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/index.mjs +40 -8
- package/dist/core/index.d.mts +3 -4
- package/dist/core/index.d.ts +3 -4
- package/dist/core/index.js +3 -7
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +4 -8
- package/dist/{d3.link.interface-QMdB22bC.d.mts → d3.link.interface-ClC4Irqp.d.mts} +2 -1
- package/dist/{d3.link.interface-QMdB22bC.d.ts → d3.link.interface-ClC4Irqp.d.ts} +2 -1
- package/dist/features/index.d.mts +17 -86
- package/dist/features/index.d.ts +17 -86
- package/dist/features/index.js +7 -16
- package/dist/features/index.js.map +1 -1
- package/dist/features/index.mjs +10 -19
- package/dist/hooks/index.d.mts +18 -43
- package/dist/hooks/index.d.ts +18 -43
- package/dist/hooks/index.js +20 -7
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +19 -6
- package/dist/index.d.mts +10 -6
- package/dist/index.d.ts +10 -6
- package/dist/index.js +13 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -19
- package/dist/interfaces/index.d.mts +2 -1
- package/dist/interfaces/index.d.ts +2 -1
- package/dist/notification.interface-BBgMUdLR.d.mts +14 -0
- package/dist/notification.interface-gyvT-Z2F.d.ts +14 -0
- package/dist/permissions/index.d.mts +2 -3
- package/dist/permissions/index.d.ts +2 -3
- package/dist/server/index.d.mts +38 -18
- package/dist/server/index.d.ts +38 -18
- package/dist/server/index.js +70 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +68 -0
- package/dist/server/index.mjs.map +1 -1
- package/dist/types-BUAlgqqh.d.ts +39 -0
- package/dist/{types-DluCaP1I.d.ts → types-Bl61ob-7.d.mts} +19 -2
- package/dist/{types-lQVA8d_P.d.mts → types-Bl61ob-7.d.ts} +19 -2
- package/dist/types-iVdVY7ba.d.mts +39 -0
- package/dist/useSocket-Cn7fB_B1.d.mts +25 -0
- package/dist/useSocket-DzMKRKCA.d.ts +25 -0
- package/dist/user.fields-CbdObSmS.d.mts +18 -0
- package/dist/user.fields-CbdObSmS.d.ts +18 -0
- package/dist/utils/index.d.mts +1 -2
- package/dist/utils/index.d.ts +1 -2
- package/package.json +5 -3
- package/src/client/index.ts +13 -0
- package/src/components/forms/index.ts +1 -0
- package/src/components/index.ts +5 -0
- package/src/components/tables/ContentListTable.tsx +1 -0
- package/src/contexts/CommonContext.tsx +52 -0
- package/src/contexts/SharedContext.tsx +2 -0
- package/src/contexts/SocketContext.tsx +65 -0
- package/src/contexts/index.ts +6 -1
- package/src/features/auth/components/containers/AuthContainer.tsx +32 -0
- package/src/features/auth/components/containers/index.ts +1 -0
- package/src/features/auth/components/details/LandingComponent.tsx +39 -0
- package/src/features/auth/components/details/index.ts +1 -0
- package/src/features/auth/components/forms/AcceptInvitation.tsx +136 -0
- package/src/features/auth/components/forms/ActivateAccount.tsx +75 -0
- package/src/features/auth/components/forms/Cookies.tsx +32 -0
- package/src/features/auth/components/forms/ForgotPassword.tsx +108 -0
- package/src/features/auth/components/forms/Login.tsx +118 -0
- package/src/features/auth/components/forms/Logout.tsx +19 -0
- package/src/features/auth/components/forms/RefreshUser.tsx +39 -0
- package/src/features/auth/components/forms/Register.tsx +150 -0
- package/src/features/auth/components/forms/ResetPassword.tsx +126 -0
- package/src/features/auth/components/forms/index.ts +9 -0
- package/src/features/auth/components/index.ts +3 -0
- package/src/features/auth/contexts/AuthContext.tsx +77 -0
- package/src/features/auth/contexts/index.ts +1 -0
- package/src/features/auth/enums/AuthComponent.ts +9 -0
- package/src/features/auth/enums/index.ts +1 -0
- package/src/features/auth/index.ts +2 -1
- package/src/features/auth/utils/AuthCookies.ts +134 -0
- package/src/features/auth/utils/index.ts +1 -0
- package/src/features/company/components/containers/AdminCompanyContainer.tsx +26 -0
- package/src/features/company/components/containers/CompanyContainer.tsx +17 -0
- package/src/features/company/components/containers/index.ts +2 -0
- package/src/features/company/components/details/CompanyDetails.tsx +26 -0
- package/src/features/company/components/details/index.ts +1 -0
- package/src/features/company/components/forms/CompanyConfigurationEditor.tsx +151 -0
- package/src/features/company/components/forms/CompanyConfigurationSecurityForm.tsx +97 -0
- package/src/features/company/components/forms/CompanyDeleter.tsx +121 -0
- package/src/features/company/components/forms/CompanyEditor.tsx +245 -0
- package/src/features/company/components/forms/CompanyLicense.tsx +213 -0
- package/src/features/company/components/forms/index.ts +5 -0
- package/src/features/company/components/index.ts +4 -0
- package/src/features/company/components/lists/CompaniesList.tsx +31 -0
- package/src/features/company/components/lists/index.ts +1 -0
- package/src/features/company/contexts/CompanyContext.tsx +99 -0
- package/src/features/company/contexts/index.ts +0 -0
- package/src/features/company/hooks/index.ts +1 -0
- package/src/features/company/hooks/useCompanyTableStructure.tsx +82 -0
- package/src/features/feature/components/forms/FormFeatures.tsx +141 -140
- package/src/features/feature/components/forms/index.ts +1 -0
- package/src/features/feature/components/index.ts +1 -1
- package/src/features/feature/index.ts +1 -2
- package/src/features/module/index.ts +1 -1
- package/src/features/notification/components/common/NotificationErrorBoundary.tsx +51 -0
- package/src/features/notification/components/common/index.ts +1 -0
- package/src/features/notification/components/containers/NotificationsListContainer.tsx +44 -0
- package/src/features/notification/components/containers/index.ts +1 -0
- package/src/features/notification/components/index.ts +5 -0
- package/src/features/notification/components/lists/NotificationsList.tsx +129 -0
- package/src/features/notification/components/lists/index.ts +1 -0
- package/src/features/notification/components/modals/NotificationModal.tsx +220 -0
- package/src/features/notification/components/modals/index.ts +1 -0
- package/src/features/notification/components/notifications/Notification.tsx +120 -0
- package/src/features/notification/components/notifications/PushNotificationProvider.tsx +9 -0
- package/src/features/notification/components/notifications/index.ts +2 -0
- package/src/features/notification/contexts/NotificationContext.tsx +187 -0
- package/src/features/notification/contexts/index.ts +1 -0
- package/src/features/notification/index.ts +1 -1
- package/src/features/push/index.ts +1 -1
- package/src/features/role/components/containers/RoleContainer.tsx +18 -0
- package/src/features/role/components/containers/index.ts +1 -0
- package/src/features/role/components/details/RoleDetails.tsx +21 -0
- package/src/features/role/components/details/index.ts +1 -0
- package/src/features/role/components/forms/FormRoles.tsx +82 -0
- package/src/features/role/components/forms/RemoveUserFromRole.tsx +108 -0
- package/src/features/role/components/forms/UserRoleAdd.tsx +128 -0
- package/src/features/role/components/forms/index.ts +3 -0
- package/src/features/role/components/index.ts +4 -0
- package/src/features/role/components/lists/RolesList.tsx +27 -0
- package/src/features/role/components/lists/UserRolesList.tsx +31 -0
- package/src/features/role/components/lists/index.ts +2 -0
- package/src/features/role/contexts/RoleContext.tsx +84 -0
- package/src/features/role/contexts/index.ts +1 -0
- package/src/features/role/hooks/index.ts +1 -0
- package/src/features/role/hooks/useRoleTableStructure.tsx +72 -0
- package/src/features/s3/index.ts +1 -1
- package/src/features/user/components/containers/UserContainer.tsx +23 -0
- package/src/features/user/components/containers/UserIndexContainer.tsx +12 -0
- package/src/features/user/components/containers/UsersListContainer.tsx +36 -0
- package/src/features/user/components/containers/index.ts +3 -0
- package/src/features/user/components/details/UserDetails.tsx +74 -0
- package/src/features/user/components/details/UserIndexDetails.tsx +28 -0
- package/src/features/user/components/details/index.ts +2 -0
- package/src/features/user/components/forms/RoleUserAdd.tsx +93 -0
- package/src/features/user/components/forms/UserAvatarEditor.tsx +78 -0
- package/src/features/user/components/forms/UserDeleter.tsx +49 -0
- package/src/features/user/components/forms/UserEditor.tsx +319 -0
- package/src/features/user/components/forms/UserMultiSelect.tsx +218 -0
- package/src/features/user/components/forms/UserReactivator.tsx +79 -0
- package/src/features/user/components/forms/UserResentInvitationEmail.tsx +88 -0
- package/src/features/user/components/forms/UserSelector.tsx +185 -0
- package/src/features/user/components/forms/index.ts +8 -0
- package/src/features/user/components/index.ts +3 -0
- package/src/features/user/components/lists/AdminUsersList.tsx +41 -0
- package/src/features/user/components/lists/CompanyUsersList.tsx +44 -0
- package/src/features/user/components/lists/RelevantUsersList.tsx +30 -0
- package/src/features/user/components/lists/RoleUsersList.tsx +31 -0
- package/src/features/user/components/lists/UserListInAdd.tsx +53 -0
- package/src/features/user/components/lists/UsersList.tsx +30 -0
- package/src/features/user/components/lists/UsersListByContentIds.tsx +30 -0
- package/src/features/user/components/lists/index.ts +7 -0
- package/src/features/user/components/widgets/UserAvatarList.tsx +31 -0
- package/src/features/user/components/widgets/UserSearchPopover.tsx +89 -0
- package/src/features/user/contexts/UserContext.tsx +106 -0
- package/src/features/user/contexts/index.ts +1 -0
- package/src/features/user/hooks/index.ts +2 -0
- package/src/features/user/hooks/useUserSearch.ts +53 -0
- package/src/features/user/hooks/useUserTableStructure.tsx +115 -0
- package/src/features/user/index.ts +0 -1
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useCustomD3Graph.tsx +2 -0
- package/src/hooks/useNotificationSync.ts +20 -0
- package/src/hooks/usePageTracker.ts +69 -0
- package/src/hooks/usePushNotifications.ts +82 -0
- package/src/hooks/useSocket.ts +201 -0
- package/src/hooks/useTableGenerator.ts +6 -2
- package/src/i18n/config.ts +1 -0
- package/src/index.ts +4 -0
- package/src/interfaces/d3.link.interface.ts +2 -1
- package/src/server/ServerSession.ts +103 -0
- package/src/server/index.ts +2 -1
- package/src/unified/JsonApiRequest.ts +23 -0
- package/dist/ApiRequestDataTypeInterface-CUKFDBx2.d.mts +0 -20
- package/dist/ApiRequestDataTypeInterface-CUKFDBx2.d.ts +0 -20
- package/dist/BlockNoteEditor-VFWG6LXI.js.map +0 -1
- package/dist/JsonApiRequest-S3ICLM7B.mjs +0 -20
- package/dist/JsonApiRequest-ZZLSP26T.js +0 -20
- package/dist/JsonApiRequest-ZZLSP26T.js.map +0 -1
- package/dist/chunk-366S2JCC.mjs +0 -31
- package/dist/chunk-366S2JCC.mjs.map +0 -1
- package/dist/chunk-5W6AKZE6.mjs +0 -131
- package/dist/chunk-5W6AKZE6.mjs.map +0 -1
- package/dist/chunk-A3J3AAYM.mjs +0 -97
- package/dist/chunk-A3J3AAYM.mjs.map +0 -1
- package/dist/chunk-AWONBQQP.js +0 -97
- package/dist/chunk-AWONBQQP.js.map +0 -1
- package/dist/chunk-CXQOWQSY.js.map +0 -1
- package/dist/chunk-DKKMWBP4.mjs +0 -1
- package/dist/chunk-DKKMWBP4.mjs.map +0 -1
- package/dist/chunk-DO2HLAZO.js +0 -48
- package/dist/chunk-DO2HLAZO.js.map +0 -1
- package/dist/chunk-DZXDB3K2.mjs +0 -17
- package/dist/chunk-DZXDB3K2.mjs.map +0 -1
- package/dist/chunk-ECDTZBYO.mjs.map +0 -1
- package/dist/chunk-FY4SXJGU.js +0 -806
- package/dist/chunk-FY4SXJGU.js.map +0 -1
- package/dist/chunk-GYWPEPOH.mjs.map +0 -1
- package/dist/chunk-H6FMOA6B.js +0 -1
- package/dist/chunk-H6FMOA6B.js.map +0 -1
- package/dist/chunk-I2REI7OA.js.map +0 -1
- package/dist/chunk-J4Q36PMP.js +0 -31
- package/dist/chunk-J4Q36PMP.js.map +0 -1
- package/dist/chunk-L6EQEAXU.mjs.map +0 -1
- package/dist/chunk-MFO27OHB.mjs +0 -48
- package/dist/chunk-MFO27OHB.mjs.map +0 -1
- package/dist/chunk-RAF7PNLG.js +0 -131
- package/dist/chunk-RAF7PNLG.js.map +0 -1
- package/dist/chunk-RUR22SVM.js +0 -17
- package/dist/chunk-RUR22SVM.js.map +0 -1
- package/dist/chunk-TEGF6ZWG.js.map +0 -1
- package/dist/chunk-TMVHSY3Y.js.map +0 -1
- package/dist/chunk-V2JJPI7N.js.map +0 -1
- package/dist/chunk-WWWMJZEF.mjs +0 -806
- package/dist/chunk-WWWMJZEF.mjs.map +0 -1
- package/dist/chunk-X4BIHJ2B.mjs.map +0 -1
- package/dist/chunk-YDVTFM7X.mjs.map +0 -1
- /package/dist/{JsonApiRequest-S3ICLM7B.mjs.map → JsonApiRequest-O7BGUMFO.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/features/auth/auth.module.ts","../src/features/auth/data/auth.ts","../src/features/auth/data/auth.service.ts","../src/features/auth/enums/AuthComponent.ts","../src/features/company/company.module.ts","../src/features/company/data/company.ts","../src/features/company/data/company.fields.ts","../src/features/company/data/company.service.ts","../src/features/content/content.module.ts","../src/features/content/data/content.ts","../src/features/content/data/content.fields.ts","../src/features/content/data/content.service.ts","../src/features/feature/data/feature.ts","../src/features/feature/feature.module.ts","../src/features/feature/data/feature.service.ts","../src/features/module/data/module.ts","../src/features/module/module.module.ts","../src/features/notification/data/notification.ts","../src/features/notification/notification.module.ts","../src/features/notification/data/notification.fields.ts","../src/features/notification/data/notification.service.ts","../src/features/push/data/push.ts","../src/features/push/push.module.ts","../src/features/push/data/push.service.ts","../src/features/role/data/role.ts","../src/features/role/data/role.fields.ts","../src/features/role/data/role.service.ts","../src/features/role/role.module.ts","../src/features/s3/data/s3.ts","../src/features/s3/s3.module.ts","../src/features/s3/data/s3.service.ts","../src/features/user/data/user.ts","../src/features/user/data/user.fields.ts","../src/features/user/data/user.service.ts","../src/features/user/author.module.ts"],"sourcesContent":["import { ModuleFactory } from \"../../permissions\";\nimport { Auth } from \".\";\n\nexport const AuthModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/auth\",\n name: \"auth\",\n model: Auth,\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { UserInterface } from \"../../user/data/user.interface\";\nimport { AuthInput, AuthInterface } from \"./auth.interface\";\n\nexport class Auth extends AbstractApiData implements AuthInterface {\n private _token?: string;\n private _refreshToken?: string;\n private _user?: UserInterface;\n\n get token(): string {\n if (!this._token) throw new Error(\"Token is not defined\");\n return this._token;\n }\n\n get refreshToken(): string {\n if (!this._refreshToken) throw new Error(\"Refresh token is not defined\");\n return this._refreshToken;\n }\n\n get user(): UserInterface {\n if (!this._user) throw new Error(\"User is not defined\");\n return this._user;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._token = data.jsonApi.attributes.token ?? undefined;\n this._refreshToken = data.jsonApi.attributes.refreshToken ?? undefined;\n\n this._user = this._readIncluded(data, \"user\", Modules.User) as UserInterface;\n\n return this;\n }\n\n createJsonApi(data: AuthInput) {\n const response: any = {\n data: {\n type: Modules.Auth.name,\n attributes: {},\n },\n };\n\n if (data.id) response.data.id = data.id;\n if (data.email !== undefined) response.data.attributes.email = data.email;\n if (data.name !== undefined) response.data.attributes.name = data.name;\n if (data.companyName !== undefined) response.data.attributes.companyName = data.companyName;\n if (data.password !== undefined) response.data.attributes.password = data.password;\n if (data.partitaIva !== undefined) response.data.attributes.partitaIva = data.partitaIva;\n if (data.codiceFiscale !== undefined) response.data.attributes.codiceFiscale = data.codiceFiscale;\n\n return response;\n }\n}\n","import { AuthInput, AuthInterface } from \".\";\nimport { JsonApiDelete, JsonApiGet, JsonApiPost } from \"../../../\";\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","export enum AuthComponent {\n Login,\n ForgotPassword,\n ResetPassword,\n ActivateAccount,\n AcceptInvitation,\n Register,\n Landing,\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Company } from \".\";\n\nexport const CompanyModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/companies\",\n name: \"companies\",\n model: Company,\n moduleId: \"f9e77c8f-bfd1-4fd4-80b0-e1d891ab7113\",\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { FeatureInterface } from \"../../feature\";\nimport { ModuleInterface } from \"../../module\";\nimport { CompanyInput, CompanyInterface } from \"./company.interface\";\n\nexport class Company extends AbstractApiData implements CompanyInterface {\n private _name?: string;\n private _logo?: string;\n private _logoUrl?: string;\n private _configurations?: any;\n\n private _licenseExpirationDate?: Date;\n\n private _features?: FeatureInterface[];\n private _modules?: ModuleInterface[];\n\n get name(): string {\n if (this._name === undefined) throw new Error(\"Name is not defined\");\n return this._name;\n }\n\n get logo(): string | undefined {\n return this._logo;\n }\n\n get logoUrl(): string | undefined {\n return this._logoUrl;\n }\n\n get licenseExpirationDate(): Date | undefined {\n return this._licenseExpirationDate;\n }\n\n get features(): FeatureInterface[] {\n return this._features ?? [];\n }\n\n get modules(): ModuleInterface[] {\n return this._modules ?? [];\n }\n\n get configurations(): any | undefined {\n return this._configurations;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._configurations = data.jsonApi.attributes.configurations\n ? JSON.parse(data.jsonApi.attributes.configurations)\n : undefined;\n this._logo = data.jsonApi.attributes.logo;\n this._logoUrl = data.jsonApi.attributes.logoUrl;\n\n this._licenseExpirationDate = data.jsonApi.attributes.licenseExpirationDate\n ? new Date(data.jsonApi.attributes.licenseExpirationDate)\n : undefined;\n\n this._features = this._readIncluded<FeatureInterface>(data, \"features\", Modules.Feature) as FeatureInterface[];\n this._modules = this._readIncluded<ModuleInterface>(data, \"modules\", Modules.Module) as ModuleInterface[];\n\n return this;\n }\n\n createJsonApi(data: CompanyInput) {\n const response: any = {\n data: {\n type: Modules.Company.name,\n id: data.id,\n attributes: {},\n meta: {},\n relationships: {},\n },\n included: [],\n };\n\n if (data.name) response.data.attributes.name = data.name;\n if (data.configurations) response.data.attributes.configurations = JSON.stringify(data.configurations);\n if (data.logo) response.data.attributes.logo = data.logo;\n if (data.license) response.data.attributes.license = data.license;\n if (data.privateKey) response.data.attributes.privateKey = data.privateKey;\n\n if (data.featureIds && data.featureIds.length > 0) {\n response.data.relationships.features = {\n data: data.featureIds.map((featureId) => ({\n type: Modules.Feature.name,\n id: featureId,\n })),\n };\n }\n\n if (data.moduleIds && data.moduleIds.length > 0) {\n response.data.relationships.modules = {\n data: data.moduleIds.map((moduleId) => ({\n type: Modules.Module.name,\n id: moduleId,\n })),\n };\n }\n\n return response;\n }\n}\n","export enum CompanyFields {\n companyId = \"companyId\",\n name = \"name\",\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\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 { createJsonApiInclusion } from \"../../core\";\nimport { ModuleFactory } from \"../../permissions\";\nimport { Content } from \".\";\n\nexport const ContentModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/contents\",\n name: \"contents\",\n model: Content,\n inclusions: {\n lists: {\n fields: [\n createJsonApiInclusion(\"content\", [`name`, `tldr`, `abstract`, `aiStatus`, `relevance`]),\n createJsonApiInclusion(\"users\", [`name`, `avatar`]),\n createJsonApiInclusion(\"topics\", [`name`]),\n createJsonApiInclusion(\"expertises\", [`name`]),\n ],\n },\n },\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { SearchResultInterface } from \"../../search/interfaces/search.result.interface\";\nimport { UserInterface } from \"../../user\";\nimport { ContentInput, ContentInterface } from \"./content.interface\";\n\nexport class Content extends AbstractApiData implements ContentInterface, SearchResultInterface {\n private _contentType?: string;\n\n private _name?: string;\n private _abstract?: string;\n private _tldr?: string;\n private _aiStatus?: string;\n private _relevance?: number;\n\n private _author?: UserInterface;\n private _editors?: UserInterface[];\n\n get searchResult(): string {\n return this._name ?? \"\";\n }\n\n get contentType(): string | undefined {\n return this._contentType;\n }\n\n get name(): string {\n if (this._name === undefined) throw new Error(\"JsonApi error: content name is missing\");\n return this._name;\n }\n\n get abstract(): string | undefined {\n return this._abstract;\n }\n\n get tldr(): string | undefined {\n return this._tldr;\n }\n\n get aiStatus(): string {\n return this._aiStatus ?? \"\";\n }\n\n get relevance(): number | undefined {\n return this._relevance;\n }\n\n get author(): UserInterface {\n if (this._author === undefined) throw new Error(\"JsonApi error: document author is missing\");\n return this._author;\n }\n\n get editors(): UserInterface[] {\n return this._editors ?? [];\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._contentType = data.jsonApi.meta.contentType;\n\n this._name = data.jsonApi.attributes.name;\n this._abstract = data.jsonApi.attributes.abstract;\n this._tldr = data.jsonApi.attributes.tldr;\n this._aiStatus = data.jsonApi.meta.aiStatus;\n this._relevance = data.jsonApi.meta.relevance;\n\n this._author = this._readIncluded(data, \"author\", Modules.User) as UserInterface;\n this._editors = this._readIncluded(data, \"editors\", Modules.User) as UserInterface[];\n\n return this;\n }\n\n protected addContentInput(response: any, data: ContentInput) {\n if (data.name) response.data.attributes.name = data.name;\n\n if (data.authorId) {\n response.data.relationships.author = {\n data: {\n type: Modules.User.name,\n id: data.authorId,\n },\n };\n }\n }\n}\n","export enum ContentFields {\n contentId = \"contentId\",\n\n name = \"name\",\n relevance = \"relevance\",\n\n authors = \"authors\",\n topic = \"topic\",\n expertise = \"expertise\",\n\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\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 { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { ModuleInterface } from \"../../module\";\nimport { FeatureInterface } from \"./feature.interface\";\n\nexport class Feature extends AbstractApiData implements FeatureInterface {\n private _name?: string;\n private _isProduction?: boolean;\n\n private _modules: ModuleInterface[] = [];\n\n get name(): string {\n return this._name ?? \"\";\n }\n\n get isProduction(): boolean {\n return this._isProduction == true ? true : false;\n }\n\n get modules(): ModuleInterface[] {\n return this._modules;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._isProduction = data.jsonApi.attributes.isProduction ?? false;\n\n this._modules = this._readIncluded(data, `modules`, Modules.Module) as ModuleInterface[];\n\n return this;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Feature } from \"./data/feature\";\n\nexport const FeatureModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/features\",\n name: \"features\",\n model: Feature,\n moduleId: \"025fdd23-2803-4360-9fd9-eaa3612c2e23\",\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 { AbstractApiData, JsonApiHydratedDataInterface } from \"../../../core\";\nimport { ModuleInterface } from \"./module.interface\";\n\nexport class Module extends AbstractApiData implements ModuleInterface {\n private _name?: string;\n private _isCore?: boolean;\n private _permissions?: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n\n get name(): string {\n if (!this._name) throw new Error(\"Name is not defined\");\n return this._name ?? \"\";\n }\n\n get isCore(): boolean {\n return this._isCore ?? false;\n }\n\n get permissions(): {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n } {\n if (!this._permissions) throw new Error(\"Permissions is not defined\");\n return this._permissions;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._isCore = data.jsonApi.attributes.isCore;\n this._permissions = data.jsonApi.meta.permissions;\n\n return this;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Module } from \"./data\";\n\nexport const ModuleModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/modules\",\n name: \"modules\",\n model: Module,\n moduleId: \"25ffd868-8341-4ca7-963b-6e1c56b03b1d\",\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { UserInterface } from \"../../user\";\nimport { NotificationInput, NotificationInterface } from \"./notification.interface\";\n\nexport class Notification extends AbstractApiData implements NotificationInterface {\n private _notificationType?: string;\n private _isRead?: boolean;\n\n private _actor?: UserInterface;\n\n get notificationType(): string {\n if (this._notificationType === undefined) throw new Error(\"notificationType is not set\");\n return this._notificationType;\n }\n\n get isRead(): boolean {\n return this._isRead === undefined ? false : this._isRead;\n }\n\n get actor(): UserInterface | undefined {\n return this._actor;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._notificationType = data.jsonApi.attributes.notificationType;\n this._isRead = data.jsonApi.attributes.isRead;\n\n this._actor = this._readIncluded(data, \"actor\", Modules.User) as UserInterface;\n\n return this;\n }\n\n createJsonApi(data: NotificationInput) {\n const response: any = {\n data: {\n type: Modules.Notification.name,\n id: data.id,\n attributes: {\n isRead: data.isRead,\n },\n meta: {},\n relationships: {},\n },\n included: [],\n };\n\n return response;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Notification } from \"./data/notification\";\n\nexport const NotificationModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/notifications\",\n name: \"notifications\",\n model: Notification,\n moduleId: \"9259d704-c670-4e77-a3a1-a728ffc5be3d\",\n });\n","export enum NotificationFields {\n notificationId = \"notificationId\",\n\n name = \"name\",\n\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\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 { AbstractApiData, Modules } from \"../../../core\";\nimport { PushInput, PushInterface } from \"./push.interface\";\n\nexport class Push extends AbstractApiData implements PushInterface {\n createJsonApi(data: PushInput) {\n const response: any = {\n data: {\n type: Modules.Push.name,\n attributes: {\n key: data.key,\n },\n },\n included: [],\n };\n\n return response;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { Push } from \"./data/push\";\n\nexport const PushModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/push\",\n name: \"push\",\n model: Push,\n moduleId: \"\",\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 { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { FeatureInterface } from \"../../feature\";\nimport { RoleInput, RoleInterface } from \"./role.interface\";\n\nexport class Role extends AbstractApiData implements RoleInterface {\n private _name?: string;\n private _description?: string;\n private _isSelectable?: boolean;\n\n private _requiredFeature?: FeatureInterface;\n\n get name(): string {\n if (!this._name) throw new Error(\"Name is not defined\");\n return this._name;\n }\n\n get description(): string {\n return this._description ?? \"\";\n }\n\n get isSelectable(): boolean {\n return this._isSelectable ?? false;\n }\n\n get requiredFeature(): FeatureInterface | undefined {\n return this._requiredFeature;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name ?? undefined;\n this._description = data.jsonApi.attributes.description ?? undefined;\n this._isSelectable = data.jsonApi.attributes.isSelectable ?? undefined;\n\n this._requiredFeature = this._readIncluded<FeatureInterface>(\n data,\n \"requiredFeature\",\n Modules.Feature,\n ) as FeatureInterface;\n\n return this;\n }\n\n createJsonApi(data: RoleInput) {\n const response: any = {\n data: {\n type: Modules.Role.name,\n id: data.id,\n attributes: {\n name: data.name,\n },\n meta: {},\n },\n included: [],\n };\n\n if (data.description !== undefined) response.data.attributes.description = data.description;\n\n return response;\n }\n}\n","export enum RoleFields {\n roleId = \"roleId\",\n name = \"name\",\n description = \"description\",\n\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\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 { ModuleFactory } from \"../../permissions\";\nimport { Role } from \"./data/role\";\n\nexport const RoleModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/roles\",\n name: \"roles\",\n model: Role,\n moduleId: \"9f6416e6-7b9b-4e1a-a99f-833191eca8a9\",\n });\n","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { S3Input, S3Interface } from \"./s3.interface\";\n\nexport class S3 extends AbstractApiData implements S3Interface {\n private _url?: string;\n private _storageType?: string;\n private _contentType?: string;\n private _blobType?: string;\n private _acl?: string;\n\n get url(): string {\n if (!this._url) throw new Error(\"Image URL is not set.\");\n return this._url;\n }\n\n get headers(): Record<string, string> {\n const headers: Record<string, string> = {};\n\n if (this._contentType) {\n headers[\"Content-Type\"] = this._contentType;\n }\n\n if (this._blobType) {\n headers[\"x-ms-blob-type\"] = this._blobType;\n }\n\n if (this._acl) {\n headers[\"x-amz-acl\"] = this._acl;\n }\n\n return headers;\n }\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._url = data.jsonApi.attributes.url ?? undefined;\n this._storageType = data.jsonApi.attributes.storageType ?? undefined;\n this._contentType = data.jsonApi.attributes.contentType ?? undefined;\n this._blobType = data.jsonApi.attributes.blobType ?? undefined;\n this._acl = data.jsonApi.attributes.acl ?? undefined;\n\n return this;\n }\n\n createJsonApi(data: S3Input) {\n const response: any = {\n data: {\n type: Modules.S3.name,\n attributes: {\n key: data.key,\n },\n },\n included: [],\n };\n\n if (data.contentType) response.data.attributes.contentType = data.contentType;\n\n return response;\n }\n}\n","import { ModuleFactory } from \"../../permissions\";\nimport { S3 } from \"./data/s3\";\n\nexport const S3Module = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/s3\",\n name: \"s3\",\n model: S3,\n moduleId: \"db41ba46-e171-4324-8845-99353eba8568\",\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","import { AbstractApiData, JsonApiHydratedDataInterface, Modules } from \"../../../core\";\nimport { CompanyInterface } from \"../../company\";\nimport { ModuleInterface } from \"../../module\";\nimport { RoleInterface } from \"../../role\";\nimport { SearchResultInterface } from \"../../search\";\nimport { UserInput, UserInterface } from \"./user.interface\";\n\nexport class User extends AbstractApiData implements UserInterface, SearchResultInterface {\n private _name?: string;\n private _email?: string;\n private _title?: string;\n private _bio?: string;\n private _avatar?: string;\n private _avatarUrl?: string;\n private _phone?: string;\n private _rate?: number;\n\n private _isActivated?: boolean;\n private _isDeleted?: boolean;\n private _lastLogin?: Date;\n\n private _relevance?: number;\n\n private _roles: RoleInterface[] = [];\n private _company?: CompanyInterface;\n private _modules: ModuleInterface[] = [];\n\n get searchResult(): string {\n return this._name ?? \"\";\n }\n\n get name(): string {\n return this._name ?? \"\";\n }\n\n get email(): string {\n return this._email ?? \"\";\n }\n\n get title(): string {\n return this._title ?? \"\";\n }\n\n get bio(): string {\n return this._bio ?? \"\";\n }\n\n get avatar(): string | undefined {\n return this._avatar;\n }\n\n get avatarUrl(): string | undefined {\n return this._avatarUrl;\n }\n\n get phone(): string | undefined {\n return this._phone;\n }\n\n get rate(): number | undefined {\n return this._rate;\n }\n\n get relevance(): number | undefined {\n return this._relevance;\n }\n\n get isActivated(): boolean {\n return this._isActivated ?? false;\n }\n\n get isDeleted(): boolean {\n return this._isDeleted ?? false;\n }\n\n get lastLogin(): Date | undefined {\n return this._lastLogin;\n }\n\n get roles(): RoleInterface[] {\n return this._roles;\n }\n\n get company(): CompanyInterface | undefined {\n return this._company;\n }\n\n get modules(): ModuleInterface[] {\n return this._modules;\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n super.rehydrate(data);\n\n this._name = data.jsonApi.attributes.name;\n this._email = data.jsonApi.attributes.email;\n this._title = data.jsonApi.attributes.title;\n this._bio = data.jsonApi.attributes.bio;\n this._phone = data.jsonApi.attributes.phone;\n this._rate = data.jsonApi.attributes.rate;\n\n this._avatar = data.jsonApi.attributes.avatar;\n this._avatarUrl = data.jsonApi.attributes.avatarUrl;\n\n this._isActivated = data.jsonApi.meta.isActive;\n this._isDeleted = data.jsonApi.meta.isDeleted;\n this._lastLogin = data.jsonApi.meta.lastLogin ? new Date(data.jsonApi.meta.lastLogin) : undefined;\n\n this._relevance = data.jsonApi.meta.relevance;\n\n this._roles = this._readIncluded(data, \"roles\", Modules.Role) as RoleInterface[];\n this._company = this._readIncluded(data, \"company\", Modules.Company) as CompanyInterface;\n this._modules = this._readIncluded(data, \"modules\", Modules.Module) as ModuleInterface[];\n\n return this;\n }\n\n createJsonApi(data: UserInput) {\n const response: any = {\n data: {\n type: Modules.User.name,\n id: data.id,\n attributes: {\n name: data.name,\n },\n meta: {},\n relationships: {},\n },\n included: [],\n };\n\n if (data.email !== undefined) response.data.attributes.email = data.email;\n if (data.title !== undefined) response.data.attributes.title = data.title;\n if (data.bio !== undefined) response.data.attributes.bio = data.bio;\n if (data.phone !== undefined) response.data.attributes.phone = data.phone;\n if (data.password !== undefined) response.data.attributes.password = data.password;\n if (data.sendInvitationEmail) response.data.attributes.sendInvitationEmail = true;\n if (data.adminCreated) response.data.attributes.adminCreated = true;\n if (data.avatar) response.data.attributes.avatar = data.avatar;\n if (data.rate !== undefined) response.data.attributes.rate = data.rate;\n\n if (data.roleIds) {\n response.data.relationships.roles = {\n data: data.roleIds.map((roleId) => ({\n type: Modules.Role.name,\n id: roleId,\n })),\n };\n }\n\n if (data.companyId) {\n response.data.relationships.company = {\n data: {\n type: Modules.Company.name,\n id: data.companyId,\n },\n };\n }\n\n return response;\n }\n}\n","export enum UserFields {\n userId = \"userId\",\n name = \"name\",\n email = \"email\",\n relevance = \"relevance\",\n createdAt = \"createdAt\",\n updatedAt = \"updatedAt\",\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 { ModuleFactory } from \"../../permissions\";\nimport { User } from \"./data\";\n\nexport const AuthorModule = (factory: ModuleFactory) =>\n factory({\n pageUrl: \"/authors\",\n name: \"authors\",\n model: User,\n moduleId: \"04cfc677-0fd2-4f5e-adf4-2483a00c0277\",\n });\n"],"mappings":"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","names":["AuthComponent","CompanyFields","ContentFields","NotificationFields","RoleFields","UserFields"]}
|
package/dist/chunk-A5DDIABK.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } 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
3
|
|
|
3
4
|
|
|
@@ -1,17 +1,54 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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
|
-
|
|
3
|
-
var _chunkDO2HLAZOjs = require('./chunk-DO2HLAZO.js');
|
|
4
|
-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; } var _class;
|
|
5
2
|
|
|
6
3
|
var _chunk7QVYU63Ejs = require('./chunk-7QVYU63E.js');
|
|
7
4
|
|
|
5
|
+
// src/core/registry/DataClassRegistry.ts
|
|
6
|
+
var DataClassRegistry = (_class = class {
|
|
7
|
+
static {
|
|
8
|
+
_chunk7QVYU63Ejs.__name.call(void 0, this, "DataClassRegistry");
|
|
9
|
+
}
|
|
10
|
+
static __initStatic() {this._map = /* @__PURE__ */ new Map()}
|
|
11
|
+
static registerObjectClass(key, classConstructor) {
|
|
12
|
+
const classKey = key.name;
|
|
13
|
+
if (!this._map.has(classKey)) {
|
|
14
|
+
this._map.set(classKey, classConstructor);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static get(classKey) {
|
|
18
|
+
const response = this._map.get(classKey.name);
|
|
19
|
+
if (!response) {
|
|
20
|
+
throw new Error(`Class not registered for key: ${typeof classKey === "string" ? classKey : classKey.name}`);
|
|
21
|
+
}
|
|
22
|
+
return response;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Bootstrap the registry with all modules.
|
|
26
|
+
* This is a convenience method for apps to register all their modules at once.
|
|
27
|
+
*
|
|
28
|
+
* @param modules - An object with module definitions (like the app's Modules class)
|
|
29
|
+
*/
|
|
30
|
+
static bootstrap(modules) {
|
|
31
|
+
Object.values(modules).forEach((module) => {
|
|
32
|
+
if (module && module.model) {
|
|
33
|
+
this.registerObjectClass(module, module.model);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Clear all registered classes. Useful for testing.
|
|
39
|
+
*/
|
|
40
|
+
static clear() {
|
|
41
|
+
this._map.clear();
|
|
42
|
+
}
|
|
43
|
+
}, _class.__initStatic(), _class);
|
|
44
|
+
|
|
8
45
|
// src/core/factories/JsonApiDataFactory.ts
|
|
9
46
|
var JsonApiDataFactory = class {
|
|
10
47
|
static {
|
|
11
48
|
_chunk7QVYU63Ejs.__name.call(void 0, this, "JsonApiDataFactory");
|
|
12
49
|
}
|
|
13
50
|
static create(classKey, data) {
|
|
14
|
-
const factoryClass =
|
|
51
|
+
const factoryClass = DataClassRegistry.get(classKey);
|
|
15
52
|
const instance = new factoryClass();
|
|
16
53
|
return instance.createJsonApi(data);
|
|
17
54
|
}
|
|
@@ -19,7 +56,7 @@ var JsonApiDataFactory = class {
|
|
|
19
56
|
|
|
20
57
|
// src/core/utils/translateResponse.ts
|
|
21
58
|
function translateData(params) {
|
|
22
|
-
const factoryClass =
|
|
59
|
+
const factoryClass = DataClassRegistry.get(params.classKey);
|
|
23
60
|
if (!factoryClass) {
|
|
24
61
|
throw new Error(
|
|
25
62
|
`Class not registered for key: ${typeof params.classKey === "string" ? params.classKey : params.classKey.name}`
|
|
@@ -51,7 +88,7 @@ async function translateResponse(params) {
|
|
|
51
88
|
data: [],
|
|
52
89
|
error: ""
|
|
53
90
|
};
|
|
54
|
-
const factoryClass =
|
|
91
|
+
const factoryClass = DataClassRegistry.get(params.classKey);
|
|
55
92
|
if (!factoryClass) {
|
|
56
93
|
throw new Error(
|
|
57
94
|
`Class not registered for key: ${typeof params.classKey === "string" ? params.classKey : params.classKey.name}`
|
|
@@ -105,5 +142,6 @@ _chunk7QVYU63Ejs.__name.call(void 0, translateResponse, "translateResponse");
|
|
|
105
142
|
|
|
106
143
|
|
|
107
144
|
|
|
108
|
-
|
|
109
|
-
|
|
145
|
+
|
|
146
|
+
exports.DataClassRegistry = DataClassRegistry; exports.JsonApiDataFactory = JsonApiDataFactory; exports.translateData = translateData; exports.translateResponse = translateResponse;
|
|
147
|
+
//# sourceMappingURL=chunk-AGAJMJ4T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-AGAJMJ4T.js","../src/core/registry/DataClassRegistry.ts","../src/core/factories/JsonApiDataFactory.ts","../src/core/utils/translateResponse.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACDO,IAAM,kBAAA,YAAN,MAAwB;AAAA,EAH/B,OAG+B;AAAA,IAAA,qCAAA,IAAA,EAAA,mBAAA,CAAA;AAAA,EAAA;AAAA,EAC7B,4BAAe,KAAA,kBAAO,IAAI,GAAA,CAA0C,EAAA;AAAA,EAEpE,OAAc,mBAAA,CACZ,GAAA,EACA,gBAAA,EACM;AACN,IAAA,MAAM,SAAA,EAAW,GAAA,CAAI,IAAA;AACrB,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,QAAQ,CAAA,EAAG;AAC5B,MAAA,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,QAAA,EAAU,gBAAgB,CAAA;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,OAAc,GAAA,CAAI,QAAA,EAEhB;AACA,IAAA,MAAM,SAAA,EAAW,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,QAAA,CAAS,IAAI,CAAA;AAC5C,IAAA,GAAA,CAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,8BAAA,EAAiC,OAAO,SAAA,IAAa,SAAA,EAAW,SAAA,EAAW,QAAA,CAAS,IAAI,CAAA,CAAA;AAC1G,IAAA;AAEO,IAAA;AACT,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQoF,EAAA;AACvC,IAAA;AACb,MAAA;AACmB,QAAA;AAC/C,MAAA;AACD,IAAA;AACH,EAAA;AAAA;AAAA;AAAA;AAK4B,EAAA;AACV,IAAA;AAClB,EAAA;AACF;ADJ+G;AACA;AExC/E;AAAA,EAAA;AAAA,IAAA;AAAA,EAAA;AAC8C,EAAA;AACvB,IAAA;AAEjB,IAAA;AACA,IAAA;AACpC,EAAA;AACF;AF4C+G;AACA;AG3CnG;AACgD,EAAA;AAEvC,EAAA;AACP,IAAA;AACiG,MAAA;AAC3G,IAAA;AACF,EAAA;AAE+C,EAAA;AAEV,EAAA;AACR,IAAA;AAEU,IAAA;AACH,MAAA;AACiD,MAAA;AACpD,MAAA;AAC/B,IAAA;AAEO,IAAA;AACF,EAAA;AACiC,IAAA;AACf,IAAA;AACA,MAAA;AACrB,MAAA;AACD,IAAA;AAEM,IAAA;AACT,EAAA;AACF;AAjCgB;AA6CkB;AACO,EAAA;AACjC,IAAA;AACM,IAAA;AACH,IAAA;AACA,IAAA;AACT,EAAA;AAE0D,EAAA;AAEvC,EAAA;AACP,IAAA;AACiG,MAAA;AAC3G,IAAA;AACF,EAAA;AAEiC,EAAA;AACM,EAAA;AAEX,EAAA;AAC+C,IAAA;AAClE,IAAA;AACT,EAAA;AAE8C,EAAA;AAEZ,EAAA;AAE9B,EAAA;AACyD,IAAA;AAExB,IAAA;AACa,MAAA;AAEsB,MAAA;AACpB,QAAA;AAC8C,QAAA;AAC9F,MAAA;AAEoE,MAAA;AACpB,QAAA;AAC8C,QAAA;AAC9F,MAAA;AACF,IAAA;AAEiD,IAAA;AACpB,MAAA;AAEsB,MAAA;AACf,QAAA;AAC6D,QAAA;AAChE,QAAA;AAC/B,MAAA;AAEgB,MAAA;AACX,IAAA;AACiC,MAAA;AACf,MAAA;AACY,QAAA;AACjC,QAAA;AACD,MAAA;AAEe,MAAA;AAClB,IAAA;AACU,EAAA;AACK,IAAA;AACjB,EAAA;AAEO,EAAA;AACT;AA3EsB;AH0FyF;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-AGAJMJ4T.js","sourcesContent":[null,"import { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\n\nexport class DataClassRegistry {\n private static _map = new Map<string, { new (): ApiDataInterface }>();\n\n public static registerObjectClass(\n key: ApiRequestDataTypeInterface,\n classConstructor: { new (): ApiDataInterface },\n ): void {\n const classKey = key.name;\n if (!this._map.has(classKey)) {\n this._map.set(classKey, classConstructor);\n }\n }\n\n public static get(classKey: ApiRequestDataTypeInterface): {\n new (): ApiDataInterface;\n } {\n const response = this._map.get(classKey.name);\n if (!response) {\n throw new Error(`Class not registered for key: ${typeof classKey === \"string\" ? classKey : classKey.name}`);\n }\n\n return response;\n }\n\n /**\n * Bootstrap the registry with all modules.\n * This is a convenience method for apps to register all their modules at once.\n *\n * @param modules - An object with module definitions (like the app's Modules class)\n */\n public static bootstrap(modules: Record<string, ApiRequestDataTypeInterface>): void {\n Object.values(modules).forEach((module) => {\n if (module && module.model) {\n this.registerObjectClass(module, module.model);\n }\n });\n }\n\n /**\n * Clear all registered classes. Useful for testing.\n */\n public static clear(): void {\n this._map.clear();\n }\n}\n\n// Export alias for backward compatibility\nexport { DataClassRegistry as DataClass };\n","import { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { DataClassRegistry } from \"../registry/DataClassRegistry\";\n\nexport class JsonApiDataFactory {\n public static create(classKey: ApiRequestDataTypeInterface, data: any): any {\n const factoryClass = DataClassRegistry.get(classKey);\n\n const instance = new factoryClass() as ApiDataInterface;\n return instance.createJsonApi(data);\n }\n}\n","import { ApiData } from \"../interfaces/ApiData\";\nimport { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../interfaces/ApiResponseInterface\";\nimport { DataClassRegistry } from \"../registry/DataClassRegistry\";\n\n/**\n * Translates raw JSON:API data into typed objects.\n * Does not require API response metadata.\n */\nexport function translateData<T extends ApiDataInterface>(params: {\n classKey: ApiRequestDataTypeInterface;\n data: any;\n}): T | T[] {\n const factoryClass = DataClassRegistry.get(params.classKey);\n\n if (!factoryClass) {\n throw new Error(\n `Class not registered for key: ${typeof params.classKey === \"string\" ? params.classKey : params.classKey.name}`,\n );\n }\n\n const included: any = params.data.included ?? [];\n\n if (Array.isArray(params.data.data)) {\n const responseData: T[] = [];\n\n for (const data of params.data.data) {\n const object = new factoryClass();\n object.rehydrate({ jsonApi: data, included: included, allData: params.data.data });\n responseData.push(object as T);\n }\n\n return responseData as T[];\n } else {\n const responseData = new factoryClass();\n responseData.rehydrate({\n jsonApi: params.data.data,\n included: included,\n });\n\n return responseData as T;\n }\n}\n\n/**\n * Translates a full API response into a typed ApiResponseInterface.\n * Includes pagination support.\n */\nexport async function translateResponse<T extends ApiDataInterface>(params: {\n classKey: ApiRequestDataTypeInterface;\n apiResponse: ApiData;\n companyId?: string;\n language: string;\n paginationHandler?: (endpoint: string) => Promise<ApiResponseInterface>;\n}): Promise<ApiResponseInterface> {\n const response: ApiResponseInterface = {\n ok: true,\n response: 0,\n data: [],\n error: \"\",\n };\n\n const factoryClass = DataClassRegistry.get(params.classKey);\n\n if (!factoryClass) {\n throw new Error(\n `Class not registered for key: ${typeof params.classKey === \"string\" ? params.classKey : params.classKey.name}`,\n );\n }\n\n response.ok = params.apiResponse.ok;\n response.response = params.apiResponse.status;\n\n if (!params.apiResponse.ok) {\n response.error = params.apiResponse?.data?.message ?? params.apiResponse.statusText;\n return response;\n }\n\n if (params.apiResponse.status === 204) return response;\n\n response.raw = params.apiResponse.data;\n\n try {\n const included: any = params.apiResponse.data.included ?? [];\n\n if (params.apiResponse.data.links) {\n response.self = params.apiResponse.data.links.self;\n\n if (params.apiResponse.data.links.next && params.paginationHandler) {\n response.next = params.apiResponse.data.links.next;\n response.nextPage = async () => params.paginationHandler!(params.apiResponse.data.links.next);\n }\n\n if (params.apiResponse.data.links.prev && params.paginationHandler) {\n response.prev = params.apiResponse.data.links.prev;\n response.prevPage = async () => params.paginationHandler!(params.apiResponse.data.links.prev);\n }\n }\n\n if (Array.isArray(params.apiResponse.data.data)) {\n const responseData: T[] = [];\n\n for (const data of params.apiResponse.data.data) {\n const object = new factoryClass();\n object.rehydrate({ jsonApi: data, included: included, allData: params.apiResponse.data.data });\n responseData.push(object as T);\n }\n\n response.data = responseData;\n } else {\n const responseData = new factoryClass();\n responseData.rehydrate({\n jsonApi: params.apiResponse.data.data,\n included: included,\n });\n\n response.data = responseData;\n }\n } catch (e) {\n console.error(e);\n }\n\n return response;\n}\n"]}
|
|
@@ -44,6 +44,19 @@ function useI18nDateFnsLocale() {
|
|
|
44
44
|
}
|
|
45
45
|
_chunk7QVYU63Ejs.__name.call(void 0, useI18nDateFnsLocale, "useI18nDateFnsLocale");
|
|
46
46
|
|
|
47
|
+
// src/features/auth/config.ts
|
|
48
|
+
var _tokenHandler = null;
|
|
49
|
+
function configureAuth(handler) {
|
|
50
|
+
_tokenHandler = handler;
|
|
51
|
+
}
|
|
52
|
+
_chunk7QVYU63Ejs.__name.call(void 0, configureAuth, "configureAuth");
|
|
53
|
+
function getTokenHandler() {
|
|
54
|
+
return _tokenHandler;
|
|
55
|
+
}
|
|
56
|
+
_chunk7QVYU63Ejs.__name.call(void 0, getTokenHandler, "getTokenHandler");
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
47
60
|
|
|
48
61
|
|
|
49
62
|
|
|
@@ -51,5 +64,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, useI18nDateFnsLocale, "useI18nDateFnsLocale
|
|
|
51
64
|
|
|
52
65
|
|
|
53
66
|
|
|
54
|
-
exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale;
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.configureAuth = configureAuth; exports.getTokenHandler = getTokenHandler;
|
|
68
|
+
//# sourceMappingURL=chunk-AYHKQWHH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-AYHKQWHH.js","../src/i18n/config.ts","../src/features/auth/config.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACyBA,IAAI,QAAA,EAA6B,IAAA;AAG1B,SAAS,aAAA,CAAc,MAAA,EAA0B;AACtD,EAAA,QAAA,EAAU,MAAA;AACZ;AAFgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AAKT,SAAS,aAAA,CAAA,EAA4B;AAC1C,EAAA,GAAA,CAAI,iBAAC,OAAA,2BAAS,WAAA,EAAW;AACvB,IAAA,MAAM,IAAI,KAAA,CAAM,2DAA2D,CAAA;AAAA,EAC7E;AACA,EAAA,OAAO,OAAA,CAAQ,SAAA,CAAU,CAAA;AAC3B;AALgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AAOT,SAAS,mBAAA,CAAoB,SAAA,EAA2E;AAC7G,EAAA,GAAA,CAAI,iBAAC,OAAA,6BAAS,iBAAA,EAAiB;AAE7B,IAAA,OAAO,CAAC,GAAA,EAAA,GAAgB,GAAA;AAAA,EAC1B;AACA,EAAA,OAAO,OAAA,CAAQ,eAAA,CAAgB,SAAS,CAAA;AAC1C;AANgB,qCAAA,mBAAA,EAAA,qBAAA,CAAA;AAQT,SAAS,WAAA,CAAA,EAA6B;AAC3C,EAAA,GAAA,CAAI,iBAAC,OAAA,6BAAS,MAAA,EAAM;AAClB,IAAA,MAAM,IAAI,KAAA,CAAM,2DAA2D,CAAA;AAAA,EAC7E;AACA,EAAA,OAAO,OAAA,CAAQ,IAAA;AACjB;AALgB,qCAAA,WAAA,EAAA,aAAA,CAAA;AAOT,SAAS,aAAA,CAAA,EAAwB;AACtC,EAAA,GAAA,iBAAI,OAAA,6BAAS,WAAA,EAAW;AACtB,IAAA,OAAO,OAAA,CAAQ,SAAA,CAAU,CAAA;AAAA,EAC3B;AAEA,EAAA,OAAO,IAAA;AACT;AANgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AAQT,SAAS,oBAAA,CAAA,EAA4B;AAC1C,EAAA,GAAA,iBAAI,OAAA,6BAAS,kBAAA,EAAkB;AAC7B,IAAA,OAAO,OAAA,CAAQ,gBAAA,CAAiB,CAAA;AAAA,EAClC;AAEA,EAAA,OAAO,KAAA,CAAA;AACT;AANgB,qCAAA,oBAAA,EAAA,sBAAA,CAAA;ADtBhB;AACA;AEdA,IAAI,cAAA,EAAqC,IAAA;AAclC,SAAS,aAAA,CAAc,OAAA,EAA6B;AACzD,EAAA,cAAA,EAAgB,OAAA;AAClB;AAFgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AAQT,SAAS,eAAA,CAAA,EAAuC;AACrD,EAAA,OAAO,aAAA;AACT;AAFgB,qCAAA,eAAA,EAAA,iBAAA,CAAA;AFEhB;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,iVAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-AYHKQWHH.js","sourcesContent":[null,"import { ComponentType } from \"react\";\n\n// Types for injected hooks\nexport interface I18nRouter {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n}\n\nexport type UseRouterHook = () => I18nRouter;\nexport type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record<string, any>) => string;\nexport type UseLocaleHook = () => string;\n\nexport type UseDateFnsLocaleHook = () => any; // date-fns Locale type\nexport type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any }>;\n\nexport interface I18nConfig {\n useRouter: UseRouterHook;\n useTranslations: UseTranslationsHook;\n useLocale?: UseLocaleHook;\n useDateFnsLocale?: UseDateFnsLocaleHook;\n Link: LinkComponent;\n usePathname: () => string;\n}\n\n// Private storage\nlet _config: I18nConfig | null = null;\n\n// Configuration function (called by app at startup)\nexport function configureI18n(config: I18nConfig): void {\n _config = config;\n}\n\n// Hooks for library components to use\nexport function useI18nRouter(): I18nRouter {\n if (!_config?.useRouter) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.useRouter();\n}\n\nexport function useI18nTranslations(namespace?: string): (key: string, values?: Record<string, any>) => string {\n if (!_config?.useTranslations) {\n // Fallback: return key as-is (safe for server/client)\n return (key: string) => key;\n }\n return _config.useTranslations(namespace);\n}\n\nexport function getI18nLink(): LinkComponent {\n if (!_config?.Link) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.Link;\n}\n\nexport function useI18nLocale(): string {\n if (_config?.useLocale) {\n return _config.useLocale();\n }\n // Fallback to English (safe for server/client)\n return \"en\";\n}\n\nexport function useI18nDateFnsLocale(): any {\n if (_config?.useDateFnsLocale) {\n return _config.useDateFnsLocale();\n }\n // Fallback to undefined (Calendar will use default)\n return undefined;\n}\n","/**\n * Token parameters for authentication cookie management\n */\nexport interface TokenParams {\n token?: string;\n refreshToken?: string;\n userId?: string;\n companyId?: string;\n licenseExpirationDate?: Date;\n roles?: string[];\n features?: string[];\n modules?: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[];\n}\n\n/**\n * Token handler interface for dependency injection\n * Apps must provide implementations of these functions via configureAuth()\n */\nexport interface TokenHandler {\n updateToken: (params: TokenParams) => Promise<void>;\n removeToken: () => Promise<void>;\n}\n\n// Private storage for the injected token handler\nlet _tokenHandler: TokenHandler | null = null;\n\n/**\n * Configure authentication token handling\n * Call this at app startup to provide Server Actions for cookie management\n *\n * @example\n * ```typescript\n * import { configureAuth } from \"@carlonicora/nextjs-jsonapi/features\";\n * import { updateToken, removeToken } from \"@/features/auth/utils/AuthCookies\";\n *\n * configureAuth({ updateToken, removeToken });\n * ```\n */\nexport function configureAuth(handler: TokenHandler): void {\n _tokenHandler = handler;\n}\n\n/**\n * Internal getter for AuthService to access the token handler\n * @internal\n */\nexport function getTokenHandler(): TokenHandler | null {\n return _tokenHandler;\n}\n"]}
|
|
@@ -1,13 +1,30 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await 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; } var _class; var _class2;
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkDO2HLAZOjs = require('./chunk-DO2HLAZO.js');
|
|
3
|
+
var _chunkAGAJMJ4Tjs = require('./chunk-AGAJMJ4T.js');
|
|
7
4
|
|
|
8
5
|
|
|
9
6
|
var _chunk7QVYU63Ejs = require('./chunk-7QVYU63E.js');
|
|
10
7
|
|
|
8
|
+
// src/core/factories/RehydrationFactory.ts
|
|
9
|
+
var RehydrationFactory = class {
|
|
10
|
+
static {
|
|
11
|
+
_chunk7QVYU63Ejs.__name.call(void 0, this, "RehydrationFactory");
|
|
12
|
+
}
|
|
13
|
+
static rehydrate(classKey, data) {
|
|
14
|
+
const factoryClass = _chunkAGAJMJ4Tjs.DataClassRegistry.get(classKey);
|
|
15
|
+
const instance = new factoryClass();
|
|
16
|
+
return instance.rehydrate(data);
|
|
17
|
+
}
|
|
18
|
+
static rehydrateList(classKey, data) {
|
|
19
|
+
const factoryClass = _chunkAGAJMJ4Tjs.DataClassRegistry.get(classKey);
|
|
20
|
+
const response = data.map((item) => {
|
|
21
|
+
const instance = new factoryClass();
|
|
22
|
+
return instance.rehydrate(item);
|
|
23
|
+
});
|
|
24
|
+
return response;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
11
28
|
// src/core/abstracts/AbstractApiData.ts
|
|
12
29
|
var AbstractApiData = class {
|
|
13
30
|
static {
|
|
@@ -61,7 +78,7 @@ var AbstractApiData = class {
|
|
|
61
78
|
(includedData3) => includedData3.id === jsonApiData.id && includedData3.type === jsonApiData.type
|
|
62
79
|
);
|
|
63
80
|
if (includedData2 === void 0) return void 0;
|
|
64
|
-
return
|
|
81
|
+
return RehydrationFactory.rehydrate(dataType, {
|
|
65
82
|
jsonApi: includedData2,
|
|
66
83
|
included: data.included
|
|
67
84
|
});
|
|
@@ -76,14 +93,14 @@ var AbstractApiData = class {
|
|
|
76
93
|
(includedData2) => includedData2.id === data.jsonApi.relationships[type].data.id && includedData2.type === data.jsonApi.relationships[type].data.type
|
|
77
94
|
);
|
|
78
95
|
if (fallbackData !== void 0) {
|
|
79
|
-
return
|
|
96
|
+
return RehydrationFactory.rehydrate(dataType, {
|
|
80
97
|
jsonApi: fallbackData,
|
|
81
98
|
included: data.included
|
|
82
99
|
});
|
|
83
100
|
}
|
|
84
101
|
}
|
|
85
102
|
if (includedData === void 0) return void 0;
|
|
86
|
-
return
|
|
103
|
+
return RehydrationFactory.rehydrate(dataType, {
|
|
87
104
|
jsonApi: includedData,
|
|
88
105
|
included: data.included
|
|
89
106
|
});
|
|
@@ -176,7 +193,7 @@ var AbstractService = class {
|
|
|
176
193
|
* Make an API call with automatic environment detection and error handling.
|
|
177
194
|
*/
|
|
178
195
|
static async callApi(params) {
|
|
179
|
-
const { JsonApiGet, JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await Promise.resolve().then(() => _interopRequireWildcard(require("./JsonApiRequest-
|
|
196
|
+
const { JsonApiGet, JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await Promise.resolve().then(() => _interopRequireWildcard(require("./JsonApiRequest-VARLNKAF.js")));
|
|
180
197
|
let apiResponse;
|
|
181
198
|
let language = "en";
|
|
182
199
|
if (typeof window === "undefined") {
|
|
@@ -261,7 +278,7 @@ var AbstractService = class {
|
|
|
261
278
|
* Get raw JSON:API response data without deserialization.
|
|
262
279
|
*/
|
|
263
280
|
static async getRawData(params) {
|
|
264
|
-
const { JsonApiGet } = await Promise.resolve().then(() => _interopRequireWildcard(require("./JsonApiRequest-
|
|
281
|
+
const { JsonApiGet } = await Promise.resolve().then(() => _interopRequireWildcard(require("./JsonApiRequest-VARLNKAF.js")));
|
|
265
282
|
let language = "en";
|
|
266
283
|
if (typeof window === "undefined") {
|
|
267
284
|
const { getLocale } = await Promise.resolve().then(() => _interopRequireWildcard(require("next-intl/server")));
|
|
@@ -310,7 +327,7 @@ var ModuleRegistrar = (_class = class {
|
|
|
310
327
|
}).map((key) => modulesClass[key]);
|
|
311
328
|
data.forEach((item) => {
|
|
312
329
|
if (item && item.model) {
|
|
313
|
-
|
|
330
|
+
_chunkAGAJMJ4Tjs.DataClassRegistry.registerObjectClass(item, item.model);
|
|
314
331
|
}
|
|
315
332
|
});
|
|
316
333
|
this._isBootstrapped = true;
|
|
@@ -320,7 +337,7 @@ var ModuleRegistrar = (_class = class {
|
|
|
320
337
|
*/
|
|
321
338
|
static reset() {
|
|
322
339
|
this._isBootstrapped = false;
|
|
323
|
-
|
|
340
|
+
_chunkAGAJMJ4Tjs.DataClassRegistry.clear();
|
|
324
341
|
}
|
|
325
342
|
}, _class.__initStatic(), _class);
|
|
326
343
|
|
|
@@ -437,11 +454,11 @@ _chunk7QVYU63Ejs.__name.call(void 0, createJsonApiInclusion, "createJsonApiInclu
|
|
|
437
454
|
|
|
438
455
|
// src/core/utils/rehydrate.ts
|
|
439
456
|
function rehydrate(classKey, data) {
|
|
440
|
-
return
|
|
457
|
+
return RehydrationFactory.rehydrate(classKey, data);
|
|
441
458
|
}
|
|
442
459
|
_chunk7QVYU63Ejs.__name.call(void 0, rehydrate, "rehydrate");
|
|
443
460
|
function rehydrateList(classKey, data) {
|
|
444
|
-
return
|
|
461
|
+
return RehydrationFactory.rehydrateList(classKey, data);
|
|
445
462
|
}
|
|
446
463
|
_chunk7QVYU63Ejs.__name.call(void 0, rehydrateList, "rehydrateList");
|
|
447
464
|
|
|
@@ -458,5 +475,6 @@ _chunk7QVYU63Ejs.__name.call(void 0, rehydrateList, "rehydrateList");
|
|
|
458
475
|
|
|
459
476
|
|
|
460
477
|
|
|
461
|
-
|
|
462
|
-
|
|
478
|
+
|
|
479
|
+
exports.RehydrationFactory = RehydrationFactory; exports.AbstractApiData = AbstractApiData; exports.HttpMethod = HttpMethod; exports.setGlobalErrorHandler = setGlobalErrorHandler; exports.getGlobalErrorHandler = getGlobalErrorHandler; exports.AbstractService = AbstractService; exports.ModuleRegistrar = ModuleRegistrar; exports.ModuleRegistry = ModuleRegistry; exports.Modules = Modules; exports.EndpointCreator = EndpointCreator; exports.createJsonApiInclusion = createJsonApiInclusion; exports.rehydrate = rehydrate; exports.rehydrateList = rehydrateList;
|
|
480
|
+
//# sourceMappingURL=chunk-HMHGLXWC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-HMHGLXWC.js","../src/core/factories/RehydrationFactory.ts","../src/core/abstracts/AbstractApiData.ts","../src/core/abstracts/AbstractService.ts","../src/core/registry/ModuleRegistrar.ts","../src/core/registry/ModuleRegistry.ts","../src/core/endpoint/EndpointCreator.ts","../src/core/fields/FieldSelector.ts","../src/core/utils/rehydrate.ts"],"names":["includedData","HttpMethod"],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-HMHGLXWC.js","sourcesContent":[null,"import { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { JsonApiHydratedDataInterface } from \"../interfaces/JsonApiHydratedDataInterface\";\nimport { DataClassRegistry } from \"../registry/DataClassRegistry\";\n\nexport class RehydrationFactory {\n public static rehydrate<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface,\n ): T {\n const factoryClass = DataClassRegistry.get(classKey);\n\n const instance = new factoryClass();\n return instance.rehydrate(data) as T;\n }\n\n public static rehydrateList<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface[],\n ): T[] {\n const factoryClass = DataClassRegistry.get(classKey);\n\n const response = data.map((item: JsonApiHydratedDataInterface) => {\n const instance = new factoryClass();\n return instance.rehydrate(item) as T;\n });\n\n return response;\n }\n}\n","import { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { JsonApiHydratedDataInterface } from \"../interfaces/JsonApiHydratedDataInterface\";\nimport { RehydrationFactory } from \"../factories/RehydrationFactory\";\n\nexport abstract class AbstractApiData implements ApiDataInterface {\n protected _jsonApi?: any;\n protected _included?: any[];\n\n protected _id?: string;\n protected _type?: string;\n protected _createdAt?: Date;\n protected _updatedAt?: Date;\n\n protected _self?: string;\n\n get type(): string {\n if (!this._type) throw new Error(\"Type is not set.\");\n return this._type;\n }\n\n get id(): string {\n if (!this._id) throw new Error(\"Id is not set.\");\n return this._id;\n }\n\n get self(): string | undefined {\n return this._self;\n }\n\n get createdAt(): Date {\n return this._createdAt ?? new Date();\n }\n\n get updatedAt(): Date {\n return this._updatedAt ?? new Date();\n }\n\n get included(): any[] {\n return this._included ?? [];\n }\n\n get jsonApi(): any {\n return this._jsonApi;\n }\n\n ingestJsonApi(_data: JsonApiHydratedDataInterface): void {}\n\n generateApiUrl(_params?: any): string {\n throw new Error(\"Method not implemented.\");\n }\n\n createJsonApi(_data?: any): any {\n throw new Error(\"Method not implemented.\");\n }\n\n protected _readIncluded<T extends ApiDataInterface>(\n data: JsonApiHydratedDataInterface,\n type: string,\n dataType: ApiRequestDataTypeInterface,\n ): T | T[] | undefined {\n if (\n data.included === undefined ||\n data.included.length === 0 ||\n data.jsonApi.relationships === undefined ||\n data.jsonApi.relationships[type] === undefined ||\n data.jsonApi.relationships[type].data === undefined\n ) {\n return undefined;\n }\n\n if (Array.isArray(data.jsonApi.relationships[type].data)) {\n const response: T[] = data.jsonApi.relationships[type].data.map((jsonApiData: any) => {\n const includedData = data.included.find(\n (includedData: any) => includedData.id === jsonApiData.id && includedData.type === jsonApiData.type,\n );\n\n if (includedData === undefined) return undefined;\n\n return RehydrationFactory.rehydrate(dataType, {\n jsonApi: includedData,\n included: data.included,\n }) as T;\n });\n\n return response.filter((item: T | undefined) => item !== undefined) as T[];\n }\n\n const includedData = data.included.find(\n (includedData: any) =>\n includedData.id === data.jsonApi.relationships[type].data.id &&\n includedData.type === data.jsonApi.relationships[type].data.type,\n );\n\n if (includedData === undefined && data.allData !== undefined) {\n // Try to find in allData as a fallback\n const fallbackData = data.allData.find(\n (includedData: any) =>\n includedData.id === data.jsonApi.relationships[type].data.id &&\n includedData.type === data.jsonApi.relationships[type].data.type,\n );\n if (fallbackData !== undefined) {\n return RehydrationFactory.rehydrate(dataType, {\n jsonApi: fallbackData,\n included: data.included,\n }) as T;\n }\n }\n\n if (includedData === undefined) return undefined;\n\n return RehydrationFactory.rehydrate(dataType, {\n jsonApi: includedData,\n included: data.included,\n }) as T;\n }\n\n dehydrate(): JsonApiHydratedDataInterface {\n return {\n jsonApi: this._jsonApi,\n included: this._included ?? [],\n };\n }\n\n rehydrate(data: JsonApiHydratedDataInterface): this {\n this._jsonApi = data.jsonApi;\n this._included = data.included;\n\n this._type = this._jsonApi.type;\n this._id = this._jsonApi.id;\n this._createdAt = this._jsonApi.meta?.createdAt !== undefined ? new Date(this._jsonApi.meta.createdAt) : undefined;\n this._updatedAt = this._jsonApi.meta?.updatedAt !== undefined ? new Date(this._jsonApi.meta.updatedAt) : undefined;\n\n this._self = this._jsonApi.links?.self ?? undefined;\n\n return this;\n }\n}\n","import { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../interfaces/ApiResponseInterface\";\n\nexport enum HttpMethod {\n GET = \"GET\",\n POST = \"POST\",\n PUT = \"PUT\",\n PATCH = \"PATCH\",\n DELETE = \"DELETE\",\n}\n\nexport interface NextRef {\n next?: string;\n}\n\nexport interface PreviousRef {\n previous?: string;\n}\n\nexport interface SelfRef {\n self?: string;\n}\n\nlet globalErrorHandler: ((status: number, message: string) => void) | null = null;\n\n/**\n * Set a global error handler for API errors (client-side only).\n * This handler will be called instead of throwing errors.\n */\nexport function setGlobalErrorHandler(handler: (status: number, message: string) => void) {\n globalErrorHandler = handler;\n}\n\n/**\n * Get the current global error handler.\n */\nexport function getGlobalErrorHandler(): ((status: number, message: string) => void) | null {\n return globalErrorHandler;\n}\n\n/**\n * Abstract base class for services that interact with the JSON:API.\n * Extend this class to create feature-specific services.\n */\nexport abstract class AbstractService {\n /**\n * Extract locale from client-side URL pathname\n * URL structure: /{locale}/route-path (e.g., /it/accounts)\n * Fallback chain: URL locale → navigator.language → \"en\"\n */\n private static getClientLocale(): string {\n if (typeof window === \"undefined\") {\n return \"en\"; // Server-side fallback\n }\n\n // Extract locale from URL pathname (first segment after leading slash)\n const pathSegments = window.location.pathname.split(\"/\").filter(Boolean);\n const urlLocale = pathSegments[0];\n\n // Validate against supported locales (currently only \"en\")\n const supportedLocales = [\"en\"];\n if (urlLocale && supportedLocales.includes(urlLocale)) {\n return urlLocale;\n }\n\n // Fallback to navigator language\n const navigatorLocale = navigator.language.split(\"-\")[0];\n if (navigatorLocale && supportedLocales.includes(navigatorLocale)) {\n return navigatorLocale;\n }\n\n // Final fallback\n return \"en\";\n }\n\n static async next<T>(params: {\n type: ApiRequestDataTypeInterface;\n endpoint: string;\n next?: NextRef;\n previous?: PreviousRef;\n self?: SelfRef;\n }): Promise<T> {\n return await this.callApi<T>({\n method: HttpMethod.GET,\n type: params.type,\n endpoint: params.endpoint,\n next: params.next,\n previous: params.previous,\n self: params.self,\n });\n }\n\n /**\n * Fetch the previous page of results.\n */\n static async previous<T>(params: {\n type: ApiRequestDataTypeInterface;\n endpoint: string;\n next?: NextRef;\n previous?: PreviousRef;\n self?: SelfRef;\n }): Promise<T> {\n return await this.callApi<T>({\n method: HttpMethod.GET,\n type: params.type,\n endpoint: params.endpoint,\n next: params.next,\n previous: params.previous,\n self: params.self,\n });\n }\n\n /**\n * Make an API call with automatic environment detection and error handling.\n */\n protected static async callApi<T>(params: {\n type: ApiRequestDataTypeInterface;\n method: HttpMethod;\n endpoint: string;\n companyId?: string;\n input?: any;\n overridesJsonApiCreation?: boolean;\n next?: NextRef;\n previous?: PreviousRef;\n self?: SelfRef;\n responseType?: ApiRequestDataTypeInterface;\n files?: { [key: string]: File | Blob } | File | Blob;\n }): Promise<T> {\n // Dynamic import to avoid bundling issues\n const { JsonApiGet, JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } =\n await import(\"../../unified/JsonApiRequest\");\n\n let apiResponse: ApiResponseInterface;\n\n // Get language based on environment\n let language = \"en\";\n if (typeof window === \"undefined\") {\n const { getLocale } = await import(\"next-intl/server\");\n language = (await getLocale()) ?? \"en\";\n } else {\n // Client-side: extract locale from URL pathname\n language = this.getClientLocale();\n }\n\n switch (params.method) {\n case HttpMethod.GET:\n apiResponse = await JsonApiGet({\n classKey: params.type,\n endpoint: params.endpoint,\n companyId: params.companyId,\n language: language,\n });\n break;\n case HttpMethod.POST:\n apiResponse = await JsonApiPost({\n classKey: params.type,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.input,\n overridesJsonApiCreation: params.overridesJsonApiCreation,\n language: language,\n responseType: params.responseType,\n files: params.files,\n });\n break;\n case HttpMethod.PUT:\n apiResponse = await JsonApiPut({\n classKey: params.type,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.input,\n language: language,\n responseType: params.responseType,\n files: params.files,\n });\n break;\n case HttpMethod.PATCH:\n apiResponse = await JsonApiPatch({\n classKey: params.type,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.input,\n overridesJsonApiCreation: params.overridesJsonApiCreation,\n language: language,\n responseType: params.responseType,\n files: params.files,\n });\n break;\n case HttpMethod.DELETE:\n apiResponse = await JsonApiDelete({\n classKey: params.type,\n endpoint: params.endpoint,\n companyId: params.companyId,\n language: language,\n responseType: params.responseType,\n });\n break;\n default:\n throw new Error(\"Method not found\");\n }\n\n if (!apiResponse.ok) {\n if (globalErrorHandler && typeof window !== \"undefined\") {\n globalErrorHandler(apiResponse.response, apiResponse.error);\n return undefined as any;\n } else {\n const error = new Error(`${apiResponse.response}:${apiResponse.error}`) as any;\n error.status = apiResponse.response;\n error.digest = `HTTP_${apiResponse.response}`;\n throw error;\n }\n }\n\n if (apiResponse.next && params.next) params.next.next = apiResponse.next;\n if (apiResponse.prev && params.previous) params.previous.previous = apiResponse.prev;\n if (apiResponse.self && params.self) params.self.self = apiResponse.self;\n\n return apiResponse.data as T;\n }\n\n /**\n * Get raw JSON:API response data without deserialization.\n */\n protected static async getRawData(params: {\n type: ApiRequestDataTypeInterface;\n method: HttpMethod;\n endpoint: string;\n companyId?: string;\n }): Promise<any> {\n const { JsonApiGet } = await import(\"../../unified/JsonApiRequest\");\n\n let language = \"en\";\n\n if (typeof window === \"undefined\") {\n const { getLocale } = await import(\"next-intl/server\");\n language = (await getLocale()) ?? \"en\";\n } else {\n // Client-side: extract locale from URL pathname\n language = this.getClientLocale();\n }\n\n const apiResponse: ApiResponseInterface = await JsonApiGet({\n classKey: params.type,\n endpoint: params.endpoint,\n companyId: params.companyId,\n language: language,\n });\n\n if (!apiResponse.ok) {\n if (globalErrorHandler && typeof window !== \"undefined\") {\n globalErrorHandler(apiResponse.response, apiResponse.error);\n return undefined as any;\n } else {\n const error = new Error(`${apiResponse.response}:${apiResponse.error}`) as any;\n error.status = apiResponse.response;\n error.digest = `HTTP_${apiResponse.response}`;\n throw error;\n }\n }\n\n return apiResponse.raw;\n }\n}\n","import { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { DataClassRegistry } from \"./DataClassRegistry\";\n\n/**\n * Helper class to bootstrap the registry from a Modules-style class.\n * This supports the pattern where modules are defined as static getters.\n */\nexport class ModuleRegistrar {\n private static _isBootstrapped = false;\n\n /**\n * Bootstrap the registry from a Modules class.\n * Automatically detects static getters and registers their models.\n *\n * @param modulesClass - The Modules class with static getters\n */\n static bootstrap<T extends object>(modulesClass: T): void {\n if (this._isBootstrapped) return;\n\n const data = Object.getOwnPropertyNames(modulesClass)\n .filter((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(modulesClass, key);\n return descriptor && typeof descriptor.get === \"function\";\n })\n .map((key) => (modulesClass as any)[key] as ApiRequestDataTypeInterface);\n\n data.forEach((item) => {\n if (item && item.model) {\n DataClassRegistry.registerObjectClass(item, item.model);\n }\n });\n\n this._isBootstrapped = true;\n }\n\n /**\n * Reset the bootstrapped state. Useful for testing.\n */\n static reset(): void {\n this._isBootstrapped = false;\n DataClassRegistry.clear();\n }\n}\n","import { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { ModuleWithPermissions } from \"../../permissions/types\";\n\n// Foundation module types - defined by LIBRARY\nexport interface FoundationModuleDefinitions {\n S3: ModuleWithPermissions;\n Auth: ModuleWithPermissions;\n User: ModuleWithPermissions;\n Author: ModuleWithPermissions;\n Company: ModuleWithPermissions;\n Role: ModuleWithPermissions;\n Notification: ModuleWithPermissions;\n Push: ModuleWithPermissions;\n Feature: ModuleWithPermissions;\n Module: ModuleWithPermissions;\n Content: ModuleWithPermissions;\n UserTopic: ModuleWithPermissions;\n UserExpertise: ModuleWithPermissions;\n}\n\n// App-specific modules - apps will augment this interface ONLY\n\nexport interface AppModuleDefinitions {}\n\n// Combined type for full autocompletion\nexport type ModuleDefinitions = FoundationModuleDefinitions & AppModuleDefinitions;\n\nclass ModuleRegistryClass {\n private _modules: Map<string, ApiRequestDataTypeInterface> = new Map();\n\n register<K extends string>(name: K, module: ApiRequestDataTypeInterface): void {\n this._modules.set(name, module);\n }\n\n get<K extends keyof ModuleDefinitions>(name: K): ModuleDefinitions[K] {\n const module = this._modules.get(name as string);\n if (!module) {\n throw new Error(`Module \"${String(name)}\" not registered. Call bootstrap() first.`);\n }\n return module as ModuleDefinitions[K];\n }\n\n findByName(moduleName: string): ModuleWithPermissions {\n // Search by module's name property (e.g., \"topics\", \"articles\")\n for (const module of this._modules.values()) {\n if ((module as ModuleWithPermissions).name === moduleName) {\n return module as ModuleWithPermissions;\n }\n }\n throw new Error(`Module not found: ${moduleName}`);\n }\n}\n\nexport const ModuleRegistry = new ModuleRegistryClass();\n\n// Proxy object for Modules.X syntax with autocompletion\nexport const Modules = new Proxy({} as ModuleDefinitions, {\n get(_, prop: string) {\n if (prop === \"findByName\") {\n return (name: string) => ModuleRegistry.findByName(name);\n }\n return ModuleRegistry.get(prop as keyof ModuleDefinitions);\n },\n}) as ModuleDefinitions & { findByName: (name: string) => ModuleWithPermissions };\n","import { FieldSelector } from \"../fields/FieldSelector\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\n\nexport type EndpointQuery = {\n endpoint: ApiRequestDataTypeInterface;\n id?: string;\n childEndpoint?: ApiRequestDataTypeInterface | string;\n childId?: string;\n additionalParams?: { key: string; value: string | string[] }[];\n};\n\nexport class EndpointCreator {\n private _endpoint: EndpointQuery;\n\n constructor(params: {\n endpoint: ApiRequestDataTypeInterface;\n id?: string;\n childEndpoint?: ApiRequestDataTypeInterface | string;\n childId?: string;\n additionalParams?: { key: string; value: string }[];\n }) {\n this._endpoint = {\n endpoint: params.endpoint,\n id: params.id,\n childEndpoint: params.childEndpoint,\n childId: params.childId,\n additionalParams: params.additionalParams ?? [],\n };\n }\n\n endpoint(value: ApiRequestDataTypeInterface): EndpointCreator {\n this._endpoint.endpoint = value;\n return this;\n }\n\n id(value: string): EndpointCreator {\n this._endpoint.id = value;\n return this;\n }\n\n childEndpoint(value: ApiRequestDataTypeInterface | string): EndpointCreator {\n this._endpoint.childEndpoint = value;\n return this;\n }\n\n childId(value: string): EndpointCreator {\n this._endpoint.childId = value;\n return this;\n }\n\n set additionalParams(value: { key: string; value: string }[]) {\n this._endpoint.additionalParams = value;\n }\n\n addAdditionalParam(key: string, value: string | string[]): EndpointCreator {\n if (!this._endpoint.additionalParams) this._endpoint.additionalParams = [];\n this._endpoint.additionalParams.push({ key, value });\n return this;\n }\n\n limitToType(selectors: string[]): this {\n this.addAdditionalParam(`include`, selectors.join(\",\"));\n return this;\n }\n\n limitToFields(selectors: FieldSelector<any>[]): this {\n if (selectors.length === 0) return this;\n\n selectors.forEach((selector) => {\n const fieldString = selector.fields.join(\",\");\n this.addAdditionalParam(`fields[${selector.type}]`, fieldString);\n });\n\n return this;\n }\n\n generate(): string {\n let additionalParams = \"\";\n if (this._endpoint.additionalParams) {\n additionalParams = this._endpoint.additionalParams.map((param) => `${param.key}=${param.value}`).join(\"&\");\n }\n\n let response = `${this._endpoint.endpoint.name}`;\n if (this._endpoint.id) response += `/${this._endpoint.id}`;\n if (this._endpoint.childEndpoint) {\n response += `/${\n typeof this._endpoint.childEndpoint === \"string\"\n ? this._endpoint.childEndpoint\n : this._endpoint.childEndpoint.name\n }`;\n }\n if (this._endpoint.childId) response += `/${this._endpoint.childId}`;\n if (additionalParams) response += `?${additionalParams}`;\n\n return response;\n }\n}\n","export type GetterKeys<T> = {\n [K in keyof T]: T[K] extends () => any ? never : K;\n}[keyof T];\n\nexport type FieldSelector<T> = {\n type: string;\n fields: ReadonlyArray<GetterKeys<T>>;\n};\n\nexport function createJsonApiInclusion<T>(dataType: string, fields: ReadonlyArray<GetterKeys<T>>): FieldSelector<T> {\n return {\n type: dataType,\n fields,\n };\n}\n","import { ApiDataInterface } from \"../interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../interfaces/ApiRequestDataTypeInterface\";\nimport { JsonApiHydratedDataInterface } from \"../interfaces/JsonApiHydratedDataInterface\";\nimport { RehydrationFactory } from \"../factories/RehydrationFactory\";\n\n/**\n * Rehydrate a single dehydrated object back into its typed class instance.\n */\nexport function rehydrate<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface,\n): T {\n return RehydrationFactory.rehydrate(classKey, data) as T;\n}\n\n/**\n * Rehydrate a list of dehydrated objects back into typed class instances.\n */\nexport function rehydrateList<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface[],\n): T[] {\n return RehydrationFactory.rehydrateList(classKey, data) as T[];\n}\n"]}
|
package/dist/chunk-IWFGEPAA.mjs
CHANGED
package/dist/chunk-JC3WJK65.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } 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; } var _class;
|
|
2
3
|
|
|
3
4
|
var _chunk7QVYU63Ejs = require('./chunk-7QVYU63E.js');
|