@webiny/api-website-builder 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7
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/domain/page/EntryToPageMapper.js +4 -1
- package/domain/page/EntryToPageMapper.js.map +1 -1
- package/domain/page/PagePath.d.ts +7 -0
- package/domain/page/PagePath.js +36 -0
- package/domain/page/PagePath.js.map +1 -0
- package/domain/page/abstractions.d.ts +22 -3
- package/domain/page/abstractions.js.map +1 -1
- package/domain/page/errors.d.ts +12 -0
- package/domain/page/errors.js +22 -0
- package/domain/page/errors.js.map +1 -1
- package/domain/permissionsSchema.d.ts +29 -0
- package/domain/permissionsSchema.js +32 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/exports/api/website-builder/page.d.ts +12 -8
- package/exports/api/website-builder/page.js +12 -8
- package/exports/api/website-builder/page.js.map +1 -1
- package/exports/api/website-builder/redirect.d.ts +4 -4
- package/exports/api/website-builder/redirect.js +4 -4
- package/exports/api/website-builder/redirect.js.map +1 -1
- package/features/installer/ApiKeyInstaller.d.ts +1 -1
- package/features/installer/ApiKeyInstaller.js +5 -2
- package/features/installer/ApiKeyInstaller.js.map +1 -1
- package/features/installer/feature.d.ts +4 -1
- package/features/nextjs/abstractions.d.ts +1 -0
- package/features/nextjs/abstractions.js +1 -0
- package/features/nextjs/abstractions.js.map +1 -1
- package/features/nextjs/feature.d.ts +4 -1
- package/features/pages/CreatePage/CreatePageUseCase.d.ts +4 -2
- package/features/pages/CreatePage/CreatePageUseCase.js +11 -3
- package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -1
- package/features/pages/CreatePage/abstractions.d.ts +10 -6
- package/features/pages/CreatePage/abstractions.js +5 -2
- package/features/pages/CreatePage/abstractions.js.map +1 -1
- package/features/pages/CreatePage/events.d.ts +3 -3
- package/features/pages/CreatePage/events.js +4 -4
- package/features/pages/CreatePage/events.js.map +1 -1
- package/features/pages/CreatePage/feature.d.ts +4 -1
- package/features/pages/CreatePage/index.d.ts +1 -1
- package/features/pages/CreatePage/index.js +1 -1
- package/features/pages/CreatePage/index.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.d.ts +6 -2
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +19 -3
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +11 -7
- package/features/pages/CreatePageRevisionFrom/abstractions.js +5 -2
- package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/events.d.ts +3 -3
- package/features/pages/CreatePageRevisionFrom/events.js +4 -4
- package/features/pages/CreatePageRevisionFrom/events.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/feature.d.ts +4 -1
- package/features/pages/CreatePageRevisionFrom/index.d.ts +1 -1
- package/features/pages/CreatePageRevisionFrom/index.js +1 -1
- package/features/pages/CreatePageRevisionFrom/index.js.map +1 -1
- package/features/pages/DeletePage/DeletePageRepository.d.ts +1 -3
- package/features/pages/DeletePage/DeletePageRepository.js +2 -13
- package/features/pages/DeletePage/DeletePageRepository.js.map +1 -1
- package/features/pages/DeletePage/DeletePageUseCase.d.ts +7 -5
- package/features/pages/DeletePage/DeletePageUseCase.js +16 -9
- package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -1
- package/features/pages/DeletePage/abstractions.d.ts +12 -7
- package/features/pages/DeletePage/abstractions.js +5 -2
- package/features/pages/DeletePage/abstractions.js.map +1 -1
- package/features/pages/DeletePage/events.d.ts +3 -3
- package/features/pages/DeletePage/events.js +4 -4
- package/features/pages/DeletePage/events.js.map +1 -1
- package/features/pages/DeletePage/feature.d.ts +4 -1
- package/features/pages/DeletePage/index.d.ts +1 -1
- package/features/pages/DeletePage/index.js +1 -1
- package/features/pages/DeletePage/index.js.map +1 -1
- package/features/pages/DuplicatePage/DuplicatePageRepository.d.ts +2 -2
- package/features/pages/DuplicatePage/DuplicatePageRepository.js +9 -1
- package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -1
- package/features/pages/DuplicatePage/DuplicatePageUseCase.d.ts +4 -2
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js +11 -3
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -1
- package/features/pages/DuplicatePage/abstractions.d.ts +18 -8
- package/features/pages/DuplicatePage/abstractions.js +5 -2
- package/features/pages/DuplicatePage/abstractions.js.map +1 -1
- package/features/pages/DuplicatePage/events.d.ts +3 -3
- package/features/pages/DuplicatePage/events.js +4 -4
- package/features/pages/DuplicatePage/events.js.map +1 -1
- package/features/pages/DuplicatePage/feature.d.ts +4 -1
- package/features/pages/DuplicatePage/index.d.ts +2 -1
- package/features/pages/DuplicatePage/index.js +1 -1
- package/features/pages/DuplicatePage/index.js.map +1 -1
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.d.ts +13 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js +32 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdRepository.js.map +1 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.d.ts +12 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js +31 -0
- package/features/pages/GetDeletedPageById/GetDeletedPageByIdUseCase.js.map +1 -0
- package/features/pages/GetDeletedPageById/abstractions.d.ts +42 -0
- package/features/pages/GetDeletedPageById/abstractions.js +15 -0
- package/features/pages/GetDeletedPageById/abstractions.js.map +1 -0
- package/features/pages/GetDeletedPageById/feature.d.ts +4 -0
- package/features/pages/GetDeletedPageById/feature.js +12 -0
- package/features/pages/GetDeletedPageById/feature.js.map +1 -0
- package/features/pages/GetDeletedPageById/index.d.ts +1 -0
- package/features/pages/GetDeletedPageById/index.js +3 -0
- package/features/pages/GetDeletedPageById/index.js.map +1 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.d.ts +3 -1
- package/features/pages/GetPageById/GetPageByIdUseCase.js +19 -3
- package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -1
- package/features/pages/GetPageById/abstractions.d.ts +3 -1
- package/features/pages/GetPageById/abstractions.js +1 -0
- package/features/pages/GetPageById/abstractions.js.map +1 -1
- package/features/pages/GetPageById/feature.d.ts +4 -1
- package/features/pages/GetPageByPath/GetPageByPathUseCase.d.ts +3 -1
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js +19 -3
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -1
- package/features/pages/GetPageByPath/abstractions.d.ts +3 -1
- package/features/pages/GetPageByPath/abstractions.js +1 -0
- package/features/pages/GetPageByPath/abstractions.js.map +1 -1
- package/features/pages/GetPageByPath/feature.d.ts +4 -1
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.d.ts +15 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js +61 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsRepository.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.d.ts +10 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js +20 -0
- package/features/pages/GetPageLanguagePaths/GetPageLanguagePathsUseCase.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/abstractions.d.ts +20 -0
- package/features/pages/GetPageLanguagePaths/abstractions.js +6 -0
- package/features/pages/GetPageLanguagePaths/abstractions.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/feature.d.ts +4 -0
- package/features/pages/GetPageLanguagePaths/feature.js +12 -0
- package/features/pages/GetPageLanguagePaths/feature.js.map +1 -0
- package/features/pages/GetPageLanguagePaths/index.d.ts +1 -0
- package/features/pages/GetPageLanguagePaths/index.js +3 -0
- package/features/pages/GetPageLanguagePaths/index.js.map +1 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.d.ts +3 -1
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +22 -3
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -1
- package/features/pages/GetPageRevisions/abstractions.d.ts +3 -1
- package/features/pages/GetPageRevisions/abstractions.js +1 -0
- package/features/pages/GetPageRevisions/abstractions.js.map +1 -1
- package/features/pages/GetPageRevisions/feature.d.ts +4 -1
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.d.ts +17 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js +49 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesRepository.js.map +1 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.d.ts +14 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js +35 -0
- package/features/pages/ListDeletedPages/ListDeletedPagesUseCase.js.map +1 -0
- package/features/pages/ListDeletedPages/abstractions.d.ts +56 -0
- package/features/pages/ListDeletedPages/abstractions.js +15 -0
- package/features/pages/ListDeletedPages/abstractions.js.map +1 -0
- package/features/pages/ListDeletedPages/feature.d.ts +4 -0
- package/features/pages/ListDeletedPages/feature.js +12 -0
- package/features/pages/ListDeletedPages/feature.js.map +1 -0
- package/features/pages/ListDeletedPages/index.d.ts +1 -0
- package/features/pages/ListDeletedPages/index.js +3 -0
- package/features/pages/ListDeletedPages/index.js.map +1 -0
- package/features/pages/ListPages/ListPagesRepository.d.ts +5 -1
- package/features/pages/ListPages/ListPagesRepository.js +14 -4
- package/features/pages/ListPages/ListPagesRepository.js.map +1 -1
- package/features/pages/ListPages/ListPagesUseCase.d.ts +5 -1
- package/features/pages/ListPages/ListPagesUseCase.js +24 -4
- package/features/pages/ListPages/ListPagesUseCase.js.map +1 -1
- package/features/pages/ListPages/abstractions.d.ts +3 -1
- package/features/pages/ListPages/abstractions.js +1 -0
- package/features/pages/ListPages/abstractions.js.map +1 -1
- package/features/pages/ListPages/feature.d.ts +4 -1
- package/features/pages/MovePage/MovePageUseCase.d.ts +4 -2
- package/features/pages/MovePage/MovePageUseCase.js +15 -3
- package/features/pages/MovePage/MovePageUseCase.js.map +1 -1
- package/features/pages/MovePage/abstractions.d.ts +11 -7
- package/features/pages/MovePage/abstractions.js +5 -2
- package/features/pages/MovePage/abstractions.js.map +1 -1
- package/features/pages/MovePage/events.d.ts +3 -3
- package/features/pages/MovePage/events.js +4 -4
- package/features/pages/MovePage/events.js.map +1 -1
- package/features/pages/MovePage/feature.d.ts +4 -1
- package/features/pages/MovePage/index.d.ts +1 -1
- package/features/pages/MovePage/index.js +1 -1
- package/features/pages/MovePage/index.js.map +1 -1
- package/features/pages/PublishPage/PublishPageUseCase.d.ts +4 -2
- package/features/pages/PublishPage/PublishPageUseCase.js +15 -3
- package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -1
- package/features/pages/PublishPage/abstractions.d.ts +11 -7
- package/features/pages/PublishPage/abstractions.js +5 -2
- package/features/pages/PublishPage/abstractions.js.map +1 -1
- package/features/pages/PublishPage/events.d.ts +3 -3
- package/features/pages/PublishPage/events.js +4 -4
- package/features/pages/PublishPage/events.js.map +1 -1
- package/features/pages/PublishPage/feature.d.ts +4 -1
- package/features/pages/PublishPage/index.d.ts +1 -1
- package/features/pages/PublishPage/index.js +1 -1
- package/features/pages/PublishPage/index.js.map +1 -1
- package/features/pages/RestorePage/RestorePageRepository.d.ts +13 -0
- package/features/pages/RestorePage/RestorePageRepository.js +30 -0
- package/features/pages/RestorePage/RestorePageRepository.js.map +1 -0
- package/features/pages/RestorePage/RestorePageUseCase.d.ts +16 -0
- package/features/pages/RestorePage/RestorePageUseCase.js +52 -0
- package/features/pages/RestorePage/RestorePageUseCase.js.map +1 -0
- package/features/pages/RestorePage/abstractions.d.ts +59 -0
- package/features/pages/RestorePage/abstractions.js +30 -0
- package/features/pages/RestorePage/abstractions.js.map +1 -0
- package/features/pages/RestorePage/events.d.ts +10 -0
- package/features/pages/RestorePage/events.js +19 -0
- package/features/pages/RestorePage/events.js.map +1 -0
- package/features/pages/RestorePage/feature.d.ts +4 -0
- package/features/pages/RestorePage/feature.js +12 -0
- package/features/pages/RestorePage/feature.js.map +1 -0
- package/features/pages/RestorePage/index.d.ts +1 -0
- package/features/pages/RestorePage/index.js +3 -0
- package/features/pages/RestorePage/index.js.map +1 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.d.ts +17 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.js +74 -0
- package/features/pages/TranslatePage/TranslatePageUseCase.js.map +1 -0
- package/features/pages/TranslatePage/abstractions.d.ts +29 -0
- package/features/pages/TranslatePage/abstractions.js +14 -0
- package/features/pages/TranslatePage/abstractions.js.map +1 -0
- package/features/pages/TranslatePage/feature.d.ts +4 -0
- package/features/pages/TranslatePage/feature.js +10 -0
- package/features/pages/TranslatePage/feature.js.map +1 -0
- package/features/pages/TranslatePage/index.d.ts +1 -0
- package/features/pages/TranslatePage/index.js +3 -0
- package/features/pages/TranslatePage/index.js.map +1 -0
- package/features/pages/TrashPage/TrashPageRepository.d.ts +13 -0
- package/features/pages/TrashPage/TrashPageRepository.js +30 -0
- package/features/pages/TrashPage/TrashPageRepository.js.map +1 -0
- package/features/pages/TrashPage/TrashPageUseCase.d.ts +16 -0
- package/features/pages/TrashPage/TrashPageUseCase.js +52 -0
- package/features/pages/TrashPage/TrashPageUseCase.js.map +1 -0
- package/features/pages/TrashPage/abstractions.d.ts +58 -0
- package/features/pages/TrashPage/abstractions.js +30 -0
- package/features/pages/TrashPage/abstractions.js.map +1 -0
- package/features/pages/TrashPage/events.d.ts +10 -0
- package/features/pages/TrashPage/events.js +19 -0
- package/features/pages/TrashPage/events.js.map +1 -0
- package/features/pages/TrashPage/feature.d.ts +4 -0
- package/features/pages/TrashPage/feature.js +12 -0
- package/features/pages/TrashPage/feature.js.map +1 -0
- package/features/pages/TrashPage/index.d.ts +1 -0
- package/features/pages/TrashPage/index.js +3 -0
- package/features/pages/TrashPage/index.js.map +1 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.d.ts +4 -2
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js +15 -3
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -1
- package/features/pages/UnpublishPage/abstractions.d.ts +11 -7
- package/features/pages/UnpublishPage/abstractions.js +5 -2
- package/features/pages/UnpublishPage/abstractions.js.map +1 -1
- package/features/pages/UnpublishPage/events.d.ts +3 -3
- package/features/pages/UnpublishPage/events.js +4 -4
- package/features/pages/UnpublishPage/events.js.map +1 -1
- package/features/pages/UnpublishPage/feature.d.ts +4 -1
- package/features/pages/UnpublishPage/index.d.ts +1 -1
- package/features/pages/UnpublishPage/index.js +1 -1
- package/features/pages/UnpublishPage/index.js.map +1 -1
- package/features/pages/UpdatePage/UpdatePageUseCase.d.ts +4 -2
- package/features/pages/UpdatePage/UpdatePageUseCase.js +15 -3
- package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -1
- package/features/pages/UpdatePage/abstractions.d.ts +12 -9
- package/features/pages/UpdatePage/abstractions.js +5 -2
- package/features/pages/UpdatePage/abstractions.js.map +1 -1
- package/features/pages/UpdatePage/events.d.ts +3 -3
- package/features/pages/UpdatePage/events.js +4 -4
- package/features/pages/UpdatePage/events.js.map +1 -1
- package/features/pages/UpdatePage/feature.d.ts +4 -1
- package/features/pages/UpdatePage/index.d.ts +1 -1
- package/features/pages/UpdatePage/index.js +1 -1
- package/features/pages/UpdatePage/index.js.map +1 -1
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.d.ts +15 -0
- package/features/pages/UpdatePageRevisionDescription/UpdatePageRevisionDescriptionRepository.js +44 -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 +66 -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 +29 -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 +19 -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 +12 -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 +3 -0
- package/features/pages/UpdatePageRevisionDescription/index.js.map +1 -0
- package/features/permissions/abstractions.d.ts +34 -0
- package/features/permissions/abstractions.js +5 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +4 -0
- package/features/permissions/feature.js +6 -0
- package/features/permissions/feature.js.map +1 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.d.ts +4 -2
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +11 -3
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -1
- package/features/redirects/CreateRedirect/abstractions.d.ts +11 -7
- package/features/redirects/CreateRedirect/abstractions.js +5 -2
- package/features/redirects/CreateRedirect/abstractions.js.map +1 -1
- package/features/redirects/CreateRedirect/events.d.ts +3 -3
- package/features/redirects/CreateRedirect/events.js +4 -4
- package/features/redirects/CreateRedirect/events.js.map +1 -1
- package/features/redirects/CreateRedirect/feature.d.ts +4 -1
- package/features/redirects/CreateRedirect/index.d.ts +1 -1
- package/features/redirects/CreateRedirect/index.js +1 -1
- package/features/redirects/CreateRedirect/index.js.map +1 -1
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.d.ts +4 -2
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +11 -4
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -1
- package/features/redirects/DeleteRedirect/abstractions.d.ts +11 -7
- package/features/redirects/DeleteRedirect/abstractions.js +5 -2
- package/features/redirects/DeleteRedirect/abstractions.js.map +1 -1
- package/features/redirects/DeleteRedirect/events.d.ts +3 -3
- package/features/redirects/DeleteRedirect/events.js +4 -4
- package/features/redirects/DeleteRedirect/events.js.map +1 -1
- package/features/redirects/DeleteRedirect/feature.d.ts +4 -1
- package/features/redirects/DeleteRedirect/index.d.ts +1 -1
- package/features/redirects/DeleteRedirect/index.js +1 -1
- package/features/redirects/DeleteRedirect/index.js.map +1 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.d.ts +3 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +10 -3
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -1
- package/features/redirects/GetActiveRedirects/abstractions.d.ts +3 -1
- package/features/redirects/GetActiveRedirects/abstractions.js +1 -0
- package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -1
- package/features/redirects/GetActiveRedirects/feature.d.ts +4 -1
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.d.ts +3 -1
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +19 -4
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -1
- package/features/redirects/GetRedirectById/abstractions.d.ts +3 -1
- package/features/redirects/GetRedirectById/abstractions.js +1 -0
- package/features/redirects/GetRedirectById/abstractions.js.map +1 -1
- package/features/redirects/GetRedirectById/feature.d.ts +4 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.d.ts +3 -3
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +2 -2
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.d.ts +3 -3
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +2 -2
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.d.ts +3 -3
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +2 -2
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/abstractions.d.ts +1 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js +1 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/feature.d.ts +4 -1
- package/features/redirects/ListRedirects/ListRedirectsUseCase.d.ts +5 -1
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js +23 -4
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -1
- package/features/redirects/ListRedirects/abstractions.d.ts +4 -1
- package/features/redirects/ListRedirects/abstractions.js +1 -0
- package/features/redirects/ListRedirects/abstractions.js.map +1 -1
- package/features/redirects/ListRedirects/feature.d.ts +4 -1
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.d.ts +4 -2
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +15 -3
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -1
- package/features/redirects/MoveRedirect/abstractions.d.ts +11 -7
- package/features/redirects/MoveRedirect/abstractions.js +5 -2
- package/features/redirects/MoveRedirect/abstractions.js.map +1 -1
- package/features/redirects/MoveRedirect/events.d.ts +3 -3
- package/features/redirects/MoveRedirect/events.js +4 -4
- package/features/redirects/MoveRedirect/events.js.map +1 -1
- package/features/redirects/MoveRedirect/feature.d.ts +4 -1
- package/features/redirects/MoveRedirect/index.d.ts +1 -1
- package/features/redirects/MoveRedirect/index.js +1 -1
- package/features/redirects/MoveRedirect/index.js.map +1 -1
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +4 -2
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +15 -3
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -1
- package/features/redirects/UpdateRedirect/abstractions.d.ts +11 -7
- package/features/redirects/UpdateRedirect/abstractions.js +5 -2
- package/features/redirects/UpdateRedirect/abstractions.js.map +1 -1
- package/features/redirects/UpdateRedirect/events.d.ts +3 -3
- package/features/redirects/UpdateRedirect/events.js +4 -4
- package/features/redirects/UpdateRedirect/events.js.map +1 -1
- package/features/redirects/UpdateRedirect/feature.d.ts +4 -1
- package/features/redirects/UpdateRedirect/index.d.ts +1 -1
- package/features/redirects/UpdateRedirect/index.js +1 -1
- package/features/redirects/UpdateRedirect/index.js.map +1 -1
- package/features/tenantManager/TenantModelExtension.js +5 -5
- package/features/tenantManager/TenantModelExtension.js.map +1 -1
- package/features/tenantManager/feature.d.ts +4 -1
- package/graphql/pages/pages.gql.js +96 -3
- package/graphql/pages/pages.gql.js.map +1 -1
- package/graphql/pages/pages.typeDefs.d.ts +1 -1
- package/graphql/pages/pages.typeDefs.js +22 -1
- package/graphql/pages/pages.typeDefs.js.map +1 -1
- package/index.js +21 -6
- package/index.js.map +1 -1
- package/package.json +27 -25
- package/features/pages/PagePermissions/feature.d.ts +0 -1
- package/features/pages/PagePermissions/feature.js +0 -53
- package/features/pages/PagePermissions/feature.js.map +0 -1
- package/features/redirects/RedirectPermissions/feature.d.ts +0 -1
- package/features/redirects/RedirectPermissions/feature.js +0 -45
- package/features/redirects/RedirectPermissions/feature.js.map +0 -1
|
@@ -1,15 +1,34 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
1
2
|
import { GetPageRevisionsUseCase as UseCaseAbstraction, GetPageRevisionsRepository } from "./abstractions.js";
|
|
3
|
+
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
4
|
+
import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
2
5
|
class GetPageRevisionsUseCaseImpl {
|
|
3
|
-
constructor(repository) {
|
|
6
|
+
constructor(permissions, repository) {
|
|
7
|
+
this.permissions = permissions;
|
|
4
8
|
this.repository = repository;
|
|
5
9
|
}
|
|
6
10
|
async execute(entryId) {
|
|
7
|
-
|
|
11
|
+
const hasPermission = await this.permissions.canRead("page");
|
|
12
|
+
if (!hasPermission) {
|
|
13
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
14
|
+
}
|
|
15
|
+
const result = await this.repository.execute(entryId);
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
const pages = result.value;
|
|
20
|
+
if (pages.length > 0) {
|
|
21
|
+
const canAccess = await this.permissions.canAccess("page", pages[0]);
|
|
22
|
+
if (!canAccess) {
|
|
23
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
8
27
|
}
|
|
9
28
|
}
|
|
10
29
|
export const GetPageRevisionsUseCase = UseCaseAbstraction.createImplementation({
|
|
11
30
|
implementation: GetPageRevisionsUseCaseImpl,
|
|
12
|
-
dependencies: [GetPageRevisionsRepository]
|
|
31
|
+
dependencies: [WbPermissions, GetPageRevisionsRepository]
|
|
13
32
|
});
|
|
14
33
|
|
|
15
34
|
//# sourceMappingURL=GetPageRevisionsUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GetPageRevisionsUseCase","UseCaseAbstraction","GetPageRevisionsRepository","GetPageRevisionsUseCaseImpl","constructor","repository","execute","entryId","createImplementation","implementation","dependencies"],"sources":["GetPageRevisionsUseCase.ts"],"sourcesContent":["import {\n GetPageRevisionsUseCase as UseCaseAbstraction,\n GetPageRevisionsRepository\n} from \"./abstractions.js\";\n\nclass GetPageRevisionsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: GetPageRevisionsRepository.Interface) {}\n\n async execute(entryId: string): UseCaseAbstraction.Return {\n return this.repository.execute(entryId);\n }\n}\n\nexport const GetPageRevisionsUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetPageRevisionsUseCaseImpl,\n dependencies: [GetPageRevisionsRepository]\n});\n"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"names":["Result","GetPageRevisionsUseCase","UseCaseAbstraction","GetPageRevisionsRepository","WbPermissions","PageNotAuthorizedError","GetPageRevisionsUseCaseImpl","constructor","permissions","repository","execute","entryId","hasPermission","canRead","fail","result","isFail","pages","value","length","canAccess","createImplementation","implementation","dependencies"],"sources":["GetPageRevisionsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetPageRevisionsUseCase as UseCaseAbstraction,\n GetPageRevisionsRepository\n} from \"./abstractions.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\nclass GetPageRevisionsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private repository: GetPageRevisionsRepository.Interface\n ) {}\n\n async execute(entryId: string): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canRead(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n const result = await this.repository.execute(entryId);\n\n if (result.isFail()) {\n return result;\n }\n\n const pages = result.value;\n if (pages.length > 0) {\n const canAccess = await this.permissions.canAccess(\"page\", pages[0]);\n if (!canAccess) {\n return Result.fail(new PageNotAuthorizedError());\n }\n }\n\n return result;\n }\n}\n\nexport const GetPageRevisionsUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetPageRevisionsUseCaseImpl,\n dependencies: [WbPermissions, GetPageRevisionsRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,uBAAuB,IAAIC,kBAAkB,EAC7CC,0BAA0B;AAE9B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAE/B,MAAMC,2BAA2B,CAAyC;EACtEC,WAAWA,CACCC,WAAoC,EACpCC,UAAgD,EAC1D;IAAA,KAFUD,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,UAAgD,GAAhDA,UAAgD;EACzD;EAEH,MAAMC,OAAOA,CAACC,OAAe,EAA6B;IACtD,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACJ,WAAW,CAACK,OAAO,CAAC,MAAM,CAAC;IAC5D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOZ,MAAM,CAACc,IAAI,CAAC,IAAIT,sBAAsB,CAAC,CAAC,CAAC;IACpD;IAEA,MAAMU,MAAM,GAAG,MAAM,IAAI,CAACN,UAAU,CAACC,OAAO,CAACC,OAAO,CAAC;IAErD,IAAII,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOD,MAAM;IACjB;IAEA,MAAME,KAAK,GAAGF,MAAM,CAACG,KAAK;IAC1B,IAAID,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;MAClB,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACZ,WAAW,CAACY,SAAS,CAAC,MAAM,EAAEH,KAAK,CAAC,CAAC,CAAC,CAAC;MACpE,IAAI,CAACG,SAAS,EAAE;QACZ,OAAOpB,MAAM,CAACc,IAAI,CAAC,IAAIT,sBAAsB,CAAC,CAAC,CAAC;MACpD;IACJ;IAEA,OAAOU,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMd,uBAAuB,GAAGC,kBAAkB,CAACmB,oBAAoB,CAAC;EAC3EC,cAAc,EAAEhB,2BAA2B;EAC3CiB,YAAY,EAAE,CAACnB,aAAa,EAAED,0BAA0B;AAC5D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Result } from "@webiny/feature/api";
|
|
2
2
|
import type { WbPage } from "../../../domain/page/abstractions.js";
|
|
3
|
-
import type { PagePersistenceError } from "../../../domain/page/errors.js";
|
|
3
|
+
import type { PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
4
4
|
/**
|
|
5
5
|
* GetPageRevisions repository interface
|
|
6
6
|
*/
|
|
@@ -24,9 +24,11 @@ export interface IGetPageRevisionsUseCase {
|
|
|
24
24
|
execute(entryId: string): Promise<Result<WbPage[], UseCaseError>>;
|
|
25
25
|
}
|
|
26
26
|
export interface IGetPageRevisionsUseCaseErrors {
|
|
27
|
+
notAuthorized: PageNotAuthorizedError;
|
|
27
28
|
persistence: PagePersistenceError;
|
|
28
29
|
}
|
|
29
30
|
type UseCaseError = IGetPageRevisionsUseCaseErrors[keyof IGetPageRevisionsUseCaseErrors];
|
|
31
|
+
/** Retrieve all revisions of a page. */
|
|
30
32
|
export declare const GetPageRevisionsUseCase: import("@webiny/di").Abstraction<IGetPageRevisionsUseCase>;
|
|
31
33
|
export declare namespace GetPageRevisionsUseCase {
|
|
32
34
|
type Interface = IGetPageRevisionsUseCase;
|
|
@@ -10,6 +10,7 @@ export const GetPageRevisionsRepository = createAbstraction("Wb/GetPageRevisions
|
|
|
10
10
|
* GetPageRevisions use case interface
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
/** Retrieve all revisions of a page. */
|
|
13
14
|
export const GetPageRevisionsUseCase = createAbstraction("Wb/GetPageRevisionsUseCase");
|
|
14
15
|
|
|
15
16
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","GetPageRevisionsRepository","GetPageRevisionsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport type { PagePersistenceError } from \"~/domain/page/errors.js\";\n\n/**\n * GetPageRevisions repository interface\n */\nexport interface IGetPageRevisionsRepository {\n execute(entryId: string): Promise<Result<WbPage[], RepositoryError>>;\n}\n\nexport interface IGetPageRevisionsRepositoryErrors {\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IGetPageRevisionsRepositoryErrors[keyof IGetPageRevisionsRepositoryErrors];\n\nexport const GetPageRevisionsRepository = createAbstraction<IGetPageRevisionsRepository>(\n \"Wb/GetPageRevisionsRepository\"\n);\n\nexport namespace GetPageRevisionsRepository {\n export type Interface = IGetPageRevisionsRepository;\n export type Error = RepositoryError;\n export type Return = Promise<Result<WbPage[], RepositoryError>>;\n}\n\n/**\n * GetPageRevisions use case interface\n */\nexport interface IGetPageRevisionsUseCase {\n execute(entryId: string): Promise<Result<WbPage[], UseCaseError>>;\n}\n\nexport interface IGetPageRevisionsUseCaseErrors {\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IGetPageRevisionsUseCaseErrors[keyof IGetPageRevisionsUseCaseErrors];\n\nexport const GetPageRevisionsUseCase = createAbstraction<IGetPageRevisionsUseCase>(\n \"Wb/GetPageRevisionsUseCase\"\n);\n\nexport namespace GetPageRevisionsUseCase {\n export type Interface = IGetPageRevisionsUseCase;\n export type Error = UseCaseError;\n export type Return = Promise<Result<WbPage[], UseCaseError>>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAKvD;AACA;AACA;;AAWA,OAAO,MAAMC,0BAA0B,GAAGD,iBAAiB,CACvD,+BACJ,CAAC;;AAQD;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["createAbstraction","GetPageRevisionsRepository","GetPageRevisionsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport type { PagePersistenceError, PageNotAuthorizedError } from \"~/domain/page/errors.js\";\n\n/**\n * GetPageRevisions repository interface\n */\nexport interface IGetPageRevisionsRepository {\n execute(entryId: string): Promise<Result<WbPage[], RepositoryError>>;\n}\n\nexport interface IGetPageRevisionsRepositoryErrors {\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IGetPageRevisionsRepositoryErrors[keyof IGetPageRevisionsRepositoryErrors];\n\nexport const GetPageRevisionsRepository = createAbstraction<IGetPageRevisionsRepository>(\n \"Wb/GetPageRevisionsRepository\"\n);\n\nexport namespace GetPageRevisionsRepository {\n export type Interface = IGetPageRevisionsRepository;\n export type Error = RepositoryError;\n export type Return = Promise<Result<WbPage[], RepositoryError>>;\n}\n\n/**\n * GetPageRevisions use case interface\n */\nexport interface IGetPageRevisionsUseCase {\n execute(entryId: string): Promise<Result<WbPage[], UseCaseError>>;\n}\n\nexport interface IGetPageRevisionsUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IGetPageRevisionsUseCaseErrors[keyof IGetPageRevisionsUseCaseErrors];\n\n/** Retrieve all revisions of a page. */\nexport const GetPageRevisionsUseCase = createAbstraction<IGetPageRevisionsUseCase>(\n \"Wb/GetPageRevisionsUseCase\"\n);\n\nexport namespace GetPageRevisionsUseCase {\n export type Interface = IGetPageRevisionsUseCase;\n export type Error = UseCaseError;\n export type Return = Promise<Result<WbPage[], UseCaseError>>;\n export type Page = WbPage;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAKvD;AACA;AACA;;AAWA,OAAO,MAAMC,0BAA0B,GAAGD,iBAAiB,CACvD,+BACJ,CAAC;;AAQD;AACA;AACA;;AAYA;AACA,OAAO,MAAME,uBAAuB,GAAGF,iBAAiB,CACpD,4BACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ListDeletedPagesRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
2
|
+
import { ListDeletedEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
3
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
4
|
+
import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
|
|
5
|
+
import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
|
|
6
|
+
declare class ListDeletedPagesRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
7
|
+
private pageModel;
|
|
8
|
+
private listDeletedEntries;
|
|
9
|
+
private whereMapper;
|
|
10
|
+
private sortMapper;
|
|
11
|
+
constructor(pageModel: PageModel.Interface, listDeletedEntries: ListDeletedEntriesUseCase.Interface, whereMapper: CmsWhereMapper.Interface, sortMapper: CmsSortMapper.Interface);
|
|
12
|
+
execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return;
|
|
13
|
+
}
|
|
14
|
+
export declare const ListDeletedPagesRepository: typeof ListDeletedPagesRepositoryImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListDeletedPagesRepository>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { ListDeletedPagesRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
3
|
+
import { ListDeletedEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
4
|
+
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
5
|
+
import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
|
|
6
|
+
import { PagePersistenceError } from "../../../domain/page/errors.js";
|
|
7
|
+
import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
|
|
8
|
+
import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
|
|
9
|
+
class ListDeletedPagesRepositoryImpl {
|
|
10
|
+
constructor(pageModel, listDeletedEntries, whereMapper, sortMapper) {
|
|
11
|
+
this.pageModel = pageModel;
|
|
12
|
+
this.listDeletedEntries = listDeletedEntries;
|
|
13
|
+
this.whereMapper = whereMapper;
|
|
14
|
+
this.sortMapper = sortMapper;
|
|
15
|
+
}
|
|
16
|
+
async execute(params) {
|
|
17
|
+
const result = await this.listDeletedEntries.execute(this.pageModel, {
|
|
18
|
+
where: this.whereMapper.map({
|
|
19
|
+
fields: this.pageModel.fields,
|
|
20
|
+
input: params.where
|
|
21
|
+
}),
|
|
22
|
+
sort: this.sortMapper.map({
|
|
23
|
+
fields: this.pageModel.fields,
|
|
24
|
+
input: params.sort
|
|
25
|
+
}),
|
|
26
|
+
limit: params.limit,
|
|
27
|
+
after: params.after,
|
|
28
|
+
search: params.search
|
|
29
|
+
});
|
|
30
|
+
if (result.isFail()) {
|
|
31
|
+
return Result.fail(new PagePersistenceError(result.error));
|
|
32
|
+
}
|
|
33
|
+
const {
|
|
34
|
+
entries,
|
|
35
|
+
meta
|
|
36
|
+
} = result.value;
|
|
37
|
+
const pages = entries.map(entry => EntryToPageMapper.toPage(entry));
|
|
38
|
+
return Result.ok({
|
|
39
|
+
pages,
|
|
40
|
+
meta
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export const ListDeletedPagesRepository = RepositoryAbstraction.createImplementation({
|
|
45
|
+
implementation: ListDeletedPagesRepositoryImpl,
|
|
46
|
+
dependencies: [PageModel, ListDeletedEntriesUseCase, CmsWhereMapper, CmsSortMapper]
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=ListDeletedPagesRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","ListDeletedPagesRepository","RepositoryAbstraction","ListDeletedEntriesUseCase","PageModel","EntryToPageMapper","PagePersistenceError","CmsWhereMapper","CmsSortMapper","ListDeletedPagesRepositoryImpl","constructor","pageModel","listDeletedEntries","whereMapper","sortMapper","execute","params","result","where","map","fields","input","sort","limit","after","search","isFail","fail","error","entries","meta","value","pages","entry","toPage","ok","createImplementation","implementation","dependencies"],"sources":["ListDeletedPagesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListDeletedPagesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { ListDeletedEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport { PagePersistenceError } from \"~/domain/page/errors.js\";\nimport { CmsWhereMapper } from \"@webiny/api-headless-cms/features/whereMapper/abstractions.js\";\nimport { CmsSortMapper } from \"@webiny/api-headless-cms/features/sortMapper/abstractions.js\";\n\nclass ListDeletedPagesRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private pageModel: PageModel.Interface,\n private listDeletedEntries: ListDeletedEntriesUseCase.Interface,\n private whereMapper: CmsWhereMapper.Interface,\n private sortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n const result = await this.listDeletedEntries.execute(this.pageModel, {\n where: this.whereMapper.map({\n fields: this.pageModel.fields,\n input: params.where\n }),\n sort: this.sortMapper.map({\n fields: this.pageModel.fields,\n input: params.sort\n }),\n limit: params.limit,\n after: params.after,\n search: params.search\n });\n\n if (result.isFail()) {\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n const { entries, meta } = result.value;\n const pages = entries.map(entry => EntryToPageMapper.toPage(entry));\n\n return Result.ok({ pages, meta });\n }\n}\n\nexport const ListDeletedPagesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListDeletedPagesRepositoryImpl,\n dependencies: [PageModel, ListDeletedEntriesUseCase, CmsWhereMapper, CmsSortMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,0BAA0B,IAAIC,qBAAqB;AAC5D,SAASC,yBAAyB,QAAQ,4DAA4D;AACtG,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,cAAc,QAAQ,+DAA+D;AAC9F,SAASC,aAAa,QAAQ,8DAA8D;AAE5F,MAAMC,8BAA8B,CAA4C;EAC5EC,WAAWA,CACCC,SAA8B,EAC9BC,kBAAuD,EACvDC,WAAqC,EACrCC,UAAmC,EAC7C;IAAA,KAJUH,SAA8B,GAA9BA,SAA8B;IAAA,KAC9BC,kBAAuD,GAAvDA,kBAAuD;IAAA,KACvDC,WAAqC,GAArCA,WAAqC;IAAA,KACrCC,UAAmC,GAAnCA,UAAmC;EAC5C;EAEH,MAAMC,OAAOA,CAACC,MAAoC,EAAgC;IAC9E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACL,kBAAkB,CAACG,OAAO,CAAC,IAAI,CAACJ,SAAS,EAAE;MACjEO,KAAK,EAAE,IAAI,CAACL,WAAW,CAACM,GAAG,CAAC;QACxBC,MAAM,EAAE,IAAI,CAACT,SAAS,CAACS,MAAM;QAC7BC,KAAK,EAAEL,MAAM,CAACE;MAClB,CAAC,CAAC;MACFI,IAAI,EAAE,IAAI,CAACR,UAAU,CAACK,GAAG,CAAC;QACtBC,MAAM,EAAE,IAAI,CAACT,SAAS,CAACS,MAAM;QAC7BC,KAAK,EAAEL,MAAM,CAACM;MAClB,CAAC,CAAC;MACFC,KAAK,EAAEP,MAAM,CAACO,KAAK;MACnBC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,MAAM,EAAET,MAAM,CAACS;IACnB,CAAC,CAAC;IAEF,IAAIR,MAAM,CAACS,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAIrB,oBAAoB,CAACW,MAAM,CAACW,KAAK,CAAC,CAAC;IAC9D;IAEA,MAAM;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAGb,MAAM,CAACc,KAAK;IACtC,MAAMC,KAAK,GAAGH,OAAO,CAACV,GAAG,CAACc,KAAK,IAAI5B,iBAAiB,CAAC6B,MAAM,CAACD,KAAK,CAAC,CAAC;IAEnE,OAAOjC,MAAM,CAACmC,EAAE,CAAC;MAAEH,KAAK;MAAEF;IAAK,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAM7B,0BAA0B,GAAGC,qBAAqB,CAACkC,oBAAoB,CAAC;EACjFC,cAAc,EAAE5B,8BAA8B;EAC9C6B,YAAY,EAAE,CAAClC,SAAS,EAAED,yBAAyB,EAAEI,cAAc,EAAEC,aAAa;AACtF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ListDeletedPagesUseCase as UseCaseAbstraction, ListDeletedPagesRepository } from "./abstractions.js";
|
|
2
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
3
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
4
|
+
declare class ListDeletedPagesUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
5
|
+
private permissions;
|
|
6
|
+
private identityContext;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(permissions: WbPermissions.Interface, identityContext: IdentityContext.Interface, repository: ListDeletedPagesRepository.Interface);
|
|
9
|
+
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
10
|
+
}
|
|
11
|
+
export declare const ListDeletedPagesUseCase: typeof ListDeletedPagesUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListDeletedPagesUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { ListDeletedPagesUseCase as UseCaseAbstraction, ListDeletedPagesRepository } from "./abstractions.js";
|
|
3
|
+
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
4
|
+
import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
5
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
6
|
+
class ListDeletedPagesUseCaseImpl {
|
|
7
|
+
constructor(permissions, identityContext, repository) {
|
|
8
|
+
this.permissions = permissions;
|
|
9
|
+
this.identityContext = identityContext;
|
|
10
|
+
this.repository = repository;
|
|
11
|
+
}
|
|
12
|
+
async execute(params) {
|
|
13
|
+
const hasPermission = await this.permissions.canRead("page");
|
|
14
|
+
if (!hasPermission) {
|
|
15
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
16
|
+
}
|
|
17
|
+
const where = {
|
|
18
|
+
...params.where
|
|
19
|
+
};
|
|
20
|
+
if (await this.permissions.onlyOwnRecords("page")) {
|
|
21
|
+
const identity = this.identityContext.getIdentity();
|
|
22
|
+
where.createdBy = identity.id;
|
|
23
|
+
}
|
|
24
|
+
return this.repository.execute({
|
|
25
|
+
...params,
|
|
26
|
+
where
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export const ListDeletedPagesUseCase = UseCaseAbstraction.createImplementation({
|
|
31
|
+
implementation: ListDeletedPagesUseCaseImpl,
|
|
32
|
+
dependencies: [WbPermissions, IdentityContext, ListDeletedPagesRepository]
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=ListDeletedPagesUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","ListDeletedPagesUseCase","UseCaseAbstraction","ListDeletedPagesRepository","WbPermissions","PageNotAuthorizedError","IdentityContext","ListDeletedPagesUseCaseImpl","constructor","permissions","identityContext","repository","execute","params","hasPermission","canRead","fail","where","onlyOwnRecords","identity","getIdentity","createdBy","id","createImplementation","implementation","dependencies"],"sources":["ListDeletedPagesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n ListDeletedPagesUseCase as UseCaseAbstraction,\n ListDeletedPagesRepository\n} from \"./abstractions.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nclass ListDeletedPagesUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private identityContext: IdentityContext.Interface,\n private repository: ListDeletedPagesRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canRead(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n const where = { ...params.where };\n\n if (await this.permissions.onlyOwnRecords(\"page\")) {\n const identity = this.identityContext.getIdentity();\n where.createdBy = identity.id;\n }\n\n return this.repository.execute({ ...params, where });\n }\n}\n\nexport const ListDeletedPagesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListDeletedPagesUseCaseImpl,\n dependencies: [WbPermissions, IdentityContext, ListDeletedPagesRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,uBAAuB,IAAIC,kBAAkB,EAC7CC,0BAA0B;AAE9B,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAC/B,SAASC,eAAe,QAAQ,6DAA6D;AAE7F,MAAMC,2BAA2B,CAAyC;EACtEC,WAAWA,CACCC,WAAoC,EACpCC,eAA0C,EAC1CC,UAAgD,EAC1D;IAAA,KAHUF,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAgD,GAAhDA,UAAgD;EACzD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACL,WAAW,CAACM,OAAO,CAAC,MAAM,CAAC;IAC5D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOd,MAAM,CAACgB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;IAEA,MAAMY,KAAK,GAAG;MAAE,GAAGJ,MAAM,CAACI;IAAM,CAAC;IAEjC,IAAI,MAAM,IAAI,CAACR,WAAW,CAACS,cAAc,CAAC,MAAM,CAAC,EAAE;MAC/C,MAAMC,QAAQ,GAAG,IAAI,CAACT,eAAe,CAACU,WAAW,CAAC,CAAC;MACnDH,KAAK,CAACI,SAAS,GAAGF,QAAQ,CAACG,EAAE;IACjC;IAEA,OAAO,IAAI,CAACX,UAAU,CAACC,OAAO,CAAC;MAAE,GAAGC,MAAM;MAAEI;IAAM,CAAC,CAAC;EACxD;AACJ;AAEA,OAAO,MAAMhB,uBAAuB,GAAGC,kBAAkB,CAACqB,oBAAoB,CAAC;EAC3EC,cAAc,EAAEjB,2BAA2B;EAC3CkB,YAAY,EAAE,CAACrB,aAAa,EAAEE,eAAe,EAAEH,0BAA0B;AAC7E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { WbPage } from "../../../domain/page/abstractions.js";
|
|
3
|
+
import type { PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
4
|
+
import type { CmsEntryListSort, CmsEntryListWhere } from "@webiny/api-headless-cms/types/index.js";
|
|
5
|
+
export interface IListDeletedPagesParams {
|
|
6
|
+
where: CmsEntryListWhere;
|
|
7
|
+
sort: CmsEntryListSort;
|
|
8
|
+
limit: number;
|
|
9
|
+
after: string | null;
|
|
10
|
+
search?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface IListDeletedPagesMeta {
|
|
13
|
+
hasMoreItems: boolean;
|
|
14
|
+
totalCount: number;
|
|
15
|
+
cursor: string | null;
|
|
16
|
+
}
|
|
17
|
+
export type IListDeletedPagesResult = {
|
|
18
|
+
pages: WbPage[];
|
|
19
|
+
meta: IListDeletedPagesMeta;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* ListDeletedPages repository interface
|
|
23
|
+
*/
|
|
24
|
+
export interface IListDeletedPagesRepository {
|
|
25
|
+
execute(params: IListDeletedPagesParams): Promise<Result<IListDeletedPagesResult, RepositoryError>>;
|
|
26
|
+
}
|
|
27
|
+
export interface IListDeletedPagesRepositoryErrors {
|
|
28
|
+
persistence: PagePersistenceError;
|
|
29
|
+
}
|
|
30
|
+
type RepositoryError = IListDeletedPagesRepositoryErrors[keyof IListDeletedPagesRepositoryErrors];
|
|
31
|
+
export declare const ListDeletedPagesRepository: import("@webiny/di").Abstraction<IListDeletedPagesRepository>;
|
|
32
|
+
export declare namespace ListDeletedPagesRepository {
|
|
33
|
+
type Interface = IListDeletedPagesRepository;
|
|
34
|
+
type Error = RepositoryError;
|
|
35
|
+
type Params = IListDeletedPagesParams;
|
|
36
|
+
type Return = Promise<Result<IListDeletedPagesResult, RepositoryError>>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* ListDeletedPages use case interface
|
|
40
|
+
*/
|
|
41
|
+
export interface IListDeletedPagesUseCase {
|
|
42
|
+
execute(params: IListDeletedPagesParams): Promise<Result<IListDeletedPagesResult, UseCaseError>>;
|
|
43
|
+
}
|
|
44
|
+
export interface IListDeletedPagesUseCaseErrors {
|
|
45
|
+
notAuthorized: PageNotAuthorizedError;
|
|
46
|
+
persistence: PagePersistenceError;
|
|
47
|
+
}
|
|
48
|
+
type UseCaseError = IListDeletedPagesUseCaseErrors[keyof IListDeletedPagesUseCaseErrors];
|
|
49
|
+
export declare const ListDeletedPagesUseCase: import("@webiny/di").Abstraction<IListDeletedPagesUseCase>;
|
|
50
|
+
export declare namespace ListDeletedPagesUseCase {
|
|
51
|
+
type Interface = IListDeletedPagesUseCase;
|
|
52
|
+
type Error = UseCaseError;
|
|
53
|
+
type Params = IListDeletedPagesParams;
|
|
54
|
+
type Return = Promise<Result<IListDeletedPagesResult, UseCaseError>>;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ListDeletedPages repository interface
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const ListDeletedPagesRepository = createAbstraction("Wb/ListDeletedPagesRepository");
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* ListDeletedPages use case interface
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export const ListDeletedPagesUseCase = createAbstraction("Wb/ListDeletedPagesUseCase");
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","ListDeletedPagesRepository","ListDeletedPagesUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport type { PagePersistenceError, PageNotAuthorizedError } from \"~/domain/page/errors.js\";\nimport type { CmsEntryListSort, CmsEntryListWhere } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface IListDeletedPagesParams {\n where: CmsEntryListWhere;\n sort: CmsEntryListSort;\n limit: number;\n after: string | null;\n search?: string;\n}\n\nexport interface IListDeletedPagesMeta {\n hasMoreItems: boolean;\n totalCount: number;\n cursor: string | null;\n}\n\nexport type IListDeletedPagesResult = { pages: WbPage[]; meta: IListDeletedPagesMeta };\n\n/**\n * ListDeletedPages repository interface\n */\nexport interface IListDeletedPagesRepository {\n execute(\n params: IListDeletedPagesParams\n ): Promise<Result<IListDeletedPagesResult, RepositoryError>>;\n}\n\nexport interface IListDeletedPagesRepositoryErrors {\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IListDeletedPagesRepositoryErrors[keyof IListDeletedPagesRepositoryErrors];\n\nexport const ListDeletedPagesRepository = createAbstraction<IListDeletedPagesRepository>(\n \"Wb/ListDeletedPagesRepository\"\n);\n\nexport namespace ListDeletedPagesRepository {\n export type Interface = IListDeletedPagesRepository;\n export type Error = RepositoryError;\n export type Params = IListDeletedPagesParams;\n export type Return = Promise<Result<IListDeletedPagesResult, RepositoryError>>;\n}\n\n/**\n * ListDeletedPages use case interface\n */\nexport interface IListDeletedPagesUseCase {\n execute(\n params: IListDeletedPagesParams\n ): Promise<Result<IListDeletedPagesResult, UseCaseError>>;\n}\n\nexport interface IListDeletedPagesUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IListDeletedPagesUseCaseErrors[keyof IListDeletedPagesUseCaseErrors];\n\nexport const ListDeletedPagesUseCase = createAbstraction<IListDeletedPagesUseCase>(\n \"Wb/ListDeletedPagesUseCase\"\n);\n\nexport namespace ListDeletedPagesUseCase {\n export type Interface = IListDeletedPagesUseCase;\n export type Error = UseCaseError;\n export type Params = IListDeletedPagesParams;\n export type Return = Promise<Result<IListDeletedPagesResult, UseCaseError>>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAsBvD;AACA;AACA;;AAaA,OAAO,MAAMC,0BAA0B,GAAGD,iBAAiB,CACvD,+BACJ,CAAC;;AASD;AACA;AACA;;AAcA,OAAO,MAAME,uBAAuB,GAAGF,iBAAiB,CACpD,4BACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListDeletedPagesRepository } from "./ListDeletedPagesRepository.js";
|
|
3
|
+
import { ListDeletedPagesUseCase } from "./ListDeletedPagesUseCase.js";
|
|
4
|
+
export const ListDeletedPagesFeature = createFeature({
|
|
5
|
+
name: "WebsiteBuilder/ListDeletedPages",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(ListDeletedPagesRepository).inSingletonScope();
|
|
8
|
+
container.register(ListDeletedPagesUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","ListDeletedPagesRepository","ListDeletedPagesUseCase","ListDeletedPagesFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListDeletedPagesRepository } from \"./ListDeletedPagesRepository.js\";\nimport { ListDeletedPagesUseCase } from \"./ListDeletedPagesUseCase.js\";\n\nexport const ListDeletedPagesFeature = createFeature({\n name: \"WebsiteBuilder/ListDeletedPages\",\n register(container) {\n container.register(ListDeletedPagesRepository).inSingletonScope();\n container.register(ListDeletedPagesUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,0BAA0B;AACnC,SAASC,uBAAuB;AAEhC,OAAO,MAAMC,uBAAuB,GAAGH,aAAa,CAAC;EACjDI,IAAI,EAAE,iCAAiC;EACvCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,0BAA0B,CAAC,CAACM,gBAAgB,CAAC,CAAC;IACjED,SAAS,CAACD,QAAQ,CAACH,uBAAuB,CAAC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { ListPagesRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
2
2
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
3
3
|
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
4
|
+
import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
|
|
5
|
+
import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
|
|
4
6
|
declare class ListPagesRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
5
7
|
private pageModel;
|
|
6
8
|
private listLatestEntries;
|
|
7
|
-
|
|
9
|
+
private whereMapper;
|
|
10
|
+
private sortMapper;
|
|
11
|
+
constructor(pageModel: PageModel.Interface, listLatestEntries: ListLatestEntriesUseCase.Interface, whereMapper: CmsWhereMapper.Interface, sortMapper: CmsSortMapper.Interface);
|
|
8
12
|
execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return;
|
|
9
13
|
}
|
|
10
14
|
export declare const ListPagesRepository: typeof ListPagesRepositoryImpl & {
|
|
@@ -4,15 +4,25 @@ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/cont
|
|
|
4
4
|
import { PageModel } from "../../../domain/page/abstractions.js";
|
|
5
5
|
import { EntryToPageMapper } from "../../../domain/page/EntryToPageMapper.js";
|
|
6
6
|
import { PagePersistenceError } from "../../../domain/page/errors.js";
|
|
7
|
+
import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
|
|
8
|
+
import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
|
|
7
9
|
class ListPagesRepositoryImpl {
|
|
8
|
-
constructor(pageModel, listLatestEntries) {
|
|
10
|
+
constructor(pageModel, listLatestEntries, whereMapper, sortMapper) {
|
|
9
11
|
this.pageModel = pageModel;
|
|
10
12
|
this.listLatestEntries = listLatestEntries;
|
|
13
|
+
this.whereMapper = whereMapper;
|
|
14
|
+
this.sortMapper = sortMapper;
|
|
11
15
|
}
|
|
12
16
|
async execute(params) {
|
|
13
17
|
const result = await this.listLatestEntries.execute(this.pageModel, {
|
|
14
|
-
where:
|
|
15
|
-
|
|
18
|
+
where: this.whereMapper.map({
|
|
19
|
+
fields: this.pageModel.fields,
|
|
20
|
+
input: params.where
|
|
21
|
+
}),
|
|
22
|
+
sort: this.sortMapper.map({
|
|
23
|
+
fields: this.pageModel.fields,
|
|
24
|
+
input: params.sort
|
|
25
|
+
}),
|
|
16
26
|
limit: params.limit,
|
|
17
27
|
after: params.after,
|
|
18
28
|
search: params.search
|
|
@@ -33,7 +43,7 @@ class ListPagesRepositoryImpl {
|
|
|
33
43
|
}
|
|
34
44
|
export const ListPagesRepository = RepositoryAbstraction.createImplementation({
|
|
35
45
|
implementation: ListPagesRepositoryImpl,
|
|
36
|
-
dependencies: [PageModel, ListLatestEntriesUseCase]
|
|
46
|
+
dependencies: [PageModel, ListLatestEntriesUseCase, CmsWhereMapper, CmsSortMapper]
|
|
37
47
|
});
|
|
38
48
|
|
|
39
49
|
//# sourceMappingURL=ListPagesRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","ListPagesRepository","RepositoryAbstraction","ListLatestEntriesUseCase","PageModel","EntryToPageMapper","PagePersistenceError","ListPagesRepositoryImpl","constructor","pageModel","listLatestEntries","execute","params","result","where","sort","limit","after","search","isFail","fail","error","entries","meta","value","pages","
|
|
1
|
+
{"version":3,"names":["Result","ListPagesRepository","RepositoryAbstraction","ListLatestEntriesUseCase","PageModel","EntryToPageMapper","PagePersistenceError","CmsWhereMapper","CmsSortMapper","ListPagesRepositoryImpl","constructor","pageModel","listLatestEntries","whereMapper","sortMapper","execute","params","result","where","map","fields","input","sort","limit","after","search","isFail","fail","error","entries","meta","value","pages","entry","toPage","ok","createImplementation","implementation","dependencies"],"sources":["ListPagesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListPagesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport { PageModel } from \"~/domain/page/abstractions.js\";\nimport { EntryToPageMapper } from \"~/domain/page/EntryToPageMapper.js\";\nimport { PagePersistenceError } from \"~/domain/page/errors.js\";\nimport { CmsWhereMapper } from \"@webiny/api-headless-cms/features/whereMapper/abstractions.js\";\nimport { CmsSortMapper } from \"@webiny/api-headless-cms/features/sortMapper/abstractions.js\";\n\nclass ListPagesRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private pageModel: PageModel.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private whereMapper: CmsWhereMapper.Interface,\n private sortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(params: RepositoryAbstraction.Params): RepositoryAbstraction.Return {\n const result = await this.listLatestEntries.execute(this.pageModel, {\n where: this.whereMapper.map({\n fields: this.pageModel.fields,\n input: params.where\n }),\n sort: this.sortMapper.map({\n fields: this.pageModel.fields,\n input: params.sort\n }),\n limit: params.limit,\n after: params.after,\n search: params.search\n });\n\n if (result.isFail()) {\n return Result.fail(new PagePersistenceError(result.error));\n }\n\n const { entries, meta } = result.value;\n const pages = entries.map(entry => EntryToPageMapper.toPage(entry));\n\n return Result.ok({ pages, meta });\n }\n}\n\nexport const ListPagesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListPagesRepositoryImpl,\n dependencies: [PageModel, ListLatestEntriesUseCase, CmsWhereMapper, CmsSortMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,mBAAmB,IAAIC,qBAAqB;AACrD,SAASC,wBAAwB,QAAQ,4DAA4D;AACrG,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,cAAc,QAAQ,+DAA+D;AAC9F,SAASC,aAAa,QAAQ,8DAA8D;AAE5F,MAAMC,uBAAuB,CAA4C;EACrEC,WAAWA,CACCC,SAA8B,EAC9BC,iBAAqD,EACrDC,WAAqC,EACrCC,UAAmC,EAC7C;IAAA,KAJUH,SAA8B,GAA9BA,SAA8B;IAAA,KAC9BC,iBAAqD,GAArDA,iBAAqD;IAAA,KACrDC,WAAqC,GAArCA,WAAqC;IAAA,KACrCC,UAAmC,GAAnCA,UAAmC;EAC5C;EAEH,MAAMC,OAAOA,CAACC,MAAoC,EAAgC;IAC9E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACL,iBAAiB,CAACG,OAAO,CAAC,IAAI,CAACJ,SAAS,EAAE;MAChEO,KAAK,EAAE,IAAI,CAACL,WAAW,CAACM,GAAG,CAAC;QACxBC,MAAM,EAAE,IAAI,CAACT,SAAS,CAACS,MAAM;QAC7BC,KAAK,EAAEL,MAAM,CAACE;MAClB,CAAC,CAAC;MACFI,IAAI,EAAE,IAAI,CAACR,UAAU,CAACK,GAAG,CAAC;QACtBC,MAAM,EAAE,IAAI,CAACT,SAAS,CAACS,MAAM;QAC7BC,KAAK,EAAEL,MAAM,CAACM;MAClB,CAAC,CAAC;MACFC,KAAK,EAAEP,MAAM,CAACO,KAAK;MACnBC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,MAAM,EAAET,MAAM,CAACS;IACnB,CAAC,CAAC;IAEF,IAAIR,MAAM,CAACS,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAIrB,oBAAoB,CAACW,MAAM,CAACW,KAAK,CAAC,CAAC;IAC9D;IAEA,MAAM;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAGb,MAAM,CAACc,KAAK;IACtC,MAAMC,KAAK,GAAGH,OAAO,CAACV,GAAG,CAACc,KAAK,IAAI5B,iBAAiB,CAAC6B,MAAM,CAACD,KAAK,CAAC,CAAC;IAEnE,OAAOjC,MAAM,CAACmC,EAAE,CAAC;MAAEH,KAAK;MAAEF;IAAK,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAM7B,mBAAmB,GAAGC,qBAAqB,CAACkC,oBAAoB,CAAC;EAC1EC,cAAc,EAAE5B,uBAAuB;EACvC6B,YAAY,EAAE,CAAClC,SAAS,EAAED,wBAAwB,EAAEI,cAAc,EAAEC,aAAa;AACrF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { ListPagesUseCase as UseCaseAbstraction, ListPagesRepository } from "./abstractions.js";
|
|
2
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
3
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
2
4
|
declare class ListPagesUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
5
|
+
private permissions;
|
|
6
|
+
private identityContext;
|
|
3
7
|
private repository;
|
|
4
|
-
constructor(repository: ListPagesRepository.Interface);
|
|
8
|
+
constructor(permissions: WbPermissions.Interface, identityContext: IdentityContext.Interface, repository: ListPagesRepository.Interface);
|
|
5
9
|
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
6
10
|
}
|
|
7
11
|
export declare const ListPagesUseCase: typeof ListPagesUseCaseImpl & {
|
|
@@ -1,15 +1,35 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
1
2
|
import { ListPagesUseCase as UseCaseAbstraction, ListPagesRepository } from "./abstractions.js";
|
|
3
|
+
import { WbPermissions } from "../../permissions/abstractions.js";
|
|
4
|
+
import { PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
5
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
2
6
|
class ListPagesUseCaseImpl {
|
|
3
|
-
constructor(repository) {
|
|
7
|
+
constructor(permissions, identityContext, repository) {
|
|
8
|
+
this.permissions = permissions;
|
|
9
|
+
this.identityContext = identityContext;
|
|
4
10
|
this.repository = repository;
|
|
5
11
|
}
|
|
6
|
-
execute(params) {
|
|
7
|
-
|
|
12
|
+
async execute(params) {
|
|
13
|
+
const hasPermission = await this.permissions.canRead("page");
|
|
14
|
+
if (!hasPermission) {
|
|
15
|
+
return Result.fail(new PageNotAuthorizedError());
|
|
16
|
+
}
|
|
17
|
+
const where = {
|
|
18
|
+
...params.where
|
|
19
|
+
};
|
|
20
|
+
if (await this.permissions.onlyOwnRecords("page")) {
|
|
21
|
+
const identity = this.identityContext.getIdentity();
|
|
22
|
+
where.createdBy = identity.id;
|
|
23
|
+
}
|
|
24
|
+
return this.repository.execute({
|
|
25
|
+
...params,
|
|
26
|
+
where
|
|
27
|
+
});
|
|
8
28
|
}
|
|
9
29
|
}
|
|
10
30
|
export const ListPagesUseCase = UseCaseAbstraction.createImplementation({
|
|
11
31
|
implementation: ListPagesUseCaseImpl,
|
|
12
|
-
dependencies: [ListPagesRepository]
|
|
32
|
+
dependencies: [WbPermissions, IdentityContext, ListPagesRepository]
|
|
13
33
|
});
|
|
14
34
|
|
|
15
35
|
//# sourceMappingURL=ListPagesUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ListPagesUseCase","UseCaseAbstraction","ListPagesRepository","ListPagesUseCaseImpl","constructor","repository","execute","params","createImplementation","implementation","dependencies"],"sources":["ListPagesUseCase.ts"],"sourcesContent":["import { ListPagesUseCase as UseCaseAbstraction, ListPagesRepository } from \"./abstractions.js\";\n\nclass ListPagesUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListPagesRepository.Interface) {}\n\n execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n return this.repository.execute(params);\n }\n}\n\nexport const ListPagesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListPagesUseCaseImpl,\n dependencies: [ListPagesRepository]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB,IAAIC,kBAAkB,EAAEC,mBAAmB;
|
|
1
|
+
{"version":3,"names":["Result","ListPagesUseCase","UseCaseAbstraction","ListPagesRepository","WbPermissions","PageNotAuthorizedError","IdentityContext","ListPagesUseCaseImpl","constructor","permissions","identityContext","repository","execute","params","hasPermission","canRead","fail","where","onlyOwnRecords","identity","getIdentity","createdBy","id","createImplementation","implementation","dependencies"],"sources":["ListPagesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListPagesUseCase as UseCaseAbstraction, ListPagesRepository } from \"./abstractions.js\";\nimport { WbPermissions } from \"~/features/permissions/abstractions.js\";\nimport { PageNotAuthorizedError } from \"~/domain/page/errors.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nclass ListPagesUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WbPermissions.Interface,\n private identityContext: IdentityContext.Interface,\n private repository: ListPagesRepository.Interface\n ) {}\n\n async execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return {\n const hasPermission = await this.permissions.canRead(\"page\");\n if (!hasPermission) {\n return Result.fail(new PageNotAuthorizedError());\n }\n\n const where = { ...params.where };\n\n if (await this.permissions.onlyOwnRecords(\"page\")) {\n const identity = this.identityContext.getIdentity();\n where.createdBy = identity.id;\n }\n\n return this.repository.execute({ ...params, where });\n }\n}\n\nexport const ListPagesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListPagesUseCaseImpl,\n dependencies: [WbPermissions, IdentityContext, ListPagesRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,gBAAgB,IAAIC,kBAAkB,EAAEC,mBAAmB;AACpE,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAC/B,SAASC,eAAe,QAAQ,6DAA6D;AAE7F,MAAMC,oBAAoB,CAAyC;EAC/DC,WAAWA,CACCC,WAAoC,EACpCC,eAA0C,EAC1CC,UAAyC,EACnD;IAAA,KAHUF,WAAoC,GAApCA,WAAoC;IAAA,KACpCC,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAyC,GAAzCA,UAAyC;EAClD;EAEH,MAAMC,OAAOA,CAACC,MAAiC,EAA6B;IACxE,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACL,WAAW,CAACM,OAAO,CAAC,MAAM,CAAC;IAC5D,IAAI,CAACD,aAAa,EAAE;MAChB,OAAOd,MAAM,CAACgB,IAAI,CAAC,IAAIX,sBAAsB,CAAC,CAAC,CAAC;IACpD;IAEA,MAAMY,KAAK,GAAG;MAAE,GAAGJ,MAAM,CAACI;IAAM,CAAC;IAEjC,IAAI,MAAM,IAAI,CAACR,WAAW,CAACS,cAAc,CAAC,MAAM,CAAC,EAAE;MAC/C,MAAMC,QAAQ,GAAG,IAAI,CAACT,eAAe,CAACU,WAAW,CAAC,CAAC;MACnDH,KAAK,CAACI,SAAS,GAAGF,QAAQ,CAACG,EAAE;IACjC;IAEA,OAAO,IAAI,CAACX,UAAU,CAACC,OAAO,CAAC;MAAE,GAAGC,MAAM;MAAEI;IAAM,CAAC,CAAC;EACxD;AACJ;AAEA,OAAO,MAAMhB,gBAAgB,GAAGC,kBAAkB,CAACqB,oBAAoB,CAAC;EACpEC,cAAc,EAAEjB,oBAAoB;EACpCkB,YAAY,EAAE,CAACrB,aAAa,EAAEE,eAAe,EAAEH,mBAAmB;AACtE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Result } from "@webiny/feature/api";
|
|
2
2
|
import type { WbPage } from "../../../domain/page/abstractions.js";
|
|
3
|
-
import type { PagePersistenceError } from "../../../domain/page/errors.js";
|
|
3
|
+
import type { PagePersistenceError, PageNotAuthorizedError } from "../../../domain/page/errors.js";
|
|
4
4
|
import type { CmsEntryListSort, CmsEntryListWhere } from "@webiny/api-headless-cms/types/index.js";
|
|
5
5
|
export interface IListPagesParams {
|
|
6
6
|
where: CmsEntryListWhere;
|
|
@@ -42,9 +42,11 @@ export interface IListPagesUseCase {
|
|
|
42
42
|
execute(params: IListPagesParams): Promise<Result<IListPagesResult, UseCaseError>>;
|
|
43
43
|
}
|
|
44
44
|
export interface IListPagesUseCaseErrors {
|
|
45
|
+
notAuthorized: PageNotAuthorizedError;
|
|
45
46
|
persistence: PagePersistenceError;
|
|
46
47
|
}
|
|
47
48
|
type UseCaseError = IListPagesUseCaseErrors[keyof IListPagesUseCaseErrors];
|
|
49
|
+
/** List pages with filtering and pagination. */
|
|
48
50
|
export declare const ListPagesUseCase: import("@webiny/di").Abstraction<IListPagesUseCase>;
|
|
49
51
|
export declare namespace ListPagesUseCase {
|
|
50
52
|
type Interface = IListPagesUseCase;
|
|
@@ -10,6 +10,7 @@ export const ListPagesRepository = createAbstraction("Wb/ListPagesRepository");
|
|
|
10
10
|
* ListPages use case interface
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
/** List pages with filtering and pagination. */
|
|
13
14
|
export const ListPagesUseCase = createAbstraction("Wb/ListPagesUseCase");
|
|
14
15
|
|
|
15
16
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","ListPagesRepository","ListPagesUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport type { PagePersistenceError } from \"~/domain/page/errors.js\";\nimport type { CmsEntryListSort, CmsEntryListWhere } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface IListPagesParams {\n where: CmsEntryListWhere;\n sort: CmsEntryListSort;\n limit: number;\n after: string | null;\n search?: string;\n}\n\nexport interface IListPagesMeta {\n hasMoreItems: boolean;\n totalCount: number;\n cursor: string | null;\n}\n\nexport type IListPagesResult = { pages: WbPage[]; meta: IListPagesMeta };\n\n/**\n * ListPages repository interface\n */\nexport interface IListPagesRepository {\n execute(params: IListPagesParams): Promise<Result<IListPagesResult, RepositoryError>>;\n}\n\nexport interface IListPagesRepositoryErrors {\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IListPagesRepositoryErrors[keyof IListPagesRepositoryErrors];\n\nexport const ListPagesRepository =\n createAbstraction<IListPagesRepository>(\"Wb/ListPagesRepository\");\n\nexport namespace ListPagesRepository {\n export type Interface = IListPagesRepository;\n export type Error = RepositoryError;\n export type Params = IListPagesParams;\n export type Return = Promise<Result<IListPagesResult, RepositoryError>>;\n}\n\n/**\n * ListPages use case interface\n */\nexport interface IListPagesUseCase {\n execute(params: IListPagesParams): Promise<Result<IListPagesResult, UseCaseError>>;\n}\n\nexport interface IListPagesUseCaseErrors {\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IListPagesUseCaseErrors[keyof IListPagesUseCaseErrors];\n\nexport const ListPagesUseCase = createAbstraction<IListPagesUseCase>(\"Wb/ListPagesUseCase\");\n\nexport namespace ListPagesUseCase {\n export type Interface = IListPagesUseCase;\n export type Error = UseCaseError;\n export type Params = IListPagesParams;\n export type Return = Promise<Result<IListPagesResult, UseCaseError>>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAsBvD;AACA;AACA;;AAWA,OAAO,MAAMC,mBAAmB,GAC5BD,iBAAiB,CAAuB,wBAAwB,CAAC;;AASrE;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["createAbstraction","ListPagesRepository","ListPagesUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { WbPage } from \"~/domain/page/abstractions.js\";\nimport type { PagePersistenceError, PageNotAuthorizedError } from \"~/domain/page/errors.js\";\nimport type { CmsEntryListSort, CmsEntryListWhere } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface IListPagesParams {\n where: CmsEntryListWhere;\n sort: CmsEntryListSort;\n limit: number;\n after: string | null;\n search?: string;\n}\n\nexport interface IListPagesMeta {\n hasMoreItems: boolean;\n totalCount: number;\n cursor: string | null;\n}\n\nexport type IListPagesResult = { pages: WbPage[]; meta: IListPagesMeta };\n\n/**\n * ListPages repository interface\n */\nexport interface IListPagesRepository {\n execute(params: IListPagesParams): Promise<Result<IListPagesResult, RepositoryError>>;\n}\n\nexport interface IListPagesRepositoryErrors {\n persistence: PagePersistenceError;\n}\n\ntype RepositoryError = IListPagesRepositoryErrors[keyof IListPagesRepositoryErrors];\n\nexport const ListPagesRepository =\n createAbstraction<IListPagesRepository>(\"Wb/ListPagesRepository\");\n\nexport namespace ListPagesRepository {\n export type Interface = IListPagesRepository;\n export type Error = RepositoryError;\n export type Params = IListPagesParams;\n export type Return = Promise<Result<IListPagesResult, RepositoryError>>;\n}\n\n/**\n * ListPages use case interface\n */\nexport interface IListPagesUseCase {\n execute(params: IListPagesParams): Promise<Result<IListPagesResult, UseCaseError>>;\n}\n\nexport interface IListPagesUseCaseErrors {\n notAuthorized: PageNotAuthorizedError;\n persistence: PagePersistenceError;\n}\n\ntype UseCaseError = IListPagesUseCaseErrors[keyof IListPagesUseCaseErrors];\n\n/** List pages with filtering and pagination. */\nexport const ListPagesUseCase = createAbstraction<IListPagesUseCase>(\"Wb/ListPagesUseCase\");\n\nexport namespace ListPagesUseCase {\n export type Interface = IListPagesUseCase;\n export type Error = UseCaseError;\n export type Params = IListPagesParams;\n export type Return = Promise<Result<IListPagesResult, UseCaseError>>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAsBvD;AACA;AACA;;AAWA,OAAO,MAAMC,mBAAmB,GAC5BD,iBAAiB,CAAuB,wBAAwB,CAAC;;AASrE;AACA;AACA;;AAYA;AACA,OAAO,MAAME,gBAAgB,GAAGF,iBAAiB,CAAoB,qBAAqB,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/
|
|
1
|
+
import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
2
|
import { MovePageUseCase as UseCaseAbstraction, MovePageRepository } from "./abstractions.js";
|
|
3
3
|
import { GetPageByIdUseCase } from "../../../features/pages/GetPageById/index.js";
|
|
4
|
+
import { WbPermissions } from "../../../features/permissions/abstractions.js";
|
|
4
5
|
declare class MovePageUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
5
7
|
private eventPublisher;
|
|
6
8
|
private getPageById;
|
|
7
9
|
private repository;
|
|
8
|
-
constructor(eventPublisher: EventPublisherAbstraction.Interface, getPageById: GetPageByIdUseCase.Interface, repository: MovePageRepository.Interface);
|
|
10
|
+
constructor(permissions: WbPermissions.Interface, eventPublisher: EventPublisherAbstraction.Interface, getPageById: GetPageByIdUseCase.Interface, repository: MovePageRepository.Interface);
|
|
9
11
|
execute(params: UseCaseAbstraction.Params): UseCaseAbstraction.Return;
|
|
10
12
|
}
|
|
11
13
|
export declare const MovePageUseCase: import("@webiny/di").Implementation<typeof MovePageUseCaseImpl>;
|