@webiny/api-website-builder 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9
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/constants.js +4 -3
- package/constants.js.map +1 -1
- package/domain/page/EntryToPageMapper.js +30 -26
- package/domain/page/EntryToPageMapper.js.map +1 -1
- package/domain/page/PagePath.d.ts +7 -0
- package/domain/page/PagePath.js +26 -0
- package/domain/page/PagePath.js.map +1 -0
- package/domain/page/abstractions.d.ts +22 -3
- package/domain/page/abstractions.js +2 -5
- package/domain/page/abstractions.js.map +1 -1
- package/domain/page/errors.d.ts +12 -0
- package/domain/page/errors.js +48 -31
- package/domain/page/errors.js.map +1 -1
- package/domain/page/page.model.d.ts +8 -1
- package/domain/page/page.model.js +25 -30
- package/domain/page/page.model.js.map +1 -1
- package/domain/permissionsSchema.d.ts +29 -0
- package/domain/permissionsSchema.js +53 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/domain/redirect/EntryToRedirectMapper.js +21 -20
- package/domain/redirect/EntryToRedirectMapper.js.map +1 -1
- package/domain/redirect/abstractions.js +2 -9
- package/domain/redirect/abstractions.js.map +1 -1
- package/domain/redirect/errors.js +28 -31
- package/domain/redirect/errors.js.map +1 -1
- package/domain/redirect/redirect.model.d.ts +8 -1
- package/domain/redirect/redirect.model.js +24 -30
- package/domain/redirect/redirect.model.js.map +1 -1
- package/domain/shared/abstractions.js +0 -3
- package/exports/api/website-builder/nextjs.js +0 -2
- package/exports/api/website-builder/page.d.ts +12 -8
- package/exports/api/website-builder/page.js +12 -10
- package/exports/api/website-builder/redirect.d.ts +4 -4
- package/exports/api/website-builder/redirect.js +4 -6
- package/features/installer/ApiKeyInstaller.d.ts +1 -1
- package/features/installer/ApiKeyInstaller.js +34 -28
- package/features/installer/ApiKeyInstaller.js.map +1 -1
- package/features/installer/feature.d.ts +4 -1
- package/features/installer/feature.js +6 -5
- package/features/installer/feature.js.map +1 -1
- package/features/nextjs/MarkdownContentBuilder.js +67 -76
- package/features/nextjs/MarkdownContentBuilder.js.map +1 -1
- package/features/nextjs/MarkdownContentBuilder.test.js +266 -273
- package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -1
- package/features/nextjs/NextjsConfig.js +43 -46
- package/features/nextjs/NextjsConfig.js.map +1 -1
- package/features/nextjs/abstractions.d.ts +1 -0
- package/features/nextjs/abstractions.js +2 -1
- package/features/nextjs/abstractions.js.map +1 -1
- package/features/nextjs/feature.d.ts +4 -1
- package/features/nextjs/feature.js +6 -5
- package/features/nextjs/feature.js.map +1 -1
- package/features/nextjs/index.js +0 -2
- package/features/pages/CreatePage/CreatePageRepository.js +23 -25
- package/features/pages/CreatePage/CreatePageRepository.js.map +1 -1
- package/features/pages/CreatePage/CreatePageUseCase.d.ts +4 -2
- package/features/pages/CreatePage/CreatePageUseCase.js +33 -30
- package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -1
- package/features/pages/CreatePage/abstractions.d.ts +10 -6
- package/features/pages/CreatePage/abstractions.js +5 -27
- package/features/pages/CreatePage/abstractions.js.map +1 -1
- package/features/pages/CreatePage/events.d.ts +3 -3
- package/features/pages/CreatePage/events.js +17 -15
- package/features/pages/CreatePage/events.js.map +1 -1
- package/features/pages/CreatePage/feature.d.ts +4 -1
- package/features/pages/CreatePage/feature.js +7 -6
- package/features/pages/CreatePage/feature.js.map +1 -1
- package/features/pages/CreatePage/index.d.ts +1 -1
- package/features/pages/CreatePage/index.js +1 -3
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +30 -36
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.d.ts +6 -2
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +38 -30
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +11 -7
- package/features/pages/CreatePageRevisionFrom/abstractions.js +5 -27
- package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/events.d.ts +3 -3
- package/features/pages/CreatePageRevisionFrom/events.js +17 -15
- package/features/pages/CreatePageRevisionFrom/events.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/feature.d.ts +4 -1
- package/features/pages/CreatePageRevisionFrom/feature.js +7 -6
- package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/index.d.ts +1 -1
- package/features/pages/CreatePageRevisionFrom/index.js +1 -3
- package/features/pages/DeletePage/DeletePageRepository.d.ts +1 -3
- package/features/pages/DeletePage/DeletePageRepository.js +18 -28
- package/features/pages/DeletePage/DeletePageRepository.js.map +1 -1
- package/features/pages/DeletePage/DeletePageUseCase.d.ts +7 -5
- package/features/pages/DeletePage/DeletePageUseCase.js +37 -37
- package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -1
- package/features/pages/DeletePage/abstractions.d.ts +12 -7
- package/features/pages/DeletePage/abstractions.js +5 -27
- package/features/pages/DeletePage/abstractions.js.map +1 -1
- package/features/pages/DeletePage/events.d.ts +3 -3
- package/features/pages/DeletePage/events.js +17 -15
- package/features/pages/DeletePage/events.js.map +1 -1
- package/features/pages/DeletePage/feature.d.ts +4 -1
- package/features/pages/DeletePage/feature.js +7 -6
- package/features/pages/DeletePage/feature.js.map +1 -1
- package/features/pages/DeletePage/index.d.ts +1 -1
- package/features/pages/DeletePage/index.js +1 -3
- package/features/pages/DuplicatePage/DuplicatePageRepository.d.ts +2 -2
- package/features/pages/DuplicatePage/DuplicatePageRepository.js +50 -45
- package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -1
- package/features/pages/DuplicatePage/DuplicatePageUseCase.d.ts +4 -2
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js +38 -38
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -1
- package/features/pages/DuplicatePage/abstractions.d.ts +18 -8
- package/features/pages/DuplicatePage/abstractions.js +5 -27
- package/features/pages/DuplicatePage/abstractions.js.map +1 -1
- package/features/pages/DuplicatePage/events.d.ts +3 -3
- package/features/pages/DuplicatePage/events.js +17 -15
- package/features/pages/DuplicatePage/events.js.map +1 -1
- package/features/pages/DuplicatePage/feature.d.ts +4 -1
- package/features/pages/DuplicatePage/feature.js +7 -6
- package/features/pages/DuplicatePage/feature.js.map +1 -1
- package/features/pages/DuplicatePage/index.d.ts +2 -1
- package/features/pages/DuplicatePage/index.js +1 -3
- 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 +29 -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 +6 -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 +13 -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 +1 -0
- package/features/pages/GetPageById/GetPageByIdRepository.js +20 -18
- package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -1
- package/features/pages/GetPageById/GetPageByIdUseCase.d.ts +3 -1
- package/features/pages/GetPageById/GetPageByIdUseCase.js +24 -10
- package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -1
- package/features/pages/GetPageById/abstractions.d.ts +3 -1
- package/features/pages/GetPageById/abstractions.js +3 -12
- package/features/pages/GetPageById/abstractions.js.map +1 -1
- package/features/pages/GetPageById/feature.d.ts +4 -1
- package/features/pages/GetPageById/feature.js +7 -6
- package/features/pages/GetPageById/feature.js.map +1 -1
- package/features/pages/GetPageById/index.js +0 -2
- package/features/pages/GetPageByPath/GetPageByPathRepository.js +26 -26
- package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -1
- package/features/pages/GetPageByPath/GetPageByPathUseCase.d.ts +3 -1
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js +24 -10
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -1
- package/features/pages/GetPageByPath/abstractions.d.ts +3 -1
- package/features/pages/GetPageByPath/abstractions.js +3 -12
- package/features/pages/GetPageByPath/abstractions.js.map +1 -1
- package/features/pages/GetPageByPath/feature.d.ts +4 -1
- package/features/pages/GetPageByPath/feature.js +7 -6
- package/features/pages/GetPageByPath/feature.js.map +1 -1
- package/features/pages/GetPageByPath/index.js +0 -2
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.d.ts +15 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js +55 -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 +21 -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 +13 -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 +1 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +17 -15
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -1
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.d.ts +3 -1
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +27 -10
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -1
- package/features/pages/GetPageRevisions/abstractions.d.ts +3 -1
- package/features/pages/GetPageRevisions/abstractions.js +3 -12
- package/features/pages/GetPageRevisions/abstractions.js.map +1 -1
- package/features/pages/GetPageRevisions/feature.d.ts +4 -1
- package/features/pages/GetPageRevisions/feature.js +7 -6
- package/features/pages/GetPageRevisions/feature.js.map +1 -1
- package/features/pages/GetPageRevisions/index.js +0 -2
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.d.ts +17 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js +50 -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 +38 -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 +6 -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 +13 -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 +1 -0
- package/features/pages/ListPages/ListPagesRepository.d.ts +5 -1
- package/features/pages/ListPages/ListPagesRepository.js +39 -28
- package/features/pages/ListPages/ListPagesRepository.js.map +1 -1
- package/features/pages/ListPages/ListPagesUseCase.d.ts +5 -1
- package/features/pages/ListPages/ListPagesUseCase.js +33 -10
- package/features/pages/ListPages/ListPagesUseCase.js.map +1 -1
- package/features/pages/ListPages/abstractions.d.ts +3 -1
- package/features/pages/ListPages/abstractions.js +3 -12
- package/features/pages/ListPages/abstractions.js.map +1 -1
- package/features/pages/ListPages/feature.d.ts +4 -1
- package/features/pages/ListPages/feature.js +7 -6
- package/features/pages/ListPages/feature.js.map +1 -1
- package/features/pages/ListPages/index.js +0 -2
- package/features/pages/MovePage/MovePageRepository.js +25 -27
- package/features/pages/MovePage/MovePageRepository.js.map +1 -1
- package/features/pages/MovePage/MovePageUseCase.d.ts +4 -2
- package/features/pages/MovePage/MovePageUseCase.js +42 -40
- package/features/pages/MovePage/MovePageUseCase.js.map +1 -1
- package/features/pages/MovePage/abstractions.d.ts +11 -7
- package/features/pages/MovePage/abstractions.js +5 -27
- package/features/pages/MovePage/abstractions.js.map +1 -1
- package/features/pages/MovePage/events.d.ts +3 -3
- package/features/pages/MovePage/events.js +17 -15
- package/features/pages/MovePage/events.js.map +1 -1
- package/features/pages/MovePage/feature.d.ts +4 -1
- package/features/pages/MovePage/feature.js +7 -6
- package/features/pages/MovePage/feature.js.map +1 -1
- package/features/pages/MovePage/index.d.ts +1 -1
- package/features/pages/MovePage/index.js +1 -3
- package/features/pages/PublishPage/PublishPageRepository.js +26 -28
- package/features/pages/PublishPage/PublishPageRepository.js.map +1 -1
- package/features/pages/PublishPage/PublishPageUseCase.d.ts +4 -2
- package/features/pages/PublishPage/PublishPageUseCase.js +39 -37
- package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -1
- package/features/pages/PublishPage/abstractions.d.ts +11 -7
- package/features/pages/PublishPage/abstractions.js +5 -27
- package/features/pages/PublishPage/abstractions.js.map +1 -1
- package/features/pages/PublishPage/events.d.ts +3 -3
- package/features/pages/PublishPage/events.js +17 -15
- package/features/pages/PublishPage/events.js.map +1 -1
- package/features/pages/PublishPage/feature.d.ts +4 -1
- package/features/pages/PublishPage/feature.js +7 -6
- package/features/pages/PublishPage/feature.js.map +1 -1
- package/features/pages/PublishPage/index.d.ts +1 -1
- package/features/pages/PublishPage/index.js +1 -3
- package/features/pages/RestorePage/RestorePageRepository.d.ts +13 -0
- package/features/pages/RestorePage/RestorePageRepository.js +31 -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 +45 -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 +8 -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 +21 -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 +13 -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 +1 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.d.ts +17 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.js +58 -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 +5 -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 +11 -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 +1 -0
- package/features/pages/TrashPage/TrashPageRepository.d.ts +13 -0
- package/features/pages/TrashPage/TrashPageRepository.js +31 -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 +45 -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 +8 -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 +21 -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 +13 -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 +1 -0
- package/features/pages/UnpublishPage/UnpublishPageRepository.js +26 -28
- package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -1
- package/features/pages/UnpublishPage/UnpublishPageUseCase.d.ts +4 -2
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js +38 -36
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -1
- package/features/pages/UnpublishPage/abstractions.d.ts +11 -7
- package/features/pages/UnpublishPage/abstractions.js +5 -27
- package/features/pages/UnpublishPage/abstractions.js.map +1 -1
- package/features/pages/UnpublishPage/events.d.ts +3 -3
- package/features/pages/UnpublishPage/events.js +17 -15
- package/features/pages/UnpublishPage/events.js.map +1 -1
- package/features/pages/UnpublishPage/feature.d.ts +4 -1
- package/features/pages/UnpublishPage/feature.js +7 -6
- package/features/pages/UnpublishPage/feature.js.map +1 -1
- package/features/pages/UnpublishPage/index.d.ts +1 -1
- package/features/pages/UnpublishPage/index.js +1 -3
- package/features/pages/UpdatePage/UpdatePageRepository.js +30 -34
- package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -1
- package/features/pages/UpdatePage/UpdatePageUseCase.d.ts +4 -2
- package/features/pages/UpdatePage/UpdatePageUseCase.js +47 -45
- package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -1
- package/features/pages/UpdatePage/abstractions.d.ts +12 -9
- package/features/pages/UpdatePage/abstractions.js +5 -27
- package/features/pages/UpdatePage/abstractions.js.map +1 -1
- package/features/pages/UpdatePage/events.d.ts +3 -3
- package/features/pages/UpdatePage/events.js +17 -15
- package/features/pages/UpdatePage/events.js.map +1 -1
- package/features/pages/UpdatePage/feature.d.ts +4 -1
- package/features/pages/UpdatePage/feature.js +7 -6
- package/features/pages/UpdatePage/feature.js.map +1 -1
- package/features/pages/UpdatePage/index.d.ts +1 -1
- package/features/pages/UpdatePage/index.js +1 -3
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +40 -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 +56 -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 +8 -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 +21 -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 +13 -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 +1 -0
- package/features/permissions/abstractions.d.ts +34 -0
- package/features/permissions/abstractions.js +6 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +4 -0
- package/features/permissions/feature.js +7 -0
- package/features/permissions/feature.js.map +1 -0
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js +23 -21
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -1
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.d.ts +4 -2
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +33 -30
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -1
- package/features/redirects/CreateRedirect/abstractions.d.ts +11 -7
- package/features/redirects/CreateRedirect/abstractions.js +5 -27
- package/features/redirects/CreateRedirect/abstractions.js.map +1 -1
- package/features/redirects/CreateRedirect/events.d.ts +3 -3
- package/features/redirects/CreateRedirect/events.js +17 -15
- package/features/redirects/CreateRedirect/events.js.map +1 -1
- package/features/redirects/CreateRedirect/feature.d.ts +4 -1
- package/features/redirects/CreateRedirect/feature.js +7 -6
- package/features/redirects/CreateRedirect/feature.js.map +1 -1
- package/features/redirects/CreateRedirect/index.d.ts +1 -1
- package/features/redirects/CreateRedirect/index.js +1 -3
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +19 -17
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -1
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.d.ts +4 -2
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +37 -37
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -1
- package/features/redirects/DeleteRedirect/abstractions.d.ts +11 -7
- package/features/redirects/DeleteRedirect/abstractions.js +5 -27
- package/features/redirects/DeleteRedirect/abstractions.js.map +1 -1
- package/features/redirects/DeleteRedirect/events.d.ts +3 -3
- package/features/redirects/DeleteRedirect/events.js +17 -15
- package/features/redirects/DeleteRedirect/events.js.map +1 -1
- package/features/redirects/DeleteRedirect/feature.d.ts +4 -1
- package/features/redirects/DeleteRedirect/feature.js +7 -6
- package/features/redirects/DeleteRedirect/feature.js.map +1 -1
- package/features/redirects/DeleteRedirect/index.d.ts +1 -1
- package/features/redirects/DeleteRedirect/index.js +1 -3
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +22 -21
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.d.ts +3 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +21 -12
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -1
- package/features/redirects/GetActiveRedirects/abstractions.d.ts +3 -1
- package/features/redirects/GetActiveRedirects/abstractions.js +3 -12
- package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -1
- package/features/redirects/GetActiveRedirects/feature.d.ts +4 -1
- package/features/redirects/GetActiveRedirects/feature.js +7 -6
- package/features/redirects/GetActiveRedirects/feature.js.map +1 -1
- package/features/redirects/GetActiveRedirects/index.js +0 -2
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +20 -18
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -1
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.d.ts +3 -1
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +25 -12
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -1
- package/features/redirects/GetRedirectById/abstractions.d.ts +3 -1
- package/features/redirects/GetRedirectById/abstractions.js +3 -12
- package/features/redirects/GetRedirectById/abstractions.js.map +1 -1
- package/features/redirects/GetRedirectById/feature.d.ts +4 -1
- package/features/redirects/GetRedirectById/feature.js +7 -6
- package/features/redirects/GetRedirectById/feature.js.map +1 -1
- package/features/redirects/GetRedirectById/index.js +0 -2
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +23 -20
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.d.ts +3 -3
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +14 -17
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.d.ts +3 -3
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +14 -17
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.d.ts +3 -3
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +14 -18
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/abstractions.d.ts +1 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js +2 -6
- package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/feature.d.ts +4 -1
- package/features/redirects/InvalidateRedirectsCache/feature.js +9 -8
- package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/index.js +0 -2
- package/features/redirects/ListRedirects/ListRedirectsRepository.js +35 -34
- package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -1
- package/features/redirects/ListRedirects/ListRedirectsUseCase.d.ts +5 -1
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js +34 -12
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -1
- package/features/redirects/ListRedirects/abstractions.d.ts +8 -5
- package/features/redirects/ListRedirects/abstractions.js +3 -16
- package/features/redirects/ListRedirects/abstractions.js.map +1 -1
- package/features/redirects/ListRedirects/feature.d.ts +4 -1
- package/features/redirects/ListRedirects/feature.js +7 -6
- package/features/redirects/ListRedirects/feature.js.map +1 -1
- package/features/redirects/ListRedirects/index.js +0 -2
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js +25 -27
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -1
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.d.ts +4 -2
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +42 -40
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -1
- package/features/redirects/MoveRedirect/abstractions.d.ts +11 -7
- package/features/redirects/MoveRedirect/abstractions.js +5 -27
- package/features/redirects/MoveRedirect/abstractions.js.map +1 -1
- package/features/redirects/MoveRedirect/events.d.ts +3 -3
- package/features/redirects/MoveRedirect/events.js +17 -15
- package/features/redirects/MoveRedirect/events.js.map +1 -1
- package/features/redirects/MoveRedirect/feature.d.ts +4 -1
- package/features/redirects/MoveRedirect/feature.js +7 -6
- package/features/redirects/MoveRedirect/feature.js.map +1 -1
- package/features/redirects/MoveRedirect/index.d.ts +1 -1
- package/features/redirects/MoveRedirect/index.js +1 -3
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +31 -35
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -1
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +4 -2
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +47 -45
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -1
- package/features/redirects/UpdateRedirect/abstractions.d.ts +11 -7
- package/features/redirects/UpdateRedirect/abstractions.js +5 -27
- package/features/redirects/UpdateRedirect/abstractions.js.map +1 -1
- package/features/redirects/UpdateRedirect/events.d.ts +3 -3
- package/features/redirects/UpdateRedirect/events.js +17 -15
- package/features/redirects/UpdateRedirect/events.js.map +1 -1
- package/features/redirects/UpdateRedirect/feature.d.ts +4 -1
- package/features/redirects/UpdateRedirect/feature.js +7 -6
- package/features/redirects/UpdateRedirect/feature.js.map +1 -1
- package/features/redirects/UpdateRedirect/index.d.ts +1 -1
- package/features/redirects/UpdateRedirect/index.js +1 -3
- package/features/tenantManager/TenantModelExtension.js +52 -32
- package/features/tenantManager/TenantModelExtension.js.map +1 -1
- package/features/tenantManager/feature.d.ts +4 -1
- package/features/tenantManager/feature.js +6 -5
- package/features/tenantManager/feature.js.map +1 -1
- package/features/webhooks/WbWebhookEventProvider.d.ts +8 -0
- package/features/webhooks/WbWebhookEventProvider.js +95 -0
- package/features/webhooks/WbWebhookEventProvider.js.map +1 -0
- package/features/webhooks/constants.d.ts +12 -0
- package/features/webhooks/constants.js +16 -0
- package/features/webhooks/constants.js.map +1 -0
- package/features/webhooks/feature.d.ts +4 -0
- package/features/webhooks/feature.js +31 -0
- package/features/webhooks/feature.js.map +1 -0
- package/features/webhooks/handlers/OnPageCreatedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnPageCreatedHandler.js +22 -0
- package/features/webhooks/handlers/OnPageCreatedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnPageDeletedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnPageDeletedHandler.js +22 -0
- package/features/webhooks/handlers/OnPageDeletedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnPagePublishedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnPagePublishedHandler.js +22 -0
- package/features/webhooks/handlers/OnPagePublishedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnPageRestoredHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnPageRestoredHandler.js +22 -0
- package/features/webhooks/handlers/OnPageRestoredHandler.js.map +1 -0
- package/features/webhooks/handlers/OnPageTrashedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnPageTrashedHandler.js +22 -0
- package/features/webhooks/handlers/OnPageTrashedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnPageUnpublishedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnPageUnpublishedHandler.js +22 -0
- package/features/webhooks/handlers/OnPageUnpublishedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnPageUpdatedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnPageUpdatedHandler.js +23 -0
- package/features/webhooks/handlers/OnPageUpdatedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnRedirectCreatedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnRedirectCreatedHandler.js +22 -0
- package/features/webhooks/handlers/OnRedirectCreatedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnRedirectDeletedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnRedirectDeletedHandler.js +22 -0
- package/features/webhooks/handlers/OnRedirectDeletedHandler.js.map +1 -0
- package/features/webhooks/handlers/OnRedirectUpdatedHandler.d.ts +11 -0
- package/features/webhooks/handlers/OnRedirectUpdatedHandler.js +23 -0
- package/features/webhooks/handlers/OnRedirectUpdatedHandler.js.map +1 -0
- package/graphql/createGraphQL.js +15 -12
- package/graphql/createGraphQL.js.map +1 -1
- package/graphql/nextjs/NextjsGraphQLSchema.js +28 -29
- package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -1
- package/graphql/pages/pages.gql.js +226 -254
- package/graphql/pages/pages.gql.js.map +1 -1
- package/graphql/pages/pages.typeDefs.d.ts +1 -1
- package/graphql/pages/pages.typeDefs.js +24 -2
- package/graphql/pages/pages.typeDefs.js.map +1 -1
- package/graphql/redirects/redirects.gql.js +56 -86
- package/graphql/redirects/redirects.gql.js.map +1 -1
- package/graphql/redirects/redirects.typeDefs.js +3 -4
- package/graphql/redirects/redirects.typeDefs.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +73 -55
- package/index.js.map +1 -1
- package/package.json +30 -27
- package/rest/ActiveRedirectDto.js +0 -3
- package/rest/ActiveRedirectRestMapper.js +10 -9
- package/rest/ActiveRedirectRestMapper.js.map +1 -1
- package/rest/getRedirects.js +19 -26
- package/rest/getRedirects.js.map +1 -1
- package/utils/ensureAuthentication.js +6 -9
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/resolve.js +7 -6
- package/utils/resolve.js.map +1 -1
- package/domain/shared/abstractions.js.map +0 -1
- package/exports/api/website-builder/nextjs.js.map +0 -1
- package/exports/api/website-builder/page.js.map +0 -1
- package/exports/api/website-builder/redirect.js.map +0 -1
- package/features/nextjs/index.js.map +0 -1
- package/features/pages/CreatePage/index.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/index.js.map +0 -1
- package/features/pages/DeletePage/index.js.map +0 -1
- package/features/pages/DuplicatePage/index.js.map +0 -1
- package/features/pages/GetPageById/index.js.map +0 -1
- package/features/pages/GetPageByPath/index.js.map +0 -1
- package/features/pages/GetPageRevisions/index.js.map +0 -1
- package/features/pages/ListPages/index.js.map +0 -1
- package/features/pages/MovePage/index.js.map +0 -1
- package/features/pages/PagePermissions/feature.d.ts +0 -1
- package/features/pages/PagePermissions/feature.js +0 -53
- package/features/pages/PagePermissions/feature.js.map +0 -1
- package/features/pages/PublishPage/index.js.map +0 -1
- package/features/pages/UnpublishPage/index.js.map +0 -1
- package/features/pages/UpdatePage/index.js.map +0 -1
- package/features/redirects/CreateRedirect/index.js.map +0 -1
- package/features/redirects/DeleteRedirect/index.js.map +0 -1
- package/features/redirects/GetActiveRedirects/index.js.map +0 -1
- package/features/redirects/GetRedirectById/index.js.map +0 -1
- package/features/redirects/InvalidateRedirectsCache/index.js.map +0 -1
- package/features/redirects/ListRedirects/index.js.map +0 -1
- package/features/redirects/MoveRedirect/index.js.map +0 -1
- package/features/redirects/RedirectPermissions/feature.d.ts +0 -1
- package/features/redirects/RedirectPermissions/feature.js +0 -45
- package/features/redirects/RedirectPermissions/feature.js.map +0 -1
- package/features/redirects/UpdateRedirect/index.js.map +0 -1
- package/rest/ActiveRedirectDto.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Result } from "@webiny/feature/api";
|
|
2
|
-
import type { IEventHandler } from "@webiny/api-core/features/
|
|
3
|
-
import type { DomainEvent } from "@webiny/api-core/features/
|
|
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
4
|
import type { WbRedirect } from "../../../domain/redirect/abstractions.js";
|
|
5
|
-
import { RedirectPersistenceError, RedirectValidationError } from "../../../domain/redirect/errors.js";
|
|
5
|
+
import { RedirectPersistenceError, RedirectValidationError, RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
6
6
|
export type ICreateWbRedirectData = Pick<WbRedirect, "redirectFrom" | "redirectTo" | "redirectType" | "isEnabled" | "location">;
|
|
7
7
|
export interface ICreateRedirectRepository {
|
|
8
8
|
execute(data: ICreateWbRedirectData): Promise<Result<WbRedirect, RepositoryError>>;
|
|
@@ -24,10 +24,12 @@ export interface ICreateRedirectUseCase {
|
|
|
24
24
|
execute(data: ICreateWbRedirectData): Promise<Result<WbRedirect, UseCaseError>>;
|
|
25
25
|
}
|
|
26
26
|
export interface ICreateRedirectUseCaseErrors {
|
|
27
|
+
notAuthorized: RedirectNotAuthorizedError;
|
|
27
28
|
validation: RedirectValidationError;
|
|
28
29
|
persistence: RedirectPersistenceError;
|
|
29
30
|
}
|
|
30
31
|
type UseCaseError = ICreateRedirectUseCaseErrors[keyof ICreateRedirectUseCaseErrors];
|
|
32
|
+
/** Create a URL redirect. */
|
|
31
33
|
export declare const CreateRedirectUseCase: import("@webiny/di").Abstraction<ICreateRedirectUseCase>;
|
|
32
34
|
export declare namespace CreateRedirectUseCase {
|
|
33
35
|
type Interface = ICreateRedirectUseCase;
|
|
@@ -42,14 +44,16 @@ export interface RedirectBeforeCreatePayload {
|
|
|
42
44
|
export interface RedirectAfterCreatePayload {
|
|
43
45
|
redirect: WbRedirect;
|
|
44
46
|
}
|
|
45
|
-
|
|
46
|
-
export declare
|
|
47
|
+
/** Hook into redirect lifecycle before a redirect is created. */
|
|
48
|
+
export declare const RedirectBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectBeforeCreatePayload>>>;
|
|
49
|
+
export declare namespace RedirectBeforeCreateEventHandler {
|
|
47
50
|
type Interface = IEventHandler<DomainEvent<RedirectBeforeCreatePayload>>;
|
|
48
51
|
type Event = DomainEvent<RedirectBeforeCreatePayload>;
|
|
49
52
|
type Redirect = WbRedirect;
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
export declare
|
|
54
|
+
/** Hook into redirect lifecycle after a redirect is created. */
|
|
55
|
+
export declare const RedirectAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectAfterCreatePayload>>>;
|
|
56
|
+
export declare namespace RedirectAfterCreateEventHandler {
|
|
53
57
|
type Interface = IEventHandler<DomainEvent<RedirectAfterCreatePayload>>;
|
|
54
58
|
type Event = DomainEvent<RedirectAfterCreatePayload>;
|
|
55
59
|
type Redirect = WbRedirect;
|
|
@@ -1,30 +1,8 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Repository Abstraction
|
|
9
|
-
// ============================================================================
|
|
10
|
-
|
|
11
|
-
export const CreateRedirectRepository = createAbstraction("Wb/CreateRedirectRepository");
|
|
12
|
-
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Use Case Abstraction
|
|
15
|
-
// ============================================================================
|
|
16
|
-
|
|
17
|
-
export const CreateRedirectUseCase = createAbstraction("Wb/CreateRedirectUseCase");
|
|
18
|
-
|
|
19
|
-
// ============================================================================
|
|
20
|
-
// Event Payload Types
|
|
21
|
-
// ============================================================================
|
|
22
|
-
|
|
23
|
-
// ============================================================================
|
|
24
|
-
// Event Handler Abstractions
|
|
25
|
-
// ============================================================================
|
|
26
|
-
|
|
27
|
-
export const RedirectBeforeCreateHandler = createAbstraction("Wb/RedirectBeforeCreateHandler");
|
|
28
|
-
export const RedirectAfterCreateHandler = createAbstraction("Wb/RedirectAfterCreateHandler");
|
|
2
|
+
const CreateRedirectRepository = createAbstraction("Wb/CreateRedirectRepository");
|
|
3
|
+
const CreateRedirectUseCase = createAbstraction("Wb/CreateRedirectUseCase");
|
|
4
|
+
const RedirectBeforeCreateEventHandler = createAbstraction("Wb/RedirectBeforeCreateEventHandler");
|
|
5
|
+
const RedirectAfterCreateEventHandler = createAbstraction("Wb/RedirectAfterCreateEventHandler");
|
|
6
|
+
export { CreateRedirectRepository, CreateRedirectUseCase, RedirectAfterCreateEventHandler, RedirectBeforeCreateEventHandler };
|
|
29
7
|
|
|
30
8
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/CreateRedirect/abstractions.js","sources":["../../../../src/features/redirects/CreateRedirect/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 { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectPersistenceError,\n RedirectValidationError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport type ICreateWbRedirectData = Pick<\n WbRedirect,\n \"redirectFrom\" | \"redirectTo\" | \"redirectType\" | \"isEnabled\" | \"location\"\n>;\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface ICreateRedirectRepository {\n execute(data: ICreateWbRedirectData): Promise<Result<WbRedirect, RepositoryError>>;\n}\n\nexport interface ICreateRedirectRepositoryErrors {\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = ICreateRedirectRepositoryErrors[keyof ICreateRedirectRepositoryErrors];\n\nexport const CreateRedirectRepository = createAbstraction<ICreateRedirectRepository>(\n \"Wb/CreateRedirectRepository\"\n);\n\nexport namespace CreateRedirectRepository {\n export type Interface = ICreateRedirectRepository;\n export type Params = ICreateWbRedirectData;\n export type Return = Promise<Result<WbRedirect, RepositoryError>>;\n export type Error = RepositoryError;\n export type Redirect = WbRedirect;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface ICreateRedirectUseCase {\n execute(data: ICreateWbRedirectData): Promise<Result<WbRedirect, UseCaseError>>;\n}\n\nexport interface ICreateRedirectUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = ICreateRedirectUseCaseErrors[keyof ICreateRedirectUseCaseErrors];\n\n/** Create a URL redirect. */\nexport const CreateRedirectUseCase = createAbstraction<ICreateRedirectUseCase>(\n \"Wb/CreateRedirectUseCase\"\n);\n\nexport namespace CreateRedirectUseCase {\n export type Interface = ICreateRedirectUseCase;\n export type Params = ICreateWbRedirectData;\n export type Return = Promise<Result<WbRedirect, UseCaseError>>;\n export type Error = UseCaseError;\n export type Redirect = WbRedirect;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface RedirectBeforeCreatePayload {\n input: ICreateWbRedirectData;\n}\n\nexport interface RedirectAfterCreatePayload {\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into redirect lifecycle before a redirect is created. */\nexport const RedirectBeforeCreateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeCreatePayload>>\n>(\"Wb/RedirectBeforeCreateEventHandler\");\n\nexport namespace RedirectBeforeCreateEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeCreatePayload>>;\n export type Event = DomainEvent<RedirectBeforeCreatePayload>;\n export type Redirect = WbRedirect;\n}\n\n/** Hook into redirect lifecycle after a redirect is created. */\nexport const RedirectAfterCreateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterCreatePayload>>\n>(\"Wb/RedirectAfterCreateEventHandler\");\n\nexport namespace RedirectAfterCreateEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterCreatePayload>>;\n export type Event = DomainEvent<RedirectAfterCreatePayload>;\n export type Redirect = WbRedirect;\n}\n"],"names":["CreateRedirectRepository","createAbstraction","CreateRedirectUseCase","RedirectBeforeCreateEventHandler","RedirectAfterCreateEventHandler"],"mappings":";AAkCO,MAAMA,2BAA2BC,kBACpC;AA4BG,MAAMC,wBAAwBD,kBACjC;AA4BG,MAAME,mCAAmCF,kBAE9C;AASK,MAAMG,kCAAkCH,kBAE7C"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
2
|
import type { RedirectBeforeCreatePayload, RedirectAfterCreatePayload } from "./abstractions.js";
|
|
3
3
|
export declare class RedirectBeforeCreateEvent extends DomainEvent<RedirectBeforeCreatePayload> {
|
|
4
4
|
eventType: "redirect.beforeCreate";
|
|
5
|
-
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<RedirectBeforeCreatePayload>>>;
|
|
6
6
|
}
|
|
7
7
|
export declare class RedirectAfterCreateEvent extends DomainEvent<RedirectAfterCreatePayload> {
|
|
8
8
|
eventType: "redirect.afterCreate";
|
|
9
|
-
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<RedirectAfterCreatePayload>>>;
|
|
10
10
|
}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { RedirectAfterCreateEventHandler, RedirectBeforeCreateEventHandler } from "./abstractions.js";
|
|
3
|
+
class RedirectBeforeCreateEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return RedirectBeforeCreateEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "redirect.beforeCreate";
|
|
9
|
+
}
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
class RedirectAfterCreateEvent extends DomainEvent {
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return RedirectAfterCreateEventHandler;
|
|
14
|
+
}
|
|
15
|
+
constructor(...args){
|
|
16
|
+
super(...args), this.eventType = "redirect.afterCreate";
|
|
17
|
+
}
|
|
17
18
|
}
|
|
19
|
+
export { RedirectAfterCreateEvent, RedirectBeforeCreateEvent };
|
|
18
20
|
|
|
19
21
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/CreateRedirect/events.js","sources":["../../../../src/features/redirects/CreateRedirect/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeCreateEventHandler,\n RedirectAfterCreateEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeCreatePayload, RedirectAfterCreatePayload } from \"./abstractions.js\";\n\n// RedirectBeforeCreate Event\nexport class RedirectBeforeCreateEvent extends DomainEvent<RedirectBeforeCreatePayload> {\n eventType = \"redirect.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeCreateEventHandler;\n }\n}\n\n// RedirectAfterCreate Event\nexport class RedirectAfterCreateEvent extends DomainEvent<RedirectAfterCreatePayload> {\n eventType = \"redirect.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterCreateEventHandler;\n }\n}\n"],"names":["RedirectBeforeCreateEvent","DomainEvent","RedirectBeforeCreateEventHandler","RedirectAfterCreateEvent","RedirectAfterCreateEventHandler"],"mappings":";;AAQO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,iCAAiCF;IAG1C,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { CreateRedirectRepository } from "./CreateRedirectRepository.js";
|
|
3
3
|
import { CreateRedirectUseCase } from "./CreateRedirectUseCase.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const CreateRedirectFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/CreateRedirect",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(CreateRedirectRepository).inSingletonScope();
|
|
8
|
+
container.register(CreateRedirectUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { CreateRedirectFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/CreateRedirect/feature.js","sources":["../../../../src/features/redirects/CreateRedirect/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateRedirectRepository } from \"./CreateRedirectRepository.js\";\nimport { CreateRedirectUseCase } from \"./CreateRedirectUseCase.js\";\n\nexport const CreateRedirectFeature = createFeature({\n name: \"WebsiteBuilder/CreateRedirect\",\n register(container) {\n container.register(CreateRedirectRepository).inSingletonScope();\n container.register(CreateRedirectUseCase);\n }\n});\n"],"names":["CreateRedirectFeature","createFeature","container","CreateRedirectRepository","CreateRedirectUseCase"],"mappings":";;;AAIO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,0BAA0B,gBAAgB;QAC7DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { RedirectAfterCreateEventHandler, RedirectBeforeCreateEventHandler, CreateRedirectUseCase } from "./abstractions.js";
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export { CreateRedirectUseCase, RedirectAfterCreateEventHandler, RedirectBeforeCreateEventHandler } from "./abstractions.js";
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
|
|
3
|
-
import { DeleteRedirectRepository
|
|
3
|
+
import { DeleteRedirectRepository } from "./abstractions.js";
|
|
4
4
|
import { RedirectModel } from "../../../domain/redirect/abstractions.js";
|
|
5
5
|
import { RedirectNotFoundError, RedirectPersistenceError } from "../../../domain/redirect/errors.js";
|
|
6
6
|
class DeleteRedirectRepositoryImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
constructor(redirectModel, deleteEntry){
|
|
8
|
+
this.redirectModel = redirectModel;
|
|
9
|
+
this.deleteEntry = deleteEntry;
|
|
10
|
+
}
|
|
11
|
+
async execute(params) {
|
|
12
|
+
const result = await this.deleteEntry.execute(this.redirectModel, params.id);
|
|
13
|
+
if (result.isFail()) {
|
|
14
|
+
if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new RedirectNotFoundError(params.id));
|
|
15
|
+
return Result.fail(new RedirectPersistenceError(result.error));
|
|
16
|
+
}
|
|
17
|
+
return Result.ok();
|
|
18
18
|
}
|
|
19
|
-
return Result.ok();
|
|
20
|
-
}
|
|
21
19
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const DeleteRedirectRepository_DeleteRedirectRepository = DeleteRedirectRepository.createImplementation({
|
|
21
|
+
implementation: DeleteRedirectRepositoryImpl,
|
|
22
|
+
dependencies: [
|
|
23
|
+
RedirectModel,
|
|
24
|
+
DeleteEntryUseCase
|
|
25
|
+
]
|
|
25
26
|
});
|
|
27
|
+
export { DeleteRedirectRepository_DeleteRedirectRepository as DeleteRedirectRepository };
|
|
26
28
|
|
|
27
29
|
//# sourceMappingURL=DeleteRedirectRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/DeleteRedirect/DeleteRedirectRepository.js","sources":["../../../../src/features/redirects/DeleteRedirect/DeleteRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { DeleteRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel } from \"~/domain/redirect/abstractions.js\";\nimport { RedirectNotFoundError, RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\n\nclass DeleteRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private deleteEntry: DeleteEntryUseCase.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n const result = await this.deleteEntry.execute(this.redirectModel, params.id);\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(params.id));\n }\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n return Result.ok();\n }\n}\n\nexport const DeleteRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteRedirectRepositoryImpl,\n dependencies: [RedirectModel, DeleteEntryUseCase]\n});\n"],"names":["DeleteRedirectRepositoryImpl","redirectModel","deleteEntry","params","result","Result","RedirectNotFoundError","RedirectPersistenceError","DeleteRedirectRepository","RepositoryAbstraction","RedirectModel","DeleteEntryUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,aAAsC,EACtCC,WAAyC,CACnD;aAFUD,aAAa,GAAbA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAC9E,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAED,OAAO,EAAE;QAE3E,IAAIC,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC,sBAAsBH,OAAO,EAAE;YAE1D,OAAOE,OAAO,IAAI,CAAC,IAAIE,yBAAyBH,OAAO,KAAK;QAChE;QAEA,OAAOC,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMG,oDAA2BC,yBAAAA,oBAA0C,CAAC;IAC/E,gBAAgBT;IAChB,cAAc;QAACU;QAAeC;KAAmB;AACrD"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/
|
|
1
|
+
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
2
|
import { DeleteRedirectUseCase as UseCaseAbstraction, DeleteRedirectRepository } from "./abstractions.js";
|
|
3
3
|
import { GetRedirectByIdUseCase } from "../../../features/redirects/GetRedirectById/index.js";
|
|
4
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
4
5
|
declare class DeleteRedirectUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
5
7
|
private eventPublisher;
|
|
6
8
|
private getRedirectById;
|
|
7
9
|
private repository;
|
|
8
|
-
constructor(eventPublisher: EventPublisherAbstraction.Interface, getRedirectById: GetRedirectByIdUseCase.Interface, repository: DeleteRedirectRepository.Interface);
|
|
10
|
+
constructor(permissions: WbPermissions.Interface, eventPublisher: EventPublisherAbstraction.Interface, getRedirectById: GetRedirectByIdUseCase.Interface, repository: DeleteRedirectRepository.Interface);
|
|
9
11
|
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
10
12
|
}
|
|
11
13
|
export declare const DeleteRedirectUseCase: import("@webiny/di").Implementation<typeof DeleteRedirectUseCaseImpl>;
|
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
import { Result, createImplementation } from "@webiny/feature/api";
|
|
2
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import { DeleteRedirectRepository, DeleteRedirectUseCase } from "./abstractions.js";
|
|
4
|
+
import { RedirectAfterDeleteEvent, RedirectBeforeDeleteEvent } from "./events.js";
|
|
5
5
|
import { GetRedirectByIdUseCase } from "../GetRedirectById/index.js";
|
|
6
|
+
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
7
|
+
import { RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
6
8
|
class DeleteRedirectUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
async execute(params) {
|
|
13
|
-
// Get the redirect first to include in events
|
|
14
|
-
const getResult = await this.getRedirectById.execute(params.id);
|
|
15
|
-
if (getResult.isFail()) {
|
|
16
|
-
return Result.fail(getResult.error);
|
|
9
|
+
constructor(permissions, eventPublisher, getRedirectById, repository){
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.getRedirectById = getRedirectById;
|
|
13
|
+
this.repository = repository;
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
async execute(params) {
|
|
16
|
+
const getResult = await this.getRedirectById.execute(params.id);
|
|
17
|
+
if (getResult.isFail()) return Result.fail(getResult.error);
|
|
18
|
+
const redirect = getResult.value;
|
|
19
|
+
const canDelete = await this.permissions.canDelete("redirect", redirect);
|
|
20
|
+
if (!canDelete) return Result.fail(new RedirectNotAuthorizedError());
|
|
21
|
+
const beforeEvent = new RedirectBeforeDeleteEvent({
|
|
22
|
+
redirect
|
|
23
|
+
});
|
|
24
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
25
|
+
const result = await this.repository.execute(params);
|
|
26
|
+
if (result.isFail()) return result;
|
|
27
|
+
const afterEvent = new RedirectAfterDeleteEvent({
|
|
28
|
+
redirect
|
|
29
|
+
});
|
|
30
|
+
await this.eventPublisher.publish(afterEvent);
|
|
31
|
+
return Result.ok();
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
// Publish after delete event
|
|
33
|
-
const afterEvent = new RedirectAfterDeleteEvent({
|
|
34
|
-
redirect
|
|
35
|
-
});
|
|
36
|
-
await this.eventPublisher.publish(afterEvent);
|
|
37
|
-
return Result.ok();
|
|
38
|
-
}
|
|
39
33
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
const DeleteRedirectUseCase_DeleteRedirectUseCase = createImplementation({
|
|
35
|
+
abstraction: DeleteRedirectUseCase,
|
|
36
|
+
implementation: DeleteRedirectUseCaseImpl,
|
|
37
|
+
dependencies: [
|
|
38
|
+
WbPermissions,
|
|
39
|
+
EventPublisher,
|
|
40
|
+
GetRedirectByIdUseCase,
|
|
41
|
+
DeleteRedirectRepository
|
|
42
|
+
]
|
|
44
43
|
});
|
|
44
|
+
export { DeleteRedirectUseCase_DeleteRedirectUseCase as DeleteRedirectUseCase };
|
|
45
45
|
|
|
46
46
|
//# sourceMappingURL=DeleteRedirectUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/DeleteRedirect/DeleteRedirectUseCase.js","sources":["../../../../src/features/redirects/DeleteRedirect/DeleteRedirectUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n DeleteRedirectUseCase as UseCaseAbstraction,\n DeleteRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeDeleteEvent, RedirectAfterDeleteEvent } from \"./events.js\";\nimport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\n\nclass DeleteRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: DeleteRedirectRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the redirect first to include in events and for item-level permission check\n const getResult = await this.getRedirectById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const redirect = getResult.value;\n\n const canDelete = await this.permissions.canDelete(\"redirect\", redirect);\n if (!canDelete) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n // Publish before delete event\n const beforeEvent = new RedirectBeforeDeleteEvent({\n redirect\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 RedirectAfterDeleteEvent({\n redirect\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok();\n }\n}\n\nexport const DeleteRedirectUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteRedirectUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, DeleteRedirectRepository]\n});\n"],"names":["DeleteRedirectUseCaseImpl","permissions","eventPublisher","getRedirectById","repository","params","getResult","Result","redirect","canDelete","RedirectNotAuthorizedError","beforeEvent","RedirectBeforeDeleteEvent","result","afterEvent","RedirectAfterDeleteEvent","DeleteRedirectUseCase","createImplementation","UseCaseAbstraction","WbPermissions","EventPublisher","GetRedirectByIdUseCase","DeleteRedirectRepository"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,eAAiD,EACjDC,UAA8C,CACxD;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAA6B;QAExE,MAAMC,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACD,OAAO,EAAE;QAE9D,IAAIC,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,WAAWF,UAAU,KAAK;QAEhC,MAAMG,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAYD;QAC/D,IAAI,CAACC,WACD,OAAOF,OAAO,IAAI,CAAC,IAAIG;QAI3B,MAAMC,cAAc,IAAIC,0BAA0B;YAC9CJ;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACG;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACR;QAE7C,IAAIQ,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,yBAAyB;YAC5CP;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACM;QAElC,OAAOP,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMS,8CAAwBC,qBAAqB;IACtD,aAAaC;IACb,gBAAgBlB;IAChB,cAAc;QAACmB;QAAeC;QAAgBC;QAAwBC;KAAyB;AACnG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Result } from "@webiny/feature/api";
|
|
2
|
-
import type { IEventHandler } from "@webiny/api-core/features/
|
|
3
|
-
import type { DomainEvent } from "@webiny/api-core/features/
|
|
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
4
|
import type { WbRedirect } from "../../../domain/redirect/abstractions.js";
|
|
5
|
-
import { RedirectNotFoundError, RedirectPersistenceError } from "../../../domain/redirect/errors.js";
|
|
5
|
+
import { RedirectNotFoundError, RedirectPersistenceError, RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
6
6
|
export interface IDeleteWbRedirectParams {
|
|
7
7
|
id: string;
|
|
8
8
|
}
|
|
@@ -25,10 +25,12 @@ export interface IDeleteRedirectUseCase {
|
|
|
25
25
|
execute(params: IDeleteWbRedirectParams): Promise<Result<void, UseCaseError>>;
|
|
26
26
|
}
|
|
27
27
|
export interface IDeleteRedirectUseCaseErrors {
|
|
28
|
+
notAuthorized: RedirectNotAuthorizedError;
|
|
28
29
|
notFound: RedirectNotFoundError;
|
|
29
30
|
persistence: RedirectPersistenceError;
|
|
30
31
|
}
|
|
31
32
|
type UseCaseError = IDeleteRedirectUseCaseErrors[keyof IDeleteRedirectUseCaseErrors];
|
|
33
|
+
/** Delete a URL redirect. */
|
|
32
34
|
export declare const DeleteRedirectUseCase: import("@webiny/di").Abstraction<IDeleteRedirectUseCase>;
|
|
33
35
|
export declare namespace DeleteRedirectUseCase {
|
|
34
36
|
type Interface = IDeleteRedirectUseCase;
|
|
@@ -42,14 +44,16 @@ export interface RedirectBeforeDeletePayload {
|
|
|
42
44
|
export interface RedirectAfterDeletePayload {
|
|
43
45
|
redirect: WbRedirect;
|
|
44
46
|
}
|
|
45
|
-
|
|
46
|
-
export declare
|
|
47
|
+
/** Hook into redirect lifecycle before a redirect is deleted. */
|
|
48
|
+
export declare const RedirectBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>>;
|
|
49
|
+
export declare namespace RedirectBeforeDeleteEventHandler {
|
|
47
50
|
type Interface = IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>;
|
|
48
51
|
type Event = DomainEvent<RedirectBeforeDeletePayload>;
|
|
49
52
|
type Redirect = WbRedirect;
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
export declare
|
|
54
|
+
/** Hook into redirect lifecycle after a redirect is deleted. */
|
|
55
|
+
export declare const RedirectAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectAfterDeletePayload>>>;
|
|
56
|
+
export declare namespace RedirectAfterDeleteEventHandler {
|
|
53
57
|
type Interface = IEventHandler<DomainEvent<RedirectAfterDeletePayload>>;
|
|
54
58
|
type Event = DomainEvent<RedirectAfterDeletePayload>;
|
|
55
59
|
type Redirect = WbRedirect;
|
|
@@ -1,30 +1,8 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Repository Abstraction
|
|
9
|
-
// ============================================================================
|
|
10
|
-
|
|
11
|
-
export const DeleteRedirectRepository = createAbstraction("Wb/DeleteRedirectRepository");
|
|
12
|
-
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Use Case Abstraction
|
|
15
|
-
// ============================================================================
|
|
16
|
-
|
|
17
|
-
export const DeleteRedirectUseCase = createAbstraction("Wb/DeleteRedirectUseCase");
|
|
18
|
-
|
|
19
|
-
// ============================================================================
|
|
20
|
-
// Event Payload Types
|
|
21
|
-
// ============================================================================
|
|
22
|
-
|
|
23
|
-
// ============================================================================
|
|
24
|
-
// Event Handler Abstractions
|
|
25
|
-
// ============================================================================
|
|
26
|
-
|
|
27
|
-
export const RedirectBeforeDeleteHandler = createAbstraction("Wb/RedirectBeforeDeleteHandler");
|
|
28
|
-
export const RedirectAfterDeleteHandler = createAbstraction("Wb/RedirectAfterDeleteHandler");
|
|
2
|
+
const DeleteRedirectRepository = createAbstraction("Wb/DeleteRedirectRepository");
|
|
3
|
+
const DeleteRedirectUseCase = createAbstraction("Wb/DeleteRedirectUseCase");
|
|
4
|
+
const RedirectBeforeDeleteEventHandler = createAbstraction("Wb/RedirectBeforeDeleteEventHandler");
|
|
5
|
+
const RedirectAfterDeleteEventHandler = createAbstraction("Wb/RedirectAfterDeleteEventHandler");
|
|
6
|
+
export { DeleteRedirectRepository, DeleteRedirectUseCase, RedirectAfterDeleteEventHandler, RedirectBeforeDeleteEventHandler };
|
|
29
7
|
|
|
30
8
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/DeleteRedirect/abstractions.js","sources":["../../../../src/features/redirects/DeleteRedirect/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 { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IDeleteWbRedirectParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IDeleteRedirectRepository {\n execute(params: IDeleteWbRedirectParams): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteRedirectRepositoryErrors {\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IDeleteRedirectRepositoryErrors[keyof IDeleteRedirectRepositoryErrors];\n\nexport const DeleteRedirectRepository = createAbstraction<IDeleteRedirectRepository>(\n \"Wb/DeleteRedirectRepository\"\n);\n\nexport namespace DeleteRedirectRepository {\n export type Interface = IDeleteRedirectRepository;\n export type Params = IDeleteWbRedirectParams;\n export type Return = Promise<Result<void, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IDeleteRedirectUseCase {\n execute(params: IDeleteWbRedirectParams): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteRedirectUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IDeleteRedirectUseCaseErrors[keyof IDeleteRedirectUseCaseErrors];\n\n/** Delete a URL redirect. */\nexport const DeleteRedirectUseCase = createAbstraction<IDeleteRedirectUseCase>(\n \"Wb/DeleteRedirectUseCase\"\n);\n\nexport namespace DeleteRedirectUseCase {\n export type Interface = IDeleteRedirectUseCase;\n export type Params = IDeleteWbRedirectParams;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface RedirectBeforeDeletePayload {\n redirect: WbRedirect;\n}\n\nexport interface RedirectAfterDeletePayload {\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into redirect lifecycle before a redirect is deleted. */\nexport const RedirectBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>\n>(\"Wb/RedirectBeforeDeleteEventHandler\");\n\nexport namespace RedirectBeforeDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>;\n export type Event = DomainEvent<RedirectBeforeDeletePayload>;\n export type Redirect = WbRedirect;\n}\n\n/** Hook into redirect lifecycle after a redirect is deleted. */\nexport const RedirectAfterDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterDeletePayload>>\n>(\"Wb/RedirectAfterDeleteEventHandler\");\n\nexport namespace RedirectAfterDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterDeletePayload>>;\n export type Event = DomainEvent<RedirectAfterDeletePayload>;\n export type Redirect = WbRedirect;\n}\n"],"names":["DeleteRedirectRepository","createAbstraction","DeleteRedirectUseCase","RedirectBeforeDeleteEventHandler","RedirectAfterDeleteEventHandler"],"mappings":";AAiCO,MAAMA,2BAA2BC,kBACpC;AA2BG,MAAMC,wBAAwBD,kBACjC;AA2BG,MAAME,mCAAmCF,kBAE9C;AASK,MAAMG,kCAAkCH,kBAE7C"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
2
|
import type { RedirectBeforeDeletePayload, RedirectAfterDeletePayload } from "./abstractions.js";
|
|
3
3
|
export declare class RedirectBeforeDeleteEvent extends DomainEvent<RedirectBeforeDeletePayload> {
|
|
4
4
|
eventType: "redirect.beforeDelete";
|
|
5
|
-
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<RedirectBeforeDeletePayload>>>;
|
|
6
6
|
}
|
|
7
7
|
export declare class RedirectAfterDeleteEvent extends DomainEvent<RedirectAfterDeletePayload> {
|
|
8
8
|
eventType: "redirect.afterDelete";
|
|
9
|
-
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<RedirectAfterDeletePayload>>>;
|
|
10
10
|
}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { RedirectAfterDeleteEventHandler, RedirectBeforeDeleteEventHandler } from "./abstractions.js";
|
|
3
|
+
class RedirectBeforeDeleteEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return RedirectBeforeDeleteEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "redirect.beforeDelete";
|
|
9
|
+
}
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
class RedirectAfterDeleteEvent extends DomainEvent {
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return RedirectAfterDeleteEventHandler;
|
|
14
|
+
}
|
|
15
|
+
constructor(...args){
|
|
16
|
+
super(...args), this.eventType = "redirect.afterDelete";
|
|
17
|
+
}
|
|
17
18
|
}
|
|
19
|
+
export { RedirectAfterDeleteEvent, RedirectBeforeDeleteEvent };
|
|
18
20
|
|
|
19
21
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/DeleteRedirect/events.js","sources":["../../../../src/features/redirects/DeleteRedirect/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n RedirectBeforeDeleteEventHandler,\n RedirectAfterDeleteEventHandler\n} from \"./abstractions.js\";\nimport type { RedirectBeforeDeletePayload, RedirectAfterDeletePayload } from \"./abstractions.js\";\n\n// RedirectBeforeDelete Event\nexport class RedirectBeforeDeleteEvent extends DomainEvent<RedirectBeforeDeletePayload> {\n eventType = \"redirect.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeDeleteEventHandler;\n }\n}\n\n// RedirectAfterDelete Event\nexport class RedirectAfterDeleteEvent extends DomainEvent<RedirectAfterDeletePayload> {\n eventType = \"redirect.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterDeleteEventHandler;\n }\n}\n"],"names":["RedirectBeforeDeleteEvent","DomainEvent","RedirectBeforeDeleteEventHandler","RedirectAfterDeleteEvent","RedirectAfterDeleteEventHandler"],"mappings":";;AAQO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,iCAAiCF;IAG1C,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
|