@carlonicora/nextjs-jsonapi 1.0.3 → 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 +6 -3
- package/src/atoms/index.ts +1 -0
- package/src/atoms/recentPagesAtom.ts +10 -0
- package/src/client/context/JsonApiContext.ts +61 -0
- package/src/client/context/JsonApiProvider.tsx +27 -0
- package/src/client/context/index.ts +2 -0
- package/src/client/hooks/index.ts +3 -0
- package/src/client/hooks/useJsonApiGet.ts +188 -0
- package/src/client/hooks/useJsonApiMutation.ts +193 -0
- package/src/client/hooks/useRehydration.ts +47 -0
- package/src/client/index.ts +24 -0
- package/src/client/request.ts +97 -0
- package/src/client/token.ts +10 -0
- package/src/components/containers/PageContainer.tsx +15 -0
- package/src/components/containers/ReactMarkdownContainer.tsx +119 -0
- package/src/components/containers/TabsContainer.tsx +93 -0
- package/src/components/containers/index.ts +3 -0
- package/src/components/contents/AttributeElement.tsx +20 -0
- package/src/components/contents/index.ts +1 -0
- package/src/components/details/AllowedUsersDetails.tsx +23 -0
- package/src/components/details/index.ts +1 -0
- package/src/components/editors/BlockNoteDiffInlineContent.tsx +152 -0
- package/src/components/editors/BlockNoteEditor.tsx +404 -0
- package/src/components/editors/BlockNoteEditorContainer.tsx +13 -0
- package/src/components/editors/BlockNoteEditorFormattingToolbar.tsx +38 -0
- package/src/components/editors/index.ts +1 -0
- package/src/components/errors/ErrorDetails.tsx +41 -0
- package/src/components/errors/errorToast.ts +9 -0
- package/src/components/errors/index.ts +2 -0
- package/src/components/forms/CommonAssociationForm.tsx +162 -0
- package/src/components/forms/CommonDeleter.tsx +94 -0
- package/src/components/forms/CommonEditorButtons.tsx +30 -0
- package/src/components/forms/CommonEditorHeader.tsx +35 -0
- package/src/components/forms/CommonEditorTrigger.tsx +26 -0
- package/src/components/forms/DatePickerPopover.tsx +219 -0
- package/src/components/forms/DateRangeSelector.tsx +110 -0
- package/src/components/forms/FileUploader.tsx +324 -0
- package/src/components/forms/FormCheckbox.tsx +66 -0
- package/src/components/forms/FormContainerGeneric.tsx +39 -0
- package/src/components/forms/FormDate.tsx +247 -0
- package/src/components/forms/FormDateTime.tsx +231 -0
- package/src/components/forms/FormInput.tsx +110 -0
- package/src/components/forms/FormPassword.tsx +54 -0
- package/src/components/forms/FormPlaceAutocomplete.tsx +286 -0
- package/src/components/forms/FormSelect.tsx +72 -0
- package/src/components/forms/FormSlider.tsx +51 -0
- package/src/components/forms/FormSwitch.tsx +25 -0
- package/src/components/forms/FormTextarea.tsx +44 -0
- package/src/components/forms/MultiFileUploader.tsx +107 -0
- package/src/components/forms/PasswordInput.tsx +47 -0
- package/src/components/forms/index.ts +22 -0
- package/src/components/index.ts +16 -0
- package/src/components/navigations/Breadcrumb.tsx +83 -0
- package/src/components/navigations/ContentTitle.tsx +39 -0
- package/src/components/navigations/Header.tsx +27 -0
- package/src/components/navigations/ModeToggleSwitch.tsx +25 -0
- package/src/components/navigations/PageSection.tsx +64 -0
- package/src/components/navigations/RecentPagesNavigator.tsx +52 -0
- package/src/components/navigations/index.ts +6 -0
- package/src/components/pages/PageContainerContentDetails.tsx +76 -0
- package/src/components/pages/PageContentContainer.tsx +31 -0
- package/src/components/pages/index.ts +2 -0
- package/src/components/tables/ContentListTable.tsx +166 -0
- package/src/components/tables/ContentTableSearch.tsx +105 -0
- package/src/components/tables/cells/cell.component.tsx +18 -0
- package/src/components/tables/cells/cell.date.tsx +16 -0
- package/src/components/tables/cells/cell.id.tsx +27 -0
- package/src/components/tables/cells/cell.link.tsx +18 -0
- package/src/components/tables/cells/cell.text.tsx +12 -0
- package/src/components/tables/cells/cell.url.tsx +13 -0
- package/src/components/tables/cells/index.ts +5 -0
- package/src/components/tables/index.ts +3 -0
- package/src/contexts/CommonContext.tsx +52 -0
- package/src/contexts/SharedContext.tsx +37 -0
- package/src/contexts/SocketContext.tsx +65 -0
- package/src/contexts/index.ts +7 -0
- package/src/core/abstracts/AbstractApiData.ts +138 -0
- package/src/core/abstracts/AbstractService.ts +263 -0
- package/src/core/abstracts/index.ts +2 -0
- package/src/core/endpoint/EndpointCreator.ts +97 -0
- package/src/core/endpoint/index.ts +1 -0
- package/src/core/factories/JsonApiDataFactory.ts +12 -0
- package/src/core/factories/RehydrationFactory.ts +30 -0
- package/src/core/factories/index.ts +2 -0
- package/src/core/fields/FieldSelector.ts +15 -0
- package/src/core/fields/index.ts +1 -0
- package/src/core/index.ts +20 -0
- package/src/core/interfaces/ApiData.ts +8 -0
- package/src/core/interfaces/ApiDataInterface.ts +15 -0
- package/src/core/interfaces/ApiRequestDataTypeInterface.ts +14 -0
- package/src/core/interfaces/ApiResponseInterface.ts +17 -0
- package/src/core/interfaces/JsonApiHydratedDataInterface.ts +5 -0
- package/src/core/interfaces/index.ts +5 -0
- package/{dist/chunk-DO2HLAZO.js → src/core/registry/DataClassRegistry.ts} +20 -17
- package/src/core/registry/ModuleRegistrar.ts +43 -0
- package/src/core/registry/ModuleRegistry.ts +64 -0
- package/src/core/registry/index.ts +3 -0
- package/src/core/utils/index.ts +2 -0
- package/src/core/utils/rehydrate.ts +24 -0
- package/src/core/utils/translateResponse.ts +125 -0
- package/src/features/auth/auth.module.ts +9 -0
- 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/config.ts +57 -0
- package/src/features/auth/contexts/AuthContext.tsx +77 -0
- package/src/features/auth/contexts/index.ts +1 -0
- package/src/features/auth/data/auth.interface.ts +31 -0
- package/src/features/auth/data/auth.service.ts +159 -0
- package/src/features/auth/data/auth.ts +54 -0
- package/src/features/auth/data/index.ts +3 -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 +4 -0
- package/src/features/auth/utils/AuthCookies.ts +134 -0
- package/src/features/auth/utils/index.ts +1 -0
- package/src/features/company/company.module.ts +10 -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/data/company.fields.ts +6 -0
- package/src/features/company/data/company.interface.ts +28 -0
- package/src/features/company/data/company.service.ts +73 -0
- package/src/features/company/data/company.ts +104 -0
- package/src/features/company/data/index.ts +4 -0
- package/src/features/company/hooks/index.ts +1 -0
- package/src/features/company/hooks/useCompanyTableStructure.tsx +82 -0
- package/src/features/company/index.ts +2 -0
- package/src/features/content/content.module.ts +20 -0
- package/src/features/content/data/content.fields.ts +13 -0
- package/src/features/content/data/content.interface.ts +23 -0
- package/src/features/content/data/content.service.ts +75 -0
- package/src/features/content/data/content.ts +85 -0
- package/src/features/content/data/index.ts +4 -0
- package/src/features/content/index.ts +2 -0
- package/src/features/feature/components/forms/FormFeatures.tsx +150 -0
- package/src/features/feature/components/forms/index.ts +1 -0
- package/src/features/feature/components/index.ts +1 -0
- package/src/features/feature/data/feature.interface.ts +9 -0
- package/src/features/feature/data/feature.service.ts +19 -0
- package/src/features/feature/data/feature.ts +33 -0
- package/src/features/feature/data/index.ts +3 -0
- package/src/features/feature/feature.module.ts +10 -0
- package/src/features/feature/index.ts +2 -0
- package/src/features/index.ts +12 -0
- package/src/features/module/data/index.ts +2 -0
- package/src/features/module/data/module.interface.ts +12 -0
- package/src/features/module/data/module.ts +42 -0
- package/src/features/module/index.ts +2 -0
- package/src/features/module/module.module.ts +10 -0
- 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/data/index.ts +4 -0
- package/src/features/notification/data/notification.fields.ts +8 -0
- package/src/features/notification/data/notification.interface.ts +14 -0
- package/src/features/notification/data/notification.service.ts +34 -0
- package/src/features/notification/data/notification.ts +51 -0
- package/src/features/notification/index.ts +2 -0
- package/src/features/notification/notification.module.ts +10 -0
- package/src/features/push/data/index.ts +3 -0
- package/src/features/push/data/push.interface.ts +8 -0
- package/src/features/push/data/push.service.ts +17 -0
- package/src/features/push/data/push.ts +18 -0
- package/src/features/push/index.ts +2 -0
- package/src/features/push/push.module.ts +10 -0
- 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/data/index.ts +4 -0
- package/src/features/role/data/role.fields.ts +8 -0
- package/src/features/role/data/role.interface.ts +16 -0
- package/src/features/role/data/role.service.ts +117 -0
- package/src/features/role/data/role.ts +62 -0
- package/src/features/role/hooks/index.ts +1 -0
- package/src/features/role/hooks/useRoleTableStructure.tsx +72 -0
- package/src/features/role/index.ts +2 -0
- package/src/features/role/role.module.ts +10 -0
- package/src/features/s3/data/index.ts +3 -0
- package/src/features/s3/data/s3.interface.ts +11 -0
- package/src/features/s3/data/s3.service.ts +30 -0
- package/src/features/s3/data/s3.ts +60 -0
- package/src/features/s3/index.ts +2 -0
- package/src/features/s3/s3.module.ts +10 -0
- package/src/features/search/index.ts +1 -0
- package/src/features/search/interfaces/index.ts +1 -0
- package/src/features/search/interfaces/search.result.interface.ts +3 -0
- package/src/features/user/author.module.ts +10 -0
- 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 +5 -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/ContributorsList.tsx +41 -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 +8 -0
- package/src/features/user/components/widgets/UserAvatar.tsx +86 -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/components/widgets/index.ts +1 -0
- package/src/features/user/contexts/CurrentUserContext.tsx +156 -0
- package/src/features/user/contexts/UserContext.tsx +106 -0
- package/src/features/user/contexts/index.ts +2 -0
- package/src/features/user/data/index.ts +4 -0
- package/src/features/user/data/user.fields.ts +8 -0
- package/src/features/user/data/user.interface.ts +41 -0
- package/src/features/user/data/user.service.ts +246 -0
- package/src/features/user/data/user.ts +162 -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 +3 -0
- package/src/features/user/user.module.ts +21 -0
- package/src/hooks/TableGeneratorRegistry.ts +53 -0
- package/src/hooks/index.ts +37 -0
- package/src/hooks/types.ts +35 -0
- package/src/hooks/url.rewriter.ts +22 -0
- package/src/hooks/useCustomD3Graph.tsx +707 -0
- package/src/hooks/useDataListRetriever.ts +349 -0
- package/src/hooks/useDebounce.ts +33 -0
- package/src/hooks/useNotificationSync.ts +20 -0
- package/src/hooks/usePageTracker.ts +69 -0
- package/src/hooks/usePageUrlGenerator.ts +50 -0
- package/src/hooks/usePushNotifications.ts +82 -0
- package/src/hooks/useSocket.ts +201 -0
- package/src/hooks/useTableGenerator.ts +20 -0
- package/src/i18n/config.ts +74 -0
- package/src/i18n/index.ts +18 -0
- package/src/index.ts +20 -0
- package/src/interfaces/breadcrumb.item.data.interface.ts +4 -0
- package/src/interfaces/d3.link.interface.ts +8 -0
- package/src/interfaces/d3.node.interface.ts +12 -0
- package/src/interfaces/index.ts +3 -0
- package/src/permissions/check.ts +127 -0
- package/src/permissions/index.ts +2 -0
- package/src/permissions/types.ts +109 -0
- package/src/roles/config.ts +46 -0
- package/src/roles/index.ts +1 -0
- package/src/server/ServerSession.ts +103 -0
- package/src/server/cache.ts +28 -0
- package/src/server/index.ts +4 -0
- package/src/server/request.ts +113 -0
- package/src/server/token.ts +10 -0
- package/src/shadcnui/custom/kanban.tsx +1001 -0
- package/src/shadcnui/custom/link.tsx +18 -0
- package/src/shadcnui/custom/multi-select.tsx +382 -0
- package/src/shadcnui/index.ts +49 -0
- package/src/shadcnui/ui/accordion.tsx +52 -0
- package/src/shadcnui/ui/alert-dialog.tsx +141 -0
- package/src/shadcnui/ui/alert.tsx +43 -0
- package/src/shadcnui/ui/avatar.tsx +50 -0
- package/src/shadcnui/ui/badge.tsx +40 -0
- package/src/shadcnui/ui/breadcrumb.tsx +115 -0
- package/src/shadcnui/ui/button.tsx +51 -0
- package/src/shadcnui/ui/calendar.tsx +73 -0
- package/src/shadcnui/ui/card.tsx +43 -0
- package/src/shadcnui/ui/carousel.tsx +225 -0
- package/src/shadcnui/ui/chart.tsx +320 -0
- package/src/shadcnui/ui/checkbox.tsx +29 -0
- package/src/shadcnui/ui/collapsible.tsx +11 -0
- package/src/shadcnui/ui/command.tsx +155 -0
- package/src/shadcnui/ui/context-menu.tsx +179 -0
- package/src/shadcnui/ui/dialog.tsx +96 -0
- package/src/shadcnui/ui/drawer.tsx +89 -0
- package/src/shadcnui/ui/dropdown-menu.tsx +205 -0
- package/src/shadcnui/ui/form.tsx +138 -0
- package/src/shadcnui/ui/hover-card.tsx +29 -0
- package/src/shadcnui/ui/input.tsx +21 -0
- package/src/shadcnui/ui/label.tsx +26 -0
- package/src/shadcnui/ui/navigation-menu.tsx +168 -0
- package/src/shadcnui/ui/popover.tsx +33 -0
- package/src/shadcnui/ui/progress.tsx +25 -0
- package/src/shadcnui/ui/radio-group.tsx +37 -0
- package/src/shadcnui/ui/resizable.tsx +47 -0
- package/src/shadcnui/ui/scroll-area.tsx +40 -0
- package/src/shadcnui/ui/select.tsx +164 -0
- package/src/shadcnui/ui/separator.tsx +28 -0
- package/src/shadcnui/ui/sheet.tsx +139 -0
- package/src/shadcnui/ui/sidebar.tsx +677 -0
- package/src/shadcnui/ui/skeleton.tsx +13 -0
- package/src/shadcnui/ui/slider.tsx +25 -0
- package/src/shadcnui/ui/sonner.tsx +25 -0
- package/src/shadcnui/ui/switch.tsx +31 -0
- package/src/shadcnui/ui/table.tsx +120 -0
- package/src/shadcnui/ui/tabs.tsx +55 -0
- package/src/shadcnui/ui/textarea.tsx +24 -0
- package/src/shadcnui/ui/toggle.tsx +39 -0
- package/src/shadcnui/ui/tooltip.tsx +61 -0
- package/src/unified/JsonApiRequest.ts +348 -0
- package/src/unified/index.ts +1 -0
- package/src/utils/blocknote-diff.util.ts +815 -0
- package/src/utils/blocknote-word-diff-renderer.util.ts +413 -0
- package/src/utils/cn.ts +6 -0
- package/src/utils/compose-refs.ts +61 -0
- package/src/utils/date-formatter.ts +53 -0
- package/src/utils/exists.ts +7 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/schemas/entity.object.schema.ts +8 -0
- package/src/utils/schemas/index.ts +2 -0
- package/src/utils/schemas/user.object.schema.ts +9 -0
- package/src/utils/table-options.ts +67 -0
- package/src/utils/use-mobile.tsx +21 -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.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":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-RZO2LOW4.js","../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"],"names":["AuthComponent","CompanyFields","ContentFields","NotificationFields","RoleFields","UserFields"],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-RZO2LOW4.js","sourcesContent":[null,"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"]}
|
|
@@ -44,12 +44,25 @@ function useI18nDateFnsLocale() {
|
|
|
44
44
|
}
|
|
45
45
|
__name(useI18nDateFnsLocale, "useI18nDateFnsLocale");
|
|
46
46
|
|
|
47
|
+
// src/features/auth/config.ts
|
|
48
|
+
var _tokenHandler = null;
|
|
49
|
+
function configureAuth(handler) {
|
|
50
|
+
_tokenHandler = handler;
|
|
51
|
+
}
|
|
52
|
+
__name(configureAuth, "configureAuth");
|
|
53
|
+
function getTokenHandler() {
|
|
54
|
+
return _tokenHandler;
|
|
55
|
+
}
|
|
56
|
+
__name(getTokenHandler, "getTokenHandler");
|
|
57
|
+
|
|
47
58
|
export {
|
|
48
59
|
configureI18n,
|
|
49
60
|
useI18nRouter,
|
|
50
61
|
useI18nTranslations,
|
|
51
62
|
getI18nLink,
|
|
52
63
|
useI18nLocale,
|
|
53
|
-
useI18nDateFnsLocale
|
|
64
|
+
useI18nDateFnsLocale,
|
|
65
|
+
configureAuth,
|
|
66
|
+
getTokenHandler
|
|
54
67
|
};
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
68
|
+
//# sourceMappingURL=chunk-SM63SZCP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18n/config.ts","../src/features/auth/config.ts"],"sourcesContent":["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"],"mappings":";;;;;AA6BA,IAAI,UAA6B;AAG1B,SAAS,cAAc,QAA0B;AACtD,YAAU;AACZ;AAFgB;AAKT,SAAS,gBAA4B;AAC1C,MAAI,CAAC,SAAS,WAAW;AACvB,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AACA,SAAO,QAAQ,UAAU;AAC3B;AALgB;AAOT,SAAS,oBAAoB,WAA2E;AAC7G,MAAI,CAAC,SAAS,iBAAiB;AAE7B,WAAO,CAAC,QAAgB;AAAA,EAC1B;AACA,SAAO,QAAQ,gBAAgB,SAAS;AAC1C;AANgB;AAQT,SAAS,cAA6B;AAC3C,MAAI,CAAC,SAAS,MAAM;AAClB,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AACA,SAAO,QAAQ;AACjB;AALgB;AAOT,SAAS,gBAAwB;AACtC,MAAI,SAAS,WAAW;AACtB,WAAO,QAAQ,UAAU;AAAA,EAC3B;AAEA,SAAO;AACT;AANgB;AAQT,SAAS,uBAA4B;AAC1C,MAAI,SAAS,kBAAkB;AAC7B,WAAO,QAAQ,iBAAiB;AAAA,EAClC;AAEA,SAAO;AACT;AANgB;;;ACnChB,IAAI,gBAAqC;AAclC,SAAS,cAAc,SAA6B;AACzD,kBAAgB;AAClB;AAFgB;AAQT,SAAS,kBAAuC;AACrD,SAAO;AACT;AAFgB;","names":[]}
|