@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,52 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import { RestorePageRepository, RestorePageUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
4
|
+
import { PageAfterRestoreEvent, PageBeforeRestoreEvent } from "./events.js";
|
|
5
|
+
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
6
|
+
import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
7
|
+
import { GetDeletedPageByIdUseCase } from "../GetDeletedPageById/index.js";
|
|
8
|
+
class RestorePageUseCaseImpl {
|
|
9
|
+
constructor(permissions, eventPublisher, getDeletedPageById, repository) {
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.getDeletedPageById = getDeletedPageById;
|
|
13
|
+
this.repository = repository;
|
|
14
|
+
}
|
|
15
|
+
async execute(params) {
|
|
16
|
+
// Get the page first to include in events and for item-level permission check
|
|
17
|
+
const getResult = await this.getDeletedPageById.execute(params.id);
|
|
18
|
+
if (getResult.isFail()) {
|
|
19
|
+
return Result.fail(getResult.error);
|
|
20
|
+
}
|
|
21
|
+
const page = getResult.value;
|
|
22
|
+
const canDelete = await this.permissions.canDelete("page", page);
|
|
23
|
+
if (!canDelete) {
|
|
24
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Publish before delete event
|
|
28
|
+
const beforeEvent = new PageBeforeRestoreEvent({
|
|
29
|
+
page
|
|
30
|
+
});
|
|
31
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
32
|
+
|
|
33
|
+
// Execute the delete operation
|
|
34
|
+
const result = await this.repository.execute(params);
|
|
35
|
+
if (result.isFail()) {
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Publish after delete event
|
|
40
|
+
const afterEvent = new PageAfterRestoreEvent({
|
|
41
|
+
page
|
|
42
|
+
});
|
|
43
|
+
await this.eventPublisher.publish(afterEvent);
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const RestorePageUseCase = UseCaseAbstraction.createImplementation({
|
|
48
|
+
implementation: RestorePageUseCaseImpl,
|
|
49
|
+
dependencies: [WbPermissions, EventPublisher, GetDeletedPageByIdUseCase, RestorePageRepository]
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=RestorePageUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","EventPublisher","RestorePageRepository","RestorePageUseCase","UseCaseAbstraction","PageAfterRestoreEvent","PageBeforeRestoreEvent","WbPermissions","PageNotAuthorizedError","GetDeletedPageByIdUseCase","RestorePageUseCaseImpl","constructor","permissions","eventPublisher","getDeletedPageById","repository","execute","params","getResult","id","isFail","fail","error","page","value","canDelete","beforeEvent","publish","result","afterEvent","createImplementation","implementation","dependencies"],"sources":["RestorePageUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { RestorePageRepository, RestorePageUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { PageAfterRestoreEvent, PageBeforeRestoreEvent } from \"./events.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\nimport { GetDeletedPageByIdUseCase } from \"~/features/pages/GetDeletedPageById/index.js\";\n\nclass RestorePageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getDeletedPageById: GetDeletedPageByIdUseCase.Interface,\n private repository: RestorePageRepository.Interface\n ) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the page first to include in events and for item-level permission check\n const getResult = await this.getDeletedPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const page = getResult.value;\n\n const canDelete = await this.permissions.canDelete(\"page\", page);\n if (!canDelete) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before delete event\n const beforeEvent = new PageBeforeRestoreEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the delete operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterEvent = new PageAfterRestoreEvent({\n page\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return result;\n }\n}\n\nexport const RestorePageUseCase = UseCaseAbstraction.createImplementation({\n implementation: RestorePageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetDeletedPageByIdUseCase, RestorePageRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,cAAc,QAEX,mDAAmD;AAC1D,SAASC,qBAAqB,EAAEC,kBAAkB,IAAIC,kBAAkB;AACxE,SAASC,qBAAqB,EAAEC,sBAAsB;AACtD,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAElC,MAAMC,sBAAsB,CAAyC;EACjEC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,kBAAuD,EACvDC,UAA2C,EACrD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,kBAAuD,GAAvDA,kBAAuD;IAAA,KACvDC,UAA2C,GAA3CA,UAA2C;EACpD;EAEH,MAAaC,OAAOA,CAACC,MAAiC,EAA6B;IAC/E;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,kBAAkB,CAACE,OAAO,CAACC,MAAM,CAACE,EAAE,CAAC;IAElE,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOpB,MAAM,CAACqB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,IAAI,GAAGL,SAAS,CAACM,KAAK;IAE5B,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACb,WAAW,CAACa,SAAS,CAAC,MAAM,EAAEF,IAAI,CAAC;IAChE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAOzB,MAAM,CAACqB,IAAI,CAAC,IAAIb,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMkB,WAAW,GAAG,IAAIpB,sBAAsB,CAAC;MAC3CiB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACV,cAAc,CAACc,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACb,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIW,MAAM,CAACR,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOQ,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIxB,qBAAqB,CAAC;MACzCkB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACV,cAAc,CAACc,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAOD,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMzB,kBAAkB,GAAGC,kBAAkB,CAAC0B,oBAAoB,CAAC;EACtEC,cAAc,EAAErB,sBAAsB;EACtCsB,YAAY,EAAE,CAACzB,aAAa,EAAEN,cAAc,EAAEQ,yBAAyB,EAAEP,qBAAqB;AAClG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
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 type { PageNotFoundError, PageNotFoundTrashedError, PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
6
|
+
export interface IRestoreWbPageParams {
|
|
7
|
+
id: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IRestorePageRepository {
|
|
10
|
+
execute(params: IRestoreWbPageParams): Promise<Result<WbPage, RepositoryError>>;
|
|
11
|
+
}
|
|
12
|
+
export interface IRestorePageRepositoryErrors {
|
|
13
|
+
notFound: PageNotFoundError;
|
|
14
|
+
persistence: PagePersistenceError;
|
|
15
|
+
}
|
|
16
|
+
type RepositoryError = IRestorePageRepositoryErrors[keyof IRestorePageRepositoryErrors];
|
|
17
|
+
export declare const RestorePageRepository: import("@webiny/di").Abstraction<IRestorePageRepository>;
|
|
18
|
+
export declare namespace RestorePageRepository {
|
|
19
|
+
type Interface = IRestorePageRepository;
|
|
20
|
+
type Params = IRestoreWbPageParams;
|
|
21
|
+
type Return = Promise<Result<WbPage, RepositoryError>>;
|
|
22
|
+
type Error = RepositoryError;
|
|
23
|
+
}
|
|
24
|
+
export interface IRestorePageUseCase {
|
|
25
|
+
execute(params: IRestoreWbPageParams): Promise<Result<WbPage, UseCaseError>>;
|
|
26
|
+
}
|
|
27
|
+
export interface IRestorePageUseCaseErrors {
|
|
28
|
+
notAuthorized: PageNotAuthorizedError;
|
|
29
|
+
notFound: PageNotFoundError;
|
|
30
|
+
trashedNotFound: PageNotFoundTrashedError;
|
|
31
|
+
persistence: PagePersistenceError;
|
|
32
|
+
}
|
|
33
|
+
type UseCaseError = IRestorePageUseCaseErrors[keyof IRestorePageUseCaseErrors];
|
|
34
|
+
export declare const RestorePageUseCase: import("@webiny/di").Abstraction<IRestorePageUseCase>;
|
|
35
|
+
export declare namespace RestorePageUseCase {
|
|
36
|
+
type Interface = IRestorePageUseCase;
|
|
37
|
+
type Params = IRestoreWbPageParams;
|
|
38
|
+
type Return = Promise<Result<WbPage, UseCaseError>>;
|
|
39
|
+
type Error = UseCaseError;
|
|
40
|
+
}
|
|
41
|
+
export interface PageBeforeRestorePayload {
|
|
42
|
+
page: WbPage;
|
|
43
|
+
}
|
|
44
|
+
export interface PageAfterRestorePayload {
|
|
45
|
+
page: WbPage;
|
|
46
|
+
}
|
|
47
|
+
export declare const PageBeforeRestoreEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageBeforeRestorePayload>>>;
|
|
48
|
+
export declare namespace PageBeforeRestoreEventHandler {
|
|
49
|
+
type Interface = IEventHandler<DomainEvent<PageBeforeRestorePayload>>;
|
|
50
|
+
type Event = DomainEvent<PageBeforeRestorePayload>;
|
|
51
|
+
type Page = WbPage;
|
|
52
|
+
}
|
|
53
|
+
export declare const PageAfterRestoreEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<PageAfterRestorePayload>>>;
|
|
54
|
+
export declare namespace PageAfterRestoreEventHandler {
|
|
55
|
+
type Interface = IEventHandler<DomainEvent<PageAfterRestorePayload>>;
|
|
56
|
+
type Event = DomainEvent<PageAfterRestorePayload>;
|
|
57
|
+
type Page = WbPage;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Type Definitions
|
|
5
|
+
// ============================================================================
|
|
6
|
+
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Repository Abstraction
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
export const RestorePageRepository = createAbstraction("Wb/RestorePageRepository");
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Use Case Abstraction
|
|
15
|
+
// ============================================================================
|
|
16
|
+
|
|
17
|
+
export const RestorePageUseCase = createAbstraction("Wb/RestorePageUseCase");
|
|
18
|
+
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Event Payload Types
|
|
21
|
+
// ============================================================================
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Event Handler Abstractions
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
export const PageBeforeRestoreEventHandler = createAbstraction("Wb/PageBeforeRestoreEventHandler");
|
|
28
|
+
export const PageAfterRestoreEventHandler = createAbstraction("Wb/PageAfterRestoreEventHandler");
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","RestorePageRepository","RestorePageUseCase","PageBeforeRestoreEventHandler","PageAfterRestoreEventHandler"],"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 type {\n PageNotFoundError,\n PageNotFoundTrashedError,\n PagePersistenceError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IRestoreWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IRestorePageRepository {\n execute(params: IRestoreWbPageParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface IRestorePageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IRestorePageRepositoryErrors[keyof IRestorePageRepositoryErrors];\n\nexport const RestorePageRepository = createAbstraction<IRestorePageRepository>(\n \"Wb/RestorePageRepository\"\n);\n\nexport namespace RestorePageRepository {\n export type Interface = IRestorePageRepository;\n export type Params = IRestoreWbPageParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IRestorePageUseCase {\n execute(params: IRestoreWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface IRestorePageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n trashedNotFound: PageNotFoundTrashedError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IRestorePageUseCaseErrors[keyof IRestorePageUseCaseErrors];\n\nexport const RestorePageUseCase = createAbstraction<IRestorePageUseCase>(\"Wb/RestorePageUseCase\");\n\nexport namespace RestorePageUseCase {\n export type Interface = IRestorePageUseCase;\n export type Params = IRestoreWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforeRestorePayload {\n page: WbPage;\n}\n\nexport interface PageAfterRestorePayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const PageBeforeRestoreEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeRestorePayload>>\n>(\"Wb/PageBeforeRestoreEventHandler\");\n\nexport namespace PageBeforeRestoreEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeRestorePayload>>;\n export type Event = DomainEvent<PageBeforeRestorePayload>;\n export type Page = WbPage;\n}\n\nexport const PageAfterRestoreEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterRestorePayload>>\n>(\"Wb/PageAfterRestoreEventHandler\");\n\nexport namespace PageAfterRestoreEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterRestorePayload>>;\n export type Event = DomainEvent<PageAfterRestorePayload>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAWpE;AACA;AACA;;AAMA;AACA;AACA;;AAaA,OAAO,MAAMC,qBAAqB,GAAGD,iBAAiB,CAClD,0BACJ,CAAC;;AASD;AACA;AACA;;AAeA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,uBAAuB,CAAC;;AASjG;AACA;AACA;;AAUA;AACA;AACA;;AAEA,OAAO,MAAMG,6BAA6B,GAAGH,iBAAiB,CAE5D,kCAAkC,CAAC;AAQrC,OAAO,MAAMI,4BAA4B,GAAGJ,iBAAiB,CAE3D,iCAAiC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { PageBeforeRestorePayload, PageAfterRestorePayload } from "./abstractions.js";
|
|
3
|
+
export declare class PageBeforeRestoreEvent extends DomainEvent<PageBeforeRestorePayload> {
|
|
4
|
+
eventType: "page.beforeRestore";
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageBeforeRestorePayload>>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class PageAfterRestoreEvent extends DomainEvent<PageAfterRestorePayload> {
|
|
8
|
+
eventType: "page.afterRestore";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<PageAfterRestorePayload>>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { PageBeforeRestoreEventHandler, PageAfterRestoreEventHandler } from "./abstractions.js";
|
|
3
|
+
// PageBeforeRestore Event
|
|
4
|
+
export class PageBeforeRestoreEvent extends DomainEvent {
|
|
5
|
+
eventType = "page.beforeRestore";
|
|
6
|
+
getHandlerAbstraction() {
|
|
7
|
+
return PageBeforeRestoreEventHandler;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// PageAfterRestore Event
|
|
12
|
+
export class PageAfterRestoreEvent extends DomainEvent {
|
|
13
|
+
eventType = "page.afterRestore";
|
|
14
|
+
getHandlerAbstraction() {
|
|
15
|
+
return PageAfterRestoreEventHandler;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DomainEvent","PageBeforeRestoreEventHandler","PageAfterRestoreEventHandler","PageBeforeRestoreEvent","eventType","getHandlerAbstraction","PageAfterRestoreEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PageBeforeRestoreEventHandler, PageAfterRestoreEventHandler } from \"./abstractions.js\";\nimport type { PageBeforeRestorePayload, PageAfterRestorePayload } from \"./abstractions.js\";\n\n// PageBeforeRestore Event\nexport class PageBeforeRestoreEvent extends DomainEvent<PageBeforeRestorePayload> {\n eventType = \"page.beforeRestore\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeRestoreEventHandler;\n }\n}\n\n// PageAfterRestore Event\nexport class PageAfterRestoreEvent extends DomainEvent<PageAfterRestorePayload> {\n eventType = \"page.afterRestore\" as const;\n\n getHandlerAbstraction() {\n return PageAfterRestoreEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,6BAA6B,EAAEC,4BAA4B;AAGpE;AACA,OAAO,MAAMC,sBAAsB,SAASH,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,6BAA6B;EACxC;AACJ;;AAEA;AACA,OAAO,MAAMK,qBAAqB,SAASN,WAAW,CAA0B;EAC5EI,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,4BAA4B;EACvC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { RestorePageRepository } from "./RestorePageRepository.js";
|
|
3
|
+
import { RestorePageUseCase } from "./RestorePageUseCase.js";
|
|
4
|
+
export const RestorePageFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/RestorePage",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(RestorePageRepository).inSingletonScope();
|
|
8
|
+
container.register(RestorePageUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","RestorePageRepository","RestorePageUseCase","RestorePageFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { RestorePageRepository } from \"./RestorePageRepository.js\";\nimport { RestorePageUseCase } from \"./RestorePageUseCase.js\";\n\nexport const RestorePageFeature = createFeature({\n name: \"WebsiteBuilder/RestorePage\",\n register(container) {\n container.register(RestorePageRepository).inSingletonScope();\n container.register(RestorePageUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAC9B,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,kBAAkB,GAAGH,aAAa,CAAC;EAC5CI,IAAI,EAAE,4BAA4B;EAClCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,qBAAqB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC5DD,SAAS,CAACD,QAAQ,CAACH,kBAAkB,CAAC;EAC1C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PageAfterRestoreEventHandler, PageBeforeRestoreEventHandler, RestorePageUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PageAfterRestoreEventHandler","PageBeforeRestoreEventHandler","RestorePageUseCase"],"sources":["index.ts"],"sourcesContent":["export {\n PageAfterRestoreEventHandler,\n PageBeforeRestoreEventHandler,\n RestorePageUseCase\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SACIA,4BAA4B,EAC5BC,6BAA6B,EAC7BC,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TranslatePageUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
2
|
+
import { DuplicatePageRepository } from "../../../features/pages/DuplicatePage/abstractions.js";
|
|
3
|
+
import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
|
|
4
|
+
import { GetLanguageByCodeUseCase } from "@webiny/languages/exports/api/languages.js";
|
|
5
|
+
import { ListLanguagesUseCase } from "@webiny/languages/exports/api/languages.js";
|
|
6
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
7
|
+
declare class TranslatePageUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
8
|
+
private permissions;
|
|
9
|
+
private getPageById;
|
|
10
|
+
private getLanguageByCode;
|
|
11
|
+
private listLanguages;
|
|
12
|
+
private duplicatePageRepository;
|
|
13
|
+
constructor(permissions: WbPermissions.Interface, getPageById: GetPageByIdUseCase.Interface, getLanguageByCode: GetLanguageByCodeUseCase.Interface, listLanguages: ListLanguagesUseCase.Interface, duplicatePageRepository: DuplicatePageRepository.Interface);
|
|
14
|
+
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
15
|
+
}
|
|
16
|
+
export declare const TranslatePageUseCase: import("@webiny/di").Implementation<typeof TranslatePageUseCaseImpl>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Result, createImplementation } from "@webiny/feature/api";
|
|
2
|
+
import { TranslatePageUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import { DuplicatePageRepository } from "../DuplicatePage/abstractions.js";
|
|
4
|
+
import { GetPageByIdUseCase } from "../GetPageById/index.js";
|
|
5
|
+
import { GetLanguageByCodeUseCase } from "@webiny/languages/exports/api/languages.js";
|
|
6
|
+
import { ListLanguagesUseCase } from "@webiny/languages/exports/api/languages.js";
|
|
7
|
+
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
8
|
+
import { PageNotAuthorizedError, PageTranslationError, PagePersistenceError } from "../../../domain/page/errors.js";
|
|
9
|
+
import { PagePath } from "../../../domain/page/PagePath.js";
|
|
10
|
+
class TranslatePageUseCaseImpl {
|
|
11
|
+
constructor(permissions, getPageById, getLanguageByCode, listLanguages, duplicatePageRepository) {
|
|
12
|
+
this.permissions = permissions;
|
|
13
|
+
this.getPageById = getPageById;
|
|
14
|
+
this.getLanguageByCode = getLanguageByCode;
|
|
15
|
+
this.listLanguages = listLanguages;
|
|
16
|
+
this.duplicatePageRepository = duplicatePageRepository;
|
|
17
|
+
}
|
|
18
|
+
async execute(params) {
|
|
19
|
+
const hasPermission = await this.permissions.canCreate("page");
|
|
20
|
+
if (!hasPermission) {
|
|
21
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Validate language code.
|
|
25
|
+
const languageResult = await this.getLanguageByCode.execute(params.languageCode);
|
|
26
|
+
if (languageResult.isFail()) {
|
|
27
|
+
return Result.fail(new PageTranslationError(params.languageCode));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Get all supported language codes.
|
|
31
|
+
const languagesResult = await this.listLanguages.execute();
|
|
32
|
+
if (languagesResult.isFail()) {
|
|
33
|
+
return Result.fail(new PagePersistenceError(new Error("Failed to fetch supported languages")));
|
|
34
|
+
}
|
|
35
|
+
const supportedCodes = languagesResult.value.map(lang => lang.code);
|
|
36
|
+
|
|
37
|
+
// Fetch source page to resolve lineage.
|
|
38
|
+
const getResult = await this.getPageById.execute(params.pageId);
|
|
39
|
+
if (getResult.isFail()) {
|
|
40
|
+
return getResult;
|
|
41
|
+
}
|
|
42
|
+
const sourcePage = getResult.value;
|
|
43
|
+
|
|
44
|
+
// Resolve sourcePage: always point to the root base page.
|
|
45
|
+
const resolvedSourcePageId = sourcePage.properties.sourcePage ?? sourcePage.entryId;
|
|
46
|
+
|
|
47
|
+
// Duplicate the page with translation modifications.
|
|
48
|
+
const result = await this.duplicatePageRepository.execute({
|
|
49
|
+
id: params.pageId
|
|
50
|
+
}, ({
|
|
51
|
+
duplicate
|
|
52
|
+
}) => {
|
|
53
|
+
const originalPath = sourcePage.properties.path ?? "/";
|
|
54
|
+
const pagePath = PagePath.create(originalPath);
|
|
55
|
+
const translatedPath = pagePath.setLanguageCode(params.languageCode, supportedCodes).toString();
|
|
56
|
+
duplicate.properties.language = params.languageCode;
|
|
57
|
+
duplicate.properties.sourcePage = resolvedSourcePageId;
|
|
58
|
+
duplicate.properties.path = translatedPath;
|
|
59
|
+
duplicate.properties.title = sourcePage.properties.title;
|
|
60
|
+
duplicate.location.folderId = params.folderId;
|
|
61
|
+
});
|
|
62
|
+
if (result.isFail()) {
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
return Result.ok(result.value);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export const TranslatePageUseCase = createImplementation({
|
|
69
|
+
abstraction: UseCaseAbstraction,
|
|
70
|
+
implementation: TranslatePageUseCaseImpl,
|
|
71
|
+
dependencies: [WbPermissions, GetPageByIdUseCase, GetLanguageByCodeUseCase, ListLanguagesUseCase, DuplicatePageRepository]
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=TranslatePageUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","createImplementation","TranslatePageUseCase","UseCaseAbstraction","DuplicatePageRepository","GetPageByIdUseCase","GetLanguageByCodeUseCase","ListLanguagesUseCase","WbPermissions","PageNotAuthorizedError","PageTranslationError","PagePersistenceError","PagePath","TranslatePageUseCaseImpl","constructor","permissions","getPageById","getLanguageByCode","listLanguages","duplicatePageRepository","execute","params","hasPermission","canCreate","fail","languageResult","languageCode","isFail","languagesResult","Error","supportedCodes","value","map","lang","code","getResult","pageId","sourcePage","resolvedSourcePageId","properties","entryId","result","id","duplicate","originalPath","path","pagePath","create","translatedPath","setLanguageCode","toString","language","title","location","folderId","ok","abstraction","implementation","dependencies"],"sources":["TranslatePageUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport { TranslatePageUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { DuplicatePageRepository } from \"~/features/pages/DuplicatePage/abstractions.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { GetLanguageByCodeUseCase } from \"@webiny/languages/exports/api/languages.js\";\nimport { ListLanguagesUseCase } from \"@webiny/languages/exports/api/languages.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport {\n PageNotAuthorizedError,\n PageTranslationError,\n PagePersistenceError\n} from \"~/domain/page/errors.js\";\nimport { PagePath } from \"~/domain/page/PagePath.js\";\n\nclass TranslatePageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private getLanguageByCode: GetLanguageByCodeUseCase.Interface,\n private listLanguages: ListLanguagesUseCase.Interface,\n private duplicatePageRepository: 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 // Validate language code.\n const languageResult = await this.getLanguageByCode.execute(params.languageCode);\n if (languageResult.isFail()) {\n return Result.fail(new PageTranslationError(params.languageCode));\n }\n\n // Get all supported language codes.\n const languagesResult = await this.listLanguages.execute();\n if (languagesResult.isFail()) {\n return Result.fail(\n new PagePersistenceError(new Error(\"Failed to fetch supported languages\"))\n );\n }\n\n const supportedCodes = languagesResult.value.map(lang => lang.code);\n\n // Fetch source page to resolve lineage.\n const getResult = await this.getPageById.execute(params.pageId);\n if (getResult.isFail()) {\n return getResult;\n }\n\n const sourcePage = getResult.value;\n\n // Resolve sourcePage: always point to the root base page.\n const resolvedSourcePageId = sourcePage.properties.sourcePage ?? sourcePage.entryId;\n\n // Duplicate the page with translation modifications.\n const result = await this.duplicatePageRepository.execute(\n { id: params.pageId },\n ({ duplicate }) => {\n const originalPath: string = sourcePage.properties.path ?? \"/\";\n const pagePath = PagePath.create(originalPath);\n const translatedPath = pagePath\n .setLanguageCode(params.languageCode, supportedCodes)\n .toString();\n\n duplicate.properties.language = params.languageCode;\n duplicate.properties.sourcePage = resolvedSourcePageId;\n duplicate.properties.path = translatedPath;\n duplicate.properties.title = sourcePage.properties.title;\n duplicate.location.folderId = params.folderId;\n }\n );\n\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const TranslatePageUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: TranslatePageUseCaseImpl,\n dependencies: [\n WbPermissions,\n GetPageByIdUseCase,\n GetLanguageByCodeUseCase,\n ListLanguagesUseCase,\n DuplicatePageRepository\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SAASC,oBAAoB,IAAIC,kBAAkB;AACnD,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAC3B,SAASC,wBAAwB,QAAQ,4CAA4C;AACrF,SAASC,oBAAoB,QAAQ,4CAA4C;AACjF,SAASC,aAAa;AACtB,SACIC,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB;AAExB,SAASC,QAAQ;AAEjB,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CACCC,WAAoC,EACpCC,WAAyC,EACzCC,iBAAqD,EACrDC,aAA6C,EAC7CC,uBAA0D,EACpE;IAAA,KALUJ,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,iBAAqD,GAArDA,iBAAqD;IAAA,KACrDC,aAA6C,GAA7CA,aAA6C;IAAA,KAC7CC,uBAA0D,GAA1DA,uBAA0D;EACnE;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACP,WAAW,CAACQ,SAAS,CAAC,MAAM,CAAC;IAC9D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOtB,MAAM,CAACwB,IAAI,CAAC,IAAIf,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMgB,cAAc,GAAG,MAAM,IAAI,CAACR,iBAAiB,CAACG,OAAO,CAACC,MAAM,CAACK,YAAY,CAAC;IAChF,IAAID,cAAc,CAACE,MAAM,CAAC,CAAC,EAAE;MACzB,OAAO3B,MAAM,CAACwB,IAAI,CAAC,IAAId,oBAAoB,CAACW,MAAM,CAACK,YAAY,CAAC,CAAC;IACrE;;IAEA;IACA,MAAME,eAAe,GAAG,MAAM,IAAI,CAACV,aAAa,CAACE,OAAO,CAAC,CAAC;IAC1D,IAAIQ,eAAe,CAACD,MAAM,CAAC,CAAC,EAAE;MAC1B,OAAO3B,MAAM,CAACwB,IAAI,CACd,IAAIb,oBAAoB,CAAC,IAAIkB,KAAK,CAAC,qCAAqC,CAAC,CAC7E,CAAC;IACL;IAEA,MAAMC,cAAc,GAAGF,eAAe,CAACG,KAAK,CAACC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,IAAI,CAAC;;IAEnE;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACnB,WAAW,CAACI,OAAO,CAACC,MAAM,CAACe,MAAM,CAAC;IAC/D,IAAID,SAAS,CAACR,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOQ,SAAS;IACpB;IAEA,MAAME,UAAU,GAAGF,SAAS,CAACJ,KAAK;;IAElC;IACA,MAAMO,oBAAoB,GAAGD,UAAU,CAACE,UAAU,CAACF,UAAU,IAAIA,UAAU,CAACG,OAAO;;IAEnF;IACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACtB,uBAAuB,CAACC,OAAO,CACrD;MAAEsB,EAAE,EAAErB,MAAM,CAACe;IAAO,CAAC,EACrB,CAAC;MAAEO;IAAU,CAAC,KAAK;MACf,MAAMC,YAAoB,GAAGP,UAAU,CAACE,UAAU,CAACM,IAAI,IAAI,GAAG;MAC9D,MAAMC,QAAQ,GAAGlC,QAAQ,CAACmC,MAAM,CAACH,YAAY,CAAC;MAC9C,MAAMI,cAAc,GAAGF,QAAQ,CAC1BG,eAAe,CAAC5B,MAAM,CAACK,YAAY,EAAEI,cAAc,CAAC,CACpDoB,QAAQ,CAAC,CAAC;MAEfP,SAAS,CAACJ,UAAU,CAACY,QAAQ,GAAG9B,MAAM,CAACK,YAAY;MACnDiB,SAAS,CAACJ,UAAU,CAACF,UAAU,GAAGC,oBAAoB;MACtDK,SAAS,CAACJ,UAAU,CAACM,IAAI,GAAGG,cAAc;MAC1CL,SAAS,CAACJ,UAAU,CAACa,KAAK,GAAGf,UAAU,CAACE,UAAU,CAACa,KAAK;MACxDT,SAAS,CAACU,QAAQ,CAACC,QAAQ,GAAGjC,MAAM,CAACiC,QAAQ;IACjD,CACJ,CAAC;IAED,IAAIb,MAAM,CAACd,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOc,MAAM;IACjB;IAEA,OAAOzC,MAAM,CAACuD,EAAE,CAACd,MAAM,CAACV,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAM7B,oBAAoB,GAAGD,oBAAoB,CAAC;EACrDuD,WAAW,EAAErD,kBAAkB;EAC/BsD,cAAc,EAAE5C,wBAAwB;EACxC6C,YAAY,EAAE,CACVlD,aAAa,EACbH,kBAAkB,EAClBC,wBAAwB,EACxBC,oBAAoB,EACpBH,uBAAuB;AAE/B,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { WbPage } from "../../../domain/page/abstractions.js";
|
|
3
|
+
import { PageValidationError, PageNotFoundError, PagePersistenceError, PageNotAuthorizedError, PageTranslationError } from "../../../domain/page/errors.js";
|
|
4
|
+
export interface ITranslateWbPageParams {
|
|
5
|
+
pageId: string;
|
|
6
|
+
languageCode: string;
|
|
7
|
+
folderId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ITranslatePageUseCase {
|
|
10
|
+
execute(params: ITranslateWbPageParams): Promise<Result<WbPage, UseCaseError>>;
|
|
11
|
+
}
|
|
12
|
+
export interface ITranslatePageUseCaseErrors {
|
|
13
|
+
notAuthorized: PageNotAuthorizedError;
|
|
14
|
+
validation: PageValidationError;
|
|
15
|
+
notFound: PageNotFoundError;
|
|
16
|
+
persistence: PagePersistenceError;
|
|
17
|
+
translation: PageTranslationError;
|
|
18
|
+
}
|
|
19
|
+
type UseCaseError = ITranslatePageUseCaseErrors[keyof ITranslatePageUseCaseErrors];
|
|
20
|
+
/** Translate a page to a different language. */
|
|
21
|
+
export declare const TranslatePageUseCase: import("@webiny/di").Abstraction<ITranslatePageUseCase>;
|
|
22
|
+
export declare namespace TranslatePageUseCase {
|
|
23
|
+
type Interface = ITranslatePageUseCase;
|
|
24
|
+
type Params = ITranslateWbPageParams;
|
|
25
|
+
type Return = Promise<Result<WbPage, UseCaseError>>;
|
|
26
|
+
type Error = UseCaseError;
|
|
27
|
+
type Page = WbPage;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Type Definitions
|
|
5
|
+
// ============================================================================
|
|
6
|
+
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Use Case Abstraction
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
/** Translate a page to a different language. */
|
|
12
|
+
export const TranslatePageUseCase = createAbstraction("Wb/TranslatePageUseCase");
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","TranslatePageUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageValidationError,\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError,\n PageTranslationError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface ITranslateWbPageParams {\n pageId: string;\n languageCode: string;\n folderId: string;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface ITranslatePageUseCase {\n execute(params: ITranslateWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface ITranslatePageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n validation: PageValidationError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n translation: PageTranslationError;\n}\n\ntype UseCaseError = ITranslatePageUseCaseErrors[keyof ITranslatePageUseCaseErrors];\n\n/** Translate a page to a different language. */\nexport const TranslatePageUseCase =\n createAbstraction<ITranslatePageUseCase>(\"Wb/TranslatePageUseCase\");\n\nexport namespace TranslatePageUseCase {\n export type Interface = ITranslatePageUseCase;\n export type Params = ITranslateWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAUpE;AACA;AACA;;AAQA;AACA;AACA;;AAgBA;AACA,OAAO,MAAMC,oBAAoB,GAC7BD,iBAAiB,CAAwB,yBAAyB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { TranslatePageUseCase } from "./TranslatePageUseCase.js";
|
|
3
|
+
export const TranslatePageFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilder/TranslatePage",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(TranslatePageUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","TranslatePageUseCase","TranslatePageFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TranslatePageUseCase } from \"./TranslatePageUseCase.js\";\n\nexport const TranslatePageFeature = createFeature({\n name: \"WebsiteBuilder/TranslatePage\",\n register(container) {\n container.register(TranslatePageUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,oBAAoB,GAAGF,aAAa,CAAC;EAC9CG,IAAI,EAAE,8BAA8B;EACpCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,oBAAoB,CAAC;EAC5C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TranslatePageUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TranslatePageUseCase"],"sources":["index.ts"],"sourcesContent":["export { TranslatePageUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
|
|
2
|
+
import { TrashPageRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
4
|
+
declare class TrashPageRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
5
|
+
private deleteEntry;
|
|
6
|
+
private pageModel;
|
|
7
|
+
constructor(deleteEntry: DeleteEntryUseCase.Interface, pageModel: PageModel.Interface);
|
|
8
|
+
execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const TrashPageRepository: typeof TrashPageRepositoryImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITrashPageRepository>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
|
|
3
|
+
import { TrashPageRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
4
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
5
|
+
import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
|
|
6
|
+
class TrashPageRepositoryImpl {
|
|
7
|
+
constructor(deleteEntry, pageModel) {
|
|
8
|
+
this.deleteEntry = deleteEntry;
|
|
9
|
+
this.pageModel = pageModel;
|
|
10
|
+
}
|
|
11
|
+
async execute(params) {
|
|
12
|
+
// Trash the entry
|
|
13
|
+
const result = await this.deleteEntry.execute(this.pageModel, params.id, {
|
|
14
|
+
permanently: false
|
|
15
|
+
});
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
if (result.error.code === "Cms/Entry/NotFound") {
|
|
18
|
+
return Result.fail(new PageNotFoundError(params.id));
|
|
19
|
+
}
|
|
20
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
21
|
+
}
|
|
22
|
+
return Result.ok();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export const TrashPageRepository = RepositoryAbstraction.createImplementation({
|
|
26
|
+
implementation: TrashPageRepositoryImpl,
|
|
27
|
+
dependencies: [DeleteEntryUseCase, PageModel]
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=TrashPageRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","DeleteEntryUseCase","TrashPageRepository","RepositoryAbstraction","PageModel","PageNotFoundError","PagePersistenceError","TrashPageRepositoryImpl","constructor","deleteEntry","pageModel","execute","params","result","id","permanently","isFail","error","code","fail","ok","createImplementation","implementation","dependencies"],"sources":["TrashPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { TrashPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass TrashPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private deleteEntry: DeleteEntryUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // Trash the entry\n const result = await this.deleteEntry.execute(this.pageModel, params.id, {\n permanently: false\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n return Result.ok();\n }\n}\n\nexport const TrashPageRepository = RepositoryAbstraction.createImplementation({\n implementation: TrashPageRepositoryImpl,\n dependencies: [DeleteEntryUseCase, PageModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,QAAQ,4DAA4D;AAC/F,SAASC,mBAAmB,IAAIC,qBAAqB;AACrD,SAASC,SAAS;AAClB,SAASC,iBAAiB,EAAEC,oBAAoB;AAEhD,MAAMC,uBAAuB,CAA4C;EACrEC,WAAWA,CACCC,WAAyC,EACzCC,SAA8B,EACxC;IAAA,KAFUD,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,SAA8B,GAA9BA,SAA8B;EACvC;EAEH,MAAMC,OAAOA,CAACC,MAAoC,EAAgC;IAC9E;IACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,WAAW,CAACE,OAAO,CAAC,IAAI,CAACD,SAAS,EAAEE,MAAM,CAACE,EAAE,EAAE;MACrEC,WAAW,EAAE;IACjB,CAAC,CAAC;IAEF,IAAIF,MAAM,CAACG,MAAM,CAAC,CAAC,EAAE;MACjB,IAAIH,MAAM,CAACI,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC5C,OAAOlB,MAAM,CAACmB,IAAI,CAAC,IAAId,iBAAiB,CAACO,MAAM,CAACE,EAAE,CAAC,CAAC;MACxD;MACA,OAAOd,MAAM,CAACmB,IAAI,CAAC,IAAIb,oBAAoB,CAACO,MAAM,CAACI,KAAK,CAAC,CAAC;IAC9D;IAEA,OAAOjB,MAAM,CAACoB,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAMlB,mBAAmB,GAAGC,qBAAqB,CAACkB,oBAAoB,CAAC;EAC1EC,cAAc,EAAEf,uBAAuB;EACvCgB,YAAY,EAAE,CAACtB,kBAAkB,EAAEG,SAAS;AAChD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { TrashPageUseCase as UseCaseAbstraction, TrashPageRepository } from "./abstractions.js";
|
|
3
|
+
import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
|
|
4
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
5
|
+
declare class TrashPageUseCaseImpl 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: TrashPageRepository.Interface);
|
|
11
|
+
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
12
|
+
}
|
|
13
|
+
export declare const TrashPageUseCase: typeof TrashPageUseCaseImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITrashPageUseCase>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import { TrashPageUseCase as UseCaseAbstraction, TrashPageRepository } from "./abstractions.js";
|
|
4
|
+
import { PageBeforeTrashEvent, PageAfterTrashEvent } 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 TrashPageUseCaseImpl {
|
|
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
|
+
// Get the page first to include in events and for item-level permission check
|
|
17
|
+
const getResult = await this.getPageById.execute(params.id);
|
|
18
|
+
if (getResult.isFail()) {
|
|
19
|
+
return Result.fail(getResult.error);
|
|
20
|
+
}
|
|
21
|
+
const page = getResult.value;
|
|
22
|
+
const canDelete = await this.permissions.canDelete("page", page);
|
|
23
|
+
if (!canDelete) {
|
|
24
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Publish before delete event
|
|
28
|
+
const beforeEvent = new PageBeforeTrashEvent({
|
|
29
|
+
page
|
|
30
|
+
});
|
|
31
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
32
|
+
|
|
33
|
+
// Execute the delete operation
|
|
34
|
+
const result = await this.repository.execute(params);
|
|
35
|
+
if (result.isFail()) {
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Publish after delete event
|
|
40
|
+
const afterEvent = new PageAfterTrashEvent({
|
|
41
|
+
page
|
|
42
|
+
});
|
|
43
|
+
await this.eventPublisher.publish(afterEvent);
|
|
44
|
+
return Result.ok();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const TrashPageUseCase = UseCaseAbstraction.createImplementation({
|
|
48
|
+
implementation: TrashPageUseCaseImpl,
|
|
49
|
+
dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, TrashPageRepository]
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=TrashPageUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","EventPublisher","TrashPageUseCase","UseCaseAbstraction","TrashPageRepository","PageBeforeTrashEvent","PageAfterTrashEvent","GetPageByIdUseCase","WbPermissions","PageNotAuthorizedError","TrashPageUseCaseImpl","constructor","permissions","eventPublisher","getPageById","repository","execute","params","getResult","id","isFail","fail","error","page","value","canDelete","beforeEvent","publish","result","afterEvent","ok","createImplementation","implementation","dependencies"],"sources":["TrashPageUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TrashPageUseCase as UseCaseAbstraction, TrashPageRepository } from \"./abstractions.js\";\nimport { PageBeforeTrashEvent, PageAfterTrashEvent } 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 TrashPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: TrashPageRepository.Interface\n ) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the page first to include in events and for item-level permission check\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const page = getResult.value;\n\n const canDelete = await this.permissions.canDelete(\"page\", page);\n if (!canDelete) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before delete event\n const beforeEvent = new PageBeforeTrashEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the delete operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterEvent = new PageAfterTrashEvent({\n page\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok();\n }\n}\n\nexport const TrashPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: TrashPageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, TrashPageRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,cAAc,QAEX,mDAAmD;AAC1D,SAASC,gBAAgB,IAAIC,kBAAkB,EAAEC,mBAAmB;AACpE,SAASC,oBAAoB,EAAEC,mBAAmB;AAClD,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAE/B,MAAMC,oBAAoB,CAAyC;EAC/DC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAAyC,EACnD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAAyC,GAAzCA,UAAyC;EAClD;EAEH,MAAaC,OAAOA,CAACC,MAAiC,EAA6B;IAC/E;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,WAAW,CAACE,OAAO,CAACC,MAAM,CAACE,EAAE,CAAC;IAE3D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOpB,MAAM,CAACqB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,IAAI,GAAGL,SAAS,CAACM,KAAK;IAE5B,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACb,WAAW,CAACa,SAAS,CAAC,MAAM,EAAEF,IAAI,CAAC;IAChE,IAAI,CAACE,SAAS,EAAE;MACZ,OAAOzB,MAAM,CAACqB,IAAI,CAAC,IAAIZ,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMiB,WAAW,GAAG,IAAIrB,oBAAoB,CAAC;MACzCkB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACV,cAAc,CAACc,OAAO,CAACD,WAAW,CAAC;;IAE9C;IACA,MAAME,MAAM,GAAG,MAAM,IAAI,CAACb,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIW,MAAM,CAACR,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOQ,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIvB,mBAAmB,CAAC;MACvCiB;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACV,cAAc,CAACc,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO7B,MAAM,CAAC8B,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAM5B,gBAAgB,GAAGC,kBAAkB,CAAC4B,oBAAoB,CAAC;EACpEC,cAAc,EAAEtB,oBAAoB;EACpCuB,YAAY,EAAE,CAACzB,aAAa,EAAEP,cAAc,EAAEM,kBAAkB,EAAEH,mBAAmB;AACzF,CAAC,CAAC","ignoreList":[]}
|