@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 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/TranslatePage/abstractions.js","sources":["../../../../src/features/pages/TranslatePage/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport {\n PageValidationError,\n PageNotFoundError,\n PagePersistenceError,\n PageNotAuthorizedError,\n PageTranslationError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface ITranslateWbPageParams {\n pageId: string;\n languageCode: string;\n folderId: string;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface ITranslatePageUseCase {\n execute(params: ITranslateWbPageParams): Promise<Result<WbPage, UseCaseError>>;\n}\n\nexport interface ITranslatePageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n validation: PageValidationError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n translation: PageTranslationError;\n}\n\ntype UseCaseError = ITranslatePageUseCaseErrors[keyof ITranslatePageUseCaseErrors];\n\n/** Translate a page to a different language. */\nexport const TranslatePageUseCase =\n createAbstraction<ITranslatePageUseCase>(\"Wb/TranslatePageUseCase\");\n\nexport namespace TranslatePageUseCase {\n export type Interface = ITranslatePageUseCase;\n export type Params = ITranslateWbPageParams;\n export type Return = Promise<Result<WbPage, UseCaseError>>;\n export type Error = UseCaseError;\n export type Page = WbPage;\n}\n"],"names":["TranslatePageUseCase","createAbstraction"],"mappings":";AAuCO,MAAMA,uBACTC,kBAAyC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { TranslatePageUseCase } from "./TranslatePageUseCase.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const TranslatePageFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilder/TranslatePage",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(TranslatePageUseCase);
|
|
7
|
+
}
|
|
8
8
|
});
|
|
9
|
+
export { TranslatePageFeature };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/TranslatePage/feature.js","sources":["../../../../src/features/pages/TranslatePage/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TranslatePageUseCase } from \"./TranslatePageUseCase.js\";\n\nexport const TranslatePageFeature = createFeature({\n name: \"WebsiteBuilder/TranslatePage\",\n register(container) {\n container.register(TranslatePageUseCase);\n }\n});\n"],"names":["TranslatePageFeature","createFeature","container","TranslatePageUseCase"],"mappings":";;AAGO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
|
|
3
|
-
import { TrashPageRepository
|
|
3
|
+
import { TrashPageRepository } 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 TrashPageRepositoryImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
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
|
+
permanently: false
|
|
14
|
+
});
|
|
15
|
+
if (result.isFail()) {
|
|
16
|
+
if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new PageNotFoundError(params.id));
|
|
17
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
18
|
+
}
|
|
19
|
+
return Result.ok();
|
|
21
20
|
}
|
|
22
|
-
return Result.ok();
|
|
23
|
-
}
|
|
24
21
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
const TrashPageRepository_TrashPageRepository = TrashPageRepository.createImplementation({
|
|
23
|
+
implementation: TrashPageRepositoryImpl,
|
|
24
|
+
dependencies: [
|
|
25
|
+
DeleteEntryUseCase,
|
|
26
|
+
PageModel
|
|
27
|
+
]
|
|
28
28
|
});
|
|
29
|
+
export { TrashPageRepository_TrashPageRepository as TrashPageRepository };
|
|
29
30
|
|
|
30
31
|
//# sourceMappingURL=TrashPageRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/TrashPage/TrashPageRepository.js","sources":["../../../../src/features/pages/TrashPage/TrashPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { TrashPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass TrashPageRepositoryImpl 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 // Trash the entry\n const result = await this.deleteEntry.execute(this.pageModel, params.id, {\n permanently: false\n });\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 TrashPageRepository = RepositoryAbstraction.createImplementation({\n implementation: TrashPageRepositoryImpl,\n dependencies: [DeleteEntryUseCase, PageModel]\n});\n"],"names":["TrashPageRepositoryImpl","deleteEntry","pageModel","params","result","Result","PageNotFoundError","PagePersistenceError","TrashPageRepository","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,EAAE;YACrE,aAAa;QACjB;QAEA,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,0CAAsBC,oBAAAA,oBAA0C,CAAC;IAC1E,gBAAgBT;IAChB,cAAc;QAACU;QAAoBC;KAAU;AACjD"}
|
|
@@ -1,52 +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 { TrashPageRepository, TrashPageUseCase } from "./abstractions.js";
|
|
4
|
+
import { PageAfterTrashEvent, PageBeforeTrashEvent } 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 TrashPageUseCaseImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
async execute(params) {
|
|
16
|
-
// Get the page first to include in events and for item-level permission check
|
|
17
|
-
const getResult = await this.getPageById.execute(params.id);
|
|
18
|
-
if (getResult.isFail()) {
|
|
19
|
-
return Result.fail(getResult.error);
|
|
9
|
+
constructor(permissions, eventPublisher, getPageById, repository){
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.getPageById = getPageById;
|
|
13
|
+
this.repository = repository;
|
|
20
14
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
async execute(params) {
|
|
16
|
+
const getResult = await this.getPageById.execute(params.id);
|
|
17
|
+
if (getResult.isFail()) return Result.fail(getResult.error);
|
|
18
|
+
const page = getResult.value;
|
|
19
|
+
const canDelete = await this.permissions.canDelete("page", page);
|
|
20
|
+
if (!canDelete) return Result.fail(new PageNotAuthorizedError());
|
|
21
|
+
const beforeEvent = new PageBeforeTrashEvent({
|
|
22
|
+
page
|
|
23
|
+
});
|
|
24
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
25
|
+
const result = await this.repository.execute(params);
|
|
26
|
+
if (result.isFail()) return result;
|
|
27
|
+
const afterEvent = new PageAfterTrashEvent({
|
|
28
|
+
page
|
|
29
|
+
});
|
|
30
|
+
await this.eventPublisher.publish(afterEvent);
|
|
31
|
+
return Result.ok();
|
|
25
32
|
}
|
|
26
|
-
|
|
27
|
-
// Publish before delete event
|
|
28
|
-
const beforeEvent = new PageBeforeTrashEvent({
|
|
29
|
-
page
|
|
30
|
-
});
|
|
31
|
-
await this.eventPublisher.publish(beforeEvent);
|
|
32
|
-
|
|
33
|
-
// Execute the delete operation
|
|
34
|
-
const result = await this.repository.execute(params);
|
|
35
|
-
if (result.isFail()) {
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Publish after delete event
|
|
40
|
-
const afterEvent = new PageAfterTrashEvent({
|
|
41
|
-
page
|
|
42
|
-
});
|
|
43
|
-
await this.eventPublisher.publish(afterEvent);
|
|
44
|
-
return Result.ok();
|
|
45
|
-
}
|
|
46
33
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
34
|
+
const TrashPageUseCase_TrashPageUseCase = TrashPageUseCase.createImplementation({
|
|
35
|
+
implementation: TrashPageUseCaseImpl,
|
|
36
|
+
dependencies: [
|
|
37
|
+
WbPermissions,
|
|
38
|
+
EventPublisher,
|
|
39
|
+
GetPageByIdUseCase,
|
|
40
|
+
TrashPageRepository
|
|
41
|
+
]
|
|
50
42
|
});
|
|
43
|
+
export { TrashPageUseCase_TrashPageUseCase as TrashPageUseCase };
|
|
51
44
|
|
|
52
45
|
//# sourceMappingURL=TrashPageUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/TrashPage/TrashPageUseCase.js","sources":["../../../../src/features/pages/TrashPage/TrashPageUseCase.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 { TrashPageUseCase as UseCaseAbstraction, TrashPageRepository } from \"./abstractions.js\";\nimport { PageBeforeTrashEvent, PageAfterTrashEvent } 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 TrashPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: TrashPageRepository.Interface\n ) {}\n\n public async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n // Get the page first to include in events and for item-level permission check\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const page = getResult.value;\n\n const canDelete = await this.permissions.canDelete(\"page\", page);\n if (!canDelete) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before delete event\n const beforeEvent = new PageBeforeTrashEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the delete operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterEvent = new PageAfterTrashEvent({\n page\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok();\n }\n}\n\nexport const TrashPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: TrashPageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, TrashPageRepository]\n});\n"],"names":["TrashPageUseCaseImpl","permissions","eventPublisher","getPageById","repository","params","getResult","Result","page","canDelete","PageNotAuthorizedError","beforeEvent","PageBeforeTrashEvent","result","afterEvent","PageAfterTrashEvent","TrashPageUseCase","UseCaseAbstraction","WbPermissions","EventPublisher","GetPageByIdUseCase","TrashPageRepository"],"mappings":";;;;;;;AAWA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAAyC,CACnD;aAJUH,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAa,QAAQC,MAAiC,EAA6B;QAE/E,MAAMC,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACD,OAAO,EAAE;QAE1D,IAAIC,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,OAAOF,UAAU,KAAK;QAE5B,MAAMG,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQD;QAC3D,IAAI,CAACC,WACD,OAAOF,OAAO,IAAI,CAAC,IAAIG;QAI3B,MAAMC,cAAc,IAAIC,qBAAqB;YACzCJ;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACG;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACR;QAE7C,IAAIQ,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,oBAAoB;YACvCP;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACM;QAElC,OAAOP,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMS,oCAAmBC,iBAAAA,oBAAuC,CAAC;IACpE,gBAAgBjB;IAChB,cAAc;QAACkB;QAAeC;QAAgBC;QAAoBC;KAAoB;AAC1F"}
|
|
@@ -1,30 +1,8 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Repository Abstraction
|
|
9
|
-
// ============================================================================
|
|
10
|
-
|
|
11
|
-
export const TrashPageRepository = createAbstraction("Wb/TrashPageRepository");
|
|
12
|
-
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Use Case Abstraction
|
|
15
|
-
// ============================================================================
|
|
16
|
-
|
|
17
|
-
export const TrashPageUseCase = createAbstraction("Wb/TrashPageUseCase");
|
|
18
|
-
|
|
19
|
-
// ============================================================================
|
|
20
|
-
// Event Payload Types
|
|
21
|
-
// ============================================================================
|
|
22
|
-
|
|
23
|
-
// ============================================================================
|
|
24
|
-
// Event Handler Abstractions
|
|
25
|
-
// ============================================================================
|
|
26
|
-
|
|
27
|
-
export const PageBeforeTrashEventHandler = createAbstraction("Wb/PageBeforeTrashEventHandler");
|
|
28
|
-
export const PageAfterTrashEventHandler = createAbstraction("Wb/PageAfterTrashEventHandler");
|
|
2
|
+
const TrashPageRepository = createAbstraction("Wb/TrashPageRepository");
|
|
3
|
+
const TrashPageUseCase = createAbstraction("Wb/TrashPageUseCase");
|
|
4
|
+
const PageBeforeTrashEventHandler = createAbstraction("Wb/PageBeforeTrashEventHandler");
|
|
5
|
+
const PageAfterTrashEventHandler = createAbstraction("Wb/PageAfterTrashEventHandler");
|
|
6
|
+
export { PageAfterTrashEventHandler, PageBeforeTrashEventHandler, TrashPageRepository, TrashPageUseCase };
|
|
29
7
|
|
|
30
8
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/TrashPage/abstractions.js","sources":["../../../../src/features/pages/TrashPage/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 PageNotAuthorizedError\n} from \"~/domain/page/errors.js\";\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface ITrashWbPageParams {\n id: string;\n}\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface ITrashPageRepository {\n execute(params: ITrashWbPageParams): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface ITrashPageRepositoryErrors {\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = ITrashPageRepositoryErrors[keyof ITrashPageRepositoryErrors];\n\nexport const TrashPageRepository =\n createAbstraction<ITrashPageRepository>(\"Wb/TrashPageRepository\");\n\nexport namespace TrashPageRepository {\n export type Interface = ITrashPageRepository;\n export type Params = ITrashWbPageParams;\n export type Return = Promise<Result<void, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface ITrashPageUseCase {\n execute(params: ITrashWbPageParams): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface ITrashPageUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n notFound: PageNotFoundError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = ITrashPageUseCaseErrors[keyof ITrashPageUseCaseErrors];\n\nexport const TrashPageUseCase = createAbstraction<ITrashPageUseCase>(\"Wb/TrashPageUseCase\");\n\nexport namespace TrashPageUseCase {\n export type Interface = ITrashPageUseCase;\n export type Params = ITrashWbPageParams;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// ============================================================================\n// Event Payload Types\n// ============================================================================\n\nexport interface PageBeforeTrashPayload {\n page: WbPage;\n}\n\nexport interface PageAfterTrashPayload {\n page: WbPage;\n}\n\n// ============================================================================\n// Event Handler Abstractions\n// ============================================================================\n\nexport const PageBeforeTrashEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageBeforeTrashPayload>>\n>(\"Wb/PageBeforeTrashEventHandler\");\n\nexport namespace PageBeforeTrashEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageBeforeTrashPayload>>;\n export type Event = DomainEvent<PageBeforeTrashPayload>;\n export type Page = WbPage;\n}\n\nexport const PageAfterTrashEventHandler = createAbstraction<\n IEventHandler<DomainEvent<PageAfterTrashPayload>>\n>(\"Wb/PageAfterTrashEventHandler\");\n\nexport namespace PageAfterTrashEventHandler {\n export type Interface = IEventHandler<DomainEvent<PageAfterTrashPayload>>;\n export type Event = DomainEvent<PageAfterTrashPayload>;\n export type Page = WbPage;\n}\n"],"names":["TrashPageRepository","createAbstraction","TrashPageUseCase","PageBeforeTrashEventHandler","PageAfterTrashEventHandler"],"mappings":";AAiCO,MAAMA,sBACTC,kBAAwC;AAyBrC,MAAMC,mBAAmBD,kBAAqC;AAyB9D,MAAME,8BAA8BF,kBAEzC;AAQK,MAAMG,6BAA6BH,kBAExC"}
|
|
@@ -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 { PageAfterTrashEventHandler, PageBeforeTrashEventHandler } from "./abstractions.js";
|
|
3
|
+
class PageBeforeTrashEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return PageBeforeTrashEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "page.beforeTrash";
|
|
9
|
+
}
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
class PageAfterTrashEvent extends DomainEvent {
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return PageAfterTrashEventHandler;
|
|
14
|
+
}
|
|
15
|
+
constructor(...args){
|
|
16
|
+
super(...args), this.eventType = "page.afterTrash";
|
|
17
|
+
}
|
|
17
18
|
}
|
|
19
|
+
export { PageAfterTrashEvent, PageBeforeTrashEvent };
|
|
18
20
|
|
|
19
21
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/TrashPage/events.js","sources":["../../../../src/features/pages/TrashPage/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { PageBeforeTrashEventHandler, PageAfterTrashEventHandler } from \"./abstractions.js\";\nimport type { PageBeforeTrashPayload, PageAfterTrashPayload } from \"./abstractions.js\";\n\n// PageBeforeTrash Event\nexport class PageBeforeTrashEvent extends DomainEvent<PageBeforeTrashPayload> {\n eventType = \"page.beforeTrash\" as const;\n\n getHandlerAbstraction() {\n return PageBeforeTrashEventHandler;\n }\n}\n\n// PageAfterTrash Event\nexport class PageAfterTrashEvent extends DomainEvent<PageAfterTrashPayload> {\n eventType = \"page.afterTrash\" as const;\n\n getHandlerAbstraction() {\n return PageAfterTrashEventHandler;\n }\n}\n"],"names":["PageBeforeTrashEvent","DomainEvent","PageBeforeTrashEventHandler","PageAfterTrashEvent","PageAfterTrashEventHandler"],"mappings":";;AAKO,MAAMA,6BAA6BC;IAGtC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,4BAA4BF;IAGrC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { TrashPageRepository } from "./TrashPageRepository.js";
|
|
3
3
|
import { TrashPageUseCase } from "./TrashPageUseCase.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const TrashPageFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/TrashPage",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(TrashPageRepository).inSingletonScope();
|
|
8
|
+
container.register(TrashPageUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { TrashPageFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/TrashPage/feature.js","sources":["../../../../src/features/pages/TrashPage/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TrashPageRepository } from \"./TrashPageRepository.js\";\nimport { TrashPageUseCase } from \"./TrashPageUseCase.js\";\n\nexport const TrashPageFeature = createFeature({\n name: \"WebsiteBuilder/TrashPage\",\n register(container) {\n container.register(TrashPageRepository).inSingletonScope();\n container.register(TrashPageUseCase);\n }\n});\n"],"names":["TrashPageFeature","createFeature","container","TrashPageRepository","TrashPageUseCase"],"mappings":";;;AAIO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,qBAAqB,gBAAgB;QACxDD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1,41 +1,39 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { UnpublishPageRepository
|
|
2
|
+
import { UnpublishPageRepository } from "./abstractions.js";
|
|
3
3
|
import { UnpublishEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UnpublishEntry";
|
|
4
4
|
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
5
5
|
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
6
6
|
import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
|
|
7
7
|
import { PageNotFoundError, PagePersistenceError } from "../../../domain/page/errors.js";
|
|
8
8
|
class UnpublishPageRepositoryImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
async execute(params) {
|
|
15
|
-
// First, validate the page 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(unpublishEntry, getEntryById, pageModel){
|
|
10
|
+
this.unpublishEntry = unpublishEntry;
|
|
11
|
+
this.getEntryById = getEntryById;
|
|
12
|
+
this.pageModel = pageModel;
|
|
22
13
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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.unpublishEntry.execute(this.pageModel, params.id);
|
|
21
|
+
if (result.isFail()) {
|
|
22
|
+
if ("Cms/Entry/NotFound" === result.error.code) return Result.fail(new PageNotFoundError(params.id));
|
|
23
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
24
|
+
}
|
|
25
|
+
const page = EntryToPageMapper.toPage(result.value);
|
|
26
|
+
return Result.ok(page);
|
|
31
27
|
}
|
|
32
|
-
const page = EntryToPageMapper.toPage(result.value);
|
|
33
|
-
return Result.ok(page);
|
|
34
|
-
}
|
|
35
28
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
const UnpublishPageRepository_UnpublishPageRepository = UnpublishPageRepository.createImplementation({
|
|
30
|
+
implementation: UnpublishPageRepositoryImpl,
|
|
31
|
+
dependencies: [
|
|
32
|
+
UnpublishEntryUseCase,
|
|
33
|
+
GetEntryByIdUseCase,
|
|
34
|
+
PageModel
|
|
35
|
+
]
|
|
39
36
|
});
|
|
37
|
+
export { UnpublishPageRepository_UnpublishPageRepository as UnpublishPageRepository };
|
|
40
38
|
|
|
41
39
|
//# sourceMappingURL=UnpublishPageRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/UnpublishPage/UnpublishPageRepository.js","sources":["../../../../src/features/pages/UnpublishPage/UnpublishPageRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UnpublishPageRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { UnpublishEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UnpublishEntry\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport { PageNotFoundError, PagePersistenceError } from \"~/domain/page/errors.js\";\n\nclass UnpublishPageRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private unpublishEntry: UnpublishEntryUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface,\n private pageModel: PageModel.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n // First, validate the page exists\n const getResult = await this.getEntryById.execute(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 // Unpublish the entry\n const result = await this.unpublishEntry.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 const page = EntryToPageMapper.toPage(result.value);\n return Result.ok(page);\n }\n}\n\nexport const UnpublishPageRepository = RepositoryAbstraction.createImplementation({\n implementation: UnpublishPageRepositoryImpl,\n dependencies: [UnpublishEntryUseCase, GetEntryByIdUseCase, PageModel]\n});\n"],"names":["UnpublishPageRepositoryImpl","unpublishEntry","getEntryById","pageModel","params","getResult","Result","PageNotFoundError","PagePersistenceError","result","page","EntryToPageMapper","UnpublishPageRepository","RepositoryAbstraction","UnpublishEntryUseCase","GetEntryByIdUseCase","PageModel"],"mappings":";;;;;;;AAQA,MAAMA;IACF,YACYC,cAA+C,EAC/CC,YAA2C,EAC3CC,SAA8B,CACxC;aAHUF,cAAc,GAAdA;aACAC,YAAY,GAAZA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAoC,EAAgC;QAE9E,MAAMC,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAED,OAAO,EAAE;QAE3E,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,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAEL,OAAO,EAAE;QAE1E,IAAIK,OAAO,MAAM,IAAI;YACjB,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;QAEA,MAAMC,OAAOC,kBAAkB,MAAM,CAACF,OAAO,KAAK;QAClD,OAAOH,OAAO,EAAE,CAACI;IACrB;AACJ;AAEO,MAAME,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBb;IAChB,cAAc;QAACc;QAAuBC;QAAqBC;KAAU;AACzE"}
|
|
@@ -1,57 +1,47 @@
|
|
|
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 { UnpublishPageRepository, UnpublishPageUseCase } from "./abstractions.js";
|
|
4
|
+
import { PageAfterUnpublishEvent, PageBeforeUnpublishEvent } 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 UnpublishPageUseCaseImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
async execute(params) {
|
|
16
|
-
const hasPermission = await this.permissions.canUnpublish("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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const result = await this.repository.execute(params);
|
|
40
|
-
if (result.isFail()) {
|
|
41
|
-
return result;
|
|
15
|
+
async execute(params) {
|
|
16
|
+
const hasPermission = await this.permissions.canUnpublish("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 page = getResult.value;
|
|
21
|
+
const canAccess = await this.permissions.canAccess("page", page);
|
|
22
|
+
if (!canAccess) return Result.fail(new PageNotAuthorizedError());
|
|
23
|
+
const beforeEvent = new PageBeforeUnpublishEvent({
|
|
24
|
+
page
|
|
25
|
+
});
|
|
26
|
+
await this.eventPublisher.publish(beforeEvent);
|
|
27
|
+
const result = await this.repository.execute(params);
|
|
28
|
+
if (result.isFail()) return result;
|
|
29
|
+
const afterEvent = new PageAfterUnpublishEvent({
|
|
30
|
+
page: result.value
|
|
31
|
+
});
|
|
32
|
+
await this.eventPublisher.publish(afterEvent);
|
|
33
|
+
return Result.ok(result.value);
|
|
42
34
|
}
|
|
43
|
-
|
|
44
|
-
// Publish after unpublish event
|
|
45
|
-
const afterEvent = new PageAfterUnpublishEvent({
|
|
46
|
-
page: result.value
|
|
47
|
-
});
|
|
48
|
-
await this.eventPublisher.publish(afterEvent);
|
|
49
|
-
return Result.ok(result.value);
|
|
50
|
-
}
|
|
51
35
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
36
|
+
const UnpublishPageUseCase_UnpublishPageUseCase = UnpublishPageUseCase.createImplementation({
|
|
37
|
+
implementation: UnpublishPageUseCaseImpl,
|
|
38
|
+
dependencies: [
|
|
39
|
+
WbPermissions,
|
|
40
|
+
EventPublisher,
|
|
41
|
+
GetPageByIdUseCase,
|
|
42
|
+
UnpublishPageRepository
|
|
43
|
+
]
|
|
55
44
|
});
|
|
45
|
+
export { UnpublishPageUseCase_UnpublishPageUseCase as UnpublishPageUseCase };
|
|
56
46
|
|
|
57
47
|
//# sourceMappingURL=UnpublishPageUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/pages/UnpublishPage/UnpublishPageUseCase.js","sources":["../../../../src/features/pages/UnpublishPage/UnpublishPageUseCase.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 UnpublishPageUseCase as UseCaseAbstraction,\n UnpublishPageRepository\n} from \"./abstractions.js\";\nimport { PageBeforeUnpublishEvent, PageAfterUnpublishEvent } 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 UnpublishPageUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getPageById: GetPageByIdUseCase.Interface,\n private repository: UnpublishPageRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canUnpublish(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Get the page first for the before event\n const getResult = await this.getPageById.execute(params.id);\n\n if (getResult.isFail()) {\n return getResult;\n }\n\n const page = getResult.value;\n\n const canAccess = await this.permissions.canAccess(\"page\", page);\n if (!canAccess) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n // Publish before unpublish event\n const beforeEvent = new PageBeforeUnpublishEvent({\n page\n });\n\n await this.eventPublisher.publish(beforeEvent);\n\n // Execute the unpublish operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after unpublish event\n const afterEvent = new PageAfterUnpublishEvent({\n page: result.value\n });\n\n await this.eventPublisher.publish(afterEvent);\n\n return Result.ok(result.value);\n }\n}\n\nexport const UnpublishPageUseCase = UseCaseAbstraction.createImplementation({\n implementation: UnpublishPageUseCaseImpl,\n dependencies: [WbPermissions, EventPublisher, GetPageByIdUseCase, UnpublishPageRepository]\n});\n"],"names":["UnpublishPageUseCaseImpl","permissions","eventPublisher","getPageById","repository","params","hasPermission","Result","PageNotAuthorizedError","getResult","page","canAccess","beforeEvent","PageBeforeUnpublishEvent","result","afterEvent","PageAfterUnpublishEvent","UnpublishPageUseCase","UseCaseAbstraction","WbPermissions","EventPublisher","GetPageByIdUseCase","UnpublishPageRepository"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,WAAoC,EACpCC,cAAmD,EACnDC,WAAyC,EACzCC,UAA6C,CACvD;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,YAAY,CAAC;QAC1D,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACJ,OAAO,EAAE;QAE1D,IAAII,UAAU,MAAM,IAChB,OAAOA;QAGX,MAAMC,OAAOD,UAAU,KAAK;QAE5B,MAAME,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQD;QAC3D,IAAI,CAACC,WACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMI,cAAc,IAAIC,yBAAyB;YAC7CH;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACE;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACT;QAE7C,IAAIS,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,aAAa,IAAIC,wBAAwB;YAC3C,MAAMF,OAAO,KAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QAElC,OAAOR,OAAO,EAAE,CAACO,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMG,4CAAuBC,qBAAAA,oBAAuC,CAAC;IACxE,gBAAgBlB;IAChB,cAAc;QAACmB;QAAeC;QAAgBC;QAAoBC;KAAwB;AAC9F"}
|