@webiny/api-website-builder 6.3.0 → 6.4.0-beta.0
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.js +33 -29
- 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.js +32 -29
- 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.js +57 -62
- 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,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 { PageAfterCreateEventHandler, PageBeforeCreateEventHandler } from "./abstractions.js";
|
|
3
|
+
class PageBeforeCreateEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return PageBeforeCreateEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "page.beforeCreate";
|
|
9
|
+
}
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
class PageAfterCreateEvent extends DomainEvent {
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return PageAfterCreateEventHandler;
|
|
14
|
+
}
|
|
15
|
+
constructor(...args){
|
|
16
|
+
super(...args), this.eventType = "page.afterCreate";
|
|
17
|
+
}
|
|
17
18
|
}
|
|
19
|
+
export { PageAfterCreateEvent, PageBeforeCreateEvent };
|
|
18
20
|
|
|
19
21
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/CreatePage/events.js","sources":["../../../../src/features/pages/CreatePage/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PageBeforeCreateEventHandler, PageAfterCreateEventHandler } from \"./abstractions.js\";\nimport type { PageBeforeCreatePayload, PageAfterCreatePayload } from \"./abstractions.js\";\n\n// PageBeforeCreate Event\nexport class PageBeforeCreateEvent extends DomainEvent<PageBeforeCreatePayload> {\n eventType = \"page.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeCreateEventHandler;\n }\n}\n\n// PageAfterCreate Event\nexport class PageAfterCreateEvent extends DomainEvent<PageAfterCreatePayload> {\n eventType = \"page.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return PageAfterCreateEventHandler;\n }\n}\n"],"names":["PageBeforeCreateEvent","DomainEvent","PageBeforeCreateEventHandler","PageAfterCreateEvent","PageAfterCreateEventHandler"],"mappings":";;AAKO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,6BAA6BF;IAGtC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { CreatePageRepository } from "./CreatePageRepository.js";
|
|
3
3
|
import { CreatePageUseCase } from "./CreatePageUseCase.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const CreatePageFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/CreatePage",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(CreatePageRepository).inSingletonScope();
|
|
8
|
+
container.register(CreatePageUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { CreatePageFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/CreatePage/feature.js","sources":["../../../../src/features/pages/CreatePage/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreatePageRepository } from \"./CreatePageRepository.js\";\nimport { CreatePageUseCase } from \"./CreatePageUseCase.js\";\n\nexport const CreatePageFeature = createFeature({\n name: \"WebsiteBuilder/CreatePage\",\n register(container) {\n container.register(CreatePageRepository).inSingletonScope();\n container.register(CreatePageUseCase);\n }\n});\n"],"names":["CreatePageFeature","createFeature","container","CreatePageRepository","CreatePageUseCase"],"mappings":";;;AAIO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,sBAAsB,gBAAgB;QACzDD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -4,46 +4,40 @@ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEn
|
|
|
4
4
|
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
5
5
|
import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
|
|
6
6
|
import { PageNotFoundError, PagePersistenceError, PageValidationError } from "../../../domain/page/errors.js";
|
|
7
|
-
import { CreatePageRevisionFromRepository
|
|
7
|
+
import { CreatePageRevisionFromRepository } from "./abstractions.js";
|
|
8
8
|
class CreatePageRevisionFromRepositoryImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
async execute(params) {
|
|
15
|
-
// First, get the existing page to validate it exists
|
|
16
|
-
const getResult = await this.getEntryById.execute(this.pageModel, params.id);
|
|
17
|
-
if (getResult.isFail()) {
|
|
18
|
-
if (getResult.error.code === "Cms/Entry/NotFound") {
|
|
19
|
-
return Result.fail(new PageNotFoundError(params.id));
|
|
20
|
-
}
|
|
21
|
-
return Result.fail(new PagePersistenceError(getResult.error));
|
|
9
|
+
constructor(createRevisionFrom, getEntryById, pageModel){
|
|
10
|
+
this.createRevisionFrom = createRevisionFrom;
|
|
11
|
+
this.getEntryById = getEntryById;
|
|
12
|
+
this.pageModel = pageModel;
|
|
22
13
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
14
|
+
async execute(params) {
|
|
15
|
+
const getResult = await this.getEntryById.execute(this.pageModel, params.id);
|
|
16
|
+
if (getResult.isFail()) {
|
|
17
|
+
if ("Cms/Entry/NotFound" === getResult.error.code) return Result.fail(new PageNotFoundError(params.id));
|
|
18
|
+
return Result.fail(new PagePersistenceError(getResult.error));
|
|
19
|
+
}
|
|
20
|
+
const result = await this.createRevisionFrom.execute(this.pageModel, params.id, {
|
|
21
|
+
location: getResult.value.location,
|
|
22
|
+
values: {}
|
|
23
|
+
});
|
|
24
|
+
if (result.isFail()) {
|
|
25
|
+
if ("Cms/Entry/ValidationError" === result.error.code) return Result.fail(new PageValidationError(result.error.message));
|
|
26
|
+
if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new PageNotFoundError(params.id));
|
|
27
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
28
|
+
}
|
|
29
|
+
const page = EntryToPageMapper.toPage(result.value);
|
|
30
|
+
return Result.ok(page);
|
|
37
31
|
}
|
|
38
|
-
|
|
39
|
-
// Map CmsEntry to WbPage domain type
|
|
40
|
-
const page = EntryToPageMapper.toPage(result.value);
|
|
41
|
-
return Result.ok(page);
|
|
42
|
-
}
|
|
43
32
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
const CreatePageRevisionFromRepository_CreatePageRevisionFromRepository = CreatePageRevisionFromRepository.createImplementation({
|
|
34
|
+
implementation: CreatePageRevisionFromRepositoryImpl,
|
|
35
|
+
dependencies: [
|
|
36
|
+
CreateEntryRevisionFromUseCase,
|
|
37
|
+
GetEntryByIdUseCase,
|
|
38
|
+
PageModel
|
|
39
|
+
]
|
|
47
40
|
});
|
|
41
|
+
export { CreatePageRevisionFromRepository_CreatePageRevisionFromRepository as CreatePageRevisionFromRepository };
|
|
48
42
|
|
|
49
43
|
//# sourceMappingURL=CreatePageRevisionFromRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js","sources":["../../../../src/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryRevisionFromUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntryRevisionFrom/index.js\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { PageModel, type WbPage } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageValidationError\n} from \"~/domain/page/errors.js\";\nimport { CreatePageRevisionFromRepository as RepositoryAbstraction } from \"./abstractions.js\";\n\nclass CreatePageRevisionFromRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private createRevisionFrom: CreateEntryRevisionFromUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // First, get the existing page to validate it exists\n const getResult = await this.getEntryById.execute<WbPage>(this.pageModel, params.id);\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(getResult.error));\n }\n\n // Create revision from the existing page\n const result = await this.createRevisionFrom.execute(this.pageModel, params.id, {\n location: getResult.value.location,\n values: {}\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/ValidationError\") {\n return Result.fail(new PageValidationError(result.error.message));\n }\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n // Map CmsEntry to WbPage domain type\n const page = EntryToPageMapper.toPage(result.value);\n return Result.ok(page);\n }\n}\n\nexport const CreatePageRevisionFromRepository = RepositoryAbstraction.createImplementation({\n implementation: CreatePageRevisionFromRepositoryImpl,\n dependencies: [CreateEntryRevisionFromUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"names":["CreatePageRevisionFromRepositoryImpl","createRevisionFrom","getEntryById","pageModel","params","getResult","Result","PageNotFoundError","PagePersistenceError","result","PageValidationError","page","EntryToPageMapper","CreatePageRevisionFromRepository","RepositoryAbstraction","CreateEntryRevisionFromUseCase","GetEntryByIdUseCase","PageModel"],"mappings":";;;;;;;AAYA,MAAMA;IACF,YACYC,kBAA4D,EAC5DC,YAA2C,EAC3CC,SAA8B,CACxC;aAHUF,kBAAkB,GAAlBA;aACAC,YAAY,GAAZA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAE9E,MAAMC,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAS,IAAI,CAAC,SAAS,EAAED,OAAO,EAAE;QAEnF,IAAIC,UAAU,MAAM,IAAI;YACpB,IAAIA,AAAyB,yBAAzBA,UAAU,KAAK,CAAC,IAAI,EACpB,OAAOC,OAAO,IAAI,CAAC,IAAIC,kBAAkBH,OAAO,EAAE;YAEtD,OAAOE,OAAO,IAAI,CAAC,IAAIE,qBAAqBH,UAAU,KAAK;QAC/D;QAGA,MAAMI,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAEL,OAAO,EAAE,EAAE;YAC5E,UAAUC,UAAU,KAAK,CAAC,QAAQ;YAClC,QAAQ,CAAC;QACb;QAEA,IAAII,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,gCAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOH,OAAO,IAAI,CAAC,IAAII,oBAAoBD,OAAO,KAAK,CAAC,OAAO;YAEnE,IAAIA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOH,OAAO,IAAI,CAAC,IAAIC,kBAAkBH,OAAO,EAAE;YAEtD,OAAOE,OAAO,IAAI,CAAC,IAAIE,qBAAqBC,OAAO,KAAK;QAC5D;QAGA,MAAME,OAAOC,kBAAkB,MAAM,CAACH,OAAO,KAAK;QAClD,OAAOH,OAAO,EAAE,CAACK;IACrB;AACJ;AAEO,MAAME,oEAAmCC,iCAAAA,oBAA0C,CAAC;IACvF,gBAAgBd;IAChB,cAAc;QAACe;QAAgCC;QAAqBC;KAAU;AAClF"}
|
|
@@ -1,53 +1,45 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { CreatePageRevisionFromRepository, CreatePageRevisionFromUseCase } from "./abstractions.js";
|
|
4
|
+
import { PageAfterCreateRevisionFromEvent, PageBeforeCreateRevisionFromEvent } from "./events.js";
|
|
5
5
|
import { GetPageByIdUseCase } from "../GetPageById/index.js";
|
|
6
6
|
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
7
7
|
import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
8
8
|
class CreatePageRevisionFromUseCaseImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
async execute(params) {
|
|
16
|
-
const hasPermission = await this.permissions.canCreate("page");
|
|
17
|
-
if (!hasPermission) {
|
|
18
|
-
return Result.fail(new PageNotAuthorizedError());
|
|
9
|
+
constructor(permissions, eventPublisher, getPageById, repository){
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.getPageById = getPageById;
|
|
13
|
+
this.repository = repository;
|
|
19
14
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
async execute(params) {
|
|
16
|
+
const hasPermission = await this.permissions.canCreate("page");
|
|
17
|
+
if (!hasPermission) return Result.fail(new PageNotAuthorizedError());
|
|
18
|
+
const getResult = await this.getPageById.execute(params.id);
|
|
19
|
+
if (getResult.isFail()) return getResult;
|
|
20
|
+
const beforeEvent = new PageBeforeCreateRevisionFromEvent({
|
|
21
|
+
params
|
|
22
|
+
});
|
|
23
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
24
|
+
const result = await this.repository.execute(params);
|
|
25
|
+
if (result.isFail()) return result;
|
|
26
|
+
const page = result.value;
|
|
27
|
+
const afterEvent = new PageAfterCreateRevisionFromEvent({
|
|
28
|
+
page
|
|
29
|
+
});
|
|
30
|
+
await this.eventPublisher.publish(afterEvent);
|
|
31
|
+
return Result.ok(page);
|
|
25
32
|
}
|
|
26
|
-
|
|
27
|
-
// Publish before event
|
|
28
|
-
const beforeEvent = new PageBeforeCreateRevisionFromEvent({
|
|
29
|
-
params
|
|
30
|
-
});
|
|
31
|
-
await this.eventPublisher.publish(beforeEvent);
|
|
32
|
-
|
|
33
|
-
// Execute the create revision operation
|
|
34
|
-
const result = await this.repository.execute(params);
|
|
35
|
-
if (result.isFail()) {
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
const page = result.value;
|
|
39
|
-
|
|
40
|
-
// Publish after event
|
|
41
|
-
const afterEvent = new PageAfterCreateRevisionFromEvent({
|
|
42
|
-
page
|
|
43
|
-
});
|
|
44
|
-
await this.eventPublisher.publish(afterEvent);
|
|
45
|
-
return Result.ok(page);
|
|
46
|
-
}
|
|
47
33
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
34
|
+
const CreatePageRevisionFromUseCase_CreatePageRevisionFromUseCase = CreatePageRevisionFromUseCase.createImplementation({
|
|
35
|
+
implementation: CreatePageRevisionFromUseCaseImpl,
|
|
36
|
+
dependencies: [
|
|
37
|
+
WbPermissions,
|
|
38
|
+
EventPublisher,
|
|
39
|
+
GetPageByIdUseCase,
|
|
40
|
+
CreatePageRevisionFromRepository
|
|
41
|
+
]
|
|
51
42
|
});
|
|
43
|
+
export { CreatePageRevisionFromUseCase_CreatePageRevisionFromUseCase as CreatePageRevisionFromUseCase };
|
|
52
44
|
|
|
53
45
|
//# sourceMappingURL=CreatePageRevisionFromUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js","sources":["../../../../src/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n CreatePageRevisionFromUseCase as UseCaseAbstraction,\n CreatePageRevisionFromRepository\n} from \"./abstractions.js\";\nimport { PageBeforeCreateRevisionFromEvent, PageAfterCreateRevisionFromEvent } from \"./events.js\";\nimport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/index.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass CreatePageRevisionFromUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: CreatePageRevisionFromRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canCreate(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Verify ownership of the source page\n const getResult = await this.getPageById.execute(params.id);\n if (getResult.isFail()) {\n return getResult;\n }\n\n // Publish before event\n const beforeEvent = new PageBeforeCreateRevisionFromEvent({\n params\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the create revision operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n const page = result.value;\n\n // Publish after event\n const afterEvent = new PageAfterCreateRevisionFromEvent({\n page\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(page);\n }\n}\n\nexport const CreatePageRevisionFromUseCase = UseCaseAbstraction.createImplementation({\n implementation: CreatePageRevisionFromUseCaseImpl,\n dependencies: [\n WbPermissions,\n EventPublisher,\n GetPageByIdUseCase,\n CreatePageRevisionFromRepository\n ]\n});\n"],"names":["CreatePageRevisionFromUseCaseImpl","permissions","eventPublisher","getPageById","repository","params","hasPermission","Result","PageNotAuthorizedError","getResult","beforeEvent","PageBeforeCreateRevisionFromEvent","result","page","afterEvent","PageAfterCreateRevisionFromEvent","CreatePageRevisionFromUseCase","UseCaseAbstraction","WbPermissions","EventPublisher","GetPageByIdUseCase","CreatePageRevisionFromRepository"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAAsD,CAChE;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAA6B;QACxE,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACvD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACJ,OAAO,EAAE;QAC1D,IAAII,UAAU,MAAM,IAChB,OAAOA;QAIX,MAAMC,cAAc,IAAIC,kCAAkC;YACtDN;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACK;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACP;QAE7C,IAAIO,OAAO,MAAM,IACb,OAAOA;QAGX,MAAMC,OAAOD,OAAO,KAAK;QAGzB,MAAME,aAAa,IAAIC,iCAAiC;YACpDF;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QAElC,OAAOP,OAAO,EAAE,CAACM;IACrB;AACJ;AAEO,MAAMG,8DAAgCC,8BAAAA,oBAAuC,CAAC;IACjF,gBAAgBjB;IAChB,cAAc;QACVkB;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -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 CreatePageRevisionFromRepository = createAbstraction("Wb/CreatePageRevisionFromRepository");
|
|
12
|
-
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Use Case Abstraction
|
|
15
|
-
// ============================================================================
|
|
16
|
-
|
|
17
|
-
/** Create a page revision from an existing one. */
|
|
18
|
-
export const CreatePageRevisionFromUseCase = createAbstraction("Wb/CreatePageRevisionFromUseCase");
|
|
19
|
-
|
|
20
|
-
// ============================================================================
|
|
21
|
-
// Event Payload Types
|
|
22
|
-
// ============================================================================
|
|
23
|
-
|
|
24
|
-
// ============================================================================
|
|
25
|
-
// Event Handler Abstractions
|
|
26
|
-
// ============================================================================
|
|
27
|
-
|
|
28
|
-
/** Hook into page lifecycle before a revision is created from existing. */
|
|
29
|
-
export const PageBeforeCreateRevisionFromEventHandler = createAbstraction("Wb/PageBeforeCreateRevisionFromEventHandler");
|
|
30
|
-
/** Hook into page lifecycle after a revision is created from existing. */
|
|
31
|
-
export const PageAfterCreateRevisionFromEventHandler = createAbstraction("Wb/PageAfterCreateRevisionFromEventHandler");
|
|
2
|
+
const CreatePageRevisionFromRepository = createAbstraction("Wb/CreatePageRevisionFromRepository");
|
|
3
|
+
const CreatePageRevisionFromUseCase = createAbstraction("Wb/CreatePageRevisionFromUseCase");
|
|
4
|
+
const PageBeforeCreateRevisionFromEventHandler = createAbstraction("Wb/PageBeforeCreateRevisionFromEventHandler");
|
|
5
|
+
const PageAfterCreateRevisionFromEventHandler = createAbstraction("Wb/PageAfterCreateRevisionFromEventHandler");
|
|
6
|
+
export { CreatePageRevisionFromRepository, CreatePageRevisionFromUseCase, PageAfterCreateRevisionFromEventHandler, PageBeforeCreateRevisionFromEventHandler };
|
|
32
7
|
|
|
33
8
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/CreatePageRevisionFrom/abstractions.js","sources":["../../../../src/features/pages/CreatePageRevisionFrom/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageNotFoundError,\n PagePersistenceError,\n PageValidationError,\n PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface ICreateWbPageRevisionFromParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface ICreatePageRevisionFromRepository {\n execute(params: ICreateWbPageRevisionFromParams): Promise<Result<WbPage, RepositoryError>>;\n}\n\nexport interface ICreatePageRevisionFromRepositoryErrors {\n validation: PageValidationError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError =\n ICreatePageRevisionFromRepositoryErrors[keyof ICreatePageRevisionFromRepositoryErrors];\n\nexport const CreatePageRevisionFromRepository =\n createAbstraction<ICreatePageRevisionFromRepository>(\"Wb/CreatePageRevisionFromRepository\");\n\nexport namespace CreatePageRevisionFromRepository {\n export type Interface = ICreatePageRevisionFromRepository;\n export type Params = ICreateWbPageRevisionFromParams;\n export type Return = Promise<Result<WbPage, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface ICreatePageRevisionFromUseCase {\n execute(params: ICreateWbPageRevisionFromParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface ICreatePageRevisionFromUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n validation: PageValidationError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError =\n ICreatePageRevisionFromUseCaseErrors[keyof ICreatePageRevisionFromUseCaseErrors];\n\n/** Create a page revision from an existing one. */\nexport const CreatePageRevisionFromUseCase = createAbstraction<ICreatePageRevisionFromUseCase>(\n \"Wb/CreatePageRevisionFromUseCase\"\n);\n\nexport namespace CreatePageRevisionFromUseCase {\n export type Interface = ICreatePageRevisionFromUseCase;\n export type Params = ICreateWbPageRevisionFromParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforeCreateRevisionFromPayload {\n params: ICreateWbPageRevisionFromParams;\n}\n\nexport interface PageAfterCreateRevisionFromPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\n/** Hook into page lifecycle before a revision is created from existing. */\nexport const PageBeforeCreateRevisionFromEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeCreateRevisionFromPayload>>\n>(\"Wb/PageBeforeCreateRevisionFromEventHandler\");\n\nexport namespace PageBeforeCreateRevisionFromEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeCreateRevisionFromPayload>>;\n export type Event = DomainEvent<PageBeforeCreateRevisionFromPayload>;\n export type Page = WbPage;\n}\n\n/** Hook into page lifecycle after a revision is created from existing. */\nexport const PageAfterCreateRevisionFromEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterCreateRevisionFromPayload>>\n>(\"Wb/PageAfterCreateRevisionFromEventHandler\");\n\nexport namespace PageAfterCreateRevisionFromEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterCreateRevisionFromPayload>>;\n export type Event = DomainEvent<PageAfterCreateRevisionFromPayload>;\n export type Page = WbPage;\n}\n"],"names":["CreatePageRevisionFromRepository","createAbstraction","CreatePageRevisionFromUseCase","PageBeforeCreateRevisionFromEventHandler","PageAfterCreateRevisionFromEventHandler"],"mappings":";AAoCO,MAAMA,mCACTC,kBAAqD;AA4BlD,MAAMC,gCAAgCD,kBACzC;AA4BG,MAAME,2CAA2CF,kBAEtD;AASK,MAAMG,0CAA0CH,kBAErD"}
|
|
@@ -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 { PageAfterCreateRevisionFromEventHandler, PageBeforeCreateRevisionFromEventHandler } from "./abstractions.js";
|
|
3
|
+
class PageBeforeCreateRevisionFromEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return PageBeforeCreateRevisionFromEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "page.beforeCreateRevisionFrom";
|
|
9
|
+
}
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
class PageAfterCreateRevisionFromEvent extends DomainEvent {
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return PageAfterCreateRevisionFromEventHandler;
|
|
14
|
+
}
|
|
15
|
+
constructor(...args){
|
|
16
|
+
super(...args), this.eventType = "page.afterCreateRevisionFrom";
|
|
17
|
+
}
|
|
17
18
|
}
|
|
19
|
+
export { PageAfterCreateRevisionFromEvent, PageBeforeCreateRevisionFromEvent };
|
|
18
20
|
|
|
19
21
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/CreatePageRevisionFrom/events.js","sources":["../../../../src/features/pages/CreatePageRevisionFrom/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n PageBeforeCreateRevisionFromEventHandler,\n PageAfterCreateRevisionFromEventHandler\n} from \"./abstractions.js\";\nimport type {\n PageBeforeCreateRevisionFromPayload,\n PageAfterCreateRevisionFromPayload\n} from \"./abstractions.js\";\n\n// PageBeforeCreateRevisionFrom Event\nexport class PageBeforeCreateRevisionFromEvent extends DomainEvent<PageBeforeCreateRevisionFromPayload> {\n eventType = \"page.beforeCreateRevisionFrom\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeCreateRevisionFromEventHandler;\n }\n}\n\n// PageAfterCreateRevisionFrom Event\nexport class PageAfterCreateRevisionFromEvent extends DomainEvent<PageAfterCreateRevisionFromPayload> {\n eventType = \"page.afterCreateRevisionFrom\" as const;\n\n getHandlerAbstraction() {\n return PageAfterCreateRevisionFromEventHandler;\n }\n}\n"],"names":["PageBeforeCreateRevisionFromEvent","DomainEvent","PageBeforeCreateRevisionFromEventHandler","PageAfterCreateRevisionFromEvent","PageAfterCreateRevisionFromEventHandler"],"mappings":";;AAWO,MAAMA,0CAA0CC;IAGnD,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,yCAAyCF;IAGlD,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { CreatePageRevisionFromRepository } from "./CreatePageRevisionFromRepository.js";
|
|
3
3
|
import { CreatePageRevisionFromUseCase } from "./CreatePageRevisionFromUseCase.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const CreatePageRevisionFromFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/CreatePageRevisionFrom",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(CreatePageRevisionFromRepository).inSingletonScope();
|
|
8
|
+
container.register(CreatePageRevisionFromUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { CreatePageRevisionFromFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/CreatePageRevisionFrom/feature.js","sources":["../../../../src/features/pages/CreatePageRevisionFrom/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreatePageRevisionFromRepository } from \"./CreatePageRevisionFromRepository.js\";\nimport { CreatePageRevisionFromUseCase } from \"./CreatePageRevisionFromUseCase.js\";\n\nexport const CreatePageRevisionFromFeature = createFeature({\n name: \"WebsiteBuilder/CreatePageRevisionFrom\",\n register(container) {\n container.register(CreatePageRevisionFromRepository).inSingletonScope();\n container.register(CreatePageRevisionFromUseCase);\n }\n});\n"],"names":["CreatePageRevisionFromFeature","createFeature","container","CreatePageRevisionFromRepository","CreatePageRevisionFromUseCase"],"mappings":";;;AAIO,MAAMA,gCAAgCC,cAAc;IACvD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,kCAAkC,gBAAgB;QACrED,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
export { PageAfterCreateRevisionFromEventHandler, PageBeforeCreateRevisionFromEventHandler
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export { CreatePageRevisionFromUseCase, PageAfterCreateRevisionFromEventHandler, PageBeforeCreateRevisionFromEventHandler } from "./abstractions.js";
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
|
|
3
|
-
import { DeletePageRepository
|
|
3
|
+
import { DeletePageRepository } from "./abstractions.js";
|
|
4
4
|
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
5
5
|
import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
|
|
6
6
|
class DeletePageRepositoryImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return Result.fail(new PagePersistenceError(result.error));
|
|
7
|
+
constructor(deleteEntry, pageModel){
|
|
8
|
+
this.deleteEntry = deleteEntry;
|
|
9
|
+
this.pageModel = pageModel;
|
|
10
|
+
}
|
|
11
|
+
async execute(params) {
|
|
12
|
+
const result = await this.deleteEntry.execute(this.pageModel, params.id);
|
|
13
|
+
if (result.isFail()) {
|
|
14
|
+
if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new PageNotFoundError(params.id));
|
|
15
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
16
|
+
}
|
|
17
|
+
return Result.ok();
|
|
19
18
|
}
|
|
20
|
-
return Result.ok();
|
|
21
|
-
}
|
|
22
19
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const DeletePageRepository_DeletePageRepository = DeletePageRepository.createImplementation({
|
|
21
|
+
implementation: DeletePageRepositoryImpl,
|
|
22
|
+
dependencies: [
|
|
23
|
+
DeleteEntryUseCase,
|
|
24
|
+
PageModel
|
|
25
|
+
]
|
|
26
26
|
});
|
|
27
|
+
export { DeletePageRepository_DeletePageRepository as DeletePageRepository };
|
|
27
28
|
|
|
28
29
|
//# sourceMappingURL=DeletePageRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/DeletePage/DeletePageRepository.js","sources":["../../../../src/features/pages/DeletePage/DeletePageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { DeletePageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass DeletePageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private deleteEntry: DeleteEntryUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // Delete the entry\n const result = await this.deleteEntry.execute(this.pageModel, params.id);\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new PageNotFoundError(params.id));\n }\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n return Result.ok();\n }\n}\n\nexport const DeletePageRepository = RepositoryAbstraction.createImplementation({\n implementation: DeletePageRepositoryImpl,\n dependencies: [DeleteEntryUseCase, PageModel]\n});\n"],"names":["DeletePageRepositoryImpl","deleteEntry","pageModel","params","result","Result","PageNotFoundError","PagePersistenceError","DeletePageRepository","RepositoryAbstraction","DeleteEntryUseCase","PageModel"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,WAAyC,EACzCC,SAA8B,CACxC;aAFUD,WAAW,GAAXA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAE9E,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAED,OAAO,EAAE;QAEvE,IAAIC,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,yBAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC,kBAAkBH,OAAO,EAAE;YAEtD,OAAOE,OAAO,IAAI,CAAC,IAAIE,qBAAqBH,OAAO,KAAK;QAC5D;QAEA,OAAOC,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMG,4CAAuBC,qBAAAA,oBAA0C,CAAC;IAC3E,gBAAgBT;IAChB,cAAc;QAACU;QAAoBC;KAAU;AACjD"}
|