@webiny/api-website-builder 6.3.0 → 6.4.0-beta.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/constants.js +4 -3
- package/constants.js.map +1 -1
- package/domain/page/EntryToPageMapper.js +30 -28
- package/domain/page/EntryToPageMapper.js.map +1 -1
- package/domain/page/PagePath.js +20 -30
- package/domain/page/PagePath.js.map +1 -1
- package/domain/page/abstractions.d.ts +13 -0
- package/domain/page/abstractions.js +2 -5
- package/domain/page/abstractions.js.map +1 -1
- package/domain/page/errors.js +46 -51
- package/domain/page/errors.js.map +1 -1
- package/domain/page/page.model.d.ts +8 -1
- package/domain/page/page.model.js +25 -30
- package/domain/page/page.model.js.map +1 -1
- package/domain/permissionsSchema.js +49 -28
- package/domain/permissionsSchema.js.map +1 -1
- package/domain/redirect/EntryToRedirectMapper.js +21 -20
- package/domain/redirect/EntryToRedirectMapper.js.map +1 -1
- package/domain/redirect/abstractions.js +2 -9
- package/domain/redirect/abstractions.js.map +1 -1
- package/domain/redirect/errors.js +28 -31
- package/domain/redirect/errors.js.map +1 -1
- package/domain/redirect/redirect.model.d.ts +8 -1
- package/domain/redirect/redirect.model.js +24 -30
- package/domain/redirect/redirect.model.js.map +1 -1
- package/domain/shared/abstractions.js +0 -3
- package/exports/api/website-builder/nextjs.js +0 -2
- package/exports/api/website-builder/page.js +5 -7
- package/exports/api/website-builder/redirect.js +1 -3
- package/features/installer/ApiKeyInstaller.js +33 -30
- package/features/installer/ApiKeyInstaller.js.map +1 -1
- package/features/installer/feature.js +6 -5
- package/features/installer/feature.js.map +1 -1
- package/features/nextjs/MarkdownContentBuilder.js +67 -76
- package/features/nextjs/MarkdownContentBuilder.js.map +1 -1
- package/features/nextjs/MarkdownContentBuilder.test.js +266 -273
- package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -1
- package/features/nextjs/NextjsConfig.js +43 -46
- package/features/nextjs/NextjsConfig.js.map +1 -1
- package/features/nextjs/abstractions.js +2 -2
- package/features/nextjs/abstractions.js.map +1 -1
- package/features/nextjs/feature.js +6 -5
- package/features/nextjs/feature.js.map +1 -1
- package/features/nextjs/index.js +0 -2
- package/features/pages/CreatePage/CreatePageRepository.js +23 -25
- package/features/pages/CreatePage/CreatePageRepository.js.map +1 -1
- package/features/pages/CreatePage/CreatePageUseCase.js +29 -34
- package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -1
- package/features/pages/CreatePage/abstractions.js +5 -30
- package/features/pages/CreatePage/abstractions.js.map +1 -1
- package/features/pages/CreatePage/events.js +16 -14
- package/features/pages/CreatePage/events.js.map +1 -1
- package/features/pages/CreatePage/feature.js +7 -6
- package/features/pages/CreatePage/feature.js.map +1 -1
- package/features/pages/CreatePage/index.js +1 -3
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +30 -36
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +33 -41
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/abstractions.js +5 -30
- package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/events.js +16 -14
- package/features/pages/CreatePageRevisionFrom/events.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/feature.js +7 -6
- package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/index.js +1 -3
- package/features/pages/DeletePage/DeletePageRepository.js +19 -18
- package/features/pages/DeletePage/DeletePageRepository.js.map +1 -1
- package/features/pages/DeletePage/DeletePageUseCase.js +32 -39
- package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -1
- package/features/pages/DeletePage/abstractions.js +5 -30
- package/features/pages/DeletePage/abstractions.js.map +1 -1
- package/features/pages/DeletePage/events.js +16 -14
- package/features/pages/DeletePage/events.js.map +1 -1
- package/features/pages/DeletePage/feature.js +7 -6
- package/features/pages/DeletePage/feature.js.map +1 -1
- package/features/pages/DeletePage/index.js +1 -3
- package/features/pages/DuplicatePage/DuplicatePageRepository.js +50 -53
- package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -1
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js +35 -43
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -1
- package/features/pages/DuplicatePage/abstractions.js +5 -30
- package/features/pages/DuplicatePage/abstractions.js.map +1 -1
- package/features/pages/DuplicatePage/events.js +16 -14
- package/features/pages/DuplicatePage/events.js.map +1 -1
- package/features/pages/DuplicatePage/feature.js +7 -6
- package/features/pages/DuplicatePage/feature.js.map +1 -1
- package/features/pages/DuplicatePage/index.js +1 -3
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js +20 -20
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js.map +1 -1
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js +19 -21
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js.map +1 -1
- package/features/pages/GetDeletedPageById/abstractions.js +3 -12
- package/features/pages/GetDeletedPageById/abstractions.js.map +1 -1
- package/features/pages/GetDeletedPageById/feature.js +7 -6
- package/features/pages/GetDeletedPageById/feature.js.map +1 -1
- package/features/pages/GetDeletedPageById/index.js +0 -2
- package/features/pages/GetPageById/GetPageByIdRepository.js +20 -18
- package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -1
- package/features/pages/GetPageById/GetPageByIdUseCase.js +19 -21
- package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -1
- package/features/pages/GetPageById/abstractions.js +3 -13
- package/features/pages/GetPageById/abstractions.js.map +1 -1
- package/features/pages/GetPageById/feature.js +7 -6
- package/features/pages/GetPageById/feature.js.map +1 -1
- package/features/pages/GetPageById/index.js +0 -2
- package/features/pages/GetPageByPath/GetPageByPathRepository.js +26 -26
- package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -1
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js +19 -21
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -1
- package/features/pages/GetPageByPath/abstractions.js +3 -13
- package/features/pages/GetPageByPath/abstractions.js.map +1 -1
- package/features/pages/GetPageByPath/feature.js +7 -6
- package/features/pages/GetPageByPath/feature.js.map +1 -1
- package/features/pages/GetPageByPath/index.js +0 -2
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js +42 -48
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js.map +1 -1
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js +14 -13
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js.map +1 -1
- package/features/pages/GetPageLanguagePaths/abstractions.js +3 -3
- package/features/pages/GetPageLanguagePaths/abstractions.js.map +1 -1
- package/features/pages/GetPageLanguagePaths/feature.js +7 -6
- package/features/pages/GetPageLanguagePaths/feature.js.map +1 -1
- package/features/pages/GetPageLanguagePaths/index.js +0 -2
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +17 -15
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -1
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +22 -24
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -1
- package/features/pages/GetPageRevisions/abstractions.js +3 -13
- package/features/pages/GetPageRevisions/abstractions.js.map +1 -1
- package/features/pages/GetPageRevisions/feature.js +7 -6
- package/features/pages/GetPageRevisions/feature.js.map +1 -1
- package/features/pages/GetPageRevisions/index.js +0 -2
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js +37 -36
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js.map +1 -1
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js +27 -24
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js.map +1 -1
- package/features/pages/ListDeletedPages/abstractions.js +3 -12
- package/features/pages/ListDeletedPages/abstractions.js.map +1 -1
- package/features/pages/ListDeletedPages/feature.js +7 -6
- package/features/pages/ListDeletedPages/feature.js.map +1 -1
- package/features/pages/ListDeletedPages/index.js +0 -2
- package/features/pages/ListPages/ListPagesRepository.js +37 -36
- package/features/pages/ListPages/ListPagesRepository.js.map +1 -1
- package/features/pages/ListPages/ListPagesUseCase.js +27 -24
- package/features/pages/ListPages/ListPagesUseCase.js.map +1 -1
- package/features/pages/ListPages/abstractions.js +3 -13
- package/features/pages/ListPages/abstractions.js.map +1 -1
- package/features/pages/ListPages/feature.js +7 -6
- package/features/pages/ListPages/feature.js.map +1 -1
- package/features/pages/ListPages/index.js +0 -2
- package/features/pages/MovePage/MovePageRepository.js +25 -27
- package/features/pages/MovePage/MovePageRepository.js.map +1 -1
- package/features/pages/MovePage/MovePageUseCase.js +39 -49
- package/features/pages/MovePage/MovePageUseCase.js.map +1 -1
- package/features/pages/MovePage/abstractions.js +5 -30
- package/features/pages/MovePage/abstractions.js.map +1 -1
- package/features/pages/MovePage/events.js +16 -14
- package/features/pages/MovePage/events.js.map +1 -1
- package/features/pages/MovePage/feature.js +7 -6
- package/features/pages/MovePage/feature.js.map +1 -1
- package/features/pages/MovePage/index.js +1 -3
- package/features/pages/PublishPage/PublishPageRepository.js +26 -28
- package/features/pages/PublishPage/PublishPageRepository.js.map +1 -1
- package/features/pages/PublishPage/PublishPageUseCase.js +36 -46
- package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -1
- package/features/pages/PublishPage/abstractions.js +5 -30
- package/features/pages/PublishPage/abstractions.js.map +1 -1
- package/features/pages/PublishPage/events.js +16 -14
- package/features/pages/PublishPage/events.js.map +1 -1
- package/features/pages/PublishPage/feature.js +7 -6
- package/features/pages/PublishPage/feature.js.map +1 -1
- package/features/pages/PublishPage/index.js +0 -2
- package/features/pages/RestorePage/RestorePageRepository.js +20 -19
- package/features/pages/RestorePage/RestorePageRepository.js.map +1 -1
- package/features/pages/RestorePage/RestorePageUseCase.js +32 -39
- package/features/pages/RestorePage/RestorePageUseCase.js.map +1 -1
- package/features/pages/RestorePage/abstractions.js +5 -27
- package/features/pages/RestorePage/abstractions.js.map +1 -1
- package/features/pages/RestorePage/events.js +16 -14
- package/features/pages/RestorePage/events.js.map +1 -1
- package/features/pages/RestorePage/feature.js +7 -6
- package/features/pages/RestorePage/feature.js.map +1 -1
- package/features/pages/RestorePage/index.js +0 -2
- package/features/pages/TranslatePage/TranslatePageUseCase.js +46 -62
- package/features/pages/TranslatePage/TranslatePageUseCase.js.map +1 -1
- package/features/pages/TranslatePage/abstractions.js +2 -11
- package/features/pages/TranslatePage/abstractions.js.map +1 -1
- package/features/pages/TranslatePage/feature.js +6 -5
- package/features/pages/TranslatePage/feature.js.map +1 -1
- package/features/pages/TranslatePage/index.js +0 -2
- package/features/pages/TrashPage/TrashPageRepository.js +21 -20
- package/features/pages/TrashPage/TrashPageRepository.js.map +1 -1
- package/features/pages/TrashPage/TrashPageUseCase.js +33 -40
- package/features/pages/TrashPage/TrashPageUseCase.js.map +1 -1
- package/features/pages/TrashPage/abstractions.js +5 -27
- package/features/pages/TrashPage/abstractions.js.map +1 -1
- package/features/pages/TrashPage/events.js +16 -14
- package/features/pages/TrashPage/events.js.map +1 -1
- package/features/pages/TrashPage/feature.js +7 -6
- package/features/pages/TrashPage/feature.js.map +1 -1
- package/features/pages/TrashPage/index.js +0 -2
- package/features/pages/UnpublishPage/UnpublishPageRepository.js +26 -28
- package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -1
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js +35 -45
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -1
- package/features/pages/UnpublishPage/abstractions.js +5 -30
- package/features/pages/UnpublishPage/abstractions.js.map +1 -1
- package/features/pages/UnpublishPage/events.js +16 -14
- package/features/pages/UnpublishPage/events.js.map +1 -1
- package/features/pages/UnpublishPage/feature.js +7 -6
- package/features/pages/UnpublishPage/feature.js.map +1 -1
- package/features/pages/UnpublishPage/index.js +0 -2
- package/features/pages/UpdatePage/UpdatePageRepository.js +30 -34
- package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -1
- package/features/pages/UpdatePage/UpdatePageUseCase.js +44 -54
- package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -1
- package/features/pages/UpdatePage/abstractions.js +5 -30
- package/features/pages/UpdatePage/abstractions.js.map +1 -1
- package/features/pages/UpdatePage/events.js +16 -14
- package/features/pages/UpdatePage/events.js.map +1 -1
- package/features/pages/UpdatePage/feature.js +7 -6
- package/features/pages/UpdatePage/feature.js.map +1 -1
- package/features/pages/UpdatePage/index.js +0 -2
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +40 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.d.ts +16 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js +56 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionUseCase.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/abstractions.d.ts +67 -0
- package/features/pages/UpdatePageRevisionDescription/abstractions.js +8 -0
- package/features/pages/UpdatePageRevisionDescription/abstractions.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/events.d.ts +10 -0
- package/features/pages/UpdatePageRevisionDescription/events.js +21 -0
- package/features/pages/UpdatePageRevisionDescription/events.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/feature.d.ts +4 -0
- package/features/pages/UpdatePageRevisionDescription/feature.js +13 -0
- package/features/pages/UpdatePageRevisionDescription/feature.js.map +1 -0
- package/features/pages/UpdatePageRevisionDescription/index.d.ts +1 -0
- package/features/pages/UpdatePageRevisionDescription/index.js +1 -0
- package/features/permissions/abstractions.js +2 -1
- package/features/permissions/abstractions.js.map +1 -1
- package/features/permissions/feature.js +2 -1
- package/features/permissions/feature.js.map +1 -1
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js +23 -21
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -1
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +29 -34
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -1
- package/features/redirects/CreateRedirect/abstractions.js +5 -30
- package/features/redirects/CreateRedirect/abstractions.js.map +1 -1
- package/features/redirects/CreateRedirect/events.js +16 -14
- package/features/redirects/CreateRedirect/events.js.map +1 -1
- package/features/redirects/CreateRedirect/feature.js +7 -6
- package/features/redirects/CreateRedirect/feature.js.map +1 -1
- package/features/redirects/CreateRedirect/index.js +1 -3
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +19 -17
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -1
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +34 -41
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -1
- package/features/redirects/DeleteRedirect/abstractions.js +5 -30
- package/features/redirects/DeleteRedirect/abstractions.js.map +1 -1
- package/features/redirects/DeleteRedirect/events.js +16 -14
- package/features/redirects/DeleteRedirect/events.js.map +1 -1
- package/features/redirects/DeleteRedirect/feature.js +7 -6
- package/features/redirects/DeleteRedirect/feature.js.map +1 -1
- package/features/redirects/DeleteRedirect/index.js +1 -3
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +22 -21
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +17 -15
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -1
- package/features/redirects/GetActiveRedirects/abstractions.js +3 -13
- package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -1
- package/features/redirects/GetActiveRedirects/feature.js +7 -6
- package/features/redirects/GetActiveRedirects/feature.js.map +1 -1
- package/features/redirects/GetActiveRedirects/index.js +0 -2
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +20 -18
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -1
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +20 -22
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -1
- package/features/redirects/GetRedirectById/abstractions.js +3 -13
- package/features/redirects/GetRedirectById/abstractions.js.map +1 -1
- package/features/redirects/GetRedirectById/feature.js +7 -6
- package/features/redirects/GetRedirectById/feature.js.map +1 -1
- package/features/redirects/GetRedirectById/index.js +0 -2
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +23 -20
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +13 -16
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +13 -16
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +13 -17
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/abstractions.js +2 -7
- package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/feature.js +9 -8
- package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/index.js +0 -2
- package/features/redirects/ListRedirects/ListRedirectsRepository.js +35 -34
- package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -1
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js +28 -25
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -1
- package/features/redirects/ListRedirects/abstractions.js +3 -17
- package/features/redirects/ListRedirects/abstractions.js.map +1 -1
- package/features/redirects/ListRedirects/feature.js +7 -6
- package/features/redirects/ListRedirects/feature.js.map +1 -1
- package/features/redirects/ListRedirects/index.js +0 -2
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js +25 -27
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -1
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +39 -49
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -1
- package/features/redirects/MoveRedirect/abstractions.js +5 -30
- package/features/redirects/MoveRedirect/abstractions.js.map +1 -1
- package/features/redirects/MoveRedirect/events.js +16 -14
- package/features/redirects/MoveRedirect/events.js.map +1 -1
- package/features/redirects/MoveRedirect/feature.js +7 -6
- package/features/redirects/MoveRedirect/feature.js.map +1 -1
- package/features/redirects/MoveRedirect/index.js +1 -3
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +31 -35
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -1
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +44 -54
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -1
- package/features/redirects/UpdateRedirect/abstractions.js +5 -30
- package/features/redirects/UpdateRedirect/abstractions.js.map +1 -1
- package/features/redirects/UpdateRedirect/events.js +16 -14
- package/features/redirects/UpdateRedirect/events.js.map +1 -1
- package/features/redirects/UpdateRedirect/feature.js +7 -6
- package/features/redirects/UpdateRedirect/feature.js.map +1 -1
- package/features/redirects/UpdateRedirect/index.js +0 -2
- package/features/tenantManager/TenantModelExtension.js +52 -32
- package/features/tenantManager/TenantModelExtension.js.map +1 -1
- package/features/tenantManager/feature.js +6 -5
- package/features/tenantManager/feature.js.map +1 -1
- package/graphql/createGraphQL.js +15 -12
- package/graphql/createGraphQL.js.map +1 -1
- package/graphql/nextjs/NextjsGraphQLSchema.js +28 -29
- package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -1
- package/graphql/pages/pages.gql.js +221 -324
- package/graphql/pages/pages.gql.js.map +1 -1
- package/graphql/pages/pages.typeDefs.d.ts +1 -1
- package/graphql/pages/pages.typeDefs.js +7 -1
- package/graphql/pages/pages.typeDefs.js.map +1 -1
- package/graphql/redirects/redirects.gql.js +56 -86
- package/graphql/redirects/redirects.gql.js.map +1 -1
- package/graphql/redirects/redirects.typeDefs.js +3 -4
- package/graphql/redirects/redirects.typeDefs.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +64 -61
- package/index.js.map +1 -1
- package/package.json +20 -20
- package/rest/ActiveRedirectDto.js +0 -3
- package/rest/ActiveRedirectRestMapper.js +10 -9
- package/rest/ActiveRedirectRestMapper.js.map +1 -1
- package/rest/getRedirects.js +19 -26
- package/rest/getRedirects.js.map +1 -1
- package/utils/ensureAuthentication.js +6 -9
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/resolve.js +7 -6
- package/utils/resolve.js.map +1 -1
- package/domain/shared/abstractions.js.map +0 -1
- package/exports/api/website-builder/nextjs.js.map +0 -1
- package/exports/api/website-builder/page.js.map +0 -1
- package/exports/api/website-builder/redirect.js.map +0 -1
- package/features/nextjs/index.js.map +0 -1
- package/features/pages/CreatePage/index.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/index.js.map +0 -1
- package/features/pages/DeletePage/index.js.map +0 -1
- package/features/pages/DuplicatePage/index.js.map +0 -1
- package/features/pages/GetDeletedPageById/index.js.map +0 -1
- package/features/pages/GetPageById/index.js.map +0 -1
- package/features/pages/GetPageByPath/index.js.map +0 -1
- package/features/pages/GetPageLanguagePaths/index.js.map +0 -1
- package/features/pages/GetPageRevisions/index.js.map +0 -1
- package/features/pages/ListDeletedPages/index.js.map +0 -1
- package/features/pages/ListPages/index.js.map +0 -1
- package/features/pages/MovePage/index.js.map +0 -1
- package/features/pages/PublishPage/index.js.map +0 -1
- package/features/pages/RestorePage/index.js.map +0 -1
- package/features/pages/TranslatePage/index.js.map +0 -1
- package/features/pages/TrashPage/index.js.map +0 -1
- package/features/pages/UnpublishPage/index.js.map +0 -1
- package/features/pages/UpdatePage/index.js.map +0 -1
- package/features/redirects/CreateRedirect/index.js.map +0 -1
- package/features/redirects/DeleteRedirect/index.js.map +0 -1
- package/features/redirects/GetActiveRedirects/index.js.map +0 -1
- package/features/redirects/GetRedirectById/index.js.map +0 -1
- package/features/redirects/InvalidateRedirectsCache/index.js.map +0 -1
- package/features/redirects/ListRedirects/index.js.map +0 -1
- package/features/redirects/MoveRedirect/index.js.map +0 -1
- package/features/redirects/UpdateRedirect/index.js.map +0 -1
- package/rest/ActiveRedirectDto.js.map +0 -1
|
@@ -1,46 +1,47 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { ListRedirectsRepository
|
|
2
|
+
import { ListRedirectsRepository } from "./abstractions.js";
|
|
3
3
|
import { RedirectModel } from "../../../domain/redirect/abstractions.js";
|
|
4
4
|
import { RedirectPersistenceError } from "../../../domain/redirect/errors.js";
|
|
5
5
|
import { EntryToRedirectMapper } from "../../../domain/redirect/EntryToRedirectMapper.js";
|
|
6
6
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
|
|
7
7
|
import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
8
8
|
class ListRedirectsRepositoryImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
9
|
+
constructor(redirectModel, listEntries, cmsWhereMapper, cmsSortMapper){
|
|
10
|
+
this.redirectModel = redirectModel;
|
|
11
|
+
this.listEntries = listEntries;
|
|
12
|
+
this.cmsWhereMapper = cmsWhereMapper;
|
|
13
|
+
this.cmsSortMapper = cmsSortMapper;
|
|
14
|
+
}
|
|
15
|
+
async execute(params) {
|
|
16
|
+
const result = await this.listEntries.execute(this.redirectModel, {
|
|
17
|
+
...params,
|
|
18
|
+
sort: this.cmsSortMapper.map({
|
|
19
|
+
input: params.sort,
|
|
20
|
+
fields: this.redirectModel.fields
|
|
21
|
+
}),
|
|
22
|
+
where: this.cmsWhereMapper.map({
|
|
23
|
+
input: params.where,
|
|
24
|
+
fields: this.redirectModel.fields
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
if (result.isFail()) return Result.fail(new RedirectPersistenceError(result.error));
|
|
28
|
+
const { entries, meta } = result.value;
|
|
29
|
+
const redirects = entries.map((entry)=>EntryToRedirectMapper.toRedirect(entry));
|
|
30
|
+
return Result.ok({
|
|
31
|
+
redirects,
|
|
32
|
+
meta
|
|
33
|
+
});
|
|
29
34
|
}
|
|
30
|
-
const {
|
|
31
|
-
entries,
|
|
32
|
-
meta
|
|
33
|
-
} = result.value;
|
|
34
|
-
const redirects = entries.map(entry => EntryToRedirectMapper.toRedirect(entry));
|
|
35
|
-
return Result.ok({
|
|
36
|
-
redirects,
|
|
37
|
-
meta
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
35
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
const ListRedirectsRepository_ListRedirectsRepository = ListRedirectsRepository.createImplementation({
|
|
37
|
+
implementation: ListRedirectsRepositoryImpl,
|
|
38
|
+
dependencies: [
|
|
39
|
+
RedirectModel,
|
|
40
|
+
ListLatestEntriesUseCase,
|
|
41
|
+
CmsWhereMapper,
|
|
42
|
+
CmsSortMapper
|
|
43
|
+
]
|
|
44
44
|
});
|
|
45
|
+
export { ListRedirectsRepository_ListRedirectsRepository as ListRedirectsRepository };
|
|
45
46
|
|
|
46
47
|
//# sourceMappingURL=ListRedirectsRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/ListRedirects/ListRedirectsRepository.js","sources":["../../../../src/features/redirects/ListRedirects/ListRedirectsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListRedirectsRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { type CmsEntryWbRedirect, RedirectModel } from \"~/domain/redirect/abstractions.js\";\nimport { RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\nimport { EntryToRedirectMapper } from \"~/domain/redirect/EntryToRedirectMapper.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js\";\nimport { CmsSortMapper, CmsWhereMapper } from \"@webiny/api-headless-cms\";\n\nclass ListRedirectsRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private listEntries: ListLatestEntriesUseCase.Interface,\n private cmsWhereMapper: CmsWhereMapper.Interface,\n private cmsSortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n const result = await this.listEntries.execute<CmsEntryWbRedirect>(this.redirectModel, {\n ...params,\n sort: this.cmsSortMapper.map({\n input: params.sort,\n fields: this.redirectModel.fields\n }),\n where: this.cmsWhereMapper.map({\n input: params.where,\n fields: this.redirectModel.fields\n })\n });\n\n if (result.isFail()) {\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n const { entries, meta } = result.value;\n const redirects = entries.map(entry => EntryToRedirectMapper.toRedirect(entry));\n\n return Result.ok({ redirects, meta });\n }\n}\n\nexport const ListRedirectsRepository = RepositoryAbstraction.createImplementation({\n implementation: ListRedirectsRepositoryImpl,\n dependencies: [RedirectModel, ListLatestEntriesUseCase, CmsWhereMapper, CmsSortMapper]\n});\n"],"names":["ListRedirectsRepositoryImpl","redirectModel","listEntries","cmsWhereMapper","cmsSortMapper","params","result","Result","RedirectPersistenceError","entries","meta","redirects","entry","EntryToRedirectMapper","ListRedirectsRepository","RepositoryAbstraction","RedirectModel","ListLatestEntriesUseCase","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;;AAQA,MAAMA;IACF,YACYC,aAAsC,EACtCC,WAA+C,EAC/CC,cAAwC,EACxCC,aAAsC,CAChD;aAJUH,aAAa,GAAbA;aACAC,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAC9E,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAqB,IAAI,CAAC,aAAa,EAAE;YAClF,GAAGD,MAAM;YACT,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACzB,OAAOA,OAAO,IAAI;gBAClB,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM;YACrC;YACA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC3B,OAAOA,OAAO,KAAK;gBACnB,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM;YACrC;QACJ;QAEA,IAAIC,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAAC,IAAIC,yBAAyBF,OAAO,KAAK;QAGhE,MAAM,EAAEG,OAAO,EAAEC,IAAI,EAAE,GAAGJ,OAAO,KAAK;QACtC,MAAMK,YAAYF,QAAQ,GAAG,CAACG,CAAAA,QAASC,sBAAsB,UAAU,CAACD;QAExE,OAAOL,OAAO,EAAE,CAAC;YAAEI;YAAWD;QAAK;IACvC;AACJ;AAEO,MAAMI,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBf;IAChB,cAAc;QAACgB;QAAeC;QAA0BC;QAAgBC;KAAc;AAC1F"}
|
|
@@ -1,36 +1,39 @@
|
|
|
1
1
|
import { Result, createImplementation } from "@webiny/feature/api";
|
|
2
|
-
import {
|
|
2
|
+
import { ListRedirectsRepository, ListRedirectsUseCase } from "./abstractions.js";
|
|
3
3
|
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
4
4
|
import { RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
5
5
|
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
6
6
|
class ListRedirectsUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
async execute(params) {
|
|
13
|
-
const hasPermission = await this.permissions.canRead("redirect");
|
|
14
|
-
if (!hasPermission) {
|
|
15
|
-
return Result.fail(new RedirectNotAuthorizedError());
|
|
7
|
+
constructor(permissions, identityContext, repository){
|
|
8
|
+
this.permissions = permissions;
|
|
9
|
+
this.identityContext = identityContext;
|
|
10
|
+
this.repository = repository;
|
|
16
11
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
async execute(params) {
|
|
13
|
+
const hasPermission = await this.permissions.canRead("redirect");
|
|
14
|
+
if (!hasPermission) return Result.fail(new RedirectNotAuthorizedError());
|
|
15
|
+
const where = {
|
|
16
|
+
...params.where
|
|
17
|
+
};
|
|
18
|
+
if (await this.permissions.onlyOwnRecords("redirect")) {
|
|
19
|
+
const identity = this.identityContext.getIdentity();
|
|
20
|
+
where.createdBy = identity.id;
|
|
21
|
+
}
|
|
22
|
+
return await this.repository.execute({
|
|
23
|
+
...params,
|
|
24
|
+
where
|
|
25
|
+
});
|
|
23
26
|
}
|
|
24
|
-
return await this.repository.execute({
|
|
25
|
-
...params,
|
|
26
|
-
where
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
27
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
const ListRedirectsUseCase_ListRedirectsUseCase = createImplementation({
|
|
29
|
+
abstraction: ListRedirectsUseCase,
|
|
30
|
+
implementation: ListRedirectsUseCaseImpl,
|
|
31
|
+
dependencies: [
|
|
32
|
+
WbPermissions,
|
|
33
|
+
IdentityContext,
|
|
34
|
+
ListRedirectsRepository
|
|
35
|
+
]
|
|
34
36
|
});
|
|
37
|
+
export { ListRedirectsUseCase_ListRedirectsUseCase as ListRedirectsUseCase };
|
|
35
38
|
|
|
36
39
|
//# sourceMappingURL=ListRedirectsUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/ListRedirects/ListRedirectsUseCase.js","sources":["../../../../src/features/redirects/ListRedirects/ListRedirectsUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n ListRedirectsUseCase as UseCaseAbstraction,\n ListRedirectsRepository\n} from \"./abstractions.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nclass ListRedirectsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private identityContext: IdentityContext.Interface,\n private repository: ListRedirectsRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canRead(\"redirect\");\n if (!hasPermission) {\n return Result.fail(new RedirectNotAuthorizedError());\n }\n\n const where = { ...params.where };\n\n if (await this.permissions.onlyOwnRecords(\"redirect\")) {\n const identity = this.identityContext.getIdentity();\n where.createdBy = identity.id;\n }\n\n return await this.repository.execute({ ...params, where });\n }\n}\n\nexport const ListRedirectsUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListRedirectsUseCaseImpl,\n dependencies: [WbPermissions, IdentityContext, ListRedirectsRepository]\n});\n"],"names":["ListRedirectsUseCaseImpl","permissions","identityContext","repository","params","hasPermission","Result","RedirectNotAuthorizedError","where","identity","ListRedirectsUseCase","createImplementation","UseCaseAbstraction","WbPermissions","IdentityContext","ListRedirectsRepository"],"mappings":";;;;;AASA,MAAMA;IACF,YACYC,WAAoC,EACpCC,eAA0C,EAC1CC,UAA6C,CACvD;aAHUF,WAAW,GAAXA;aACAC,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAA6B;QACxE,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,QAAQ;YAAE,GAAGJ,OAAO,KAAK;QAAC;QAEhC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,aAAa;YACnD,MAAMK,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;YACjDD,MAAM,SAAS,GAAGC,SAAS,EAAE;QACjC;QAEA,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,GAAGL,MAAM;YAAEI;QAAM;IAC5D;AACJ;AAEO,MAAME,4CAAuBC,qBAAqB;IACrD,aAAaC;IACb,gBAAgBZ;IAChB,cAAc;QAACa;QAAeC;QAAiBC;KAAwB;AAC3E"}
|
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// ============================================================================
|
|
6
|
-
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Repository Abstraction
|
|
9
|
-
// ============================================================================
|
|
10
|
-
|
|
11
|
-
export const ListRedirectsRepository = createAbstraction("Wb/ListRedirectsRepository");
|
|
12
|
-
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Use Case Abstraction
|
|
15
|
-
// ============================================================================
|
|
16
|
-
|
|
17
|
-
/** List URL redirects with filtering. */
|
|
18
|
-
export const ListRedirectsUseCase = createAbstraction("Wb/ListRedirectsUseCase");
|
|
2
|
+
const ListRedirectsRepository = createAbstraction("Wb/ListRedirectsRepository");
|
|
3
|
+
const ListRedirectsUseCase = createAbstraction("Wb/ListRedirectsUseCase");
|
|
4
|
+
export { ListRedirectsRepository, ListRedirectsUseCase };
|
|
19
5
|
|
|
20
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/ListRedirects/abstractions.js","sources":["../../../../src/features/redirects/ListRedirects/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntryListSort } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport type {\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface IListWbRedirectsWhere {\n latest?: boolean;\n createdBy?: string;\n redirectFrom?: string;\n redirectFrom_not?: string;\n redirectFrom_in?: string[];\n redirectFrom_not_in?: string[];\n\n redirectTo?: string;\n redirectTo_not?: string;\n redirectTo_in?: string[];\n redirectTo_not_in?: string[];\n\n redirectType?: string;\n redirectType_not?: string;\n redirectType_in?: string[];\n redirectType_not_in?: string[];\n\n isEnabled?: boolean;\n}\n\nexport interface ListWbRedirectsParams {\n where?: IListWbRedirectsWhere;\n sort?: CmsEntryListSort;\n limit?: number;\n after?: string | null;\n search?: string;\n}\n\nexport interface WbListMeta {\n hasMoreItems: boolean;\n totalCount: number;\n cursor: string | null;\n}\n\nexport type ListRedirectsResult = { redirects: WbRedirect[]; meta: WbListMeta };\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IListRedirectsRepository {\n execute(params: ListWbRedirectsParams): Promise<Result<ListRedirectsResult, RepositoryError>>;\n}\n\nexport interface IListRedirectsRepositoryErrors {\n persistence: RedirectPersistenceError;\n}\n\ntype RepositoryError = IListRedirectsRepositoryErrors[keyof IListRedirectsRepositoryErrors];\n\nexport const ListRedirectsRepository = createAbstraction<IListRedirectsRepository>(\n \"Wb/ListRedirectsRepository\"\n);\n\nexport namespace ListRedirectsRepository {\n export type Interface = IListRedirectsRepository;\n export type Params = ListWbRedirectsParams;\n export type Return = Promise<Result<ListRedirectsResult, RepositoryError>>;\n export type Error = RepositoryError;\n export type Redirect = WbRedirect;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IListRedirectsUseCase {\n execute(params: ListWbRedirectsParams): Promise<Result<ListRedirectsResult, UseCaseError>>;\n}\n\nexport interface IListRedirectsUseCaseErrors {\n notAuthorized: RedirectNotAuthorizedError;\n persistence: RedirectPersistenceError;\n}\n\ntype UseCaseError = IListRedirectsUseCaseErrors[keyof IListRedirectsUseCaseErrors];\n\n/** List URL redirects with filtering. */\nexport const ListRedirectsUseCase =\n createAbstraction<IListRedirectsUseCase>(\"Wb/ListRedirectsUseCase\");\n\nexport namespace ListRedirectsUseCase {\n export type Interface = IListRedirectsUseCase;\n export type Params = ListWbRedirectsParams;\n export type Return = Promise<Result<ListRedirectsResult, UseCaseError>>;\n export type Error = UseCaseError;\n export type Redirect = WbRedirect;\n}\n"],"names":["ListRedirectsRepository","createAbstraction","ListRedirectsUseCase"],"mappings":";AAgEO,MAAMA,0BAA0BC,kBACnC;AA2BG,MAAMC,uBACTD,kBAAyC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { ListRedirectsRepository } from "./ListRedirectsRepository.js";
|
|
3
3
|
import { ListRedirectsUseCase } from "./ListRedirectsUseCase.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const ListRedirectsFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/ListRedirects",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(ListRedirectsRepository).inSingletonScope();
|
|
8
|
+
container.register(ListRedirectsUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { ListRedirectsFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/ListRedirects/feature.js","sources":["../../../../src/features/redirects/ListRedirects/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListRedirectsRepository } from \"./ListRedirectsRepository.js\";\nimport { ListRedirectsUseCase } from \"./ListRedirectsUseCase.js\";\n\nexport const ListRedirectsFeature = createFeature({\n name: \"WebsiteBuilder/ListRedirects\",\n register(container) {\n container.register(ListRedirectsRepository).inSingletonScope();\n container.register(ListRedirectsUseCase);\n }\n});\n"],"names":["ListRedirectsFeature","createFeature","container","ListRedirectsRepository","ListRedirectsUseCase"],"mappings":";;;AAIO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,yBAAyB,gBAAgB;QAC5DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1,39 +1,37 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { MoveRedirectRepository
|
|
2
|
+
import { MoveRedirectRepository } from "./abstractions.js";
|
|
3
3
|
import { RedirectModel } from "../../../domain/redirect/abstractions.js";
|
|
4
4
|
import { RedirectPersistenceError } from "../../../domain/redirect/errors.js";
|
|
5
5
|
import { MoveEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/MoveEntry/index.js";
|
|
6
6
|
import { GetRedirectByIdRepository } from "../GetRedirectById/abstractions.js";
|
|
7
7
|
class MoveRedirectRepositoryImpl {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
async execute(params) {
|
|
14
|
-
// First, validate the redirect exists
|
|
15
|
-
const getResult = await this.getRedirectById.execute(params.id);
|
|
16
|
-
if (getResult.isFail()) {
|
|
17
|
-
return Result.fail(getResult.error);
|
|
8
|
+
constructor(redirectModel, moveEntry, getRedirectById){
|
|
9
|
+
this.redirectModel = redirectModel;
|
|
10
|
+
this.moveEntry = moveEntry;
|
|
11
|
+
this.getRedirectById = getRedirectById;
|
|
18
12
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
async execute(params) {
|
|
14
|
+
const getResult = await this.getRedirectById.execute(params.id);
|
|
15
|
+
if (getResult.isFail()) return Result.fail(getResult.error);
|
|
16
|
+
const result = await this.moveEntry.execute(this.redirectModel, params.id, params.folderId);
|
|
17
|
+
if (result.isFail()) return Result.fail(new RedirectPersistenceError(result.error));
|
|
18
|
+
const movedRedirect = {
|
|
19
|
+
...getResult.value,
|
|
20
|
+
location: {
|
|
21
|
+
folderId: params.folderId
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
return Result.ok(movedRedirect);
|
|
24
25
|
}
|
|
25
|
-
const movedRedirect = {
|
|
26
|
-
...getResult.value,
|
|
27
|
-
location: {
|
|
28
|
-
folderId: params.folderId
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
return Result.ok(movedRedirect);
|
|
32
|
-
}
|
|
33
26
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
const MoveRedirectRepository_MoveRedirectRepository = MoveRedirectRepository.createImplementation({
|
|
28
|
+
implementation: MoveRedirectRepositoryImpl,
|
|
29
|
+
dependencies: [
|
|
30
|
+
RedirectModel,
|
|
31
|
+
MoveEntryRepository,
|
|
32
|
+
GetRedirectByIdRepository
|
|
33
|
+
]
|
|
37
34
|
});
|
|
35
|
+
export { MoveRedirectRepository_MoveRedirectRepository as MoveRedirectRepository };
|
|
38
36
|
|
|
39
37
|
//# sourceMappingURL=MoveRedirectRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/MoveRedirect/MoveRedirectRepository.js","sources":["../../../../src/features/redirects/MoveRedirect/MoveRedirectRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { MoveRedirectRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { RedirectModel, type WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport { RedirectPersistenceError } from \"~/domain/redirect/errors.js\";\nimport { MoveEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/MoveEntry/index.js\";\nimport { GetRedirectByIdRepository } from \"~/features/redirects/GetRedirectById/abstractions.js\";\n\nclass MoveRedirectRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private redirectModel: RedirectModel.Interface,\n private moveEntry: MoveEntryRepository.Interface,\n private getRedirectById: GetRedirectByIdRepository.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // First, validate the redirect exists\n const getResult = await this.getRedirectById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n // Update the redirect location with the new folderId\n const result = await this.moveEntry.execute(this.redirectModel, params.id, params.folderId);\n\n if (result.isFail()) {\n return Result.fail(new RedirectPersistenceError(result.error));\n }\n\n const movedRedirect: WbRedirect = {\n ...getResult.value,\n location: {\n folderId: params.folderId\n }\n };\n return Result.ok(movedRedirect);\n }\n}\n\nexport const MoveRedirectRepository = RepositoryAbstraction.createImplementation({\n implementation: MoveRedirectRepositoryImpl,\n dependencies: [RedirectModel, MoveEntryRepository, GetRedirectByIdRepository]\n});\n"],"names":["MoveRedirectRepositoryImpl","redirectModel","moveEntry","getRedirectById","params","getResult","Result","result","RedirectPersistenceError","movedRedirect","MoveRedirectRepository","RepositoryAbstraction","RedirectModel","MoveEntryRepository","GetRedirectByIdRepository"],"mappings":";;;;;;AAOA,MAAMA;IACF,YACYC,aAAsC,EACtCC,SAAwC,EACxCC,eAAoD,CAC9D;aAHUF,aAAa,GAAbA;aACAC,SAAS,GAATA;aACAC,eAAe,GAAfA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAE9E,MAAMC,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACD,OAAO,EAAE;QAE9D,IAAIC,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAItC,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAEH,OAAO,EAAE,EAAEA,OAAO,QAAQ;QAE1F,IAAIG,OAAO,MAAM,IACb,OAAOD,OAAO,IAAI,CAAC,IAAIE,yBAAyBD,OAAO,KAAK;QAGhE,MAAME,gBAA4B;YAC9B,GAAGJ,UAAU,KAAK;YAClB,UAAU;gBACN,UAAUD,OAAO,QAAQ;YAC7B;QACJ;QACA,OAAOE,OAAO,EAAE,CAACG;IACrB;AACJ;AAEO,MAAMC,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgBX;IAChB,cAAc;QAACY;QAAeC;QAAqBC;KAA0B;AACjF"}
|
|
@@ -1,61 +1,51 @@
|
|
|
1
1
|
import { Result, createImplementation } from "@webiny/feature/api";
|
|
2
2
|
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { MoveRedirectRepository, MoveRedirectUseCase } from "./abstractions.js";
|
|
4
|
+
import { RedirectAfterMoveEvent, RedirectBeforeMoveEvent } from "./events.js";
|
|
5
5
|
import { GetRedirectByIdUseCase } from "../GetRedirectById/index.js";
|
|
6
6
|
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
7
7
|
import { RedirectNotAuthorizedError } from "../../../domain/redirect/errors.js";
|
|
8
8
|
class MoveRedirectUseCaseImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
async execute(params) {
|
|
16
|
-
const hasPermission = await this.permissions.canEdit("redirect");
|
|
17
|
-
if (!hasPermission) {
|
|
18
|
-
return Result.fail(new RedirectNotAuthorizedError());
|
|
9
|
+
constructor(permissions, eventPublisher, getRedirectById, repository){
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.getRedirectById = getRedirectById;
|
|
13
|
+
this.repository = repository;
|
|
19
14
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return result;
|
|
15
|
+
async execute(params) {
|
|
16
|
+
const hasPermission = await this.permissions.canEdit("redirect");
|
|
17
|
+
if (!hasPermission) return Result.fail(new RedirectNotAuthorizedError());
|
|
18
|
+
const getResult = await this.getRedirectById.execute(params.id);
|
|
19
|
+
if (getResult.isFail()) return getResult;
|
|
20
|
+
const original = getResult.value;
|
|
21
|
+
const canEdit = await this.permissions.canEdit("redirect", original);
|
|
22
|
+
if (!canEdit) return Result.fail(new RedirectNotAuthorizedError());
|
|
23
|
+
const beforeEvent = new RedirectBeforeMoveEvent({
|
|
24
|
+
original,
|
|
25
|
+
input: params
|
|
26
|
+
});
|
|
27
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
28
|
+
const result = await this.repository.execute(params);
|
|
29
|
+
if (result.isFail()) return result;
|
|
30
|
+
const afterEvent = new RedirectAfterMoveEvent({
|
|
31
|
+
original,
|
|
32
|
+
input: params,
|
|
33
|
+
redirect: result.value
|
|
34
|
+
});
|
|
35
|
+
await this.eventPublisher.publish(afterEvent);
|
|
36
|
+
return Result.ok(result.value);
|
|
43
37
|
}
|
|
44
|
-
|
|
45
|
-
// Publish after move event
|
|
46
|
-
const afterEvent = new RedirectAfterMoveEvent({
|
|
47
|
-
original,
|
|
48
|
-
input: params,
|
|
49
|
-
redirect: result.value
|
|
50
|
-
});
|
|
51
|
-
await this.eventPublisher.publish(afterEvent);
|
|
52
|
-
return Result.ok(result.value);
|
|
53
|
-
}
|
|
54
38
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
39
|
+
const MoveRedirectUseCase_MoveRedirectUseCase = createImplementation({
|
|
40
|
+
abstraction: MoveRedirectUseCase,
|
|
41
|
+
implementation: MoveRedirectUseCaseImpl,
|
|
42
|
+
dependencies: [
|
|
43
|
+
WbPermissions,
|
|
44
|
+
EventPublisher,
|
|
45
|
+
GetRedirectByIdUseCase,
|
|
46
|
+
MoveRedirectRepository
|
|
47
|
+
]
|
|
59
48
|
});
|
|
49
|
+
export { MoveRedirectUseCase_MoveRedirectUseCase as MoveRedirectUseCase };
|
|
60
50
|
|
|
61
51
|
//# sourceMappingURL=MoveRedirectUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/MoveRedirect/MoveRedirectUseCase.js","sources":["../../../../src/features/redirects/MoveRedirect/MoveRedirectUseCase.ts"],"sourcesContent":["import { Result, createImplementation } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n MoveRedirectUseCase as UseCaseAbstraction,\n MoveRedirectRepository\n} from \"./abstractions.js\";\nimport { RedirectBeforeMoveEvent, RedirectAfterMoveEvent } from \"./events.js\";\nimport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { RedirectNotAuthorizedError } from \"~/domain/redirect/errors.js\";\n\nclass MoveRedirectUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getRedirectById: GetRedirectByIdUseCase.Interface,\n private repository: MoveRedirectRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n 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(params.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 move event\n const beforeEvent = new RedirectBeforeMoveEvent({\n original,\n input: params\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the move operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after move event\n const afterEvent = new RedirectAfterMoveEvent({\n original,\n input: params,\n redirect: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const MoveRedirectUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: MoveRedirectUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetRedirectByIdUseCase, MoveRedirectRepository]\n});\n"],"names":["MoveRedirectUseCaseImpl","permissions","eventPublisher","getRedirectById","repository","params","hasPermission","Result","RedirectNotAuthorizedError","getResult","original","canEdit","beforeEvent","RedirectBeforeMoveEvent","result","afterEvent","RedirectAfterMoveEvent","MoveRedirectUseCase","createImplementation","UseCaseAbstraction","WbPermissions","EventPublisher","GetRedirectByIdUseCase","MoveRedirectRepository"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,eAAiD,EACjDC,UAA4C,CACtD;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAA6B;QACxE,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACJ,OAAO,EAAE;QAE9D,IAAII,UAAU,MAAM,IAChB,OAAOA;QAGX,MAAMC,WAAWD,UAAU,KAAK;QAEhC,MAAME,UAAU,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAYD;QAC3D,IAAI,CAACC,SACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMI,cAAc,IAAIC,wBAAwB;YAC5CH;YACA,OAAOL;QACX;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACO;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACT;QAE7C,IAAIS,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,uBAAuB;YAC1CN;YACA,OAAOL;YACP,UAAUS,OAAO,KAAK;QAC1B;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QAElC,OAAOR,OAAO,EAAE,CAACO,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMG,0CAAsBC,qBAAqB;IACpD,aAAaC;IACb,gBAAgBnB;IAChB,cAAc;QAACoB;QAAeC;QAAgBC;QAAwBC;KAAuB;AACjG"}
|
|
@@ -1,33 +1,8 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Repository Abstraction
|
|
9
|
-
// ============================================================================
|
|
10
|
-
|
|
11
|
-
export const MoveRedirectRepository = createAbstraction("Wb/MoveRedirectRepository");
|
|
12
|
-
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Use Case Abstraction
|
|
15
|
-
// ============================================================================
|
|
16
|
-
|
|
17
|
-
/** Move a URL redirect to a different folder. */
|
|
18
|
-
export const MoveRedirectUseCase = createAbstraction("Wb/MoveRedirectUseCase");
|
|
19
|
-
|
|
20
|
-
// ============================================================================
|
|
21
|
-
// Event Payload Types
|
|
22
|
-
// ============================================================================
|
|
23
|
-
|
|
24
|
-
// ============================================================================
|
|
25
|
-
// Event Handler Abstractions
|
|
26
|
-
// ============================================================================
|
|
27
|
-
|
|
28
|
-
/** Hook into redirect lifecycle before a redirect is moved. */
|
|
29
|
-
export const RedirectBeforeMoveEventHandler = createAbstraction("Wb/RedirectBeforeMoveEventHandler");
|
|
30
|
-
/** Hook into redirect lifecycle after a redirect is moved. */
|
|
31
|
-
export const RedirectAfterMoveEventHandler = createAbstraction("Wb/RedirectAfterMoveEventHandler");
|
|
2
|
+
const MoveRedirectRepository = createAbstraction("Wb/MoveRedirectRepository");
|
|
3
|
+
const MoveRedirectUseCase = createAbstraction("Wb/MoveRedirectUseCase");
|
|
4
|
+
const RedirectBeforeMoveEventHandler = createAbstraction("Wb/RedirectBeforeMoveEventHandler");
|
|
5
|
+
const RedirectAfterMoveEventHandler = createAbstraction("Wb/RedirectAfterMoveEventHandler");
|
|
6
|
+
export { MoveRedirectRepository, MoveRedirectUseCase, RedirectAfterMoveEventHandler, RedirectBeforeMoveEventHandler };
|
|
32
7
|
|
|
33
8
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/redirects/MoveRedirect/abstractions.js","sources":["../../../../src/features/redirects/MoveRedirect/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WbRedirect } from \"~/domain/redirect/abstractions.js\";\nimport {\n RedirectNotFoundError,\n RedirectPersistenceError,\n RedirectNotAuthorizedError\n} from \"~/domain/redirect/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface 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\n/** Move a URL redirect to a different folder. */\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\n/** Hook into redirect lifecycle before a redirect is moved. */\nexport const RedirectBeforeMoveEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectBeforeMovePayload>>\n>(\"Wb/RedirectBeforeMoveEventHandler\");\n\nexport namespace RedirectBeforeMoveEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectBeforeMovePayload>>;\n export type Event = DomainEvent<RedirectBeforeMovePayload>;\n export type Redirect = WbRedirect;\n}\n\n/** Hook into redirect lifecycle after a redirect is moved. */\nexport const RedirectAfterMoveEventHandler = createAbstraction<\n IEventHandler<DomainEvent<RedirectAfterMovePayload>>\n>(\"Wb/RedirectAfterMoveEventHandler\");\n\nexport namespace RedirectAfterMoveEventHandler {\n export type Interface = IEventHandler<DomainEvent<RedirectAfterMovePayload>>;\n export type Event = DomainEvent<RedirectAfterMovePayload>;\n export type Redirect = WbRedirect;\n}\n"],"names":["MoveRedirectRepository","createAbstraction","MoveRedirectUseCase","RedirectBeforeMoveEventHandler","RedirectAfterMoveEventHandler"],"mappings":";AAkCO,MAAMA,yBAAyBC,kBAClC;AA4BG,MAAMC,sBACTD,kBAAwC;AA8BrC,MAAME,iCAAiCF,kBAE5C;AASK,MAAMG,gCAAgCH,kBAE3C"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { RedirectAfterMoveEventHandler, RedirectBeforeMoveEventHandler } from "./abstractions.js";
|
|
3
|
+
class RedirectBeforeMoveEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return RedirectBeforeMoveEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "redirect.beforeMove";
|
|
9
|
+
}
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
class RedirectAfterMoveEvent extends DomainEvent {
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return RedirectAfterMoveEventHandler;
|
|
14
|
+
}
|
|
15
|
+
constructor(...args){
|
|
16
|
+
super(...args), this.eventType = "redirect.afterMove";
|
|
17
|
+
}
|
|
17
18
|
}
|
|
19
|
+
export { RedirectAfterMoveEvent, RedirectBeforeMoveEvent };
|
|
18
20
|
|
|
19
21
|
//# sourceMappingURL=events.js.map
|