@webiny/api-website-builder 0.0.0-unstable.e53eceafb5 → 0.0.0-unstable.e6f0dc8ca7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -29
- package/constants.js +3 -9
- package/constants.js.map +1 -1
- package/domain/page/EntryToPageMapper.d.ts +5 -0
- package/domain/page/EntryToPageMapper.js +33 -0
- package/domain/page/EntryToPageMapper.js.map +1 -0
- package/domain/page/PagePath.d.ts +7 -0
- package/domain/page/PagePath.js +36 -0
- package/domain/page/PagePath.js.map +1 -0
- package/domain/page/abstractions.d.ts +52 -0
- package/domain/page/abstractions.js +8 -0
- package/domain/page/abstractions.js.map +1 -0
- package/domain/page/errors.d.ts +31 -0
- package/domain/page/errors.js +60 -0
- package/domain/page/errors.js.map +1 -0
- package/domain/page/page.model.d.ts +2 -0
- package/domain/page/page.model.js +32 -0
- package/domain/page/page.model.js.map +1 -0
- package/domain/permissionsSchema.d.ts +29 -0
- package/domain/permissionsSchema.js +32 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/domain/redirect/EntryToRedirectMapper.d.ts +5 -0
- package/domain/redirect/EntryToRedirectMapper.js +24 -0
- package/domain/redirect/EntryToRedirectMapper.js.map +1 -0
- package/domain/redirect/abstractions.d.ts +30 -0
- package/domain/redirect/abstractions.js +12 -0
- package/domain/redirect/abstractions.js.map +1 -0
- package/domain/redirect/errors.d.ts +19 -0
- package/domain/redirect/errors.js +38 -0
- package/domain/redirect/errors.js.map +1 -0
- package/domain/redirect/redirect.model.d.ts +2 -0
- package/domain/redirect/redirect.model.js +32 -0
- package/domain/redirect/redirect.model.js.map +1 -0
- package/domain/shared/abstractions.d.ts +5 -0
- package/domain/shared/abstractions.js +3 -0
- package/domain/shared/abstractions.js.map +1 -0
- package/exports/api/website-builder/nextjs.d.ts +1 -0
- package/exports/api/website-builder/nextjs.js +3 -0
- package/exports/api/website-builder/nextjs.js.map +1 -0
- package/exports/api/website-builder/page.d.ts +16 -0
- package/exports/api/website-builder/page.js +18 -0
- package/exports/api/website-builder/page.js.map +1 -0
- package/exports/api/website-builder/redirect.d.ts +8 -0
- package/exports/api/website-builder/redirect.js +10 -0
- package/exports/api/website-builder/redirect.js.map +1 -0
- package/features/installer/ApiKeyInstaller.d.ts +18 -0
- package/features/installer/ApiKeyInstaller.js +40 -0
- package/features/installer/ApiKeyInstaller.js.map +1 -0
- package/features/installer/feature.d.ts +4 -0
- package/features/installer/feature.js +10 -0
- package/features/installer/feature.js.map +1 -0
- package/features/nextjs/MarkdownContentBuilder.d.ts +31 -0
- package/features/nextjs/MarkdownContentBuilder.js +86 -0
- package/features/nextjs/MarkdownContentBuilder.js.map +1 -0
- package/features/nextjs/MarkdownContentBuilder.test.d.ts +1 -0
- package/features/nextjs/MarkdownContentBuilder.test.js +278 -0
- package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -0
- package/features/nextjs/NextjsConfig.d.ts +14 -0
- package/features/nextjs/NextjsConfig.js +58 -0
- package/features/nextjs/NextjsConfig.js.map +1 -0
- package/features/nextjs/abstractions.d.ts +10 -0
- package/features/nextjs/abstractions.js +5 -0
- package/features/nextjs/abstractions.js.map +1 -0
- package/features/nextjs/feature.d.ts +4 -0
- package/features/nextjs/feature.js +10 -0
- package/features/nextjs/feature.js.map +1 -0
- package/features/nextjs/index.d.ts +1 -0
- package/features/nextjs/index.js +3 -0
- package/features/nextjs/index.js.map +1 -0
- package/features/pages/CreatePage/CreatePageRepository.d.ts +13 -0
- package/features/pages/CreatePage/CreatePageRepository.js +36 -0
- package/features/pages/CreatePage/CreatePageRepository.js.map +1 -0
- package/features/pages/CreatePage/CreatePageUseCase.d.ts +14 -0
- package/features/pages/CreatePage/CreatePageUseCase.js +45 -0
- package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -0
- package/features/pages/CreatePage/abstractions.d.ts +59 -0
- package/features/pages/CreatePage/abstractions.js +33 -0
- package/features/pages/CreatePage/abstractions.js.map +1 -0
- package/features/pages/CreatePage/events.d.ts +10 -0
- package/features/pages/CreatePage/events.js +19 -0
- package/features/pages/CreatePage/events.js.map +1 -0
- package/features/pages/CreatePage/feature.d.ts +4 -0
- package/features/pages/CreatePage/feature.js +12 -0
- package/features/pages/CreatePage/feature.js.map +1 -0
- package/features/pages/CreatePage/index.d.ts +1 -15
- package/features/pages/CreatePage/index.js +1 -16
- package/features/pages/CreatePage/index.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.d.ts +15 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +49 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.d.ts +16 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +53 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +64 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.js +33 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/events.d.ts +10 -0
- package/features/pages/CreatePageRevisionFrom/events.js +19 -0
- package/features/pages/CreatePageRevisionFrom/events.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/feature.d.ts +4 -0
- package/features/pages/CreatePageRevisionFrom/feature.js +12 -0
- package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/index.d.ts +1 -16
- package/features/pages/CreatePageRevisionFrom/index.js +1 -16
- package/features/pages/CreatePageRevisionFrom/index.js.map +1 -1
- package/features/pages/DeletePage/DeletePageRepository.d.ts +13 -0
- package/features/pages/DeletePage/DeletePageRepository.js +28 -0
- package/features/pages/DeletePage/DeletePageRepository.js.map +1 -0
- package/features/pages/DeletePage/DeletePageUseCase.d.ts +16 -0
- package/features/pages/DeletePage/DeletePageUseCase.js +52 -0
- package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -0
- package/features/pages/DeletePage/abstractions.d.ts +62 -0
- package/features/pages/DeletePage/abstractions.js +33 -0
- package/features/pages/DeletePage/abstractions.js.map +1 -0
- package/features/pages/DeletePage/events.d.ts +10 -0
- package/features/pages/DeletePage/events.js +19 -0
- package/features/pages/DeletePage/events.js.map +1 -0
- package/features/pages/DeletePage/feature.d.ts +4 -0
- package/features/pages/DeletePage/feature.js +12 -0
- package/features/pages/DeletePage/feature.js.map +1 -0
- package/features/pages/DeletePage/index.d.ts +1 -16
- package/features/pages/DeletePage/index.js +1 -16
- package/features/pages/DeletePage/index.js.map +1 -1
- package/features/pages/DuplicatePage/DuplicatePageRepository.d.ts +15 -0
- package/features/pages/DuplicatePage/DuplicatePageRepository.js +67 -0
- package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.d.ts +14 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js +55 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -0
- package/features/pages/DuplicatePage/abstractions.d.ts +71 -0
- package/features/pages/DuplicatePage/abstractions.js +33 -0
- package/features/pages/DuplicatePage/abstractions.js.map +1 -0
- package/features/pages/DuplicatePage/events.d.ts +10 -0
- package/features/pages/DuplicatePage/events.js +19 -0
- package/features/pages/DuplicatePage/events.js.map +1 -0
- package/features/pages/DuplicatePage/feature.d.ts +4 -0
- package/features/pages/DuplicatePage/feature.js +12 -0
- package/features/pages/DuplicatePage/feature.js.map +1 -0
- package/features/pages/DuplicatePage/index.d.ts +2 -16
- package/features/pages/DuplicatePage/index.js +1 -16
- package/features/pages/DuplicatePage/index.js.map +1 -1
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.d.ts +13 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js +32 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js.map +1 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.d.ts +12 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js +31 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js.map +1 -0
- package/features/pages/GetDeletedPageById/abstractions.d.ts +42 -0
- package/features/pages/GetDeletedPageById/abstractions.js +15 -0
- package/features/pages/GetDeletedPageById/abstractions.js.map +1 -0
- package/features/pages/GetDeletedPageById/feature.d.ts +4 -0
- package/features/pages/GetDeletedPageById/feature.js +12 -0
- package/features/pages/GetDeletedPageById/feature.js.map +1 -0
- package/features/pages/GetDeletedPageById/index.d.ts +1 -0
- package/features/pages/GetDeletedPageById/index.js +3 -0
- package/features/pages/GetDeletedPageById/index.js.map +1 -0
- package/features/pages/GetPageById/GetPageByIdRepository.d.ts +13 -0
- package/features/pages/GetPageById/GetPageByIdRepository.js +29 -0
- package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.d.ts +12 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js +31 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -0
- package/features/pages/GetPageById/abstractions.d.ts +41 -0
- package/features/pages/GetPageById/abstractions.js +16 -0
- package/features/pages/GetPageById/abstractions.js.map +1 -0
- package/features/pages/GetPageById/feature.d.ts +4 -0
- package/features/pages/GetPageById/feature.js +12 -0
- package/features/pages/GetPageById/feature.js.map +1 -0
- package/features/pages/GetPageById/index.d.ts +1 -9
- package/features/pages/GetPageById/index.js +1 -14
- package/features/pages/GetPageById/index.js.map +1 -1
- package/features/pages/GetPageByPath/GetPageByPathRepository.d.ts +13 -0
- package/features/pages/GetPageByPath/GetPageByPathRepository.js +38 -0
- package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.d.ts +12 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js +31 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -0
- package/features/pages/GetPageByPath/abstractions.d.ts +41 -0
- package/features/pages/GetPageByPath/abstractions.js +16 -0
- package/features/pages/GetPageByPath/abstractions.js.map +1 -0
- package/features/pages/GetPageByPath/feature.d.ts +4 -0
- package/features/pages/GetPageByPath/feature.js +12 -0
- package/features/pages/GetPageByPath/feature.js.map +1 -0
- package/features/pages/GetPageByPath/index.d.ts +1 -9
- package/features/pages/GetPageByPath/index.js +1 -14
- package/features/pages/GetPageByPath/index.js.map +1 -1
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.d.ts +15 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js +61 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.d.ts +10 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js +20 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/abstractions.d.ts +20 -0
- package/features/pages/GetPageLanguagePaths/abstractions.js +6 -0
- package/features/pages/GetPageLanguagePaths/abstractions.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/feature.d.ts +4 -0
- package/features/pages/GetPageLanguagePaths/feature.js +12 -0
- package/features/pages/GetPageLanguagePaths/feature.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/index.d.ts +1 -0
- package/features/pages/GetPageLanguagePaths/index.js +3 -0
- package/features/pages/GetPageLanguagePaths/index.js.map +1 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.d.ts +13 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +26 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.d.ts +12 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +34 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -0
- package/features/pages/GetPageRevisions/abstractions.d.ts +39 -0
- package/features/pages/GetPageRevisions/abstractions.js +16 -0
- package/features/pages/GetPageRevisions/abstractions.js.map +1 -0
- package/features/pages/GetPageRevisions/feature.d.ts +4 -0
- package/features/pages/GetPageRevisions/feature.js +12 -0
- package/features/pages/GetPageRevisions/feature.js.map +1 -0
- package/features/pages/GetPageRevisions/index.d.ts +1 -9
- package/features/pages/GetPageRevisions/index.js +1 -14
- package/features/pages/GetPageRevisions/index.js.map +1 -1
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.d.ts +17 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js +49 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js.map +1 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.d.ts +14 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js +35 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js.map +1 -0
- package/features/pages/ListDeletedPages/abstractions.d.ts +56 -0
- package/features/pages/ListDeletedPages/abstractions.js +15 -0
- package/features/pages/ListDeletedPages/abstractions.js.map +1 -0
- package/features/pages/ListDeletedPages/feature.d.ts +4 -0
- package/features/pages/ListDeletedPages/feature.js +12 -0
- package/features/pages/ListDeletedPages/feature.js.map +1 -0
- package/features/pages/ListDeletedPages/index.d.ts +1 -0
- package/features/pages/ListDeletedPages/index.js +3 -0
- package/features/pages/ListDeletedPages/index.js.map +1 -0
- package/features/pages/ListPages/ListPagesRepository.d.ts +17 -0
- package/features/pages/ListPages/ListPagesRepository.js +49 -0
- package/features/pages/ListPages/ListPagesRepository.js.map +1 -0
- package/features/pages/ListPages/ListPagesUseCase.d.ts +14 -0
- package/features/pages/ListPages/ListPagesUseCase.js +35 -0
- package/features/pages/ListPages/ListPagesUseCase.js.map +1 -0
- package/features/pages/ListPages/abstractions.d.ts +57 -0
- package/features/pages/ListPages/abstractions.js +16 -0
- package/features/pages/ListPages/abstractions.js.map +1 -0
- package/features/pages/ListPages/feature.d.ts +4 -0
- package/features/pages/ListPages/feature.js +12 -0
- package/features/pages/ListPages/feature.js.map +1 -0
- package/features/pages/ListPages/index.d.ts +1 -9
- package/features/pages/ListPages/index.js +1 -14
- package/features/pages/ListPages/index.js.map +1 -1
- package/features/pages/MovePage/MovePageRepository.d.ts +15 -0
- package/features/pages/MovePage/MovePageRepository.js +39 -0
- package/features/pages/MovePage/MovePageRepository.js.map +1 -0
- package/features/pages/MovePage/MovePageUseCase.d.ts +14 -0
- package/features/pages/MovePage/MovePageUseCase.js +61 -0
- package/features/pages/MovePage/MovePageUseCase.js.map +1 -0
- package/features/pages/MovePage/abstractions.d.ts +66 -0
- package/features/pages/MovePage/abstractions.js +33 -0
- package/features/pages/MovePage/abstractions.js.map +1 -0
- package/features/pages/MovePage/events.d.ts +10 -0
- package/features/pages/MovePage/events.js +19 -0
- package/features/pages/MovePage/events.js.map +1 -0
- package/features/pages/MovePage/feature.d.ts +4 -0
- package/features/pages/MovePage/feature.js +12 -0
- package/features/pages/MovePage/feature.js.map +1 -0
- package/features/pages/MovePage/index.d.ts +1 -16
- package/features/pages/MovePage/index.js +1 -16
- package/features/pages/MovePage/index.js.map +1 -1
- package/features/pages/PublishPage/PublishPageRepository.d.ts +15 -0
- package/features/pages/PublishPage/PublishPageRepository.js +41 -0
- package/features/pages/PublishPage/PublishPageRepository.js.map +1 -0
- package/features/pages/PublishPage/PublishPageUseCase.d.ts +14 -0
- package/features/pages/PublishPage/PublishPageUseCase.js +58 -0
- package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -0
- package/features/pages/PublishPage/abstractions.d.ts +62 -0
- package/features/pages/PublishPage/abstractions.js +33 -0
- package/features/pages/PublishPage/abstractions.js.map +1 -0
- package/features/pages/PublishPage/events.d.ts +10 -0
- package/features/pages/PublishPage/events.js +19 -0
- package/features/pages/PublishPage/events.js.map +1 -0
- package/features/pages/PublishPage/feature.d.ts +4 -0
- package/features/pages/PublishPage/feature.js +12 -0
- package/features/pages/PublishPage/feature.js.map +1 -0
- package/features/pages/PublishPage/index.d.ts +1 -16
- package/features/pages/PublishPage/index.js +1 -16
- package/features/pages/PublishPage/index.js.map +1 -1
- package/features/pages/RestorePage/RestorePageRepository.d.ts +13 -0
- package/features/pages/RestorePage/RestorePageRepository.js +30 -0
- package/features/pages/RestorePage/RestorePageRepository.js.map +1 -0
- package/features/pages/RestorePage/RestorePageUseCase.d.ts +16 -0
- package/features/pages/RestorePage/RestorePageUseCase.js +52 -0
- package/features/pages/RestorePage/RestorePageUseCase.js.map +1 -0
- package/features/pages/RestorePage/abstractions.d.ts +59 -0
- package/features/pages/RestorePage/abstractions.js +30 -0
- package/features/pages/RestorePage/abstractions.js.map +1 -0
- package/features/pages/RestorePage/events.d.ts +10 -0
- package/features/pages/RestorePage/events.js +19 -0
- package/features/pages/RestorePage/events.js.map +1 -0
- package/features/pages/RestorePage/feature.d.ts +4 -0
- package/features/pages/RestorePage/feature.js +12 -0
- package/features/pages/RestorePage/feature.js.map +1 -0
- package/features/pages/RestorePage/index.d.ts +1 -0
- package/features/pages/RestorePage/index.js +3 -0
- package/features/pages/RestorePage/index.js.map +1 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.d.ts +17 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.js +74 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.js.map +1 -0
- package/features/pages/TranslatePage/abstractions.d.ts +29 -0
- package/features/pages/TranslatePage/abstractions.js +14 -0
- package/features/pages/TranslatePage/abstractions.js.map +1 -0
- package/features/pages/TranslatePage/feature.d.ts +4 -0
- package/features/pages/TranslatePage/feature.js +10 -0
- package/features/pages/TranslatePage/feature.js.map +1 -0
- package/features/pages/TranslatePage/index.d.ts +1 -0
- package/features/pages/TranslatePage/index.js +3 -0
- package/features/pages/TranslatePage/index.js.map +1 -0
- package/features/pages/TrashPage/TrashPageRepository.d.ts +13 -0
- package/features/pages/TrashPage/TrashPageRepository.js +30 -0
- package/features/pages/TrashPage/TrashPageRepository.js.map +1 -0
- package/features/pages/TrashPage/TrashPageUseCase.d.ts +16 -0
- package/features/pages/TrashPage/TrashPageUseCase.js +52 -0
- package/features/pages/TrashPage/TrashPageUseCase.js.map +1 -0
- package/features/pages/TrashPage/abstractions.d.ts +58 -0
- package/features/pages/TrashPage/abstractions.js +30 -0
- package/features/pages/TrashPage/abstractions.js.map +1 -0
- package/features/pages/TrashPage/events.d.ts +10 -0
- package/features/pages/TrashPage/events.js +19 -0
- package/features/pages/TrashPage/events.js.map +1 -0
- package/features/pages/TrashPage/feature.d.ts +4 -0
- package/features/pages/TrashPage/feature.js +12 -0
- package/features/pages/TrashPage/feature.js.map +1 -0
- package/features/pages/TrashPage/index.d.ts +1 -0
- package/features/pages/TrashPage/index.js +3 -0
- package/features/pages/TrashPage/index.js.map +1 -0
- package/features/pages/UnpublishPage/UnpublishPageRepository.d.ts +15 -0
- package/features/pages/UnpublishPage/UnpublishPageRepository.js +41 -0
- package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.d.ts +16 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js +57 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -0
- package/features/pages/UnpublishPage/abstractions.d.ts +62 -0
- package/features/pages/UnpublishPage/abstractions.js +33 -0
- package/features/pages/UnpublishPage/abstractions.js.map +1 -0
- package/features/pages/UnpublishPage/events.d.ts +10 -0
- package/features/pages/UnpublishPage/events.js +19 -0
- package/features/pages/UnpublishPage/events.js.map +1 -0
- package/features/pages/UnpublishPage/feature.d.ts +4 -0
- package/features/pages/UnpublishPage/feature.js +12 -0
- package/features/pages/UnpublishPage/feature.js.map +1 -0
- package/features/pages/UnpublishPage/index.d.ts +1 -16
- package/features/pages/UnpublishPage/index.js +1 -16
- package/features/pages/UnpublishPage/index.js.map +1 -1
- package/features/pages/UpdatePage/UpdatePageRepository.d.ts +15 -0
- package/features/pages/UpdatePage/UpdatePageRepository.js +47 -0
- package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.d.ts +16 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js +66 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -0
- package/features/pages/UpdatePage/abstractions.d.ts +79 -0
- package/features/pages/UpdatePage/abstractions.js +33 -0
- package/features/pages/UpdatePage/abstractions.js.map +1 -0
- package/features/pages/UpdatePage/events.d.ts +10 -0
- package/features/pages/UpdatePage/events.js +19 -0
- package/features/pages/UpdatePage/events.js.map +1 -0
- package/features/pages/UpdatePage/feature.d.ts +4 -0
- package/features/pages/UpdatePage/feature.js +12 -0
- package/features/pages/UpdatePage/feature.js.map +1 -0
- package/features/pages/UpdatePage/index.d.ts +1 -16
- package/features/pages/UpdatePage/index.js +1 -16
- package/features/pages/UpdatePage/index.js.map +1 -1
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +44 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.d.ts +16 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js +66 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/abstractions.d.ts +67 -0
- package/features/pages/UpdatePageRevisionDescription/abstractions.js +29 -0
- package/features/pages/UpdatePageRevisionDescription/abstractions.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/events.d.ts +10 -0
- package/features/pages/UpdatePageRevisionDescription/events.js +19 -0
- package/features/pages/UpdatePageRevisionDescription/events.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/feature.d.ts +4 -0
- package/features/pages/UpdatePageRevisionDescription/feature.js +12 -0
- package/features/pages/UpdatePageRevisionDescription/feature.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/index.d.ts +1 -0
- package/features/pages/UpdatePageRevisionDescription/index.js +3 -0
- package/features/pages/UpdatePageRevisionDescription/index.js.map +1 -0
- package/features/permissions/abstractions.d.ts +34 -0
- package/features/permissions/abstractions.js +5 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +4 -0
- package/features/permissions/feature.js +6 -0
- package/features/permissions/feature.js.map +1 -0
- package/features/redirects/CreateRedirect/CreateRedirectRepository.d.ts +13 -0
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js +32 -0
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.d.ts +12 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +45 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -0
- package/features/redirects/CreateRedirect/abstractions.d.ts +61 -0
- package/features/redirects/CreateRedirect/abstractions.js +33 -0
- package/features/redirects/CreateRedirect/abstractions.js.map +1 -0
- package/features/redirects/CreateRedirect/events.d.ts +10 -0
- package/features/redirects/CreateRedirect/events.js +19 -0
- package/features/redirects/CreateRedirect/events.js.map +1 -0
- package/features/redirects/CreateRedirect/feature.d.ts +4 -0
- package/features/redirects/CreateRedirect/feature.js +12 -0
- package/features/redirects/CreateRedirect/feature.js.map +1 -0
- package/features/redirects/CreateRedirect/index.d.ts +1 -15
- package/features/redirects/CreateRedirect/index.js +1 -16
- package/features/redirects/CreateRedirect/index.js.map +1 -1
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.d.ts +13 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +27 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.d.ts +14 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +53 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -0
- package/features/redirects/DeleteRedirect/abstractions.d.ts +61 -0
- package/features/redirects/DeleteRedirect/abstractions.js +33 -0
- package/features/redirects/DeleteRedirect/abstractions.js.map +1 -0
- package/features/redirects/DeleteRedirect/events.d.ts +10 -0
- package/features/redirects/DeleteRedirect/events.js +19 -0
- package/features/redirects/DeleteRedirect/events.js.map +1 -0
- package/features/redirects/DeleteRedirect/feature.d.ts +4 -0
- package/features/redirects/DeleteRedirect/feature.js +12 -0
- package/features/redirects/DeleteRedirect/feature.js.map +1 -0
- package/features/redirects/DeleteRedirect/index.d.ts +1 -16
- package/features/redirects/DeleteRedirect/index.js +1 -16
- package/features/redirects/DeleteRedirect/index.js.map +1 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.d.ts +11 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +30 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.d.ts +10 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +24 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -0
- package/features/redirects/GetActiveRedirects/abstractions.d.ts +40 -0
- package/features/redirects/GetActiveRedirects/abstractions.js +16 -0
- package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -0
- package/features/redirects/GetActiveRedirects/feature.d.ts +4 -0
- package/features/redirects/GetActiveRedirects/feature.js +12 -0
- package/features/redirects/GetActiveRedirects/feature.js.map +1 -0
- package/features/redirects/GetActiveRedirects/index.d.ts +1 -0
- package/features/redirects/GetActiveRedirects/index.js +3 -0
- package/features/redirects/GetActiveRedirects/index.js.map +1 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.d.ts +13 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +29 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.d.ts +10 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +32 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -0
- package/features/redirects/GetRedirectById/abstractions.d.ts +42 -0
- package/features/redirects/GetRedirectById/abstractions.js +16 -0
- package/features/redirects/GetRedirectById/abstractions.js.map +1 -0
- package/features/redirects/GetRedirectById/feature.d.ts +4 -0
- package/features/redirects/GetRedirectById/feature.js +12 -0
- package/features/redirects/GetRedirectById/feature.js.map +1 -0
- package/features/redirects/GetRedirectById/index.d.ts +1 -9
- package/features/redirects/GetRedirectById/index.js +1 -14
- package/features/redirects/GetRedirectById/index.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.d.ts +12 -0
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +28 -0
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.d.ts +9 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +25 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.d.ts +9 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +25 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.d.ts +9 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +26 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.d.ts +16 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js +10 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/feature.d.ts +4 -0
- package/features/redirects/InvalidateRedirectsCache/feature.js +16 -0
- package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/index.d.ts +1 -0
- package/features/redirects/InvalidateRedirectsCache/index.js +3 -0
- package/features/redirects/InvalidateRedirectsCache/index.js.map +1 -0
- package/features/redirects/ListRedirects/ListRedirectsRepository.d.ts +16 -0
- package/features/redirects/ListRedirects/ListRedirectsRepository.js +46 -0
- package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.d.ts +12 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js +36 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -0
- package/features/redirects/ListRedirects/abstractions.d.ts +70 -0
- package/features/redirects/ListRedirects/abstractions.js +20 -0
- package/features/redirects/ListRedirects/abstractions.js.map +1 -0
- package/features/redirects/ListRedirects/feature.d.ts +4 -0
- package/features/redirects/ListRedirects/feature.js +12 -0
- package/features/redirects/ListRedirects/feature.js.map +1 -0
- package/features/redirects/ListRedirects/index.d.ts +1 -9
- package/features/redirects/ListRedirects/index.js +1 -14
- package/features/redirects/ListRedirects/index.js.map +1 -1
- package/features/redirects/MoveRedirect/MoveRedirectRepository.d.ts +15 -0
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js +39 -0
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.d.ts +14 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +61 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -0
- package/features/redirects/MoveRedirect/abstractions.d.ts +67 -0
- package/features/redirects/MoveRedirect/abstractions.js +33 -0
- package/features/redirects/MoveRedirect/abstractions.js.map +1 -0
- package/features/redirects/MoveRedirect/events.d.ts +10 -0
- package/features/redirects/MoveRedirect/events.js +19 -0
- package/features/redirects/MoveRedirect/events.js.map +1 -0
- package/features/redirects/MoveRedirect/feature.d.ts +4 -0
- package/features/redirects/MoveRedirect/feature.js +12 -0
- package/features/redirects/MoveRedirect/feature.js.map +1 -0
- package/features/redirects/MoveRedirect/index.d.ts +1 -16
- package/features/redirects/MoveRedirect/index.js +1 -16
- package/features/redirects/MoveRedirect/index.js.map +1 -1
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.d.ts +15 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +47 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +16 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +66 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -0
- package/features/redirects/UpdateRedirect/abstractions.d.ts +79 -0
- package/features/redirects/UpdateRedirect/abstractions.js +33 -0
- package/features/redirects/UpdateRedirect/abstractions.js.map +1 -0
- package/features/redirects/UpdateRedirect/events.d.ts +10 -0
- package/features/redirects/UpdateRedirect/events.js +19 -0
- package/features/redirects/UpdateRedirect/events.js.map +1 -0
- package/features/redirects/UpdateRedirect/feature.d.ts +4 -0
- package/features/redirects/UpdateRedirect/feature.js +12 -0
- package/features/redirects/UpdateRedirect/feature.js.map +1 -0
- package/features/redirects/UpdateRedirect/index.d.ts +1 -16
- package/features/redirects/UpdateRedirect/index.js +1 -16
- package/features/redirects/UpdateRedirect/index.js.map +1 -1
- package/features/tenantManager/TenantModelExtension.d.ts +8 -0
- package/features/tenantManager/TenantModelExtension.js +36 -0
- package/features/tenantManager/TenantModelExtension.js.map +1 -0
- package/features/tenantManager/feature.d.ts +4 -0
- package/features/tenantManager/feature.js +10 -0
- package/features/tenantManager/feature.js.map +1 -0
- package/graphql/createGraphQL.d.ts +1 -1
- package/graphql/createGraphQL.js +6 -13
- package/graphql/createGraphQL.js.map +1 -1
- package/graphql/nextjs/NextjsGraphQLSchema.d.ts +9 -0
- package/graphql/nextjs/NextjsGraphQLSchema.js +48 -0
- package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -0
- package/graphql/pages/pages.gql.d.ts +2 -2
- package/graphql/pages/pages.gql.js +258 -86
- package/graphql/pages/pages.gql.js.map +1 -1
- package/graphql/pages/pages.typeDefs.d.ts +1 -1
- package/graphql/pages/pages.typeDefs.js +26 -11
- package/graphql/pages/pages.typeDefs.js.map +1 -1
- package/graphql/redirects/redirects.gql.d.ts +2 -2
- package/graphql/redirects/redirects.gql.js +61 -41
- package/graphql/redirects/redirects.gql.js.map +1 -1
- package/graphql/redirects/redirects.typeDefs.d.ts +1 -1
- package/graphql/redirects/redirects.typeDefs.js +21 -11
- package/graphql/redirects/redirects.typeDefs.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.js +95 -13
- package/index.js.map +1 -1
- package/package.json +28 -32
- package/rest/ActiveRedirectDto.d.ts +6 -0
- package/rest/ActiveRedirectDto.js +3 -0
- package/rest/ActiveRedirectDto.js.map +1 -0
- package/rest/ActiveRedirectRestMapper.d.ts +5 -0
- package/rest/ActiveRedirectRestMapper.js +12 -0
- package/rest/ActiveRedirectRestMapper.js.map +1 -0
- package/rest/getRedirects.d.ts +2 -0
- package/rest/getRedirects.js +33 -0
- package/rest/getRedirects.js.map +1 -0
- package/utils/ensureAuthentication.d.ts +6 -2
- package/utils/ensureAuthentication.js +10 -12
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/resolve.d.ts +2 -3
- package/utils/resolve.js +4 -20
- package/utils/resolve.js.map +1 -1
- package/context/BaseContext.d.ts +0 -11
- package/context/BaseContext.js +0 -41
- package/context/BaseContext.js.map +0 -1
- package/context/WebsiteBuilder.d.ts +0 -13
- package/context/WebsiteBuilder.js +0 -35
- package/context/WebsiteBuilder.js.map +0 -1
- package/context/pages/PagesStorage.d.ts +0 -26
- package/context/pages/PagesStorage.js +0 -114
- package/context/pages/PagesStorage.js.map +0 -1
- package/context/pages/pages.context.d.ts +0 -11
- package/context/pages/pages.context.js +0 -80
- package/context/pages/pages.context.js.map +0 -1
- package/context/pages/pages.crud.d.ts +0 -3
- package/context/pages/pages.crud.js +0 -208
- package/context/pages/pages.crud.js.map +0 -1
- package/context/pages/pages.types.d.ts +0 -247
- package/context/pages/pages.types.js +0 -7
- package/context/pages/pages.types.js.map +0 -1
- package/context/redirects/RedirectsStorage.d.ts +0 -21
- package/context/redirects/RedirectsStorage.js +0 -88
- package/context/redirects/RedirectsStorage.js.map +0 -1
- package/context/redirects/redirects.context.d.ts +0 -11
- package/context/redirects/redirects.context.js +0 -80
- package/context/redirects/redirects.context.js.map +0 -1
- package/context/redirects/redirects.crud.d.ts +0 -3
- package/context/redirects/redirects.crud.js +0 -109
- package/context/redirects/redirects.crud.js.map +0 -1
- package/context/redirects/redirects.types.d.ts +0 -143
- package/context/redirects/redirects.types.js +0 -7
- package/context/redirects/redirects.types.js.map +0 -1
- package/context/types.d.ts +0 -28
- package/context/types.js +0 -7
- package/context/types.js.map +0 -1
- package/features/pages/CreatePage/CreatePage.d.ts +0 -7
- package/features/pages/CreatePage/CreatePage.js +0 -19
- package/features/pages/CreatePage/CreatePage.js.map +0 -1
- package/features/pages/CreatePage/CreatePageWithEvents.d.ts +0 -9
- package/features/pages/CreatePage/CreatePageWithEvents.js +0 -25
- package/features/pages/CreatePage/CreatePageWithEvents.js.map +0 -1
- package/features/pages/CreatePage/ICreatePage.d.ts +0 -4
- package/features/pages/CreatePage/ICreatePage.js +0 -7
- package/features/pages/CreatePage/ICreatePage.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.d.ts +0 -7
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js +0 -17
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.d.ts +0 -10
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js +0 -32
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.d.ts +0 -4
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js +0 -7
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js.map +0 -1
- package/features/pages/DeletePage/DeletePage.d.ts +0 -7
- package/features/pages/DeletePage/DeletePage.js +0 -17
- package/features/pages/DeletePage/DeletePage.js.map +0 -1
- package/features/pages/DeletePage/DeletePageWithEvents.d.ts +0 -10
- package/features/pages/DeletePage/DeletePageWithEvents.js +0 -30
- package/features/pages/DeletePage/DeletePageWithEvents.js.map +0 -1
- package/features/pages/DeletePage/IDeletePage.d.ts +0 -4
- package/features/pages/DeletePage/IDeletePage.js +0 -7
- package/features/pages/DeletePage/IDeletePage.js.map +0 -1
- package/features/pages/DuplicatePage/DuplicatePage.d.ts +0 -9
- package/features/pages/DuplicatePage/DuplicatePage.js +0 -39
- package/features/pages/DuplicatePage/DuplicatePage.js.map +0 -1
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.d.ts +0 -10
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.js +0 -32
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.js.map +0 -1
- package/features/pages/DuplicatePage/IDuplicatePage.d.ts +0 -4
- package/features/pages/DuplicatePage/IDuplicatePage.js +0 -7
- package/features/pages/DuplicatePage/IDuplicatePage.js.map +0 -1
- package/features/pages/GetPageById/GetPageById.d.ts +0 -7
- package/features/pages/GetPageById/GetPageById.js +0 -17
- package/features/pages/GetPageById/GetPageById.js.map +0 -1
- package/features/pages/GetPageById/IGetPageById.d.ts +0 -4
- package/features/pages/GetPageById/IGetPageById.js +0 -7
- package/features/pages/GetPageById/IGetPageById.js.map +0 -1
- package/features/pages/GetPageByPath/GetPageByPath.d.ts +0 -11
- package/features/pages/GetPageByPath/GetPageByPath.js +0 -28
- package/features/pages/GetPageByPath/GetPageByPath.js.map +0 -1
- package/features/pages/GetPageByPath/IGetPageByPath.d.ts +0 -4
- package/features/pages/GetPageByPath/IGetPageByPath.js +0 -7
- package/features/pages/GetPageByPath/IGetPageByPath.js.map +0 -1
- package/features/pages/GetPageRevisions/GetPageRevisions.d.ts +0 -7
- package/features/pages/GetPageRevisions/GetPageRevisions.js +0 -17
- package/features/pages/GetPageRevisions/GetPageRevisions.js.map +0 -1
- package/features/pages/GetPageRevisions/IGetPageById.d.ts +0 -4
- package/features/pages/GetPageRevisions/IGetPageById.js +0 -7
- package/features/pages/GetPageRevisions/IGetPageById.js.map +0 -1
- package/features/pages/ListPages/IListPages.d.ts +0 -17
- package/features/pages/ListPages/IListPages.js +0 -7
- package/features/pages/ListPages/IListPages.js.map +0 -1
- package/features/pages/ListPages/ListPages.d.ts +0 -7
- package/features/pages/ListPages/ListPages.js +0 -17
- package/features/pages/ListPages/ListPages.js.map +0 -1
- package/features/pages/MovePage/IMovePage.d.ts +0 -4
- package/features/pages/MovePage/IMovePage.js +0 -7
- package/features/pages/MovePage/IMovePage.js.map +0 -1
- package/features/pages/MovePage/MovePage.d.ts +0 -7
- package/features/pages/MovePage/MovePage.js +0 -17
- package/features/pages/MovePage/MovePage.js.map +0 -1
- package/features/pages/MovePage/MovePageWithEvents.d.ts +0 -10
- package/features/pages/MovePage/MovePageWithEvents.js +0 -32
- package/features/pages/MovePage/MovePageWithEvents.js.map +0 -1
- package/features/pages/PublishPage/IPublishPage.d.ts +0 -4
- package/features/pages/PublishPage/IPublishPage.js +0 -7
- package/features/pages/PublishPage/IPublishPage.js.map +0 -1
- package/features/pages/PublishPage/PublishPage.d.ts +0 -7
- package/features/pages/PublishPage/PublishPage.js +0 -17
- package/features/pages/PublishPage/PublishPage.js.map +0 -1
- package/features/pages/PublishPage/PublishPageWithEvents.d.ts +0 -10
- package/features/pages/PublishPage/PublishPageWithEvents.js +0 -31
- package/features/pages/PublishPage/PublishPageWithEvents.js.map +0 -1
- package/features/pages/UnpublishPage/IUnpublishPage.d.ts +0 -4
- package/features/pages/UnpublishPage/IUnpublishPage.js +0 -7
- package/features/pages/UnpublishPage/IUnpublishPage.js.map +0 -1
- package/features/pages/UnpublishPage/UnpublishPage.d.ts +0 -7
- package/features/pages/UnpublishPage/UnpublishPage.js +0 -17
- package/features/pages/UnpublishPage/UnpublishPage.js.map +0 -1
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.d.ts +0 -10
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.js +0 -31
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.js.map +0 -1
- package/features/pages/UpdatePage/IUpdatePage.d.ts +0 -4
- package/features/pages/UpdatePage/IUpdatePage.js +0 -7
- package/features/pages/UpdatePage/IUpdatePage.js.map +0 -1
- package/features/pages/UpdatePage/UpdatePage.d.ts +0 -7
- package/features/pages/UpdatePage/UpdatePage.js +0 -20
- package/features/pages/UpdatePage/UpdatePage.js.map +0 -1
- package/features/pages/UpdatePage/UpdatePageWithEvents.d.ts +0 -10
- package/features/pages/UpdatePage/UpdatePageWithEvents.js +0 -40
- package/features/pages/UpdatePage/UpdatePageWithEvents.js.map +0 -1
- package/features/pages/index.d.ts +0 -9
- package/features/pages/index.js +0 -106
- package/features/pages/index.js.map +0 -1
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.d.ts +0 -9
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js +0 -25
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js.map +0 -1
- package/features/redirects/CreateRedirect/CreateRevision.d.ts +0 -7
- package/features/redirects/CreateRedirect/CreateRevision.js +0 -19
- package/features/redirects/CreateRedirect/CreateRevision.js.map +0 -1
- package/features/redirects/CreateRedirect/ICreateRedirect.d.ts +0 -4
- package/features/redirects/CreateRedirect/ICreateRedirect.js +0 -7
- package/features/redirects/CreateRedirect/ICreateRedirect.js.map +0 -1
- package/features/redirects/DeleteRedirect/DeleteRedirect.d.ts +0 -7
- package/features/redirects/DeleteRedirect/DeleteRedirect.js +0 -17
- package/features/redirects/DeleteRedirect/DeleteRedirect.js.map +0 -1
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.d.ts +0 -10
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js +0 -30
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js.map +0 -1
- package/features/redirects/DeleteRedirect/IDeleteRedirect.d.ts +0 -4
- package/features/redirects/DeleteRedirect/IDeleteRedirect.js +0 -7
- package/features/redirects/DeleteRedirect/IDeleteRedirect.js.map +0 -1
- package/features/redirects/GetRedirectById/GetRedirectById.d.ts +0 -7
- package/features/redirects/GetRedirectById/GetRedirectById.js +0 -17
- package/features/redirects/GetRedirectById/GetRedirectById.js.map +0 -1
- package/features/redirects/GetRedirectById/IGetRedirectById.d.ts +0 -4
- package/features/redirects/GetRedirectById/IGetRedirectById.js +0 -7
- package/features/redirects/GetRedirectById/IGetRedirectById.js.map +0 -1
- package/features/redirects/ListRedirects/IListRedirects.d.ts +0 -17
- package/features/redirects/ListRedirects/IListRedirects.js +0 -7
- package/features/redirects/ListRedirects/IListRedirects.js.map +0 -1
- package/features/redirects/ListRedirects/ListRedirects.d.ts +0 -7
- package/features/redirects/ListRedirects/ListRedirects.js +0 -17
- package/features/redirects/ListRedirects/ListRedirects.js.map +0 -1
- package/features/redirects/MoveRedirect/IMoveRedirect.d.ts +0 -4
- package/features/redirects/MoveRedirect/IMoveRedirect.js +0 -7
- package/features/redirects/MoveRedirect/IMoveRedirect.js.map +0 -1
- package/features/redirects/MoveRedirect/MoveRedirect.d.ts +0 -7
- package/features/redirects/MoveRedirect/MoveRedirect.js +0 -17
- package/features/redirects/MoveRedirect/MoveRedirect.js.map +0 -1
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.d.ts +0 -10
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js +0 -32
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js.map +0 -1
- package/features/redirects/UpdateRedirect/IUpdateRedirect.d.ts +0 -4
- package/features/redirects/UpdateRedirect/IUpdateRedirect.js +0 -7
- package/features/redirects/UpdateRedirect/IUpdateRedirect.js.map +0 -1
- package/features/redirects/UpdateRedirect/UpdateRedirect.d.ts +0 -7
- package/features/redirects/UpdateRedirect/UpdateRedirect.js +0 -20
- package/features/redirects/UpdateRedirect/UpdateRedirect.js.map +0 -1
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.d.ts +0 -10
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js +0 -40
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js.map +0 -1
- package/features/redirects/index.d.ts +0 -6
- package/features/redirects/index.js +0 -73
- package/features/redirects/index.js.map +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { PageBeforeDeletePayload, PageAfterDeletePayload } from "./abstractions.js";
|
|
3
|
+
export declare class PageBeforeDeleteEvent extends DomainEvent<PageBeforeDeletePayload> {
|
|
4
|
+
eventType: "page.beforeDelete";
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageBeforeDeletePayload>>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class PageAfterDeleteEvent extends DomainEvent<PageAfterDeletePayload> {
|
|
8
|
+
eventType: "page.afterDelete";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageAfterDeletePayload>>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { PageBeforeDeleteEventHandler, PageAfterDeleteEventHandler } from "./abstractions.js";
|
|
3
|
+
// PageBeforeDelete Event
|
|
4
|
+
export class PageBeforeDeleteEvent extends DomainEvent {
|
|
5
|
+
eventType = "page.beforeDelete";
|
|
6
|
+
getHandlerAbstraction() {
|
|
7
|
+
return PageBeforeDeleteEventHandler;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// PageAfterDelete Event
|
|
12
|
+
export class PageAfterDeleteEvent extends DomainEvent {
|
|
13
|
+
eventType = "page.afterDelete";
|
|
14
|
+
getHandlerAbstraction() {
|
|
15
|
+
return PageAfterDeleteEventHandler;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DomainEvent","PageBeforeDeleteEventHandler","PageAfterDeleteEventHandler","PageBeforeDeleteEvent","eventType","getHandlerAbstraction","PageAfterDeleteEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PageBeforeDeleteEventHandler, PageAfterDeleteEventHandler } from \"./abstractions.js\";\nimport type { PageBeforeDeletePayload, PageAfterDeletePayload } from \"./abstractions.js\";\n\n// PageBeforeDelete Event\nexport class PageBeforeDeleteEvent extends DomainEvent<PageBeforeDeletePayload> {\n eventType = \"page.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeDeleteEventHandler;\n }\n}\n\n// PageAfterDelete Event\nexport class PageAfterDeleteEvent extends DomainEvent<PageAfterDeletePayload> {\n eventType = \"page.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return PageAfterDeleteEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,4BAA4B,EAAEC,2BAA2B;AAGlE;AACA,OAAO,MAAMC,qBAAqB,SAASH,WAAW,CAA0B;EAC5EI,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,4BAA4B;EACvC;AACJ;;AAEA;AACA,OAAO,MAAMK,oBAAoB,SAASN,WAAW,CAAyB;EAC1EI,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DeletePageRepository } from "./DeletePageRepository.js";
|
|
3
|
+
import { DeletePageUseCase } from "./DeletePageUseCase.js";
|
|
4
|
+
export const DeletePageFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/DeletePage",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(DeletePageRepository).inSingletonScope();
|
|
8
|
+
container.register(DeletePageUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","DeletePageRepository","DeletePageUseCase","DeletePageFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeletePageRepository } from \"./DeletePageRepository.js\";\nimport { DeletePageUseCase } from \"./DeletePageUseCase.js\";\n\nexport const DeletePageFeature = createFeature({\n name: \"WebsiteBuilder/DeletePage\",\n register(container) {\n container.register(DeletePageRepository).inSingletonScope();\n container.register(DeletePageUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,iBAAiB,GAAGH,aAAa,CAAC;EAC3CI,IAAI,EAAE,2BAA2B;EACjCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,oBAAoB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC3DD,SAAS,CAACD,QAAQ,CAACH,iBAAiB,CAAC;EACzC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { DeletePageWithEvents } from "./DeletePageWithEvents";
|
|
3
|
-
import type { OnPageAfterDeleteTopicParams, OnPageBeforeDeleteTopicParams, WbPagesStorageOperations } from "../../../context/pages/pages.types";
|
|
4
|
-
export interface DeletePageUseCasesTopics {
|
|
5
|
-
onPageBeforeDelete: Topic<OnPageBeforeDeleteTopicParams>;
|
|
6
|
-
onPageAfterDelete: Topic<OnPageAfterDeleteTopicParams>;
|
|
7
|
-
}
|
|
8
|
-
interface DeletePageUseCasesParams {
|
|
9
|
-
deleteOperation: WbPagesStorageOperations["delete"];
|
|
10
|
-
getOperation: WbPagesStorageOperations["getById"];
|
|
11
|
-
topics: DeletePageUseCasesTopics;
|
|
12
|
-
}
|
|
13
|
-
export declare const getDeletePageUseCase: (params: DeletePageUseCasesParams) => {
|
|
14
|
-
deletePageUseCase: DeletePageWithEvents;
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
1
|
+
export { PageAfterDeleteEventHandler, PageBeforeDeleteEventHandler, DeletePageUseCase } from "./abstractions.js";
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getDeletePageUseCase = void 0;
|
|
7
|
-
var _DeletePage = require("./DeletePage");
|
|
8
|
-
var _DeletePageWithEvents = require("./DeletePageWithEvents");
|
|
9
|
-
const getDeletePageUseCase = params => {
|
|
10
|
-
const deletePage = new _DeletePage.DeletePage(params.deleteOperation);
|
|
11
|
-
const deletePageUseCase = new _DeletePageWithEvents.DeletePageWithEvents(params.topics, params.getOperation, deletePage);
|
|
12
|
-
return {
|
|
13
|
-
deletePageUseCase
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.getDeletePageUseCase = getDeletePageUseCase;
|
|
1
|
+
export { PageAfterDeleteEventHandler, PageBeforeDeleteEventHandler, DeletePageUseCase } from "./abstractions.js";
|
|
17
2
|
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["PageAfterDeleteEventHandler","PageBeforeDeleteEventHandler","DeletePageUseCase"],"sources":["index.ts"],"sourcesContent":["export {\n PageAfterDeleteEventHandler,\n PageBeforeDeleteEventHandler,\n DeletePageUseCase\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SACIA,2BAA2B,EAC3BC,4BAA4B,EAC5BC,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry";
|
|
2
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
3
|
+
import { DuplicatePageRepository as RepositoryAbstraction, type DuplicatePageCallback } from "./abstractions.js";
|
|
4
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
5
|
+
declare class DuplicatePageRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
6
|
+
private createEntry;
|
|
7
|
+
private getEntryById;
|
|
8
|
+
private pageModel;
|
|
9
|
+
constructor(createEntry: CreateEntryUseCase.Interface, getEntryById: GetEntryByIdUseCase.Interface, pageModel: PageModel.Interface);
|
|
10
|
+
execute(params: RepositoryAbstraction.Params, callback?: DuplicatePageCallback): RepositoryAbstraction.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const DuplicatePageRepository: typeof DuplicatePageRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDuplicatePageRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import pick from "lodash/pick.js";
|
|
3
|
+
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry";
|
|
4
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
5
|
+
import { DuplicatePageRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
6
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
7
|
+
import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
|
|
8
|
+
import { PageNotFoundError, PagePersistenceError, PageValidationError } from "../../../domain/page/errors.js";
|
|
9
|
+
class DuplicatePageRepositoryImpl {
|
|
10
|
+
constructor(createEntry, getEntryById, pageModel) {
|
|
11
|
+
this.createEntry = createEntry;
|
|
12
|
+
this.getEntryById = getEntryById;
|
|
13
|
+
this.pageModel = pageModel;
|
|
14
|
+
}
|
|
15
|
+
async execute(params, callback) {
|
|
16
|
+
// First, get the page to duplicate
|
|
17
|
+
const getResult = await this.getEntryById.execute(this.pageModel, params.id);
|
|
18
|
+
if (getResult.isFail()) {
|
|
19
|
+
if (getResult.error.code === "Cms/Entry/NotFound") {
|
|
20
|
+
return Result.fail(new PageNotFoundError(params.id));
|
|
21
|
+
}
|
|
22
|
+
return Result.fail(new PagePersistenceError(getResult.error));
|
|
23
|
+
}
|
|
24
|
+
const originalPage = EntryToPageMapper.toPage(getResult.value);
|
|
25
|
+
|
|
26
|
+
// Pick only the necessary data for duplication
|
|
27
|
+
const dataToDuplicate = pick(originalPage, ["bindings", "elements", "location", "properties", "metadata", "extensions"]);
|
|
28
|
+
|
|
29
|
+
// Create new page data with "Copy of" prefix
|
|
30
|
+
const newPageData = {
|
|
31
|
+
...dataToDuplicate,
|
|
32
|
+
properties: {
|
|
33
|
+
...dataToDuplicate.properties,
|
|
34
|
+
path: `${originalPage.properties.path}-copy`,
|
|
35
|
+
title: "Copy of " + originalPage.properties.title
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Allow callers to mutate page data before creation
|
|
40
|
+
if (callback) {
|
|
41
|
+
await callback({
|
|
42
|
+
original: originalPage,
|
|
43
|
+
duplicate: newPageData
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Create the duplicated page
|
|
48
|
+
const result = await this.createEntry.execute(this.pageModel, {
|
|
49
|
+
location: newPageData.location,
|
|
50
|
+
values: newPageData
|
|
51
|
+
});
|
|
52
|
+
if (result.isFail()) {
|
|
53
|
+
if (result.error.code === "Cms/Entry/ValidationError") {
|
|
54
|
+
return Result.fail(new PageValidationError(result.error.message));
|
|
55
|
+
}
|
|
56
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
57
|
+
}
|
|
58
|
+
const page = EntryToPageMapper.toPage(result.value);
|
|
59
|
+
return Result.ok(page);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export const DuplicatePageRepository = RepositoryAbstraction.createImplementation({
|
|
63
|
+
implementation: DuplicatePageRepositoryImpl,
|
|
64
|
+
dependencies: [CreateEntryUseCase, GetEntryByIdUseCase, PageModel]
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=DuplicatePageRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","pick","CreateEntryUseCase","GetEntryByIdUseCase","DuplicatePageRepository","RepositoryAbstraction","PageModel","EntryToPageMapper","PageNotFoundError","PagePersistenceError","PageValidationError","DuplicatePageRepositoryImpl","constructor","createEntry","getEntryById","pageModel","execute","params","callback","getResult","id","isFail","error","code","fail","originalPage","toPage","value","dataToDuplicate","newPageData","properties","path","title","original","duplicate","result","location","values","message","page","ok","createImplementation","implementation","dependencies"],"sources":["DuplicatePageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport pick from \"lodash/pick.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport {\n DuplicatePageRepository as RepositoryAbstraction,\n type DuplicatePageCallback\n} from \"./abstractions.js\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageValidationError\n} from \"~/domain/page/errors.js\";\n\nclass DuplicatePageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(\n params: RepositoryAbstraction.Params,\n callback?: DuplicatePageCallback\n ): RepositoryAbstraction.Return {\n // First, get the page to duplicate\n const getResult = await this.getEntryById.execute(this.pageModel, params.id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(getResult.error));\n }\n\n const originalPage = EntryToPageMapper.toPage(getResult.value);\n\n // Pick only the necessary data for duplication\n const dataToDuplicate = pick(originalPage, [\n \"bindings\",\n \"elements\",\n \"location\",\n \"properties\",\n \"metadata\",\n \"extensions\"\n ]);\n\n // Create new page data with \"Copy of\" prefix\n const newPageData = {\n ...dataToDuplicate,\n properties: {\n ...dataToDuplicate.properties,\n path: `${originalPage.properties.path}-copy`,\n title: \"Copy of \" + originalPage.properties.title\n }\n };\n\n // Allow callers to mutate page data before creation\n if (callback) {\n await callback({ original: originalPage, duplicate: newPageData });\n }\n\n // Create the duplicated page\n const result = await this.createEntry.execute(this.pageModel, {\n location: newPageData.location,\n values: newPageData\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/ValidationError\") {\n return Result.fail(new PageValidationError(result.error.message));\n }\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n const page = EntryToPageMapper.toPage(result.value);\n return Result.ok(page);\n }\n}\n\nexport const DuplicatePageRepository = RepositoryAbstraction.createImplementation({\n implementation: DuplicatePageRepositoryImpl,\n dependencies: [CreateEntryUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,OAAOC,IAAI,MAAM,gBAAgB;AACjC,SAASC,kBAAkB,QAAQ,4DAA4D;AAC/F,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SACIC,uBAAuB,IAAIC,qBAAqB;AAGpD,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SACIC,iBAAiB,EACjBC,oBAAoB,EACpBC,mBAAmB;AAGvB,MAAMC,2BAA2B,CAA4C;EACzEC,WAAWA,CACCC,WAAyC,EACzCC,YAA2C,EAC3CC,SAA8B,EACxC;IAAA,KAHUF,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,SAA8B,GAA9BA,SAA8B;EACvC;EAEH,MAAMC,OAAOA,CACTC,MAAoC,EACpCC,QAAgC,EACJ;IAC5B;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACL,YAAY,CAACE,OAAO,CAAC,IAAI,CAACD,SAAS,EAAEE,MAAM,CAACG,EAAE,CAAC;IAE5E,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,IAAIF,SAAS,CAACG,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC/C,OAAOvB,MAAM,CAACwB,IAAI,CAAC,IAAIhB,iBAAiB,CAACS,MAAM,CAACG,EAAE,CAAC,CAAC;MACxD;MACA,OAAOpB,MAAM,CAACwB,IAAI,CAAC,IAAIf,oBAAoB,CAACU,SAAS,CAACG,KAAK,CAAC,CAAC;IACjE;IAEA,MAAMG,YAAY,GAAGlB,iBAAiB,CAACmB,MAAM,CAACP,SAAS,CAACQ,KAAK,CAAC;;IAE9D;IACA,MAAMC,eAAe,GAAG3B,IAAI,CAACwB,YAAY,EAAE,CACvC,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,CACf,CAAC;;IAEF;IACA,MAAMI,WAAW,GAAG;MAChB,GAAGD,eAAe;MAClBE,UAAU,EAAE;QACR,GAAGF,eAAe,CAACE,UAAU;QAC7BC,IAAI,EAAE,GAAGN,YAAY,CAACK,UAAU,CAACC,IAAI,OAAO;QAC5CC,KAAK,EAAE,UAAU,GAAGP,YAAY,CAACK,UAAU,CAACE;MAChD;IACJ,CAAC;;IAED;IACA,IAAId,QAAQ,EAAE;MACV,MAAMA,QAAQ,CAAC;QAAEe,QAAQ,EAAER,YAAY;QAAES,SAAS,EAAEL;MAAY,CAAC,CAAC;IACtE;;IAEA;IACA,MAAMM,MAAM,GAAG,MAAM,IAAI,CAACtB,WAAW,CAACG,OAAO,CAAC,IAAI,CAACD,SAAS,EAAE;MAC1DqB,QAAQ,EAAEP,WAAW,CAACO,QAAQ;MAC9BC,MAAM,EAAER;IACZ,CAAC,CAAC;IAEF,IAAIM,MAAM,CAACd,MAAM,CAAC,CAAC,EAAE;MACjB,IAAIc,MAAM,CAACb,KAAK,CAACC,IAAI,KAAK,2BAA2B,EAAE;QACnD,OAAOvB,MAAM,CAACwB,IAAI,CAAC,IAAId,mBAAmB,CAACyB,MAAM,CAACb,KAAK,CAACgB,OAAO,CAAC,CAAC;MACrE;MACA,OAAOtC,MAAM,CAACwB,IAAI,CAAC,IAAIf,oBAAoB,CAAC0B,MAAM,CAACb,KAAK,CAAC,CAAC;IAC9D;IAEA,MAAMiB,IAAI,GAAGhC,iBAAiB,CAACmB,MAAM,CAACS,MAAM,CAACR,KAAK,CAAC;IACnD,OAAO3B,MAAM,CAACwC,EAAE,CAACD,IAAI,CAAC;EAC1B;AACJ;AAEA,OAAO,MAAMnC,uBAAuB,GAAGC,qBAAqB,CAACoC,oBAAoB,CAAC;EAC9EC,cAAc,EAAE/B,2BAA2B;EAC3CgC,YAAY,EAAE,CAACzC,kBAAkB,EAAEC,mBAAmB,EAAEG,SAAS;AACrE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { DuplicatePageUseCase as UseCaseAbstraction, DuplicatePageRepository } from "./abstractions.js";
|
|
3
|
+
import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
|
|
4
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
5
|
+
declare class DuplicatePageUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
7
|
+
private eventPublisher;
|
|
8
|
+
private getPageById;
|
|
9
|
+
private repository;
|
|
10
|
+
constructor(permissions: WbPermissions.Interface, eventPublisher: EventPublisherAbstraction.Interface, getPageById: GetPageByIdUseCase.Interface, repository: DuplicatePageRepository.Interface);
|
|
11
|
+
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
12
|
+
}
|
|
13
|
+
export declare const DuplicatePageUseCase: import("@webiny/di").Implementation<typeof DuplicatePageUseCaseImpl>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Result, createImplementation } from "@webiny/feature/api";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import { DuplicatePageUseCase as UseCaseAbstraction, DuplicatePageRepository } from "./abstractions.js";
|
|
4
|
+
import { PageBeforeDuplicateEvent, PageAfterDuplicateEvent } from "./events.js";
|
|
5
|
+
import { GetPageByIdUseCase } from "../GetPageById/index.js";
|
|
6
|
+
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
7
|
+
import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
8
|
+
class DuplicatePageUseCaseImpl {
|
|
9
|
+
constructor(permissions, eventPublisher, getPageById, repository) {
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.getPageById = getPageById;
|
|
13
|
+
this.repository = repository;
|
|
14
|
+
}
|
|
15
|
+
async execute(params) {
|
|
16
|
+
const hasPermission = await this.permissions.canCreate("page");
|
|
17
|
+
if (!hasPermission) {
|
|
18
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Get the original page for events
|
|
22
|
+
const getResult = await this.getPageById.execute(params.id);
|
|
23
|
+
if (getResult.isFail()) {
|
|
24
|
+
return getResult;
|
|
25
|
+
}
|
|
26
|
+
const original = getResult.value;
|
|
27
|
+
|
|
28
|
+
// Publish before duplicate event
|
|
29
|
+
const beforeEvent = new PageBeforeDuplicateEvent({
|
|
30
|
+
original
|
|
31
|
+
});
|
|
32
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
33
|
+
|
|
34
|
+
// Execute the duplicate operation
|
|
35
|
+
const result = await this.repository.execute(params);
|
|
36
|
+
if (result.isFail()) {
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Publish after duplicate event
|
|
41
|
+
const afterEvent = new PageAfterDuplicateEvent({
|
|
42
|
+
original,
|
|
43
|
+
page: result.value
|
|
44
|
+
});
|
|
45
|
+
await this.eventPublisher.publish(afterEvent);
|
|
46
|
+
return Result.ok(result.value);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export const DuplicatePageUseCase = createImplementation({
|
|
50
|
+
abstraction: UseCaseAbstraction,
|
|
51
|
+
implementation: DuplicatePageUseCaseImpl,
|
|
52
|
+
dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, DuplicatePageRepository]
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=DuplicatePageUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","createImplementation","EventPublisher","DuplicatePageUseCase","UseCaseAbstraction","DuplicatePageRepository","PageBeforeDuplicateEvent","PageAfterDuplicateEvent","GetPageByIdUseCase","WbPermissions","PageNotAuthorizedError","DuplicatePageUseCaseImpl","constructor","permissions","eventPublisher","getPageById","repository","execute","params","hasPermission","canCreate","fail","getResult","id","isFail","original","value","beforeEvent","publish","result","afterEvent","page","ok","abstraction","implementation","dependencies"],"sources":["DuplicatePageUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n DuplicatePageUseCase as UseCaseAbstraction,\n DuplicatePageRepository\n} from \"./abstractions.js\";\nimport { PageBeforeDuplicateEvent, PageAfterDuplicateEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass DuplicatePageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: DuplicatePageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canCreate(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Get the original page for events\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = getResult.value;\n\n // Publish before duplicate event\n const beforeEvent = new PageBeforeDuplicateEvent({\n original\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the duplicate operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after duplicate event\n const afterEvent = new PageAfterDuplicateEvent({\n original,\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const DuplicatePageUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DuplicatePageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, DuplicatePageRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SACIC,cAAc,QAEX,mDAAmD;AAC1D,SACIC,oBAAoB,IAAIC,kBAAkB,EAC1CC,uBAAuB;AAE3B,SAASC,wBAAwB,EAAEC,uBAAuB;AAC1D,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAE/B,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA6C,EACvD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA6C,GAA7CA,UAA6C;EACtD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,WAAW,CAACO,SAAS,CAAC,MAAM,CAAC;IAC9D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMY,SAAS,GAAG,MAAM,IAAI,CAACP,WAAW,CAACE,OAAO,CAACC,MAAM,CAACK,EAAE,CAAC;IAE3D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOF,SAAS;IACpB;IAEA,MAAMG,QAAQ,GAAGH,SAAS,CAACI,KAAK;;IAEhC;IACA,MAAMC,WAAW,GAAG,IAAIrB,wBAAwB,CAAC;MAC7CmB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACX,cAAc,CAACc,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACb,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIW,MAAM,CAACL,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOK,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIvB,uBAAuB,CAAC;MAC3CkB,QAAQ;MACRM,IAAI,EAAEF,MAAM,CAACH;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACZ,cAAc,CAACc,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO9B,MAAM,CAACgC,EAAE,CAACH,MAAM,CAACH,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMvB,oBAAoB,GAAGF,oBAAoB,CAAC;EACrDgC,WAAW,EAAE7B,kBAAkB;EAC/B8B,cAAc,EAAEvB,wBAAwB;EACxCwB,YAAY,EAAE,CAAC1B,aAAa,EAAEP,cAAc,EAAEM,kBAAkB,EAAEH,uBAAuB;AAC7F,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import type { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
|
+
import type { WbPage } from "../../../domain/page/abstractions.js";
|
|
5
|
+
import { PageValidationError, PageNotFoundError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
6
|
+
export interface IDuplicateWbPageParams {
|
|
7
|
+
id: string;
|
|
8
|
+
}
|
|
9
|
+
export type DuplicatePageData = Pick<WbPage, "bindings" | "elements" | "location" | "properties" | "metadata" | "extensions">;
|
|
10
|
+
export interface DuplicatePageCallbackParams {
|
|
11
|
+
original: WbPage;
|
|
12
|
+
duplicate: DuplicatePageData;
|
|
13
|
+
}
|
|
14
|
+
export type DuplicatePageCallback = (params: DuplicatePageCallbackParams) => Promise<void> | void;
|
|
15
|
+
export interface IDuplicatePageRepository {
|
|
16
|
+
execute(params: IDuplicateWbPageParams, callback?: DuplicatePageCallback): Promise<Result<WbPage, RepositoryError>>;
|
|
17
|
+
}
|
|
18
|
+
export interface IDuplicatePageRepositoryErrors {
|
|
19
|
+
validation: PageValidationError;
|
|
20
|
+
notFound: PageNotFoundError;
|
|
21
|
+
persistence: PagePersistenceError;
|
|
22
|
+
}
|
|
23
|
+
type RepositoryError = IDuplicatePageRepositoryErrors[keyof IDuplicatePageRepositoryErrors];
|
|
24
|
+
export declare const DuplicatePageRepository: import("@webiny/di").Abstraction<IDuplicatePageRepository>;
|
|
25
|
+
export declare namespace DuplicatePageRepository {
|
|
26
|
+
type Interface = IDuplicatePageRepository;
|
|
27
|
+
type Params = IDuplicateWbPageParams;
|
|
28
|
+
type Return = Promise<Result<WbPage, RepositoryError>>;
|
|
29
|
+
type Error = RepositoryError;
|
|
30
|
+
}
|
|
31
|
+
export interface IDuplicatePageUseCase {
|
|
32
|
+
execute(params: IDuplicateWbPageParams): Promise<Result<WbPage, UseCaseError>>;
|
|
33
|
+
}
|
|
34
|
+
export interface IDuplicatePageUseCaseErrors {
|
|
35
|
+
notAuthorized: PageNotAuthorizedError;
|
|
36
|
+
validation: PageValidationError;
|
|
37
|
+
notFound: PageNotFoundError;
|
|
38
|
+
persistence: PagePersistenceError;
|
|
39
|
+
}
|
|
40
|
+
type UseCaseError = IDuplicatePageUseCaseErrors[keyof IDuplicatePageUseCaseErrors];
|
|
41
|
+
/** Duplicate a page. */
|
|
42
|
+
export declare const DuplicatePageUseCase: import("@webiny/di").Abstraction<IDuplicatePageUseCase>;
|
|
43
|
+
export declare namespace DuplicatePageUseCase {
|
|
44
|
+
type Interface = IDuplicatePageUseCase;
|
|
45
|
+
type Params = IDuplicateWbPageParams;
|
|
46
|
+
type Return = Promise<Result<WbPage, UseCaseError>>;
|
|
47
|
+
type Error = UseCaseError;
|
|
48
|
+
type Page = WbPage;
|
|
49
|
+
}
|
|
50
|
+
export interface PageBeforeDuplicatePayload {
|
|
51
|
+
original: WbPage;
|
|
52
|
+
}
|
|
53
|
+
export interface PageAfterDuplicatePayload {
|
|
54
|
+
original: WbPage;
|
|
55
|
+
page: WbPage;
|
|
56
|
+
}
|
|
57
|
+
/** Hook into page lifecycle before a page is duplicated. */
|
|
58
|
+
export declare const PageBeforeDuplicateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeDuplicatePayload>>>;
|
|
59
|
+
export declare namespace PageBeforeDuplicateEventHandler {
|
|
60
|
+
type Interface = IEventHandler<DomainEvent<PageBeforeDuplicatePayload>>;
|
|
61
|
+
type Event = DomainEvent<PageBeforeDuplicatePayload>;
|
|
62
|
+
type Page = WbPage;
|
|
63
|
+
}
|
|
64
|
+
/** Hook into page lifecycle after a page is duplicated. */
|
|
65
|
+
export declare const PageAfterDuplicateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterDuplicatePayload>>>;
|
|
66
|
+
export declare namespace PageAfterDuplicateEventHandler {
|
|
67
|
+
type Interface = IEventHandler<DomainEvent<PageAfterDuplicatePayload>>;
|
|
68
|
+
type Event = DomainEvent<PageAfterDuplicatePayload>;
|
|
69
|
+
type Page = WbPage;
|
|
70
|
+
}
|
|
71
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Type Definitions
|
|
5
|
+
// ============================================================================
|
|
6
|
+
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Repository Abstraction
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
export const DuplicatePageRepository = createAbstraction("Wb/DuplicatePageRepository");
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Use Case Abstraction
|
|
15
|
+
// ============================================================================
|
|
16
|
+
|
|
17
|
+
/** Duplicate a page. */
|
|
18
|
+
export const DuplicatePageUseCase = createAbstraction("Wb/DuplicatePageUseCase");
|
|
19
|
+
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Event Payload Types
|
|
22
|
+
// ============================================================================
|
|
23
|
+
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Event Handler Abstractions
|
|
26
|
+
// ============================================================================
|
|
27
|
+
|
|
28
|
+
/** Hook into page lifecycle before a page is duplicated. */
|
|
29
|
+
export const PageBeforeDuplicateEventHandler = createAbstraction("Wb/PageBeforeDuplicateEventHandler");
|
|
30
|
+
/** Hook into page lifecycle after a page is duplicated. */
|
|
31
|
+
export const PageAfterDuplicateEventHandler = createAbstraction("Wb/PageAfterDuplicateEventHandler");
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","DuplicatePageRepository","DuplicatePageUseCase","PageBeforeDuplicateEventHandler","PageAfterDuplicateEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageValidationError,\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IDuplicateWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport type DuplicatePageData = Pick<\n WbPage,\n \"bindings\" | \"elements\" | \"location\" | \"properties\" | \"metadata\" | \"extensions\"\n>;\n\nexport interface DuplicatePageCallbackParams {\n original: WbPage;\n duplicate: DuplicatePageData;\n}\n\nexport type DuplicatePageCallback = (params: DuplicatePageCallbackParams) => Promise<void> | void;\n\nexport interface IDuplicatePageRepository {\n execute(\n params: IDuplicateWbPageParams,\n callback?: DuplicatePageCallback\n ): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IDuplicatePageRepositoryErrors {\n validation: PageValidationError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IDuplicatePageRepositoryErrors[keyof IDuplicatePageRepositoryErrors];\n\nexport const DuplicatePageRepository = createAbstraction<IDuplicatePageRepository>(\n \"Wb/DuplicatePageRepository\"\n);\n\nexport namespace DuplicatePageRepository {\n export type Interface = IDuplicatePageRepository;\n export type Params = IDuplicateWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IDuplicatePageUseCase {\n execute(params: IDuplicateWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IDuplicatePageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n validation: PageValidationError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IDuplicatePageUseCaseErrors[keyof IDuplicatePageUseCaseErrors];\n\n/** Duplicate a page. */\nexport const DuplicatePageUseCase =\n createAbstraction<IDuplicatePageUseCase>(\"Wb/DuplicatePageUseCase\");\n\nexport namespace DuplicatePageUseCase {\n export type Interface = IDuplicatePageUseCase;\n export type Params = IDuplicateWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforeDuplicatePayload {\n original: WbPage;\n}\n\nexport interface PageAfterDuplicatePayload {\n original: WbPage;\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into page lifecycle before a page is duplicated. */\nexport const PageBeforeDuplicateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeDuplicatePayload>>\n>(\"Wb/PageBeforeDuplicateEventHandler\");\n\nexport namespace PageBeforeDuplicateEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeDuplicatePayload>>;\n export type Event = DomainEvent<PageBeforeDuplicatePayload>;\n export type Page = WbPage;\n}\n\n/** Hook into page lifecycle after a page is duplicated. */\nexport const PageAfterDuplicateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterDuplicatePayload>>\n>(\"Wb/PageAfterDuplicateEventHandler\");\n\nexport namespace PageAfterDuplicateEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterDuplicatePayload>>;\n export type Event = DomainEvent<PageAfterDuplicatePayload>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAWpE;AACA;AACA;;AAMA;AACA;AACA;;AA6BA,OAAO,MAAMC,uBAAuB,GAAGD,iBAAiB,CACpD,4BACJ,CAAC;;AASD;AACA;AACA;;AAeA;AACA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,yBAAyB,CAAC;;AAUvE;AACA;AACA;;AAWA;AACA;AACA;;AAEA;AACA,OAAO,MAAMG,+BAA+B,GAAGH,iBAAiB,CAE9D,oCAAoC,CAAC;AAQvC;AACA,OAAO,MAAMI,8BAA8B,GAAGJ,iBAAiB,CAE7D,mCAAmC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { PageBeforeDuplicatePayload, PageAfterDuplicatePayload } from "./abstractions.js";
|
|
3
|
+
export declare class PageBeforeDuplicateEvent extends DomainEvent<PageBeforeDuplicatePayload> {
|
|
4
|
+
eventType: "page.beforeDuplicate";
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageBeforeDuplicatePayload>>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class PageAfterDuplicateEvent extends DomainEvent<PageAfterDuplicatePayload> {
|
|
8
|
+
eventType: "page.afterDuplicate";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageAfterDuplicatePayload>>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { PageBeforeDuplicateEventHandler, PageAfterDuplicateEventHandler } from "./abstractions.js";
|
|
3
|
+
// PageBeforeDuplicate Event
|
|
4
|
+
export class PageBeforeDuplicateEvent extends DomainEvent {
|
|
5
|
+
eventType = "page.beforeDuplicate";
|
|
6
|
+
getHandlerAbstraction() {
|
|
7
|
+
return PageBeforeDuplicateEventHandler;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// PageAfterDuplicate Event
|
|
12
|
+
export class PageAfterDuplicateEvent extends DomainEvent {
|
|
13
|
+
eventType = "page.afterDuplicate";
|
|
14
|
+
getHandlerAbstraction() {
|
|
15
|
+
return PageAfterDuplicateEventHandler;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DomainEvent","PageBeforeDuplicateEventHandler","PageAfterDuplicateEventHandler","PageBeforeDuplicateEvent","eventType","getHandlerAbstraction","PageAfterDuplicateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PageBeforeDuplicateEventHandler, PageAfterDuplicateEventHandler } from \"./abstractions.js\";\nimport type { PageBeforeDuplicatePayload, PageAfterDuplicatePayload } from \"./abstractions.js\";\n\n// PageBeforeDuplicate Event\nexport class PageBeforeDuplicateEvent extends DomainEvent<PageBeforeDuplicatePayload> {\n eventType = \"page.beforeDuplicate\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeDuplicateEventHandler;\n }\n}\n\n// PageAfterDuplicate Event\nexport class PageAfterDuplicateEvent extends DomainEvent<PageAfterDuplicatePayload> {\n eventType = \"page.afterDuplicate\" as const;\n\n getHandlerAbstraction() {\n return PageAfterDuplicateEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,+BAA+B,EAAEC,8BAA8B;AAGxE;AACA,OAAO,MAAMC,wBAAwB,SAASH,WAAW,CAA6B;EAClFI,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,+BAA+B;EAC1C;AACJ;;AAEA;AACA,OAAO,MAAMK,uBAAuB,SAASN,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,8BAA8B;EACzC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DuplicatePageRepository } from "./DuplicatePageRepository.js";
|
|
3
|
+
import { DuplicatePageUseCase } from "./DuplicatePageUseCase.js";
|
|
4
|
+
export const DuplicatePageFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/DuplicatePage",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(DuplicatePageRepository).inSingletonScope();
|
|
8
|
+
container.register(DuplicatePageUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","DuplicatePageRepository","DuplicatePageUseCase","DuplicatePageFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DuplicatePageRepository } from \"./DuplicatePageRepository.js\";\nimport { DuplicatePageUseCase } from \"./DuplicatePageUseCase.js\";\n\nexport const DuplicatePageFeature = createFeature({\n name: \"WebsiteBuilder/DuplicatePage\",\n register(container) {\n container.register(DuplicatePageRepository).inSingletonScope();\n container.register(DuplicatePageUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,uBAAuB;AAChC,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,oBAAoB,GAAGH,aAAa,CAAC;EAC9CI,IAAI,EAAE,8BAA8B;EACpCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,uBAAuB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC9DD,SAAS,CAACD,QAAQ,CAACH,oBAAoB,CAAC;EAC5C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import type { OnPageAfterDuplicateTopicParams, OnPageBeforeDuplicateTopicParams, WbPagesStorageOperations } from "../../../context/pages/pages.types";
|
|
4
|
-
export interface DuplicatePageUseCasesTopics {
|
|
5
|
-
onPageBeforeDuplicate: Topic<OnPageBeforeDuplicateTopicParams>;
|
|
6
|
-
onPageAfterDuplicate: Topic<OnPageAfterDuplicateTopicParams>;
|
|
7
|
-
}
|
|
8
|
-
interface DuplicatePageUseCasesParams {
|
|
9
|
-
createOperation: WbPagesStorageOperations["create"];
|
|
10
|
-
getOperation: WbPagesStorageOperations["getById"];
|
|
11
|
-
topics: DuplicatePageUseCasesTopics;
|
|
12
|
-
}
|
|
13
|
-
export declare const getDuplicatePageUseCase: (params: DuplicatePageUseCasesParams) => {
|
|
14
|
-
duplicatePageUseCase: DuplicatePageWithEvents;
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
1
|
+
export { PageAfterDuplicateEventHandler, PageBeforeDuplicateEventHandler, DuplicatePageUseCase, DuplicatePageRepository } from "./abstractions.js";
|
|
2
|
+
export type { DuplicatePageCallback, DuplicatePageCallbackParams, DuplicatePageData } from "./abstractions.js";
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getDuplicatePageUseCase = void 0;
|
|
7
|
-
var _DuplicatePage = require("./DuplicatePage");
|
|
8
|
-
var _DuplicatePageWithEvents = require("./DuplicatePageWithEvents");
|
|
9
|
-
const getDuplicatePageUseCase = params => {
|
|
10
|
-
const duplicatePage = new _DuplicatePage.DuplicatePage(params.getOperation, params.createOperation);
|
|
11
|
-
const duplicatePageUseCase = new _DuplicatePageWithEvents.DuplicatePageWithEvents(params.topics, params.getOperation, duplicatePage);
|
|
12
|
-
return {
|
|
13
|
-
duplicatePageUseCase
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.getDuplicatePageUseCase = getDuplicatePageUseCase;
|
|
1
|
+
export { PageAfterDuplicateEventHandler, PageBeforeDuplicateEventHandler, DuplicatePageUseCase, DuplicatePageRepository } from "./abstractions.js";
|
|
17
2
|
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["PageAfterDuplicateEventHandler","PageBeforeDuplicateEventHandler","DuplicatePageUseCase","DuplicatePageRepository"],"sources":["index.ts"],"sourcesContent":["export {\n PageAfterDuplicateEventHandler,\n PageBeforeDuplicateEventHandler,\n DuplicatePageUseCase,\n DuplicatePageRepository\n} from \"./abstractions.js\";\nexport type {\n DuplicatePageCallback,\n DuplicatePageCallbackParams,\n DuplicatePageData\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SACIA,8BAA8B,EAC9BC,+BAA+B,EAC/BC,oBAAoB,EACpBC,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GetDeletedPageByIdRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
2
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
3
|
+
import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
4
|
+
declare class GetDeletedPageByIdRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
5
|
+
private pageModel;
|
|
6
|
+
private getLatestRevision;
|
|
7
|
+
constructor(pageModel: PageModel.Interface, getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface);
|
|
8
|
+
execute(id: string): RepositoryAbstraction.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const GetDeletedPageByIdRepository: typeof GetDeletedPageByIdRepositoryImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetDeletedPageByIdRepository>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetDeletedPageByIdRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
4
|
+
import { PageNotFoundTrashedError, PagePersistenceError } from "../../../domain/page/errors.js";
|
|
5
|
+
import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
|
|
6
|
+
import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
7
|
+
class GetDeletedPageByIdRepositoryImpl {
|
|
8
|
+
constructor(pageModel, getLatestRevision) {
|
|
9
|
+
this.pageModel = pageModel;
|
|
10
|
+
this.getLatestRevision = getLatestRevision;
|
|
11
|
+
}
|
|
12
|
+
async execute(id) {
|
|
13
|
+
const result = await this.getLatestRevision.execute(this.pageModel, {
|
|
14
|
+
id
|
|
15
|
+
});
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
18
|
+
}
|
|
19
|
+
const entry = result.value;
|
|
20
|
+
if (!entry?.wbyDeleted) {
|
|
21
|
+
return Result.fail(new PageNotFoundTrashedError(id));
|
|
22
|
+
}
|
|
23
|
+
const page = EntryToPageMapper.toPage(entry);
|
|
24
|
+
return Result.ok(page);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export const GetDeletedPageByIdRepository = RepositoryAbstraction.createImplementation({
|
|
28
|
+
implementation: GetDeletedPageByIdRepositoryImpl,
|
|
29
|
+
dependencies: [PageModel, GetLatestRevisionByEntryIdIncludingDeletedUseCase]
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=GetDeletedPageByIdRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","GetDeletedPageByIdRepository","RepositoryAbstraction","PageModel","PageNotFoundTrashedError","PagePersistenceError","EntryToPageMapper","GetLatestRevisionByEntryIdIncludingDeletedUseCase","GetDeletedPageByIdRepositoryImpl","constructor","pageModel","getLatestRevision","execute","id","result","isFail","fail","error","entry","value","wbyDeleted","page","toPage","ok","createImplementation","implementation","dependencies"],"sources":["GetDeletedPageByIdRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetDeletedPageByIdRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { PageNotFoundTrashedError, PagePersistenceError } from \"~/domain/page/errors.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\n\nclass GetDeletedPageByIdRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private pageModel: PageModel.Interface,\n private getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface\n ) {}\n\n public async execute(id: string): RepositoryAbstraction.Return {\n const result = await this.getLatestRevision.execute(this.pageModel, {\n id\n });\n\n if (result.isFail()) {\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n const entry = result.value;\n if (!entry?.wbyDeleted) {\n return Result.fail(new PageNotFoundTrashedError(id));\n }\n\n const page = EntryToPageMapper.toPage(entry);\n return Result.ok(page);\n }\n}\n\nexport const GetDeletedPageByIdRepository = RepositoryAbstraction.createImplementation({\n implementation: GetDeletedPageByIdRepositoryImpl,\n dependencies: [PageModel, GetLatestRevisionByEntryIdIncludingDeletedUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,4BAA4B,IAAIC,qBAAqB;AAC9D,SAASC,SAAS;AAClB,SAASC,wBAAwB,EAAEC,oBAAoB;AACvD,SAASC,iBAAiB;AAC1B,SAASC,iDAAiD,QAAQ,oFAAoF;AAEtJ,MAAMC,gCAAgC,CAA4C;EAC9EC,WAAWA,CACCC,SAA8B,EAC9BC,iBAA8E,EACxF;IAAA,KAFUD,SAA8B,GAA9BA,SAA8B;IAAA,KAC9BC,iBAA8E,GAA9EA,iBAA8E;EACvF;EAEH,MAAaC,OAAOA,CAACC,EAAU,EAAgC;IAC3D,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,iBAAiB,CAACC,OAAO,CAAC,IAAI,CAACF,SAAS,EAAE;MAChEG;IACJ,CAAC,CAAC;IAEF,IAAIC,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOf,MAAM,CAACgB,IAAI,CAAC,IAAIX,oBAAoB,CAACS,MAAM,CAACG,KAAK,CAAC,CAAC;IAC9D;IAEA,MAAMC,KAAK,GAAGJ,MAAM,CAACK,KAAK;IAC1B,IAAI,CAACD,KAAK,EAAEE,UAAU,EAAE;MACpB,OAAOpB,MAAM,CAACgB,IAAI,CAAC,IAAIZ,wBAAwB,CAACS,EAAE,CAAC,CAAC;IACxD;IAEA,MAAMQ,IAAI,GAAGf,iBAAiB,CAACgB,MAAM,CAACJ,KAAK,CAAC;IAC5C,OAAOlB,MAAM,CAACuB,EAAE,CAACF,IAAI,CAAC;EAC1B;AACJ;AAEA,OAAO,MAAMpB,4BAA4B,GAAGC,qBAAqB,CAACsB,oBAAoB,CAAC;EACnFC,cAAc,EAAEjB,gCAAgC;EAChDkB,YAAY,EAAE,CAACvB,SAAS,EAAEI,iDAAiD;AAC/E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GetDeletedPageByIdUseCase as UseCaseAbstraction, GetDeletedPageByIdRepository } from "./abstractions.js";
|
|
2
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
3
|
+
declare class GetDeletedPageByIdUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
4
|
+
private permissions;
|
|
5
|
+
private repository;
|
|
6
|
+
constructor(permissions: WbPermissions.Interface, repository: GetDeletedPageByIdRepository.Interface);
|
|
7
|
+
execute(id: string): UseCaseAbstraction.Return;
|
|
8
|
+
}
|
|
9
|
+
export declare const GetDeletedPageByIdUseCase: typeof GetDeletedPageByIdUseCaseImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetDeletedPageByIdUseCase>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|