@webiny/api-website-builder 0.0.0-unstable.a4637c5ce6 → 0.0.0-unstable.df7a8bb475
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 +30 -0
- package/domain/page/EntryToPageMapper.js.map +1 -0
- package/domain/page/abstractions.d.ts +33 -0
- package/domain/page/abstractions.js +8 -0
- package/domain/page/abstractions.js.map +1 -0
- package/domain/page/errors.d.ts +19 -0
- package/domain/page/errors.js +38 -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/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 +12 -0
- package/exports/api/website-builder/page.js +14 -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 +37 -0
- package/features/installer/ApiKeyInstaller.js.map +1 -0
- package/features/installer/feature.d.ts +1 -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 +9 -0
- package/features/nextjs/abstractions.js +4 -0
- package/features/nextjs/abstractions.js.map +1 -0
- package/features/nextjs/feature.d.ts +1 -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 +12 -0
- package/features/pages/CreatePage/CreatePageUseCase.js +37 -0
- package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -0
- package/features/pages/CreatePage/abstractions.d.ts +55 -0
- package/features/pages/CreatePage/abstractions.js +30 -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 +1 -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 +12 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +37 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +60 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.js +30 -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 +1 -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 +15 -0
- package/features/pages/DeletePage/DeletePageRepository.js +39 -0
- package/features/pages/DeletePage/DeletePageRepository.js.map +1 -0
- package/features/pages/DeletePage/DeletePageUseCase.d.ts +14 -0
- package/features/pages/DeletePage/DeletePageUseCase.js +45 -0
- package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -0
- package/features/pages/DeletePage/abstractions.d.ts +57 -0
- package/features/pages/DeletePage/abstractions.js +30 -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 +1 -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 +59 -0
- package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.d.ts +12 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js +47 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -0
- package/features/pages/DuplicatePage/abstractions.d.ts +61 -0
- package/features/pages/DuplicatePage/abstractions.js +30 -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 +1 -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 +1 -16
- package/features/pages/DuplicatePage/index.js +1 -16
- package/features/pages/DuplicatePage/index.js.map +1 -1
- 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 +10 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js +15 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -0
- package/features/pages/GetPageById/abstractions.d.ts +39 -0
- package/features/pages/GetPageById/abstractions.js +15 -0
- package/features/pages/GetPageById/abstractions.js.map +1 -0
- package/features/pages/GetPageById/feature.d.ts +1 -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 +10 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js +15 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -0
- package/features/pages/GetPageByPath/abstractions.d.ts +39 -0
- package/features/pages/GetPageByPath/abstractions.js +15 -0
- package/features/pages/GetPageByPath/abstractions.js.map +1 -0
- package/features/pages/GetPageByPath/feature.d.ts +1 -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/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 +10 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +15 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -0
- package/features/pages/GetPageRevisions/abstractions.d.ts +37 -0
- package/features/pages/GetPageRevisions/abstractions.js +15 -0
- package/features/pages/GetPageRevisions/abstractions.js.map +1 -0
- package/features/pages/GetPageRevisions/feature.d.ts +1 -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/ListPages/ListPagesRepository.d.ts +13 -0
- package/features/pages/ListPages/ListPagesRepository.js +39 -0
- package/features/pages/ListPages/ListPagesRepository.js.map +1 -0
- package/features/pages/ListPages/ListPagesUseCase.d.ts +10 -0
- package/features/pages/ListPages/ListPagesUseCase.js +15 -0
- package/features/pages/ListPages/ListPagesUseCase.js.map +1 -0
- package/features/pages/ListPages/abstractions.d.ts +55 -0
- package/features/pages/ListPages/abstractions.js +15 -0
- package/features/pages/ListPages/abstractions.js.map +1 -0
- package/features/pages/ListPages/feature.d.ts +1 -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 +12 -0
- package/features/pages/MovePage/MovePageUseCase.js +49 -0
- package/features/pages/MovePage/MovePageUseCase.js.map +1 -0
- package/features/pages/MovePage/abstractions.d.ts +62 -0
- package/features/pages/MovePage/abstractions.js +30 -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 +1 -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/PagePermissions/feature.d.ts +1 -0
- package/features/pages/PagePermissions/feature.js +53 -0
- package/features/pages/PagePermissions/feature.js.map +1 -0
- 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 +12 -0
- package/features/pages/PublishPage/PublishPageUseCase.js +46 -0
- package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -0
- package/features/pages/PublishPage/abstractions.d.ts +58 -0
- package/features/pages/PublishPage/abstractions.js +30 -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 +1 -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/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 +14 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js +45 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -0
- package/features/pages/UnpublishPage/abstractions.d.ts +58 -0
- package/features/pages/UnpublishPage/abstractions.js +30 -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 +1 -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 +14 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js +54 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -0
- package/features/pages/UpdatePage/abstractions.d.ts +76 -0
- package/features/pages/UpdatePage/abstractions.js +30 -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 +1 -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/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 +10 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +37 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -0
- package/features/redirects/CreateRedirect/abstractions.d.ts +57 -0
- package/features/redirects/CreateRedirect/abstractions.js +30 -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 +1 -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 +12 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +46 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -0
- package/features/redirects/DeleteRedirect/abstractions.d.ts +57 -0
- package/features/redirects/DeleteRedirect/abstractions.js +30 -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 +1 -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 +8 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +17 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -0
- package/features/redirects/GetActiveRedirects/abstractions.d.ts +38 -0
- package/features/redirects/GetActiveRedirects/abstractions.js +15 -0
- package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -0
- package/features/redirects/GetActiveRedirects/feature.d.ts +1 -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 -7
- package/features/redirects/GetActiveRedirects/index.js +1 -11
- package/features/redirects/GetActiveRedirects/index.js.map +1 -1
- 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 +8 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +17 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -0
- package/features/redirects/GetRedirectById/abstractions.d.ts +40 -0
- package/features/redirects/GetRedirectById/abstractions.js +15 -0
- package/features/redirects/GetRedirectById/abstractions.js.map +1 -0
- package/features/redirects/GetRedirectById/feature.d.ts +1 -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 +15 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js +9 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/feature.d.ts +1 -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 +8 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js +17 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -0
- package/features/redirects/ListRedirects/abstractions.d.ts +67 -0
- package/features/redirects/ListRedirects/abstractions.js +19 -0
- package/features/redirects/ListRedirects/abstractions.js.map +1 -0
- package/features/redirects/ListRedirects/feature.d.ts +1 -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 +12 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +49 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -0
- package/features/redirects/MoveRedirect/abstractions.d.ts +63 -0
- package/features/redirects/MoveRedirect/abstractions.js +30 -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 +1 -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/RedirectPermissions/feature.d.ts +1 -0
- package/features/redirects/RedirectPermissions/feature.js +45 -0
- package/features/redirects/RedirectPermissions/feature.js.map +1 -0
- 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 +14 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +54 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -0
- package/features/redirects/UpdateRedirect/abstractions.d.ts +75 -0
- package/features/redirects/UpdateRedirect/abstractions.js +30 -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 +1 -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 +1 -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 +164 -85
- package/graphql/pages/pages.gql.js.map +1 -1
- package/graphql/pages/pages.typeDefs.d.ts +1 -1
- package/graphql/pages/pages.typeDefs.js +4 -10
- 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 -33
- package/graphql/redirects/redirects.gql.js.map +1 -1
- package/graphql/redirects/redirects.typeDefs.js +5 -10
- package/graphql/redirects/redirects.typeDefs.js.map +1 -1
- package/index.d.ts +1 -3
- package/index.js +81 -14
- package/index.js.map +1 -1
- package/package.json +25 -32
- package/rest/ActiveRedirectDto.js +1 -5
- package/rest/ActiveRedirectRestMapper.d.ts +2 -2
- package/rest/ActiveRedirectRestMapper.js +1 -8
- package/rest/ActiveRedirectRestMapper.js.map +1 -1
- package/rest/getRedirects.d.ts +2 -2
- package/rest/getRedirects.js +10 -15
- package/rest/getRedirects.js.map +1 -1
- 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 +1 -2
- 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 -14
- package/context/WebsiteBuilder.js +0 -62
- package/context/WebsiteBuilder.js.map +0 -1
- package/context/pages/PagesStorage.d.ts +0 -33
- package/context/pages/PagesStorage.js +0 -123
- package/context/pages/PagesStorage.js.map +0 -1
- package/context/pages/pages.context.d.ts +0 -11
- package/context/pages/pages.context.js +0 -82
- 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 -116
- package/context/redirects/redirects.crud.js.map +0 -1
- package/context/redirects/redirects.types.d.ts +0 -147
- package/context/redirects/redirects.types.js +0 -7
- package/context/redirects/redirects.types.js.map +0 -1
- package/context/types.d.ts +0 -29
- 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/GetActiveRedirects/GetActiveRedirects.d.ts +0 -7
- package/features/redirects/GetActiveRedirects/GetActiveRedirects.js +0 -26
- package/features/redirects/GetActiveRedirects/GetActiveRedirects.js.map +0 -1
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.d.ts +0 -4
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.js +0 -7
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.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/InvalidateRedirectsCache.d.ts +0 -7
- package/features/redirects/InvalidateRedirectsCache.js +0 -24
- package/features/redirects/InvalidateRedirectsCache.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 -7
- package/features/redirects/index.js +0 -84
- package/features/redirects/index.js.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MoveRedirectRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
2
|
+
import { RedirectModel } from "../../../domain/redirect/abstractions.js";
|
|
3
|
+
import { MoveEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/MoveEntry/index.js";
|
|
4
|
+
import { GetRedirectByIdRepository } from "../../../features/redirects/GetRedirectById/abstractions.js";
|
|
5
|
+
declare class MoveRedirectRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
6
|
+
private redirectModel;
|
|
7
|
+
private moveEntry;
|
|
8
|
+
private getRedirectById;
|
|
9
|
+
constructor(redirectModel: RedirectModel.Interface, moveEntry: MoveEntryRepository.Interface, getRedirectById: GetRedirectByIdRepository.Interface);
|
|
10
|
+
execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const MoveRedirectRepository: typeof MoveRedirectRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMoveRedirectRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { MoveRedirectRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
+
import { RedirectModel } from "../../../domain/redirect/abstractions.js";
|
|
4
|
+
import { RedirectPersistenceError } from "../../../domain/redirect/errors.js";
|
|
5
|
+
import { MoveEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/MoveEntry/index.js";
|
|
6
|
+
import { GetRedirectByIdRepository } from "../GetRedirectById/abstractions.js";
|
|
7
|
+
class MoveRedirectRepositoryImpl {
|
|
8
|
+
constructor(redirectModel, moveEntry, getRedirectById) {
|
|
9
|
+
this.redirectModel = redirectModel;
|
|
10
|
+
this.moveEntry = moveEntry;
|
|
11
|
+
this.getRedirectById = getRedirectById;
|
|
12
|
+
}
|
|
13
|
+
async execute(params) {
|
|
14
|
+
// First, validate the redirect exists
|
|
15
|
+
const getResult = await this.getRedirectById.execute(params.id);
|
|
16
|
+
if (getResult.isFail()) {
|
|
17
|
+
return Result.fail(getResult.error);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Update the redirect location with the new folderId
|
|
21
|
+
const result = await this.moveEntry.execute(this.redirectModel, params.id, params.folderId);
|
|
22
|
+
if (result.isFail()) {
|
|
23
|
+
return Result.fail(new RedirectPersistenceError(result.error));
|
|
24
|
+
}
|
|
25
|
+
const movedRedirect = {
|
|
26
|
+
...getResult.value,
|
|
27
|
+
location: {
|
|
28
|
+
folderId: params.folderId
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return Result.ok(movedRedirect);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export const MoveRedirectRepository = RepositoryAbstraction.createImplementation({
|
|
35
|
+
implementation: MoveRedirectRepositoryImpl,
|
|
36
|
+
dependencies: [RedirectModel, MoveEntryRepository, GetRedirectByIdRepository]
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=MoveRedirectRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","MoveRedirectRepository","RepositoryAbstraction","RedirectModel","RedirectPersistenceError","MoveEntryRepository","GetRedirectByIdRepository","MoveRedirectRepositoryImpl","constructor","redirectModel","moveEntry","getRedirectById","execute","params","getResult","id","isFail","fail","error","result","folderId","movedRedirect","value","location","ok","createImplementation","implementation","dependencies"],"sources":["MoveRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { MoveRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel, type WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport { RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\nimport { MoveEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/MoveEntry/index.js\";\nimport { GetRedirectByIdRepository } from \"~/features/redirects/GetRedirectById/abstractions.js\";\n\nclass MoveRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private moveEntry: MoveEntryRepository.Interface,\n private getRedirectById: GetRedirectByIdRepository.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // First, validate the redirect exists\n const getResult = await this.getRedirectById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n // Update the redirect location with the new folderId\n const result = await this.moveEntry.execute(this.redirectModel, params.id, params.folderId);\n\n if (result.isFail()) {\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n const movedRedirect: WbRedirect = {\n ...getResult.value,\n location: {\n folderId: params.folderId\n }\n };\n return Result.ok(movedRedirect);\n }\n}\n\nexport const MoveRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: MoveRedirectRepositoryImpl,\n dependencies: [RedirectModel, MoveEntryRepository, GetRedirectByIdRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,sBAAsB,IAAIC,qBAAqB;AACxD,SAASC,aAAa;AACtB,SAASC,wBAAwB;AACjC,SAASC,mBAAmB,QAAQ,mEAAmE;AACvG,SAASC,yBAAyB;AAElC,MAAMC,0BAA0B,CAA4C;EACxEC,WAAWA,CACCC,aAAsC,EACtCC,SAAwC,EACxCC,eAAoD,EAC9D;IAAA,KAHUF,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,SAAwC,GAAxCA,SAAwC;IAAA,KACxCC,eAAoD,GAApDA,eAAoD;EAC7D;EAEH,MAAMC,OAAOA,CAACC,MAAoC,EAAgC;IAC9E;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACH,eAAe,CAACC,OAAO,CAACC,MAAM,CAACE,EAAE,CAAC;IAE/D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOhB,MAAM,CAACiB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;;IAEA;IACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACT,SAAS,CAACE,OAAO,CAAC,IAAI,CAACH,aAAa,EAAEI,MAAM,CAACE,EAAE,EAAEF,MAAM,CAACO,QAAQ,CAAC;IAE3F,IAAID,MAAM,CAACH,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOhB,MAAM,CAACiB,IAAI,CAAC,IAAIb,wBAAwB,CAACe,MAAM,CAACD,KAAK,CAAC,CAAC;IAClE;IAEA,MAAMG,aAAyB,GAAG;MAC9B,GAAGP,SAAS,CAACQ,KAAK;MAClBC,QAAQ,EAAE;QACNH,QAAQ,EAAEP,MAAM,CAACO;MACrB;IACJ,CAAC;IACD,OAAOpB,MAAM,CAACwB,EAAE,CAACH,aAAa,CAAC;EACnC;AACJ;AAEA,OAAO,MAAMpB,sBAAsB,GAAGC,qBAAqB,CAACuB,oBAAoB,CAAC;EAC7EC,cAAc,EAAEnB,0BAA0B;EAC1CoB,YAAY,EAAE,CAACxB,aAAa,EAAEE,mBAAmB,EAAEC,yBAAyB;AAChF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import { MoveRedirectUseCase as UseCaseAbstraction, MoveRedirectRepository } from "./abstractions.js";
|
|
3
|
+
import { GetRedirectByIdUseCase } from "../../../features/redirects/GetRedirectById/index.js";
|
|
4
|
+
declare class MoveRedirectUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
5
|
+
private eventPublisher;
|
|
6
|
+
private getRedirectById;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(eventPublisher: EventPublisherAbstraction.Interface, getRedirectById: GetRedirectByIdUseCase.Interface, repository: MoveRedirectRepository.Interface);
|
|
9
|
+
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
10
|
+
}
|
|
11
|
+
export declare const MoveRedirectUseCase: import("@webiny/di").Implementation<typeof MoveRedirectUseCaseImpl>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Result, createImplementation } from "@webiny/feature/api";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import { MoveRedirectUseCase as UseCaseAbstraction, MoveRedirectRepository } from "./abstractions.js";
|
|
4
|
+
import { RedirectBeforeMoveEvent, RedirectAfterMoveEvent } from "./events.js";
|
|
5
|
+
import { GetRedirectByIdUseCase } from "../GetRedirectById/index.js";
|
|
6
|
+
class MoveRedirectUseCaseImpl {
|
|
7
|
+
constructor(eventPublisher, getRedirectById, repository) {
|
|
8
|
+
this.eventPublisher = eventPublisher;
|
|
9
|
+
this.getRedirectById = getRedirectById;
|
|
10
|
+
this.repository = repository;
|
|
11
|
+
}
|
|
12
|
+
async execute(params) {
|
|
13
|
+
// Get the original redirect for events
|
|
14
|
+
const getResult = await this.getRedirectById.execute(params.id);
|
|
15
|
+
if (getResult.isFail()) {
|
|
16
|
+
return getResult;
|
|
17
|
+
}
|
|
18
|
+
const original = getResult.value;
|
|
19
|
+
|
|
20
|
+
// Publish before move event
|
|
21
|
+
const beforeEvent = new RedirectBeforeMoveEvent({
|
|
22
|
+
original,
|
|
23
|
+
input: params
|
|
24
|
+
});
|
|
25
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
26
|
+
|
|
27
|
+
// Execute the move operation
|
|
28
|
+
const result = await this.repository.execute(params);
|
|
29
|
+
if (result.isFail()) {
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Publish after move event
|
|
34
|
+
const afterEvent = new RedirectAfterMoveEvent({
|
|
35
|
+
original,
|
|
36
|
+
input: params,
|
|
37
|
+
redirect: result.value
|
|
38
|
+
});
|
|
39
|
+
await this.eventPublisher.publish(afterEvent);
|
|
40
|
+
return Result.ok(result.value);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export const MoveRedirectUseCase = createImplementation({
|
|
44
|
+
abstraction: UseCaseAbstraction,
|
|
45
|
+
implementation: MoveRedirectUseCaseImpl,
|
|
46
|
+
dependencies: [EventPublisher, GetRedirectByIdUseCase, MoveRedirectRepository]
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=MoveRedirectUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","createImplementation","EventPublisher","MoveRedirectUseCase","UseCaseAbstraction","MoveRedirectRepository","RedirectBeforeMoveEvent","RedirectAfterMoveEvent","GetRedirectByIdUseCase","MoveRedirectUseCaseImpl","constructor","eventPublisher","getRedirectById","repository","execute","params","getResult","id","isFail","original","value","beforeEvent","input","publish","result","afterEvent","redirect","ok","abstraction","implementation","dependencies"],"sources":["MoveRedirectUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport {\n MoveRedirectUseCase as UseCaseAbstraction,\n MoveRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeMoveEvent, RedirectAfterMoveEvent } from \"./events.js\";\nimport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/index.js\";\n\nclass MoveRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: MoveRedirectRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the original redirect for events\n const getResult = await this.getRedirectById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = getResult.value;\n\n // Publish before move event\n const beforeEvent = new RedirectBeforeMoveEvent({\n original,\n input: params\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the move operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after move event\n const afterEvent = new RedirectAfterMoveEvent({\n original,\n input: params,\n redirect: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const MoveRedirectUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: MoveRedirectUseCaseImpl,\n dependencies: [EventPublisher, GetRedirectByIdUseCase, MoveRedirectRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,qBAAqB;AAClE,SACIC,cAAc,QAEX,0CAA0C;AACjD,SACIC,mBAAmB,IAAIC,kBAAkB,EACzCC,sBAAsB;AAE1B,SAASC,uBAAuB,EAAEC,sBAAsB;AACxD,SAASC,sBAAsB;AAE/B,MAAMC,uBAAuB,CAAyC;EAClEC,WAAWA,CACCC,cAAmD,EACnDC,eAAiD,EACjDC,UAA4C,EACtD;IAAA,KAHUF,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,UAA4C,GAA5CA,UAA4C;EACrD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACE,OAAO,CAACC,MAAM,CAACE,EAAE,CAAC;IAE/D,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOF,SAAS;IACpB;IAEA,MAAMG,QAAQ,GAAGH,SAAS,CAACI,KAAK;;IAEhC;IACA,MAAMC,WAAW,GAAG,IAAIf,uBAAuB,CAAC;MAC5Ca,QAAQ;MACRG,KAAK,EAAEP;IACX,CAAC,CAAC;IAEF,MAAM,IAAI,CAACJ,cAAc,CAACY,OAAO,CAACF,WAAW,CAAC;;IAE9C;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACX,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAIS,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIlB,sBAAsB,CAAC;MAC1CY,QAAQ;MACRG,KAAK,EAAEP,MAAM;MACbW,QAAQ,EAAEF,MAAM,CAACJ;IACrB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACT,cAAc,CAACY,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAOzB,MAAM,CAAC2B,EAAE,CAACH,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMjB,mBAAmB,GAAGF,oBAAoB,CAAC;EACpD2B,WAAW,EAAExB,kBAAkB;EAC/ByB,cAAc,EAAEpB,uBAAuB;EACvCqB,YAAY,EAAE,CAAC5B,cAAc,EAAEM,sBAAsB,EAAEH,sBAAsB;AACjF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import type { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
4
|
+
import type { WbRedirect } from "../../../domain/redirect/abstractions.js";
|
|
5
|
+
import { RedirectNotFoundError, RedirectPersistenceError } from "../../../domain/redirect/errors.js";
|
|
6
|
+
export interface IMoveWbRedirectParams {
|
|
7
|
+
id: string;
|
|
8
|
+
folderId: string;
|
|
9
|
+
}
|
|
10
|
+
export interface IMoveRedirectRepository {
|
|
11
|
+
execute(params: IMoveWbRedirectParams): Promise<Result<WbRedirect, RepositoryError>>;
|
|
12
|
+
}
|
|
13
|
+
export interface IMoveRedirectRepositoryErrors {
|
|
14
|
+
notFound: RedirectNotFoundError;
|
|
15
|
+
persistence: RedirectPersistenceError;
|
|
16
|
+
}
|
|
17
|
+
type RepositoryError = IMoveRedirectRepositoryErrors[keyof IMoveRedirectRepositoryErrors];
|
|
18
|
+
export declare const MoveRedirectRepository: import("@webiny/di").Abstraction<IMoveRedirectRepository>;
|
|
19
|
+
export declare namespace MoveRedirectRepository {
|
|
20
|
+
type Interface = IMoveRedirectRepository;
|
|
21
|
+
type Params = IMoveWbRedirectParams;
|
|
22
|
+
type Return = Promise<Result<WbRedirect, RepositoryError>>;
|
|
23
|
+
type Error = RepositoryError;
|
|
24
|
+
type Redirect = WbRedirect;
|
|
25
|
+
}
|
|
26
|
+
export interface IMoveRedirectUseCase {
|
|
27
|
+
execute(params: IMoveWbRedirectParams): Promise<Result<WbRedirect, UseCaseError>>;
|
|
28
|
+
}
|
|
29
|
+
export interface IMoveRedirectUseCaseErrors {
|
|
30
|
+
notFound: RedirectNotFoundError;
|
|
31
|
+
persistence: RedirectPersistenceError;
|
|
32
|
+
}
|
|
33
|
+
type UseCaseError = IMoveRedirectUseCaseErrors[keyof IMoveRedirectUseCaseErrors];
|
|
34
|
+
export declare const MoveRedirectUseCase: import("@webiny/di").Abstraction<IMoveRedirectUseCase>;
|
|
35
|
+
export declare namespace MoveRedirectUseCase {
|
|
36
|
+
type Interface = IMoveRedirectUseCase;
|
|
37
|
+
type Params = IMoveWbRedirectParams;
|
|
38
|
+
type Return = Promise<Result<WbRedirect, UseCaseError>>;
|
|
39
|
+
type Error = UseCaseError;
|
|
40
|
+
type Redirect = WbRedirect;
|
|
41
|
+
}
|
|
42
|
+
export interface RedirectBeforeMovePayload {
|
|
43
|
+
original: WbRedirect;
|
|
44
|
+
input: IMoveWbRedirectParams;
|
|
45
|
+
}
|
|
46
|
+
export interface RedirectAfterMovePayload {
|
|
47
|
+
original: WbRedirect;
|
|
48
|
+
input: IMoveWbRedirectParams;
|
|
49
|
+
redirect: WbRedirect;
|
|
50
|
+
}
|
|
51
|
+
export declare const RedirectBeforeMoveHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectBeforeMovePayload>>>;
|
|
52
|
+
export declare namespace RedirectBeforeMoveHandler {
|
|
53
|
+
type Interface = IEventHandler<DomainEvent<RedirectBeforeMovePayload>>;
|
|
54
|
+
type Event = DomainEvent<RedirectBeforeMovePayload>;
|
|
55
|
+
type Redirect = WbRedirect;
|
|
56
|
+
}
|
|
57
|
+
export declare const RedirectAfterMoveHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectAfterMovePayload>>>;
|
|
58
|
+
export declare namespace RedirectAfterMoveHandler {
|
|
59
|
+
type Interface = IEventHandler<DomainEvent<RedirectAfterMovePayload>>;
|
|
60
|
+
type Event = DomainEvent<RedirectAfterMovePayload>;
|
|
61
|
+
type Redirect = WbRedirect;
|
|
62
|
+
}
|
|
63
|
+
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 MoveRedirectRepository = createAbstraction("Wb/MoveRedirectRepository");
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Use Case Abstraction
|
|
15
|
+
// ============================================================================
|
|
16
|
+
|
|
17
|
+
export const MoveRedirectUseCase = createAbstraction("Wb/MoveRedirectUseCase");
|
|
18
|
+
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Event Payload Types
|
|
21
|
+
// ============================================================================
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Event Handler Abstractions
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
export const RedirectBeforeMoveHandler = createAbstraction("Wb/RedirectBeforeMoveHandler");
|
|
28
|
+
export const RedirectAfterMoveHandler = createAbstraction("Wb/RedirectAfterMoveHandler");
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","MoveRedirectRepository","MoveRedirectUseCase","RedirectBeforeMoveHandler","RedirectAfterMoveHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport { RedirectNotFoundError, RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IMoveWbRedirectParams {\n id: string;\n folderId: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IMoveRedirectRepository {\n execute(params: IMoveWbRedirectParams): Promise<Result<WbRedirect, RepositoryError>>;\n}\n\nexport interface IMoveRedirectRepositoryErrors {\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IMoveRedirectRepositoryErrors[keyof IMoveRedirectRepositoryErrors];\n\nexport const MoveRedirectRepository = createAbstraction<IMoveRedirectRepository>(\n \"Wb/MoveRedirectRepository\"\n);\n\nexport namespace MoveRedirectRepository {\n export type Interface = IMoveRedirectRepository;\n export type Params = IMoveWbRedirectParams;\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 IMoveRedirectUseCase {\n execute(params: IMoveWbRedirectParams): Promise<Result<WbRedirect, UseCaseError>>;\n}\n\nexport interface IMoveRedirectUseCaseErrors {\n notFound: RedirectNotFoundError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IMoveRedirectUseCaseErrors[keyof IMoveRedirectUseCaseErrors];\n\nexport const MoveRedirectUseCase =\n createAbstraction<IMoveRedirectUseCase>(\"Wb/MoveRedirectUseCase\");\n\nexport namespace MoveRedirectUseCase {\n export type Interface = IMoveRedirectUseCase;\n export type Params = IMoveWbRedirectParams;\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 RedirectBeforeMovePayload {\n original: WbRedirect;\n input: IMoveWbRedirectParams;\n}\n\nexport interface RedirectAfterMovePayload {\n original: WbRedirect;\n input: IMoveWbRedirectParams;\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const RedirectBeforeMoveHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeMovePayload>>\n>(\"Wb/RedirectBeforeMoveHandler\");\n\nexport namespace RedirectBeforeMoveHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeMovePayload>>;\n export type Event = DomainEvent<RedirectBeforeMovePayload>;\n export type Redirect = WbRedirect;\n}\n\nexport const RedirectAfterMoveHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterMovePayload>>\n>(\"Wb/RedirectAfterMoveHandler\");\n\nexport namespace RedirectAfterMoveHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterMovePayload>>;\n export type Event = DomainEvent<RedirectAfterMovePayload>;\n export type Redirect = WbRedirect;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAMpE;AACA;AACA;;AAOA;AACA;AACA;;AAaA,OAAO,MAAMC,sBAAsB,GAAGD,iBAAiB,CACnD,2BACJ,CAAC;;AAUD;AACA;AACA;;AAaA,OAAO,MAAME,mBAAmB,GAC5BF,iBAAiB,CAAuB,wBAAwB,CAAC;;AAUrE;AACA;AACA;;AAaA;AACA;AACA;;AAEA,OAAO,MAAMG,yBAAyB,GAAGH,iBAAiB,CAExD,8BAA8B,CAAC;AAQjC,OAAO,MAAMI,wBAAwB,GAAGJ,iBAAiB,CAEvD,6BAA6B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import type { RedirectBeforeMovePayload, RedirectAfterMovePayload } from "./abstractions.js";
|
|
3
|
+
export declare class RedirectBeforeMoveEvent extends DomainEvent<RedirectBeforeMovePayload> {
|
|
4
|
+
eventType: "redirect.beforeMove";
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<RedirectBeforeMovePayload>>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class RedirectAfterMoveEvent extends DomainEvent<RedirectAfterMovePayload> {
|
|
8
|
+
eventType: "redirect.afterMove";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<RedirectAfterMovePayload>>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import { RedirectBeforeMoveHandler, RedirectAfterMoveHandler } from "./abstractions.js";
|
|
3
|
+
// RedirectBeforeMove Event
|
|
4
|
+
export class RedirectBeforeMoveEvent extends DomainEvent {
|
|
5
|
+
eventType = "redirect.beforeMove";
|
|
6
|
+
getHandlerAbstraction() {
|
|
7
|
+
return RedirectBeforeMoveHandler;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// RedirectAfterMove Event
|
|
12
|
+
export class RedirectAfterMoveEvent extends DomainEvent {
|
|
13
|
+
eventType = "redirect.afterMove";
|
|
14
|
+
getHandlerAbstraction() {
|
|
15
|
+
return RedirectAfterMoveHandler;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DomainEvent","RedirectBeforeMoveHandler","RedirectAfterMoveHandler","RedirectBeforeMoveEvent","eventType","getHandlerAbstraction","RedirectAfterMoveEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { RedirectBeforeMoveHandler, RedirectAfterMoveHandler } from \"./abstractions.js\";\nimport type { RedirectBeforeMovePayload, RedirectAfterMovePayload } from \"./abstractions.js\";\n\n// RedirectBeforeMove Event\nexport class RedirectBeforeMoveEvent extends DomainEvent<RedirectBeforeMovePayload> {\n eventType = \"redirect.beforeMove\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeMoveHandler;\n }\n}\n\n// RedirectAfterMove Event\nexport class RedirectAfterMoveEvent extends DomainEvent<RedirectAfterMovePayload> {\n eventType = \"redirect.afterMove\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterMoveHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,yBAAyB,EAAEC,wBAAwB;AAG5D;AACA,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,yBAAyB;EACpC;AACJ;;AAEA;AACA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,wBAAwB;EACnC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MoveRedirectFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { MoveRedirectRepository } from "./MoveRedirectRepository.js";
|
|
3
|
+
import { MoveRedirectUseCase } from "./MoveRedirectUseCase.js";
|
|
4
|
+
export const MoveRedirectFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/MoveRedirect",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(MoveRedirectRepository).inSingletonScope();
|
|
8
|
+
container.register(MoveRedirectUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","MoveRedirectRepository","MoveRedirectUseCase","MoveRedirectFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MoveRedirectRepository } from \"./MoveRedirectRepository.js\";\nimport { MoveRedirectUseCase } from \"./MoveRedirectUseCase.js\";\n\nexport const MoveRedirectFeature = createFeature({\n name: \"WebsiteBuilder/MoveRedirect\",\n register(container) {\n container.register(MoveRedirectRepository).inSingletonScope();\n container.register(MoveRedirectUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,mBAAmB,GAAGH,aAAa,CAAC;EAC7CI,IAAI,EAAE,6BAA6B;EACnCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,sBAAsB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC7DD,SAAS,CAACD,QAAQ,CAACH,mBAAmB,CAAC;EAC3C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { MoveRedirectWithEvents } from "./MoveRedirectWithEvents";
|
|
3
|
-
import type { OnRedirectAfterMoveTopicParams, OnRedirectBeforeMoveTopicParams, WbRedirectsStorageOperations } from "../../../context/redirects/redirects.types";
|
|
4
|
-
export interface MoveRedirectUseCasesTopics {
|
|
5
|
-
onRedirectBeforeMove: Topic<OnRedirectBeforeMoveTopicParams>;
|
|
6
|
-
onRedirectAfterMove: Topic<OnRedirectAfterMoveTopicParams>;
|
|
7
|
-
}
|
|
8
|
-
interface MoveRedirectUseCasesParams {
|
|
9
|
-
moveOperation: WbRedirectsStorageOperations["move"];
|
|
10
|
-
getOperation: WbRedirectsStorageOperations["getById"];
|
|
11
|
-
topics: MoveRedirectUseCasesTopics;
|
|
12
|
-
}
|
|
13
|
-
export declare const getMoveRedirectUseCase: (params: MoveRedirectUseCasesParams) => {
|
|
14
|
-
moveRedirectUseCase: MoveRedirectWithEvents;
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
1
|
+
export { RedirectAfterMoveHandler, RedirectBeforeMoveHandler, MoveRedirectUseCase } from "./abstractions.js";
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getMoveRedirectUseCase = void 0;
|
|
7
|
-
var _MoveRedirect = require("./MoveRedirect");
|
|
8
|
-
var _MoveRedirectWithEvents = require("./MoveRedirectWithEvents");
|
|
9
|
-
const getMoveRedirectUseCase = params => {
|
|
10
|
-
const moveRedirect = new _MoveRedirect.MoveRedirect(params.moveOperation);
|
|
11
|
-
const moveRedirectUseCase = new _MoveRedirectWithEvents.MoveRedirectWithEvents(params.topics, params.getOperation, moveRedirect);
|
|
12
|
-
return {
|
|
13
|
-
moveRedirectUseCase
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.getMoveRedirectUseCase = getMoveRedirectUseCase;
|
|
1
|
+
export { RedirectAfterMoveHandler, RedirectBeforeMoveHandler, MoveRedirectUseCase } from "./abstractions.js";
|
|
17
2
|
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["RedirectAfterMoveHandler","RedirectBeforeMoveHandler","MoveRedirectUseCase"],"sources":["index.ts"],"sourcesContent":["export {\n RedirectAfterMoveHandler,\n RedirectBeforeMoveHandler,\n MoveRedirectUseCase\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SACIA,wBAAwB,EACxBC,yBAAyB,EACzBC,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const RedirectPermissionsFeature: import("@webiny/feature/api/createFeature").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createFeature, Result } from "@webiny/feature/api";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
import { RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
4
|
+
import { CreateRedirectUseCase } from "../CreateRedirect/index.js";
|
|
5
|
+
import { UpdateRedirectUseCase } from "../UpdateRedirect/index.js";
|
|
6
|
+
import { DeleteRedirectUseCase } from "../DeleteRedirect/index.js";
|
|
7
|
+
import { GetActiveRedirectsUseCase } from "../GetActiveRedirects/index.js";
|
|
8
|
+
import { GetRedirectByIdUseCase } from "../GetRedirectById/index.js";
|
|
9
|
+
import { InvalidateRedirectsCacheUseCase } from "../InvalidateRedirectsCache/index.js";
|
|
10
|
+
import { ListRedirectsUseCase } from "../ListRedirects/index.js";
|
|
11
|
+
import { MoveRedirectUseCase } from "../MoveRedirect/index.js";
|
|
12
|
+
const createDecorator = abstraction => {
|
|
13
|
+
class PageUseCaseDecorator {
|
|
14
|
+
constructor(identityContext, decoratee) {
|
|
15
|
+
this.identityContext = identityContext;
|
|
16
|
+
this.decoratee = decoratee;
|
|
17
|
+
}
|
|
18
|
+
async execute(...args) {
|
|
19
|
+
const hasPermission = await this.identityContext.getPermission("wb.redirect");
|
|
20
|
+
if (!hasPermission) {
|
|
21
|
+
return Result.fail(new RedirectNotAuthorizedError());
|
|
22
|
+
}
|
|
23
|
+
return this.decoratee.execute(...args);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return abstraction.createDecorator({
|
|
27
|
+
decorator: PageUseCaseDecorator,
|
|
28
|
+
dependencies: [IdentityContext]
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
export const RedirectPermissionsFeature = createFeature({
|
|
32
|
+
name: "WebsiteBuilder/Redirect/Permissions",
|
|
33
|
+
register(container) {
|
|
34
|
+
container.registerDecorator(createDecorator(CreateRedirectUseCase));
|
|
35
|
+
container.registerDecorator(createDecorator(UpdateRedirectUseCase));
|
|
36
|
+
container.registerDecorator(createDecorator(DeleteRedirectUseCase));
|
|
37
|
+
container.registerDecorator(createDecorator(GetActiveRedirectsUseCase));
|
|
38
|
+
container.registerDecorator(createDecorator(GetRedirectByIdUseCase));
|
|
39
|
+
container.registerDecorator(createDecorator(InvalidateRedirectsCacheUseCase));
|
|
40
|
+
container.registerDecorator(createDecorator(ListRedirectsUseCase));
|
|
41
|
+
container.registerDecorator(createDecorator(MoveRedirectUseCase));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","Result","IdentityContext","RedirectNotAuthorizedError","CreateRedirectUseCase","UpdateRedirectUseCase","DeleteRedirectUseCase","GetActiveRedirectsUseCase","GetRedirectByIdUseCase","InvalidateRedirectsCacheUseCase","ListRedirectsUseCase","MoveRedirectUseCase","createDecorator","abstraction","PageUseCaseDecorator","constructor","identityContext","decoratee","execute","args","hasPermission","getPermission","fail","decorator","dependencies","RedirectPermissionsFeature","name","register","container","registerDecorator"],"sources":["feature.ts"],"sourcesContent":["import { Abstraction } from \"@webiny/di\";\nimport { createFeature, Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\nimport { CreateRedirectUseCase } from \"~/features/redirects/CreateRedirect/index.js\";\nimport { UpdateRedirectUseCase } from \"~/features/redirects/UpdateRedirect/index.js\";\nimport { DeleteRedirectUseCase } from \"~/features/redirects/DeleteRedirect/index.js\";\nimport { GetActiveRedirectsUseCase } from \"~/features/redirects/GetActiveRedirects/index.js\";\nimport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/index.js\";\nimport { InvalidateRedirectsCacheUseCase } from \"~/features/redirects/InvalidateRedirectsCache/index.js\";\nimport { ListRedirectsUseCase } from \"~/features/redirects/ListRedirects/index.js\";\nimport { MoveRedirectUseCase } from \"~/features/redirects/MoveRedirect/index.js\";\n\nconst createDecorator = (abstraction: Abstraction<any>) => {\n class PageUseCaseDecorator {\n constructor(\n private identityContext: IdentityContext.Interface,\n private decoratee: any\n ) {}\n\n async execute(...args: any[]) {\n const hasPermission = await this.identityContext.getPermission(\"wb.redirect\");\n\n if (!hasPermission) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n return this.decoratee.execute(...args);\n }\n }\n\n return abstraction.createDecorator({\n decorator: PageUseCaseDecorator,\n dependencies: [IdentityContext]\n });\n};\n\nexport const RedirectPermissionsFeature = createFeature({\n name: \"WebsiteBuilder/Redirect/Permissions\",\n register(container) {\n container.registerDecorator(createDecorator(CreateRedirectUseCase));\n container.registerDecorator(createDecorator(UpdateRedirectUseCase));\n container.registerDecorator(createDecorator(DeleteRedirectUseCase));\n container.registerDecorator(createDecorator(GetActiveRedirectsUseCase));\n container.registerDecorator(createDecorator(GetRedirectByIdUseCase));\n container.registerDecorator(createDecorator(InvalidateRedirectsCacheUseCase));\n container.registerDecorator(createDecorator(ListRedirectsUseCase));\n container.registerDecorator(createDecorator(MoveRedirectUseCase));\n }\n});\n"],"mappings":"AACA,SAASA,aAAa,EAAEC,MAAM,QAAQ,qBAAqB;AAC3D,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,0BAA0B;AACnC,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,yBAAyB;AAClC,SAASC,sBAAsB;AAC/B,SAASC,+BAA+B;AACxC,SAASC,oBAAoB;AAC7B,SAASC,mBAAmB;AAE5B,MAAMC,eAAe,GAAIC,WAA6B,IAAK;EACvD,MAAMC,oBAAoB,CAAC;IACvBC,WAAWA,CACCC,eAA0C,EAC1CC,SAAc,EACxB;MAAA,KAFUD,eAA0C,GAA1CA,eAA0C;MAAA,KAC1CC,SAAc,GAAdA,SAAc;IACvB;IAEH,MAAMC,OAAOA,CAAC,GAAGC,IAAW,EAAE;MAC1B,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACJ,eAAe,CAACK,aAAa,CAAC,aAAa,CAAC;MAE7E,IAAI,CAACD,aAAa,EAAE;QAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAInB,0BAA0B,CAAC,CAAC,CAAC;MACxD;MAEA,OAAO,IAAI,CAACc,SAAS,CAACC,OAAO,CAAC,GAAGC,IAAI,CAAC;IAC1C;EACJ;EAEA,OAAON,WAAW,CAACD,eAAe,CAAC;IAC/BW,SAAS,EAAET,oBAAoB;IAC/BU,YAAY,EAAE,CAACtB,eAAe;EAClC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMuB,0BAA0B,GAAGzB,aAAa,CAAC;EACpD0B,IAAI,EAAE,qCAAqC;EAC3CC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACR,qBAAqB,CAAC,CAAC;IACnEwB,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACP,qBAAqB,CAAC,CAAC;IACnEuB,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACN,qBAAqB,CAAC,CAAC;IACnEsB,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACL,yBAAyB,CAAC,CAAC;IACvEqB,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACJ,sBAAsB,CAAC,CAAC;IACpEoB,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACH,+BAA+B,CAAC,CAAC;IAC7EmB,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACF,oBAAoB,CAAC,CAAC;IAClEkB,SAAS,CAACC,iBAAiB,CAACjB,eAAe,CAACD,mBAAmB,CAAC,CAAC;EACrE;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry";
|
|
2
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
3
|
+
import { UpdateRedirectRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
4
|
+
import { RedirectModel } from "../../../domain/redirect/abstractions.js";
|
|
5
|
+
declare class UpdateRedirectRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
6
|
+
private redirectModel;
|
|
7
|
+
private updateEntry;
|
|
8
|
+
private getEntryById;
|
|
9
|
+
constructor(redirectModel: RedirectModel.Interface, updateEntry: UpdateEntryUseCase.Interface, getEntryById: GetEntryByIdUseCase.Interface);
|
|
10
|
+
execute(id: string, data: RepositoryAbstraction.UpdateData): RepositoryAbstraction.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const UpdateRedirectRepository: typeof UpdateRedirectRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateRedirectRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry";
|
|
3
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
4
|
+
import { UpdateRedirectRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
5
|
+
import { RedirectModel } from "../../../domain/redirect/abstractions.js";
|
|
6
|
+
import { RedirectValidationError, RedirectNotFoundError, RedirectPersistenceError } from "../../../domain/redirect/errors.js";
|
|
7
|
+
import { EntryToRedirectMapper } from "../../../domain/redirect/EntryToRedirectMapper.js";
|
|
8
|
+
class UpdateRedirectRepositoryImpl {
|
|
9
|
+
constructor(redirectModel, updateEntry, getEntryById) {
|
|
10
|
+
this.redirectModel = redirectModel;
|
|
11
|
+
this.updateEntry = updateEntry;
|
|
12
|
+
this.getEntryById = getEntryById;
|
|
13
|
+
}
|
|
14
|
+
async execute(id, data) {
|
|
15
|
+
// First, validate the redirect exists
|
|
16
|
+
const getResult = await this.getEntryById.execute(this.redirectModel, id);
|
|
17
|
+
if (getResult.isFail()) {
|
|
18
|
+
if (getResult.error.code === "Cms/Entry/NotFound") {
|
|
19
|
+
return Result.fail(new RedirectNotFoundError(id));
|
|
20
|
+
}
|
|
21
|
+
return Result.fail(new RedirectPersistenceError(getResult.error));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Update the entry
|
|
25
|
+
const result = await this.updateEntry.execute(this.redirectModel, id, {
|
|
26
|
+
location: data.location,
|
|
27
|
+
values: data
|
|
28
|
+
});
|
|
29
|
+
if (result.isFail()) {
|
|
30
|
+
if (result.error.code === "Cms/Entry/ValidationError") {
|
|
31
|
+
return Result.fail(new RedirectValidationError(result.error.message));
|
|
32
|
+
}
|
|
33
|
+
if (result.error.code === "Cms/Entry/NotFound") {
|
|
34
|
+
return Result.fail(new RedirectNotFoundError(id));
|
|
35
|
+
}
|
|
36
|
+
return Result.fail(new RedirectPersistenceError(result.error));
|
|
37
|
+
}
|
|
38
|
+
const redirect = EntryToRedirectMapper.toRedirect(result.value);
|
|
39
|
+
return Result.ok(redirect);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export const UpdateRedirectRepository = RepositoryAbstraction.createImplementation({
|
|
43
|
+
implementation: UpdateRedirectRepositoryImpl,
|
|
44
|
+
dependencies: [RedirectModel, UpdateEntryUseCase, GetEntryByIdUseCase]
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=UpdateRedirectRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","UpdateEntryUseCase","GetEntryByIdUseCase","UpdateRedirectRepository","RepositoryAbstraction","RedirectModel","RedirectValidationError","RedirectNotFoundError","RedirectPersistenceError","EntryToRedirectMapper","UpdateRedirectRepositoryImpl","constructor","redirectModel","updateEntry","getEntryById","execute","id","data","getResult","isFail","error","code","fail","result","location","values","message","redirect","toRedirect","value","ok","createImplementation","implementation","dependencies"],"sources":["UpdateRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { UpdateRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectValidationError,\n RedirectNotFoundError,\n RedirectPersistenceError\n} from \"~/domain/redirect/errors.js\";\nimport { EntryToRedirectMapper } from \"~/domain/redirect/EntryToRedirectMapper.js\";\n\nclass UpdateRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private updateEntry: UpdateEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface\n ) {}\n\n async execute(\n id: string,\n data: RepositoryAbstraction.UpdateData\n ): RepositoryAbstraction.Return {\n // First, validate the redirect exists\n const getResult = await this.getEntryById.execute(this.redirectModel, id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(id));\n }\n return Result.fail(new RedirectPersistenceError(getResult.error));\n }\n\n // Update the entry\n const result = await this.updateEntry.execute(this.redirectModel, id, {\n location: data.location,\n values: data\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/ValidationError\") {\n return Result.fail(new RedirectValidationError(result.error.message));\n }\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new RedirectNotFoundError(id));\n }\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n const redirect = EntryToRedirectMapper.toRedirect(result.value);\n return Result.ok(redirect);\n }\n}\n\nexport const UpdateRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateRedirectRepositoryImpl,\n dependencies: [RedirectModel, UpdateEntryUseCase, GetEntryByIdUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,QAAQ,4DAA4D;AAC/F,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,wBAAwB,IAAIC,qBAAqB;AAC1D,SAASC,aAAa;AACtB,SACIC,uBAAuB,EACvBC,qBAAqB,EACrBC,wBAAwB;AAE5B,SAASC,qBAAqB;AAE9B,MAAMC,4BAA4B,CAA4C;EAC1EC,WAAWA,CACCC,aAAsC,EACtCC,WAAyC,EACzCC,YAA2C,EACrD;IAAA,KAHUF,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,YAA2C,GAA3CA,YAA2C;EACpD;EAEH,MAAMC,OAAOA,CACTC,EAAU,EACVC,IAAsC,EACV;IAC5B;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAAC,IAAI,CAACH,aAAa,EAAEI,EAAE,CAAC;IAEzE,IAAIE,SAAS,CAACC,MAAM,CAAC,CAAC,EAAE;MACpB,IAAID,SAAS,CAACE,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC/C,OAAOrB,MAAM,CAACsB,IAAI,CAAC,IAAIf,qBAAqB,CAACS,EAAE,CAAC,CAAC;MACrD;MACA,OAAOhB,MAAM,CAACsB,IAAI,CAAC,IAAId,wBAAwB,CAACU,SAAS,CAACE,KAAK,CAAC,CAAC;IACrE;;IAEA;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACV,WAAW,CAACE,OAAO,CAAC,IAAI,CAACH,aAAa,EAAEI,EAAE,EAAE;MAClEQ,QAAQ,EAAEP,IAAI,CAACO,QAAQ;MACvBC,MAAM,EAAER;IACZ,CAAC,CAAC;IAEF,IAAIM,MAAM,CAACJ,MAAM,CAAC,CAAC,EAAE;MACjB,IAAII,MAAM,CAACH,KAAK,CAACC,IAAI,KAAK,2BAA2B,EAAE;QACnD,OAAOrB,MAAM,CAACsB,IAAI,CAAC,IAAIhB,uBAAuB,CAACiB,MAAM,CAACH,KAAK,CAACM,OAAO,CAAC,CAAC;MACzE;MACA,IAAIH,MAAM,CAACH,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QAC5C,OAAOrB,MAAM,CAACsB,IAAI,CAAC,IAAIf,qBAAqB,CAACS,EAAE,CAAC,CAAC;MACrD;MACA,OAAOhB,MAAM,CAACsB,IAAI,CAAC,IAAId,wBAAwB,CAACe,MAAM,CAACH,KAAK,CAAC,CAAC;IAClE;IAEA,MAAMO,QAAQ,GAAGlB,qBAAqB,CAACmB,UAAU,CAACL,MAAM,CAACM,KAAK,CAAC;IAC/D,OAAO7B,MAAM,CAAC8B,EAAE,CAACH,QAAQ,CAAC;EAC9B;AACJ;AAEA,OAAO,MAAMxB,wBAAwB,GAAGC,qBAAqB,CAAC2B,oBAAoB,CAAC;EAC/EC,cAAc,EAAEtB,4BAA4B;EAC5CuB,YAAY,EAAE,CAAC5B,aAAa,EAAEJ,kBAAkB,EAAEC,mBAAmB;AACzE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import { UpdateRedirectUseCase as UseCaseAbstraction, UpdateRedirectRepository } from "./abstractions.js";
|
|
3
|
+
import { GetRedirectByIdUseCase } from "../../../features/redirects/GetRedirectById/index.js";
|
|
4
|
+
declare class UpdateRedirectUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
5
|
+
private eventPublisher;
|
|
6
|
+
private getRedirectById;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(eventPublisher: EventPublisherAbstraction.Interface, getRedirectById: GetRedirectByIdUseCase.Interface, repository: UpdateRedirectRepository.Interface);
|
|
9
|
+
execute(id: string, data: UseCaseAbstraction.UpdateData): UseCaseAbstraction.Return;
|
|
10
|
+
}
|
|
11
|
+
export declare const UpdateRedirectUseCase: typeof UpdateRedirectUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateRedirectUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import { UpdateRedirectUseCase as UseCaseAbstraction, UpdateRedirectRepository } from "./abstractions.js";
|
|
4
|
+
import { RedirectBeforeUpdateEvent, RedirectAfterUpdateEvent } from "./events.js";
|
|
5
|
+
import { GetRedirectByIdUseCase } from "../GetRedirectById/index.js";
|
|
6
|
+
class UpdateRedirectUseCaseImpl {
|
|
7
|
+
constructor(eventPublisher, getRedirectById, repository) {
|
|
8
|
+
this.eventPublisher = eventPublisher;
|
|
9
|
+
this.getRedirectById = getRedirectById;
|
|
10
|
+
this.repository = repository;
|
|
11
|
+
}
|
|
12
|
+
async execute(id, data) {
|
|
13
|
+
// Get the original redirect for events
|
|
14
|
+
const getResult = await this.getRedirectById.execute(id);
|
|
15
|
+
if (getResult.isFail()) {
|
|
16
|
+
return getResult;
|
|
17
|
+
}
|
|
18
|
+
const original = getResult.value;
|
|
19
|
+
|
|
20
|
+
// Publish before update event
|
|
21
|
+
const beforeEvent = new RedirectBeforeUpdateEvent({
|
|
22
|
+
original,
|
|
23
|
+
input: {
|
|
24
|
+
id,
|
|
25
|
+
data
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
29
|
+
|
|
30
|
+
// Execute the update operation
|
|
31
|
+
const result = await this.repository.execute(id, data);
|
|
32
|
+
if (result.isFail()) {
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Publish after update event
|
|
37
|
+
const afterEvent = new RedirectAfterUpdateEvent({
|
|
38
|
+
original,
|
|
39
|
+
input: {
|
|
40
|
+
id,
|
|
41
|
+
data
|
|
42
|
+
},
|
|
43
|
+
redirect: result.value
|
|
44
|
+
});
|
|
45
|
+
await this.eventPublisher.publish(afterEvent);
|
|
46
|
+
return Result.ok(result.value);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export const UpdateRedirectUseCase = UseCaseAbstraction.createImplementation({
|
|
50
|
+
implementation: UpdateRedirectUseCaseImpl,
|
|
51
|
+
dependencies: [EventPublisher, GetRedirectByIdUseCase, UpdateRedirectRepository]
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=UpdateRedirectUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","EventPublisher","UpdateRedirectUseCase","UseCaseAbstraction","UpdateRedirectRepository","RedirectBeforeUpdateEvent","RedirectAfterUpdateEvent","GetRedirectByIdUseCase","UpdateRedirectUseCaseImpl","constructor","eventPublisher","getRedirectById","repository","execute","id","data","getResult","isFail","original","value","beforeEvent","input","publish","result","afterEvent","redirect","ok","createImplementation","implementation","dependencies"],"sources":["UpdateRedirectUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport {\n UpdateRedirectUseCase as UseCaseAbstraction,\n UpdateRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeUpdateEvent, RedirectAfterUpdateEvent } from \"./events.js\";\nimport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/index.js\";\n\nclass UpdateRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: UpdateRedirectRepository.Interface\n ) {}\n\n async execute(id: string, data: UseCaseAbstraction.UpdateData): UseCaseAbstraction.Return {\n // Get the original redirect for events\n const getResult = await this.getRedirectById.execute(id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const original = getResult.value;\n\n // Publish before update event\n const beforeEvent = new RedirectBeforeUpdateEvent({\n original,\n input: { id, data }\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the update operation\n const result = await this.repository.execute(id, data);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after update event\n const afterEvent = new RedirectAfterUpdateEvent({\n original,\n input: { id, data },\n redirect: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const UpdateRedirectUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateRedirectUseCaseImpl,\n dependencies: [EventPublisher, GetRedirectByIdUseCase, UpdateRedirectRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,cAAc,QAEX,0CAA0C;AACjD,SACIC,qBAAqB,IAAIC,kBAAkB,EAC3CC,wBAAwB;AAE5B,SAASC,yBAAyB,EAAEC,wBAAwB;AAC5D,SAASC,sBAAsB;AAE/B,MAAMC,yBAAyB,CAAyC;EACpEC,WAAWA,CACCC,cAAmD,EACnDC,eAAiD,EACjDC,UAA8C,EACxD;IAAA,KAHUF,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,EAAU,EAAEC,IAAmC,EAA6B;IACtF;IACA,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACL,eAAe,CAACE,OAAO,CAACC,EAAE,CAAC;IAExD,IAAIE,SAAS,CAACC,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOD,SAAS;IACpB;IAEA,MAAME,QAAQ,GAAGF,SAAS,CAACG,KAAK;;IAEhC;IACA,MAAMC,WAAW,GAAG,IAAIf,yBAAyB,CAAC;MAC9Ca,QAAQ;MACRG,KAAK,EAAE;QAAEP,EAAE;QAAEC;MAAK;IACtB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACL,cAAc,CAACY,OAAO,CAACF,WAAW,CAAC;;IAE9C;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACX,UAAU,CAACC,OAAO,CAACC,EAAE,EAAEC,IAAI,CAAC;IAEtD,IAAIQ,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIlB,wBAAwB,CAAC;MAC5CY,QAAQ;MACRG,KAAK,EAAE;QAAEP,EAAE;QAAEC;MAAK,CAAC;MACnBU,QAAQ,EAAEF,MAAM,CAACJ;IACrB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACT,cAAc,CAACY,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAOxB,MAAM,CAAC0B,EAAE,CAACH,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMjB,qBAAqB,GAAGC,kBAAkB,CAACwB,oBAAoB,CAAC;EACzEC,cAAc,EAAEpB,yBAAyB;EACzCqB,YAAY,EAAE,CAAC5B,cAAc,EAAEM,sBAAsB,EAAEH,wBAAwB;AACnF,CAAC,CAAC","ignoreList":[]}
|