@webiny/api-website-builder 6.0.0-alpha.5 → 6.0.0-rc.1
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/permissions.d.ts +133 -0
- package/domain/permissions.js +35 -0
- package/domain/permissions.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 +20 -0
- package/features/installer/ApiKeyInstaller.js +44 -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 +14 -0
- package/features/pages/CreatePage/CreatePageUseCase.js +45 -0
- package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -0
- package/features/pages/CreatePage/abstractions.d.ts +56 -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 +16 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +53 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +61 -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 +16 -0
- package/features/pages/DeletePage/DeletePageUseCase.js +52 -0
- package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -0
- package/features/pages/DeletePage/abstractions.d.ts +58 -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 +14 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js +55 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -0
- package/features/pages/DuplicatePage/abstractions.d.ts +62 -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 +12 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js +31 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -0
- package/features/pages/GetPageById/abstractions.d.ts +40 -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 +12 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js +31 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -0
- package/features/pages/GetPageByPath/abstractions.d.ts +40 -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 +12 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +34 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -0
- package/features/pages/GetPageRevisions/abstractions.d.ts +38 -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 +14 -0
- package/features/pages/ListPages/ListPagesUseCase.js +35 -0
- package/features/pages/ListPages/ListPagesUseCase.js.map +1 -0
- package/features/pages/ListPages/abstractions.d.ts +56 -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 +14 -0
- package/features/pages/MovePage/MovePageUseCase.js +61 -0
- package/features/pages/MovePage/MovePageUseCase.js.map +1 -0
- package/features/pages/MovePage/abstractions.d.ts +63 -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/PublishPage/PublishPageRepository.d.ts +15 -0
- package/features/pages/PublishPage/PublishPageRepository.js +41 -0
- package/features/pages/PublishPage/PublishPageRepository.js.map +1 -0
- package/features/pages/PublishPage/PublishPageUseCase.d.ts +14 -0
- package/features/pages/PublishPage/PublishPageUseCase.js +58 -0
- package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -0
- package/features/pages/PublishPage/abstractions.d.ts +59 -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 +16 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js +57 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -0
- package/features/pages/UnpublishPage/abstractions.d.ts +59 -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 +16 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js +66 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -0
- package/features/pages/UpdatePage/abstractions.d.ts +77 -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 +12 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +45 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -0
- package/features/redirects/CreateRedirect/abstractions.d.ts +58 -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 +14 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +53 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -0
- package/features/redirects/DeleteRedirect/abstractions.d.ts +58 -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 +10 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +24 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -0
- package/features/redirects/GetActiveRedirects/abstractions.d.ts +39 -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 +10 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +32 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -0
- package/features/redirects/GetRedirectById/abstractions.d.ts +41 -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 +12 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js +36 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -0
- package/features/redirects/ListRedirects/abstractions.d.ts +69 -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 +14 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +61 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -0
- package/features/redirects/MoveRedirect/abstractions.d.ts +64 -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/UpdateRedirect/UpdateRedirectRepository.d.ts +15 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +47 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +16 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +66 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -0
- package/features/redirects/UpdateRedirect/abstractions.d.ts +76 -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 +24 -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 -15
- package/context/WebsiteBuilder.js +0 -65
- 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,64 @@
|
|
|
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, RedirectNotAuthorizedError } 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
|
+
notAuthorized: RedirectNotAuthorizedError;
|
|
31
|
+
notFound: RedirectNotFoundError;
|
|
32
|
+
persistence: RedirectPersistenceError;
|
|
33
|
+
}
|
|
34
|
+
type UseCaseError = IMoveRedirectUseCaseErrors[keyof IMoveRedirectUseCaseErrors];
|
|
35
|
+
export declare const MoveRedirectUseCase: import("@webiny/di").Abstraction<IMoveRedirectUseCase>;
|
|
36
|
+
export declare namespace MoveRedirectUseCase {
|
|
37
|
+
type Interface = IMoveRedirectUseCase;
|
|
38
|
+
type Params = IMoveWbRedirectParams;
|
|
39
|
+
type Return = Promise<Result<WbRedirect, UseCaseError>>;
|
|
40
|
+
type Error = UseCaseError;
|
|
41
|
+
type Redirect = WbRedirect;
|
|
42
|
+
}
|
|
43
|
+
export interface RedirectBeforeMovePayload {
|
|
44
|
+
original: WbRedirect;
|
|
45
|
+
input: IMoveWbRedirectParams;
|
|
46
|
+
}
|
|
47
|
+
export interface RedirectAfterMovePayload {
|
|
48
|
+
original: WbRedirect;
|
|
49
|
+
input: IMoveWbRedirectParams;
|
|
50
|
+
redirect: WbRedirect;
|
|
51
|
+
}
|
|
52
|
+
export declare const RedirectBeforeMoveHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectBeforeMovePayload>>>;
|
|
53
|
+
export declare namespace RedirectBeforeMoveHandler {
|
|
54
|
+
type Interface = IEventHandler<DomainEvent<RedirectBeforeMovePayload>>;
|
|
55
|
+
type Event = DomainEvent<RedirectBeforeMovePayload>;
|
|
56
|
+
type Redirect = WbRedirect;
|
|
57
|
+
}
|
|
58
|
+
export declare const RedirectAfterMoveHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectAfterMovePayload>>>;
|
|
59
|
+
export declare namespace RedirectAfterMoveHandler {
|
|
60
|
+
type Interface = IEventHandler<DomainEvent<RedirectAfterMovePayload>>;
|
|
61
|
+
type Event = DomainEvent<RedirectAfterMovePayload>;
|
|
62
|
+
type Redirect = WbRedirect;
|
|
63
|
+
}
|
|
64
|
+
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 {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} 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 notAuthorized: RedirectNotAuthorizedError;\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;;AAUpE;AACA;AACA;;AAOA;AACA;AACA;;AAaA,OAAO,MAAMC,sBAAsB,GAAGD,iBAAiB,CACnD,2BACJ,CAAC;;AAUD;AACA;AACA;;AAcA,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,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,16 @@
|
|
|
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
|
+
import { WbPermissions } from "../../../domain/permissions.js";
|
|
5
|
+
declare class UpdateRedirectUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
7
|
+
private eventPublisher;
|
|
8
|
+
private getRedirectById;
|
|
9
|
+
private repository;
|
|
10
|
+
constructor(permissions: WbPermissions.Interface, eventPublisher: EventPublisherAbstraction.Interface, getRedirectById: GetRedirectByIdUseCase.Interface, repository: UpdateRedirectRepository.Interface);
|
|
11
|
+
execute(id: string, data: UseCaseAbstraction.UpdateData): UseCaseAbstraction.Return;
|
|
12
|
+
}
|
|
13
|
+
export declare const UpdateRedirectUseCase: typeof UpdateRedirectUseCaseImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateRedirectUseCase>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
import { WbPermissions } from "../../../domain/permissions.js";
|
|
7
|
+
import { RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
8
|
+
class UpdateRedirectUseCaseImpl {
|
|
9
|
+
constructor(permissions, eventPublisher, getRedirectById, repository) {
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.getRedirectById = getRedirectById;
|
|
13
|
+
this.repository = repository;
|
|
14
|
+
}
|
|
15
|
+
async execute(id, data) {
|
|
16
|
+
const hasPermission = await this.permissions.canEdit("redirect");
|
|
17
|
+
if (!hasPermission) {
|
|
18
|
+
return Result.fail(new RedirectNotAuthorizedError());
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Get the original redirect for events
|
|
22
|
+
const getResult = await this.getRedirectById.execute(id);
|
|
23
|
+
if (getResult.isFail()) {
|
|
24
|
+
return getResult;
|
|
25
|
+
}
|
|
26
|
+
const original = getResult.value;
|
|
27
|
+
const canEdit = await this.permissions.canEdit("redirect", original);
|
|
28
|
+
if (!canEdit) {
|
|
29
|
+
return Result.fail(new RedirectNotAuthorizedError());
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Publish before update event
|
|
33
|
+
const beforeEvent = new RedirectBeforeUpdateEvent({
|
|
34
|
+
original,
|
|
35
|
+
input: {
|
|
36
|
+
id,
|
|
37
|
+
data
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
41
|
+
|
|
42
|
+
// Execute the update operation
|
|
43
|
+
const result = await this.repository.execute(id, data);
|
|
44
|
+
if (result.isFail()) {
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Publish after update event
|
|
49
|
+
const afterEvent = new RedirectAfterUpdateEvent({
|
|
50
|
+
original,
|
|
51
|
+
input: {
|
|
52
|
+
id,
|
|
53
|
+
data
|
|
54
|
+
},
|
|
55
|
+
redirect: result.value
|
|
56
|
+
});
|
|
57
|
+
await this.eventPublisher.publish(afterEvent);
|
|
58
|
+
return Result.ok(result.value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export const UpdateRedirectUseCase = UseCaseAbstraction.createImplementation({
|
|
62
|
+
implementation: UpdateRedirectUseCaseImpl,
|
|
63
|
+
dependencies: [WbPermissions.Abstraction, EventPublisher, GetRedirectByIdUseCase, UpdateRedirectRepository]
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=UpdateRedirectUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","EventPublisher","UpdateRedirectUseCase","UseCaseAbstraction","UpdateRedirectRepository","RedirectBeforeUpdateEvent","RedirectAfterUpdateEvent","GetRedirectByIdUseCase","WbPermissions","RedirectNotAuthorizedError","UpdateRedirectUseCaseImpl","constructor","permissions","eventPublisher","getRedirectById","repository","execute","id","data","hasPermission","canEdit","fail","getResult","isFail","original","value","beforeEvent","input","publish","result","afterEvent","redirect","ok","createImplementation","implementation","dependencies","Abstraction"],"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\";\nimport { WbPermissions } from \"~/domain/permissions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\n\nclass UpdateRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\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 const hasPermission = await this.permissions.canEdit(\"redirect\");\n if (!hasPermission) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\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 const canEdit = await this.permissions.canEdit(\"redirect\", original);\n if (!canEdit) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\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: [\n WbPermissions.Abstraction,\n EventPublisher,\n GetRedirectByIdUseCase,\n UpdateRedirectRepository\n ]\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;AAC/B,SAASC,aAAa;AACtB,SAASC,0BAA0B;AAEnC,MAAMC,yBAAyB,CAAyC;EACpEC,WAAWA,CACCC,WAAoC,EACpCC,cAAmD,EACnDC,eAAiD,EACjDC,UAA8C,EACxD;IAAA,KAJUH,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,EAAU,EAAEC,IAAmC,EAA6B;IACtF,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACP,WAAW,CAACQ,OAAO,CAAC,UAAU,CAAC;IAChE,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOnB,MAAM,CAACqB,IAAI,CAAC,IAAIZ,0BAA0B,CAAC,CAAC,CAAC;IACxD;;IAEA;IACA,MAAMa,SAAS,GAAG,MAAM,IAAI,CAACR,eAAe,CAACE,OAAO,CAACC,EAAE,CAAC;IAExD,IAAIK,SAAS,CAACC,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOD,SAAS;IACpB;IAEA,MAAME,QAAQ,GAAGF,SAAS,CAACG,KAAK;IAEhC,MAAML,OAAO,GAAG,MAAM,IAAI,CAACR,WAAW,CAACQ,OAAO,CAAC,UAAU,EAAEI,QAAQ,CAAC;IACpE,IAAI,CAACJ,OAAO,EAAE;MACV,OAAOpB,MAAM,CAACqB,IAAI,CAAC,IAAIZ,0BAA0B,CAAC,CAAC,CAAC;IACxD;;IAEA;IACA,MAAMiB,WAAW,GAAG,IAAIrB,yBAAyB,CAAC;MAC9CmB,QAAQ;MACRG,KAAK,EAAE;QAAEV,EAAE;QAAEC;MAAK;IACtB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACL,cAAc,CAACe,OAAO,CAACF,WAAW,CAAC;;IAE9C;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,EAAE,EAAEC,IAAI,CAAC;IAEtD,IAAIW,MAAM,CAACN,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOM,MAAM;IACjB;;IAEA;IACA,MAAMC,UAAU,GAAG,IAAIxB,wBAAwB,CAAC;MAC5CkB,QAAQ;MACRG,KAAK,EAAE;QAAEV,EAAE;QAAEC;MAAK,CAAC;MACnBa,QAAQ,EAAEF,MAAM,CAACJ;IACrB,CAAC,CAAC;IAEF,MAAM,IAAI,CAACZ,cAAc,CAACe,OAAO,CAACE,UAAU,CAAC;IAE7C,OAAO9B,MAAM,CAACgC,EAAE,CAACH,MAAM,CAACJ,KAAK,CAAC;EAClC;AACJ;AAEA,OAAO,MAAMvB,qBAAqB,GAAGC,kBAAkB,CAAC8B,oBAAoB,CAAC;EACzEC,cAAc,EAAExB,yBAAyB;EACzCyB,YAAY,EAAE,CACV3B,aAAa,CAAC4B,WAAW,EACzBnC,cAAc,EACdM,sBAAsB,EACtBH,wBAAwB;AAEhC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
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 type { WbLocation } from "../../../domain/shared/abstractions.js";
|
|
6
|
+
import { RedirectNotFoundError, RedirectPersistenceError, RedirectValidationError, RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
7
|
+
export interface IUpdateWbRedirectData {
|
|
8
|
+
location?: WbLocation;
|
|
9
|
+
redirectFrom?: string;
|
|
10
|
+
redirectTo?: string;
|
|
11
|
+
redirectType?: string;
|
|
12
|
+
isEnabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface IUpdateRedirectRepository {
|
|
15
|
+
execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, RepositoryError>>;
|
|
16
|
+
}
|
|
17
|
+
export interface IUpdateRedirectRepositoryErrors {
|
|
18
|
+
notFound: RedirectNotFoundError;
|
|
19
|
+
validation: RedirectValidationError;
|
|
20
|
+
persistence: RedirectPersistenceError;
|
|
21
|
+
}
|
|
22
|
+
type RepositoryError = IUpdateRedirectRepositoryErrors[keyof IUpdateRedirectRepositoryErrors];
|
|
23
|
+
export declare const UpdateRedirectRepository: import("@webiny/di").Abstraction<IUpdateRedirectRepository>;
|
|
24
|
+
export declare namespace UpdateRedirectRepository {
|
|
25
|
+
type Interface = IUpdateRedirectRepository;
|
|
26
|
+
type UpdateData = IUpdateWbRedirectData;
|
|
27
|
+
type Return = Promise<Result<WbRedirect, RepositoryError>>;
|
|
28
|
+
type Error = RepositoryError;
|
|
29
|
+
type Redirect = WbRedirect;
|
|
30
|
+
}
|
|
31
|
+
export interface IUpdateRedirectUseCase {
|
|
32
|
+
execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, UseCaseError>>;
|
|
33
|
+
}
|
|
34
|
+
export interface IUpdateRedirectUseCaseErrors {
|
|
35
|
+
notAuthorized: RedirectNotAuthorizedError;
|
|
36
|
+
notFound: RedirectNotFoundError;
|
|
37
|
+
validation: RedirectValidationError;
|
|
38
|
+
persistence: RedirectPersistenceError;
|
|
39
|
+
}
|
|
40
|
+
type UseCaseError = IUpdateRedirectUseCaseErrors[keyof IUpdateRedirectUseCaseErrors];
|
|
41
|
+
export declare const UpdateRedirectUseCase: import("@webiny/di").Abstraction<IUpdateRedirectUseCase>;
|
|
42
|
+
export declare namespace UpdateRedirectUseCase {
|
|
43
|
+
type Interface = IUpdateRedirectUseCase;
|
|
44
|
+
type UpdateData = IUpdateWbRedirectData;
|
|
45
|
+
type Return = Promise<Result<WbRedirect, UseCaseError>>;
|
|
46
|
+
type Error = UseCaseError;
|
|
47
|
+
type Redirect = WbRedirect;
|
|
48
|
+
}
|
|
49
|
+
export interface RedirectBeforeUpdatePayload {
|
|
50
|
+
original: WbRedirect;
|
|
51
|
+
input: {
|
|
52
|
+
id: string;
|
|
53
|
+
data: IUpdateWbRedirectData;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export interface RedirectAfterUpdatePayload {
|
|
57
|
+
original: WbRedirect;
|
|
58
|
+
input: {
|
|
59
|
+
id: string;
|
|
60
|
+
data: IUpdateWbRedirectData;
|
|
61
|
+
};
|
|
62
|
+
redirect: WbRedirect;
|
|
63
|
+
}
|
|
64
|
+
export declare const RedirectBeforeUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>>;
|
|
65
|
+
export declare namespace RedirectBeforeUpdateHandler {
|
|
66
|
+
type Interface = IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>;
|
|
67
|
+
type Event = DomainEvent<RedirectBeforeUpdatePayload>;
|
|
68
|
+
type Redirect = WbRedirect;
|
|
69
|
+
}
|
|
70
|
+
export declare const RedirectAfterUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>>;
|
|
71
|
+
export declare namespace RedirectAfterUpdateHandler {
|
|
72
|
+
type Interface = IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>;
|
|
73
|
+
type Event = DomainEvent<RedirectAfterUpdatePayload>;
|
|
74
|
+
type Redirect = WbRedirect;
|
|
75
|
+
}
|
|
76
|
+
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 UpdateRedirectRepository = createAbstraction("Wb/UpdateRedirectRepository");
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Use Case Abstraction
|
|
15
|
+
// ============================================================================
|
|
16
|
+
|
|
17
|
+
export const UpdateRedirectUseCase = createAbstraction("Wb/UpdateRedirectUseCase");
|
|
18
|
+
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Event Payload Types
|
|
21
|
+
// ============================================================================
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Event Handler Abstractions
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
export const RedirectBeforeUpdateHandler = createAbstraction("Wb/RedirectBeforeUpdateHandler");
|
|
28
|
+
export const RedirectAfterUpdateHandler = createAbstraction("Wb/RedirectAfterUpdateHandler");
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","UpdateRedirectRepository","UpdateRedirectUseCase","RedirectBeforeUpdateHandler","RedirectAfterUpdateHandler"],"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 type { WbLocation } from \"~/domain/shared/abstractions.js\";\nimport {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectValidationError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IUpdateWbRedirectData {\n location?: WbLocation;\n redirectFrom?: string;\n redirectTo?: string;\n redirectType?: string;\n isEnabled?: boolean;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IUpdateRedirectRepository {\n execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, RepositoryError>>;\n}\n\nexport interface IUpdateRedirectRepositoryErrors {\n notFound: RedirectNotFoundError;\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IUpdateRedirectRepositoryErrors[keyof IUpdateRedirectRepositoryErrors];\n\nexport const UpdateRedirectRepository = createAbstraction<IUpdateRedirectRepository>(\n \"Wb/UpdateRedirectRepository\"\n);\n\nexport namespace UpdateRedirectRepository {\n export type Interface = IUpdateRedirectRepository;\n export type UpdateData = IUpdateWbRedirectData;\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 IUpdateRedirectUseCase {\n execute(id: string, data: IUpdateWbRedirectData): Promise<Result<WbRedirect, UseCaseError>>;\n}\n\nexport interface IUpdateRedirectUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n notFound: RedirectNotFoundError;\n validation: RedirectValidationError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IUpdateRedirectUseCaseErrors[keyof IUpdateRedirectUseCaseErrors];\n\nexport const UpdateRedirectUseCase = createAbstraction<IUpdateRedirectUseCase>(\n \"Wb/UpdateRedirectUseCase\"\n);\n\nexport namespace UpdateRedirectUseCase {\n export type Interface = IUpdateRedirectUseCase;\n export type UpdateData = IUpdateWbRedirectData;\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 RedirectBeforeUpdatePayload {\n original: WbRedirect;\n input: {\n id: string;\n data: IUpdateWbRedirectData;\n };\n}\n\nexport interface RedirectAfterUpdatePayload {\n original: WbRedirect;\n input: {\n id: string;\n data: IUpdateWbRedirectData;\n };\n redirect: WbRedirect;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const RedirectBeforeUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>\n>(\"Wb/RedirectBeforeUpdateHandler\");\n\nexport namespace RedirectBeforeUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>;\n export type Event = DomainEvent<RedirectBeforeUpdatePayload>;\n export type Redirect = WbRedirect;\n}\n\nexport const RedirectAfterUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>\n>(\"Wb/RedirectAfterUpdateHandler\");\n\nexport namespace RedirectAfterUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>;\n export type Event = DomainEvent<RedirectAfterUpdatePayload>;\n export type Redirect = WbRedirect;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;;AAYpE;AACA;AACA;;AAUA;AACA;AACA;;AAcA,OAAO,MAAMC,wBAAwB,GAAGD,iBAAiB,CACrD,6BACJ,CAAC;;AAUD;AACA;AACA;;AAeA,OAAO,MAAME,qBAAqB,GAAGF,iBAAiB,CAClD,0BACJ,CAAC;;AAUD;AACA;AACA;;AAmBA;AACA;AACA;;AAEA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CAE1D,gCAAgC,CAAC;AAQnC,OAAO,MAAMI,0BAA0B,GAAGJ,iBAAiB,CAEzD,+BAA+B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import type { RedirectBeforeUpdatePayload, RedirectAfterUpdatePayload } from "./abstractions.js";
|
|
3
|
+
export declare class RedirectBeforeUpdateEvent extends DomainEvent<RedirectBeforeUpdatePayload> {
|
|
4
|
+
eventType: "redirect.beforeUpdate";
|
|
5
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<RedirectBeforeUpdatePayload>>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class RedirectAfterUpdateEvent extends DomainEvent<RedirectAfterUpdatePayload> {
|
|
8
|
+
eventType: "redirect.afterUpdate";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<RedirectAfterUpdatePayload>>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import { RedirectBeforeUpdateHandler, RedirectAfterUpdateHandler } from "./abstractions.js";
|
|
3
|
+
// RedirectBeforeUpdate Event
|
|
4
|
+
export class RedirectBeforeUpdateEvent extends DomainEvent {
|
|
5
|
+
eventType = "redirect.beforeUpdate";
|
|
6
|
+
getHandlerAbstraction() {
|
|
7
|
+
return RedirectBeforeUpdateHandler;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// RedirectAfterUpdate Event
|
|
12
|
+
export class RedirectAfterUpdateEvent extends DomainEvent {
|
|
13
|
+
eventType = "redirect.afterUpdate";
|
|
14
|
+
getHandlerAbstraction() {
|
|
15
|
+
return RedirectAfterUpdateHandler;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DomainEvent","RedirectBeforeUpdateHandler","RedirectAfterUpdateHandler","RedirectBeforeUpdateEvent","eventType","getHandlerAbstraction","RedirectAfterUpdateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { RedirectBeforeUpdateHandler, RedirectAfterUpdateHandler } from \"./abstractions.js\";\nimport type { RedirectBeforeUpdatePayload, RedirectAfterUpdatePayload } from \"./abstractions.js\";\n\n// RedirectBeforeUpdate Event\nexport class RedirectBeforeUpdateEvent extends DomainEvent<RedirectBeforeUpdatePayload> {\n eventType = \"redirect.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return RedirectBeforeUpdateHandler;\n }\n}\n\n// RedirectAfterUpdate Event\nexport class RedirectAfterUpdateEvent extends DomainEvent<RedirectAfterUpdatePayload> {\n eventType = \"redirect.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return RedirectAfterUpdateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,2BAA2B,EAAEC,0BAA0B;AAGhE;AACA,OAAO,MAAMC,yBAAyB,SAASH,WAAW,CAA8B;EACpFI,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,2BAA2B;EACtC;AACJ;;AAEA;AACA,OAAO,MAAMK,wBAAwB,SAASN,WAAW,CAA6B;EAClFI,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,0BAA0B;EACrC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UpdateRedirectFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateRedirectRepository } from "./UpdateRedirectRepository.js";
|
|
3
|
+
import { UpdateRedirectUseCase } from "./UpdateRedirectUseCase.js";
|
|
4
|
+
export const UpdateRedirectFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/UpdateRedirect",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(UpdateRedirectRepository).inSingletonScope();
|
|
8
|
+
container.register(UpdateRedirectUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","UpdateRedirectRepository","UpdateRedirectUseCase","UpdateRedirectFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateRedirectRepository } from \"./UpdateRedirectRepository.js\";\nimport { UpdateRedirectUseCase } from \"./UpdateRedirectUseCase.js\";\n\nexport const UpdateRedirectFeature = createFeature({\n name: \"WebsiteBuilder/UpdateRedirect\",\n register(container) {\n container.register(UpdateRedirectRepository).inSingletonScope();\n container.register(UpdateRedirectUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,wBAAwB;AACjC,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGH,aAAa,CAAC;EAC/CI,IAAI,EAAE,+BAA+B;EACrCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,wBAAwB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC/DD,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { UpdateRedirectWithEvents } from "./UpdateRedirectWithEvents";
|
|
3
|
-
import type { OnRedirectAfterUpdateTopicParams, OnRedirectBeforeUpdateTopicParams, WbRedirectsStorageOperations } from "../../../context/redirects/redirects.types";
|
|
4
|
-
export interface UpdateRedirectUseCasesTopics {
|
|
5
|
-
onRedirectBeforeUpdate: Topic<OnRedirectBeforeUpdateTopicParams>;
|
|
6
|
-
onRedirectAfterUpdate: Topic<OnRedirectAfterUpdateTopicParams>;
|
|
7
|
-
}
|
|
8
|
-
interface UpdateRedirectUseCasesParams {
|
|
9
|
-
updateOperation: WbRedirectsStorageOperations["update"];
|
|
10
|
-
getOperation: WbRedirectsStorageOperations["getById"];
|
|
11
|
-
topics: UpdateRedirectUseCasesTopics;
|
|
12
|
-
}
|
|
13
|
-
export declare const getUpdateRedirectUseCase: (params: UpdateRedirectUseCasesParams) => {
|
|
14
|
-
updateRedirectUseCase: UpdateRedirectWithEvents;
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
1
|
+
export { RedirectAfterUpdateHandler, RedirectBeforeUpdateHandler, UpdateRedirectUseCase } from "./abstractions.js";
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getUpdateRedirectUseCase = void 0;
|
|
7
|
-
var _UpdateRedirect = require("./UpdateRedirect");
|
|
8
|
-
var _UpdateRedirectWithEvents = require("./UpdateRedirectWithEvents");
|
|
9
|
-
const getUpdateRedirectUseCase = params => {
|
|
10
|
-
const updateRedirect = new _UpdateRedirect.UpdateRedirect(params.updateOperation);
|
|
11
|
-
const updateRedirectUseCase = new _UpdateRedirectWithEvents.UpdateRedirectWithEvents(params.topics, params.getOperation, updateRedirect);
|
|
12
|
-
return {
|
|
13
|
-
updateRedirectUseCase
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.getUpdateRedirectUseCase = getUpdateRedirectUseCase;
|
|
1
|
+
export { RedirectAfterUpdateHandler, RedirectBeforeUpdateHandler, UpdateRedirectUseCase } from "./abstractions.js";
|
|
17
2
|
|
|
18
3
|
//# sourceMappingURL=index.js.map
|