@webiny/api-website-builder-workflows 0.0.0-unstable.0156a4c312
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/LICENSE +21 -0
- package/README.md +11 -0
- package/WebsiteBuilderPageSchemaFactory.d.ts +15 -0
- package/WebsiteBuilderPageSchemaFactory.js +30 -0
- package/WebsiteBuilderPageSchemaFactory.js.map +1 -0
- package/WebsiteBuilderWorkflowsFeature.d.ts +5 -0
- package/WebsiteBuilderWorkflowsFeature.js +21 -0
- package/WebsiteBuilderWorkflowsFeature.js.map +1 -0
- package/constants.d.ts +4 -0
- package/constants.js +5 -0
- package/constants.js.map +1 -0
- package/features/hooks/BlockPageDeleteWhileInReview.d.ts +20 -0
- package/features/hooks/BlockPageDeleteWhileInReview.js +43 -0
- package/features/hooks/BlockPageDeleteWhileInReview.js.map +1 -0
- package/features/hooks/BlockPageFolderChangeWhileInReview.d.ts +19 -0
- package/features/hooks/BlockPageFolderChangeWhileInReview.js +27 -0
- package/features/hooks/BlockPageFolderChangeWhileInReview.js.map +1 -0
- package/features/hooks/BlockPageMoveWhileInReview.d.ts +18 -0
- package/features/hooks/BlockPageMoveWhileInReview.js +44 -0
- package/features/hooks/BlockPageMoveWhileInReview.js.map +1 -0
- package/features/hooks/BlockPageRevisionDeleteWhileInReview.d.ts +13 -0
- package/features/hooks/BlockPageRevisionDeleteWhileInReview.js +44 -0
- package/features/hooks/BlockPageRevisionDeleteWhileInReview.js.map +1 -0
- package/features/hooks/BlockPageTrashWhileInReview.d.ts +21 -0
- package/features/hooks/BlockPageTrashWhileInReview.js +43 -0
- package/features/hooks/BlockPageTrashWhileInReview.js.map +1 -0
- package/features/hooks/BlockPageUpdateWhileInReview.d.ts +20 -0
- package/features/hooks/BlockPageUpdateWhileInReview.js +25 -0
- package/features/hooks/BlockPageUpdateWhileInReview.js.map +1 -0
- package/features/hooks/DeleteReviewsOnPageDelete.d.ts +20 -0
- package/features/hooks/DeleteReviewsOnPageDelete.js +43 -0
- package/features/hooks/DeleteReviewsOnPageDelete.js.map +1 -0
- package/features/hooks/DeleteReviewsOnPageRevisionDelete.d.ts +13 -0
- package/features/hooks/DeleteReviewsOnPageRevisionDelete.js +44 -0
- package/features/hooks/DeleteReviewsOnPageRevisionDelete.js.map +1 -0
- package/features/hooks/NullReviewStateOnGraduatedVariantDecorator.d.ts +27 -0
- package/features/hooks/NullReviewStateOnGraduatedVariantDecorator.js +53 -0
- package/features/hooks/NullReviewStateOnGraduatedVariantDecorator.js.map +1 -0
- package/features/hooks/NullReviewStateOnPageRevisionCreate.d.ts +26 -0
- package/features/hooks/NullReviewStateOnPageRevisionCreate.js +43 -0
- package/features/hooks/NullReviewStateOnPageRevisionCreate.js.map +1 -0
- package/features/hooks/RequireApprovedReviewOnPagePublish.d.ts +20 -0
- package/features/hooks/RequireApprovedReviewOnPagePublish.js +42 -0
- package/features/hooks/RequireApprovedReviewOnPagePublish.js.map +1 -0
- package/features/hooks/feature.d.ts +9 -0
- package/features/hooks/feature.js +31 -0
- package/features/hooks/feature.js.map +1 -0
- package/features/target/WbPageAccess/WbPageAccess.d.ts +27 -0
- package/features/target/WbPageAccess/WbPageAccess.js +84 -0
- package/features/target/WbPageAccess/WbPageAccess.js.map +1 -0
- package/features/target/WbPageAccess/abstractions.d.ts +39 -0
- package/features/target/WbPageAccess/abstractions.js +5 -0
- package/features/target/WbPageAccess/abstractions.js.map +1 -0
- package/features/target/WbPageAccess/index.d.ts +1 -0
- package/features/target/WbPageAccess/index.js +1 -0
- package/features/target/WbPageDeniedFolders/WbPageDeniedFolders.d.ts +20 -0
- package/features/target/WbPageDeniedFolders/WbPageDeniedFolders.js +55 -0
- package/features/target/WbPageDeniedFolders/WbPageDeniedFolders.js.map +1 -0
- package/features/target/WbPageDeniedFolders/abstractions.d.ts +23 -0
- package/features/target/WbPageDeniedFolders/abstractions.js +5 -0
- package/features/target/WbPageDeniedFolders/abstractions.js.map +1 -0
- package/features/target/WbPageDeniedFolders/index.d.ts +1 -0
- package/features/target/WbPageDeniedFolders/index.js +1 -0
- package/features/target/WbPageFolderExistsService/WbPageFolderExistsService.d.ts +15 -0
- package/features/target/WbPageFolderExistsService/WbPageFolderExistsService.js +27 -0
- package/features/target/WbPageFolderExistsService/WbPageFolderExistsService.js.map +1 -0
- package/features/target/WbPageFolderExistsService/abstractions.d.ts +16 -0
- package/features/target/WbPageFolderExistsService/abstractions.js +5 -0
- package/features/target/WbPageFolderExistsService/abstractions.js.map +1 -0
- package/features/target/WbPageFolderExistsService/index.d.ts +1 -0
- package/features/target/WbPageFolderExistsService/index.js +1 -0
- package/features/target/WbPageReviewNamespace.d.ts +14 -0
- package/features/target/WbPageReviewNamespace.js +15 -0
- package/features/target/WbPageReviewNamespace.js.map +1 -0
- package/features/target/WbPageReviewReadFilter/WbPageReviewReadFilter.d.ts +17 -0
- package/features/target/WbPageReviewReadFilter/WbPageReviewReadFilter.js +53 -0
- package/features/target/WbPageReviewReadFilter/WbPageReviewReadFilter.js.map +1 -0
- package/features/target/WbPageReviewReadFilter/abstractions.d.ts +21 -0
- package/features/target/WbPageReviewReadFilter/abstractions.js +5 -0
- package/features/target/WbPageReviewReadFilter/abstractions.js.map +1 -0
- package/features/target/WbPageReviewReadFilter/index.d.ts +1 -0
- package/features/target/WbPageReviewReadFilter/index.js +1 -0
- package/features/target/WbPageReviewTargetEditor.d.ts +33 -0
- package/features/target/WbPageReviewTargetEditor.js +109 -0
- package/features/target/WbPageReviewTargetEditor.js.map +1 -0
- package/features/target/WbPageReviewTargetFolderChain.d.ts +22 -0
- package/features/target/WbPageReviewTargetFolderChain.js +34 -0
- package/features/target/WbPageReviewTargetFolderChain.js.map +1 -0
- package/features/target/WbPageReviewTargetLink.d.ts +17 -0
- package/features/target/WbPageReviewTargetLink.js +17 -0
- package/features/target/WbPageReviewTargetLink.js.map +1 -0
- package/features/target/WbPageReviewTargetLoader.d.ts +13 -0
- package/features/target/WbPageReviewTargetLoader.js +29 -0
- package/features/target/WbPageReviewTargetLoader.js.map +1 -0
- package/features/target/WbPageReviewTargetReadAccess.d.ts +33 -0
- package/features/target/WbPageReviewTargetReadAccess.js +72 -0
- package/features/target/WbPageReviewTargetReadAccess.js.map +1 -0
- package/features/target/WbPageReviewTargetSync.d.ts +23 -0
- package/features/target/WbPageReviewTargetSync.js +39 -0
- package/features/target/WbPageReviewTargetSync.js.map +1 -0
- package/features/target/WbPageTargetReader/WbPageTargetReader.d.ts +20 -0
- package/features/target/WbPageTargetReader/WbPageTargetReader.js +51 -0
- package/features/target/WbPageTargetReader/WbPageTargetReader.js.map +1 -0
- package/features/target/WbPageTargetReader/abstractions.d.ts +37 -0
- package/features/target/WbPageTargetReader/abstractions.js +5 -0
- package/features/target/WbPageTargetReader/abstractions.js.map +1 -0
- package/features/target/WbPageTargetReader/index.d.ts +1 -0
- package/features/target/WbPageTargetReader/index.js +1 -0
- package/features/target/WbWorkflowModelParser.d.ts +9 -0
- package/features/target/WbWorkflowModelParser.js +18 -0
- package/features/target/WbWorkflowModelParser.js.map +1 -0
- package/features/target/feature.d.ts +5 -0
- package/features/target/feature.js +35 -0
- package/features/target/feature.js.map +1 -0
- package/features/target/isWbPageEditorValue.d.ts +9 -0
- package/features/target/isWbPageEditorValue.js +34 -0
- package/features/target/isWbPageEditorValue.js.map +1 -0
- package/features/target/toWbPageEditorFields.d.ts +32 -0
- package/features/target/toWbPageEditorFields.js +102 -0
- package/features/target/toWbPageEditorFields.js.map +1 -0
- package/features/target/toWbPageProperties.d.ts +10 -0
- package/features/target/toWbPageProperties.js +27 -0
- package/features/target/toWbPageProperties.js.map +1 -0
- package/features/target/toWbPageReviewTarget.d.ts +4 -0
- package/features/target/toWbPageReviewTarget.js +25 -0
- package/features/target/toWbPageReviewTarget.js.map +1 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/ApproveWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/ApproveWebsiteBuilderPageReviewStepUseCase.js +35 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/ApproveWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/abstractions.d.ts +26 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/abstractions.js +5 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/feature.js +11 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/feature.js.map +1 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/index.d.ts +1 -0
- package/features/wrappers/ApproveWebsiteBuilderPageReviewStep/index.js +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/CancelWebsiteBuilderPageReviewUseCase.d.ts +13 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/CancelWebsiteBuilderPageReviewUseCase.js +37 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/CancelWebsiteBuilderPageReviewUseCase.js.map +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/abstractions.d.ts +30 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/abstractions.js +5 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/abstractions.js.map +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/feature.d.ts +4 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/feature.js +11 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/feature.js.map +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/index.d.ts +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReview/index.js +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/CancelWebsiteBuilderPageReviewsForDeleteUseCase.d.ts +19 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/CancelWebsiteBuilderPageReviewsForDeleteUseCase.js +81 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/CancelWebsiteBuilderPageReviewsForDeleteUseCase.js.map +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/abstractions.d.ts +39 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/abstractions.js +5 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/abstractions.js.map +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/feature.d.ts +4 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/feature.js +11 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/feature.js.map +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/index.d.ts +1 -0
- package/features/wrappers/CancelWebsiteBuilderPageReviewsForDelete/index.js +1 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/DeleteWebsiteBuilderPageWorkflowUseCase.d.ts +25 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/DeleteWebsiteBuilderPageWorkflowUseCase.js +95 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/DeleteWebsiteBuilderPageWorkflowUseCase.js.map +1 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/abstractions.d.ts +32 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/abstractions.js +5 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/abstractions.js.map +1 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/feature.d.ts +4 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/feature.js +11 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/feature.js.map +1 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/index.d.ts +1 -0
- package/features/wrappers/DeleteWebsiteBuilderPageWorkflow/index.js +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/GetWebsiteBuilderPageReviewUseCase.d.ts +13 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/GetWebsiteBuilderPageReviewUseCase.js +40 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/GetWebsiteBuilderPageReviewUseCase.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/abstractions.d.ts +29 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/abstractions.js +5 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/abstractions.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/feature.d.ts +4 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/feature.js +11 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/feature.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/index.d.ts +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReview/index.js +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/GetWebsiteBuilderPageReviewStepRunUseCase.d.ts +13 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/GetWebsiteBuilderPageReviewStepRunUseCase.js +39 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/GetWebsiteBuilderPageReviewStepRunUseCase.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/abstractions.d.ts +33 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/abstractions.js +5 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/abstractions.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/feature.d.ts +4 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/feature.js +11 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/feature.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/index.d.ts +1 -0
- package/features/wrappers/GetWebsiteBuilderPageReviewStepRun/index.js +1 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/GetWebsiteBuilderPageTargetReviewUseCase.d.ts +19 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/GetWebsiteBuilderPageTargetReviewUseCase.js +72 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/GetWebsiteBuilderPageTargetReviewUseCase.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/abstractions.d.ts +34 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/abstractions.js +5 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/abstractions.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/feature.d.ts +4 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/feature.js +11 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/feature.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/index.d.ts +1 -0
- package/features/wrappers/GetWebsiteBuilderPageTargetReview/index.js +1 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/GetWebsiteBuilderPageWorkflowUseCase.d.ts +13 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/GetWebsiteBuilderPageWorkflowUseCase.js +34 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/GetWebsiteBuilderPageWorkflowUseCase.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/abstractions.d.ts +24 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/abstractions.js +5 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/abstractions.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/feature.d.ts +4 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/feature.js +11 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/feature.js.map +1 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/index.d.ts +1 -0
- package/features/wrappers/GetWebsiteBuilderPageWorkflow/index.js +1 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/InspectWebsiteBuilderPageRoutingUseCase.d.ts +19 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/InspectWebsiteBuilderPageRoutingUseCase.js +51 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/InspectWebsiteBuilderPageRoutingUseCase.js.map +1 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/abstractions.d.ts +34 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/abstractions.js +5 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/abstractions.js.map +1 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/feature.d.ts +4 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/feature.js +11 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/feature.js.map +1 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/index.d.ts +1 -0
- package/features/wrappers/InspectWebsiteBuilderPageRouting/index.js +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.d.ts +13 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.js +41 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/ListWebsiteBuilderPageReviewStepCandidatesUseCase.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.d.ts +30 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.js +5 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/abstractions.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.d.ts +4 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.js +11 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/index.d.ts +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/index.js +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.d.ts +15 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js +68 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.d.ts +43 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.js +5 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/feature.d.ts +4 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/feature.js +11 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/feature.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/index.d.ts +2 -0
- package/features/wrappers/ListWebsiteBuilderPageReviews/index.js +1 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.d.ts +25 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.js +93 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.d.ts +41 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.js +5 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.d.ts +4 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.js +11 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/index.d.ts +1 -0
- package/features/wrappers/ListWebsiteBuilderPageStepCandidates/index.js +1 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.d.ts +13 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.js +37 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.d.ts +20 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.js +5 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/feature.d.ts +4 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/feature.js +11 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/feature.js.map +1 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/index.d.ts +1 -0
- package/features/wrappers/ListWebsiteBuilderPageWorkflows/index.js +1 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.js +40 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/abstractions.d.ts +32 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/abstractions.js +5 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.js +11 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.js.map +1 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/index.d.ts +1 -0
- package/features/wrappers/ReassignWebsiteBuilderPageReviewStep/index.js +1 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.js +35 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.d.ts +26 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.js +5 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.js +11 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.js.map +1 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/index.d.ts +1 -0
- package/features/wrappers/RejectWebsiteBuilderPageReviewStep/index.js +1 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.d.ts +23 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.js +72 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.js.map +1 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/abstractions.d.ts +41 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/abstractions.js +5 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/abstractions.js.map +1 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/feature.d.ts +4 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/feature.js +11 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/feature.js.map +1 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/index.d.ts +1 -0
- package/features/wrappers/RequestWebsiteBuilderPageReview/index.js +1 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.js +39 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.d.ts +30 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.js +5 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.js +11 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.js.map +1 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/index.d.ts +1 -0
- package/features/wrappers/RestartWebsiteBuilderPageReviewStep/index.js +1 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.js +34 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.d.ts +25 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.js +5 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/feature.js +11 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/feature.js.map +1 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/index.d.ts +1 -0
- package/features/wrappers/StartWebsiteBuilderPageReviewStep/index.js +1 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.d.ts +17 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.js +57 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.js.map +1 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.d.ts +33 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.js +5 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.js.map +1 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.d.ts +4 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.js +11 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.js.map +1 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/index.d.ts +1 -0
- package/features/wrappers/StoreWebsiteBuilderPageWorkflow/index.js +1 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.js +35 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.js.map +1 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.d.ts +27 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.js +5 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.d.ts +4 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.js +11 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.js.map +1 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/index.d.ts +1 -0
- package/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/index.js +1 -0
- package/features/wrappers/WbPageReviewGuardService/WbPageReviewGuardService.d.ts +17 -0
- package/features/wrappers/WbPageReviewGuardService/WbPageReviewGuardService.js +63 -0
- package/features/wrappers/WbPageReviewGuardService/WbPageReviewGuardService.js.map +1 -0
- package/features/wrappers/WbPageReviewGuardService/abstractions.d.ts +37 -0
- package/features/wrappers/WbPageReviewGuardService/abstractions.js +5 -0
- package/features/wrappers/WbPageReviewGuardService/abstractions.js.map +1 -0
- package/features/wrappers/WbPageReviewGuardService/index.d.ts +1 -0
- package/features/wrappers/WbPageReviewGuardService/index.js +1 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/WebsiteBuilderPageFolderExistsUseCase.d.ts +15 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/WebsiteBuilderPageFolderExistsUseCase.js +43 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/WebsiteBuilderPageFolderExistsUseCase.js.map +1 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/abstractions.d.ts +28 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/abstractions.js +5 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/abstractions.js.map +1 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/feature.d.ts +4 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/feature.js +11 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/feature.js.map +1 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/index.d.ts +1 -0
- package/features/wrappers/WebsiteBuilderPageFolderExists/index.js +1 -0
- package/features/wrappers/feature.d.ts +9 -0
- package/features/wrappers/feature.js +53 -0
- package/features/wrappers/feature.js.map +1 -0
- package/features/wrappers/shared/wbWorkflows.d.ts +8 -0
- package/features/wrappers/shared/wbWorkflows.js +9 -0
- package/features/wrappers/shared/wbWorkflows.js.map +1 -0
- package/graphql/WebsiteBuilderWorkflowsSchemaFactory.d.ts +15 -0
- package/graphql/WebsiteBuilderWorkflowsSchemaFactory.js +616 -0
- package/graphql/WebsiteBuilderWorkflowsSchemaFactory.js.map +1 -0
- package/graphql/isValidRevisionId.d.ts +6 -0
- package/graphql/isValidRevisionId.js +9 -0
- package/graphql/isValidRevisionId.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.js","sources":["../../../../src/features/wrappers/RestartWebsiteBuilderPageReviewStep/RestartWebsiteBuilderPageReviewStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { RestartReviewStepUseCase } from \"@webiny/api-workflows/features/review/RestartReviewStep/index.js\";\nimport { canRestartByPermission } from \"@webiny/api-workflows/domain/review/canRestartByPermission.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\nimport { RestartWebsiteBuilderPageReviewStepUseCase as UseCase } from \"./abstractions.js\";\n\nconst ACTION = \"restart a review step\";\n\nclass RestartWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: WbPageReviewGuardService.Interface,\n private restartStep: RestartReviewStepUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const authorized = await this.guard.authorize({\n reviewId: input.reviewId,\n action: ACTION\n });\n if (authorized.isFail()) {\n return Result.fail(authorized.error);\n }\n\n const { review, viewer } = authorized.value;\n // Permission only: whether the step can be restarted is the engine's (1b R41).\n if (!canRestartByPermission(review, viewer)) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: ACTION }));\n }\n\n return this.restartStep.execute({\n reviewId: input.reviewId,\n stepId: input.stepId,\n actor: viewer.actor\n });\n }\n}\n\nexport const RestartWebsiteBuilderPageReviewStepUseCase = UseCase.createImplementation({\n implementation: RestartWebsiteBuilderPageReviewStepUseCaseImpl,\n dependencies: [WbPageReviewGuardService, RestartReviewStepUseCase]\n});\n"],"names":["ACTION","RestartWebsiteBuilderPageReviewStepUseCaseImpl","guard","restartStep","input","authorized","Result","review","viewer","canRestartByPermission","WorkflowsNotAuthorizedError","RestartWebsiteBuilderPageReviewStepUseCase","UseCase","WbPageReviewGuardService","RestartReviewStepUseCase"],"mappings":";;;;;;AAOA,MAAMA,SAAS;AAEf,MAAMC;IACF,YACYC,KAAyC,EACzCC,WAA+C,CACzD;aAFUD,KAAK,GAALA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,aAAa,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAUD,MAAM,QAAQ;YACxB,QAAQJ;QACZ;QACA,IAAIK,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAACD,WAAW,KAAK;QAGvC,MAAM,EAAEE,MAAM,EAAEC,MAAM,EAAE,GAAGH,WAAW,KAAK;QAE3C,IAAI,CAACI,uBAAuBF,QAAQC,SAChC,OAAOF,OAAO,IAAI,CAAC,IAAII,4BAA4B;YAAE,QAAQV;QAAO;QAGxE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC5B,UAAUI,MAAM,QAAQ;YACxB,QAAQA,MAAM,MAAM;YACpB,OAAOI,OAAO,KAAK;QACvB;IACJ;AACJ;AAEO,MAAMG,wFAA6CC,2CAAAA,oBAA4B,CAAC;IACnF,gBAAgBX;IAChB,cAAc;QAACY;QAA0BC;KAAyB;AACtE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ReviewData } from "@webiny/api-workflows/domain/review/types.js";
|
|
3
|
+
import type { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
4
|
+
import type { RestartReviewStepUseCase } from "@webiny/api-workflows/features/review/RestartReviewStep/index.js";
|
|
5
|
+
import type { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
6
|
+
export interface RestartWebsiteBuilderPageReviewStepInput {
|
|
7
|
+
reviewId: string;
|
|
8
|
+
stepId: string;
|
|
9
|
+
}
|
|
10
|
+
export interface IRestartWebsiteBuilderPageReviewStepUseCaseErrors {
|
|
11
|
+
guard: WbPageReviewGuardService.Error;
|
|
12
|
+
notAuthorized: WorkflowsNotAuthorizedError;
|
|
13
|
+
restart: RestartReviewStepUseCase.Error;
|
|
14
|
+
}
|
|
15
|
+
type UseCaseError = IRestartWebsiteBuilderPageReviewStepUseCaseErrors[keyof IRestartWebsiteBuilderPageReviewStepUseCaseErrors];
|
|
16
|
+
export interface IRestartWebsiteBuilderPageReviewStepUseCase {
|
|
17
|
+
execute(input: RestartWebsiteBuilderPageReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Run a failed page review step again (spec 5.1, D8, D34, D82, R153): read access to the page
|
|
21
|
+
* and the requester or `reassign` here, the step's state in the engine.
|
|
22
|
+
*/
|
|
23
|
+
export declare const RestartWebsiteBuilderPageReviewStepUseCase: import("@webiny/di").Abstraction<IRestartWebsiteBuilderPageReviewStepUseCase>;
|
|
24
|
+
export declare namespace RestartWebsiteBuilderPageReviewStepUseCase {
|
|
25
|
+
type Interface = IRestartWebsiteBuilderPageReviewStepUseCase;
|
|
26
|
+
type Input = RestartWebsiteBuilderPageReviewStepInput;
|
|
27
|
+
type Error = UseCaseError;
|
|
28
|
+
type Return = Promise<Result<ReviewData, UseCaseError>>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const RestartWebsiteBuilderPageReviewStepUseCase = createAbstraction("RestartWebsiteBuilderPageReviewStepUseCase");
|
|
3
|
+
export { RestartWebsiteBuilderPageReviewStepUseCase };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.js","sources":["../../../../src/features/wrappers/RestartWebsiteBuilderPageReviewStep/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type { RestartReviewStepUseCase } from \"@webiny/api-workflows/features/review/RestartReviewStep/index.js\";\nimport type { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\n\nexport interface RestartWebsiteBuilderPageReviewStepInput {\n reviewId: string;\n stepId: string;\n}\n\nexport interface IRestartWebsiteBuilderPageReviewStepUseCaseErrors {\n guard: WbPageReviewGuardService.Error;\n notAuthorized: WorkflowsNotAuthorizedError;\n restart: RestartReviewStepUseCase.Error;\n}\n\ntype UseCaseError =\n IRestartWebsiteBuilderPageReviewStepUseCaseErrors[keyof IRestartWebsiteBuilderPageReviewStepUseCaseErrors];\n\nexport interface IRestartWebsiteBuilderPageReviewStepUseCase {\n execute(\n input: RestartWebsiteBuilderPageReviewStepInput\n ): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/**\n * Run a failed page review step again (spec 5.1, D8, D34, D82, R153): read access to the page\n * and the requester or `reassign` here, the step's state in the engine.\n */\nexport const RestartWebsiteBuilderPageReviewStepUseCase =\n createAbstraction<IRestartWebsiteBuilderPageReviewStepUseCase>(\n \"RestartWebsiteBuilderPageReviewStepUseCase\"\n );\n\nexport namespace RestartWebsiteBuilderPageReviewStepUseCase {\n export type Interface = IRestartWebsiteBuilderPageReviewStepUseCase;\n export type Input = RestartWebsiteBuilderPageReviewStepInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["RestartWebsiteBuilderPageReviewStepUseCase","createAbstraction"],"mappings":";AA8BO,MAAMA,6CACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { RestartWebsiteBuilderPageReviewStepUseCase } from "./RestartWebsiteBuilderPageReviewStepUseCase.js";
|
|
3
|
+
const RestartWebsiteBuilderPageReviewStepFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/RestartWebsiteBuilderPageReviewStep",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(RestartWebsiteBuilderPageReviewStepUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { RestartWebsiteBuilderPageReviewStepFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.js","sources":["../../../../src/features/wrappers/RestartWebsiteBuilderPageReviewStep/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { RestartWebsiteBuilderPageReviewStepUseCase } from \"./RestartWebsiteBuilderPageReviewStepUseCase.js\";\n\nexport const RestartWebsiteBuilderPageReviewStepFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/RestartWebsiteBuilderPageReviewStep\",\n register(container) {\n container.register(RestartWebsiteBuilderPageReviewStepUseCase);\n }\n});\n"],"names":["RestartWebsiteBuilderPageReviewStepFeature","createFeature","container","RestartWebsiteBuilderPageReviewStepUseCase"],"mappings":";;AAGO,MAAMA,6CAA6CC,cAAc;IACpE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RestartWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RestartWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StartReviewStepUseCase } from "@webiny/api-workflows/features/review/StartReviewStep/index.js";
|
|
2
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
3
|
+
import { StartWebsiteBuilderPageReviewStepUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class StartWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private guard;
|
|
6
|
+
private engine;
|
|
7
|
+
constructor(guard: WbPageReviewGuardService.Interface, engine: StartReviewStepUseCase.Interface);
|
|
8
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const StartWebsiteBuilderPageReviewStepUseCase: typeof StartWebsiteBuilderPageReviewStepUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IStartWebsiteBuilderPageReviewStepUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { StartReviewStepUseCase } from "@webiny/api-workflows/features/review/StartReviewStep/index.js";
|
|
3
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
4
|
+
import { StartWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
5
|
+
class StartWebsiteBuilderPageReviewStepUseCaseImpl {
|
|
6
|
+
constructor(guard, engine){
|
|
7
|
+
this.guard = guard;
|
|
8
|
+
this.engine = engine;
|
|
9
|
+
}
|
|
10
|
+
async execute(input) {
|
|
11
|
+
const authorized = await this.guard.authorize({
|
|
12
|
+
reviewId: input.reviewId,
|
|
13
|
+
action: "start this step"
|
|
14
|
+
});
|
|
15
|
+
if (authorized.isFail()) return Result.fail(authorized.error);
|
|
16
|
+
const { viewer } = authorized.value;
|
|
17
|
+
return this.engine.execute({
|
|
18
|
+
reviewId: input.reviewId,
|
|
19
|
+
stepId: input.stepId,
|
|
20
|
+
actor: viewer.actor,
|
|
21
|
+
actorTeamIds: viewer.teamIds
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const StartWebsiteBuilderPageReviewStepUseCase_StartWebsiteBuilderPageReviewStepUseCase = StartWebsiteBuilderPageReviewStepUseCase.createImplementation({
|
|
26
|
+
implementation: StartWebsiteBuilderPageReviewStepUseCaseImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
WbPageReviewGuardService,
|
|
29
|
+
StartReviewStepUseCase
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
export { StartWebsiteBuilderPageReviewStepUseCase_StartWebsiteBuilderPageReviewStepUseCase as StartWebsiteBuilderPageReviewStepUseCase };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=StartWebsiteBuilderPageReviewStepUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.js","sources":["../../../../src/features/wrappers/StartWebsiteBuilderPageReviewStep/StartWebsiteBuilderPageReviewStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { StartReviewStepUseCase } from \"@webiny/api-workflows/features/review/StartReviewStep/index.js\";\nimport { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\nimport { StartWebsiteBuilderPageReviewStepUseCase as UseCase } from \"./abstractions.js\";\n\nclass StartWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: WbPageReviewGuardService.Interface,\n private engine: StartReviewStepUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const authorized = await this.guard.authorize({\n reviewId: input.reviewId,\n action: \"start this step\"\n });\n if (authorized.isFail()) {\n return Result.fail(authorized.error);\n }\n\n const { viewer } = authorized.value;\n return this.engine.execute({\n reviewId: input.reviewId,\n stepId: input.stepId,\n actor: viewer.actor,\n actorTeamIds: viewer.teamIds\n });\n }\n}\n\nexport const StartWebsiteBuilderPageReviewStepUseCase = UseCase.createImplementation({\n implementation: StartWebsiteBuilderPageReviewStepUseCaseImpl,\n dependencies: [WbPageReviewGuardService, StartReviewStepUseCase]\n});\n"],"names":["StartWebsiteBuilderPageReviewStepUseCaseImpl","guard","engine","input","authorized","Result","viewer","StartWebsiteBuilderPageReviewStepUseCase","UseCase","WbPageReviewGuardService","StartReviewStepUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YACYC,KAAyC,EACzCC,MAAwC,CAClD;aAFUD,KAAK,GAALA;aACAC,MAAM,GAANA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,aAAa,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAUD,MAAM,QAAQ;YACxB,QAAQ;QACZ;QACA,IAAIC,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAACD,WAAW,KAAK;QAGvC,MAAM,EAAEE,MAAM,EAAE,GAAGF,WAAW,KAAK;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvB,UAAUD,MAAM,QAAQ;YACxB,QAAQA,MAAM,MAAM;YACpB,OAAOG,OAAO,KAAK;YACnB,cAAcA,OAAO,OAAO;QAChC;IACJ;AACJ;AAEO,MAAMC,oFAA2CC,yCAAAA,oBAA4B,CAAC;IACjF,gBAAgBR;IAChB,cAAc;QAACS;QAA0BC;KAAuB;AACpE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ReviewData } from "@webiny/api-workflows/domain/review/types.js";
|
|
3
|
+
import type { StartReviewStepUseCase } from "@webiny/api-workflows/features/review/StartReviewStep/index.js";
|
|
4
|
+
import type { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
5
|
+
export interface StartWebsiteBuilderPageReviewStepInput {
|
|
6
|
+
reviewId: string;
|
|
7
|
+
stepId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IStartWebsiteBuilderPageReviewStepUseCaseErrors {
|
|
10
|
+
guard: WbPageReviewGuardService.Error;
|
|
11
|
+
start: StartReviewStepUseCase.Error;
|
|
12
|
+
}
|
|
13
|
+
type UseCaseError = IStartWebsiteBuilderPageReviewStepUseCaseErrors[keyof IStartWebsiteBuilderPageReviewStepUseCaseErrors];
|
|
14
|
+
export interface IStartWebsiteBuilderPageReviewStepUseCase {
|
|
15
|
+
execute(input: StartWebsiteBuilderPageReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;
|
|
16
|
+
}
|
|
17
|
+
/** Take an awaiting page review step from the pool (spec 5.1): read access to the target here, team membership and "not the requester" in the engine. */
|
|
18
|
+
export declare const StartWebsiteBuilderPageReviewStepUseCase: import("@webiny/di").Abstraction<IStartWebsiteBuilderPageReviewStepUseCase>;
|
|
19
|
+
export declare namespace StartWebsiteBuilderPageReviewStepUseCase {
|
|
20
|
+
type Interface = IStartWebsiteBuilderPageReviewStepUseCase;
|
|
21
|
+
type Input = StartWebsiteBuilderPageReviewStepInput;
|
|
22
|
+
type Error = UseCaseError;
|
|
23
|
+
type Return = Promise<Result<ReviewData, UseCaseError>>;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.js","sources":["../../../../src/features/wrappers/StartWebsiteBuilderPageReviewStep/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type { StartReviewStepUseCase } from \"@webiny/api-workflows/features/review/StartReviewStep/index.js\";\nimport type { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\n\nexport interface StartWebsiteBuilderPageReviewStepInput {\n reviewId: string;\n stepId: string;\n}\n\nexport interface IStartWebsiteBuilderPageReviewStepUseCaseErrors {\n guard: WbPageReviewGuardService.Error;\n start: StartReviewStepUseCase.Error;\n}\n\ntype UseCaseError =\n IStartWebsiteBuilderPageReviewStepUseCaseErrors[keyof IStartWebsiteBuilderPageReviewStepUseCaseErrors];\n\nexport interface IStartWebsiteBuilderPageReviewStepUseCase {\n execute(\n input: StartWebsiteBuilderPageReviewStepInput\n ): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/** Take an awaiting page review step from the pool (spec 5.1): read access to the target here, team membership and \"not the requester\" in the engine. */\nexport const StartWebsiteBuilderPageReviewStepUseCase =\n createAbstraction<IStartWebsiteBuilderPageReviewStepUseCase>(\n \"StartWebsiteBuilderPageReviewStepUseCase\"\n );\n\nexport namespace StartWebsiteBuilderPageReviewStepUseCase {\n export type Interface = IStartWebsiteBuilderPageReviewStepUseCase;\n export type Input = StartWebsiteBuilderPageReviewStepInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["StartWebsiteBuilderPageReviewStepUseCase","createAbstraction"],"mappings":";AAyBO,MAAMA,2CACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { StartWebsiteBuilderPageReviewStepUseCase } from "./StartWebsiteBuilderPageReviewStepUseCase.js";
|
|
3
|
+
const StartWebsiteBuilderPageReviewStepFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/StartWebsiteBuilderPageReviewStep",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(StartWebsiteBuilderPageReviewStepUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { StartWebsiteBuilderPageReviewStepFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StartWebsiteBuilderPageReviewStep/feature.js","sources":["../../../../src/features/wrappers/StartWebsiteBuilderPageReviewStep/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { StartWebsiteBuilderPageReviewStepUseCase } from \"./StartWebsiteBuilderPageReviewStepUseCase.js\";\n\nexport const StartWebsiteBuilderPageReviewStepFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/StartWebsiteBuilderPageReviewStep\",\n register(container) {\n container.register(StartWebsiteBuilderPageReviewStepUseCase);\n }\n});\n"],"names":["StartWebsiteBuilderPageReviewStepFeature","createFeature","container","StartWebsiteBuilderPageReviewStepUseCase"],"mappings":";;AAGO,MAAMA,2CAA2CC,cAAc;IAClE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StartWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StartWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
2
|
+
import { WorkflowsPermissions } from "@webiny/api-workflows/features/permissions/WorkflowsPermissions/index.js";
|
|
3
|
+
import { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
|
|
4
|
+
import { StoreWorkflowUseCase } from "@webiny/api-workflows/features/workflow/StoreWorkflow/index.js";
|
|
5
|
+
import { StoreWebsiteBuilderPageWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
6
|
+
declare class StoreWebsiteBuilderPageWorkflowUseCaseImpl implements UseCase.Interface {
|
|
7
|
+
private viewer;
|
|
8
|
+
private permissions;
|
|
9
|
+
private getWorkflow;
|
|
10
|
+
private storeWorkflow;
|
|
11
|
+
constructor(viewer: CurrentReviewViewer.Interface, permissions: WorkflowsPermissions.Interface, getWorkflow: GetWorkflowUseCase.Interface, storeWorkflow: StoreWorkflowUseCase.Interface);
|
|
12
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
13
|
+
}
|
|
14
|
+
export declare const StoreWebsiteBuilderPageWorkflowUseCase: typeof StoreWebsiteBuilderPageWorkflowUseCaseImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IStoreWebsiteBuilderPageWorkflowUseCase>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
package/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
3
|
+
import { WorkflowsPermissions } from "@webiny/api-workflows/features/permissions/WorkflowsPermissions/index.js";
|
|
4
|
+
import { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
|
|
5
|
+
import { StoreWorkflowUseCase } from "@webiny/api-workflows/features/workflow/StoreWorkflow/index.js";
|
|
6
|
+
import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
7
|
+
import { WorkflowNotFoundError, WorkflowPersistenceError, WorkflowValidationError } from "@webiny/api-workflows/domain/workflow/errors.js";
|
|
8
|
+
import { WB_PAGES_ONLY, belongsToWb, isWbWorkflow } from "../shared/wbWorkflows.js";
|
|
9
|
+
import { StoreWebsiteBuilderPageWorkflowUseCase } from "./abstractions.js";
|
|
10
|
+
class StoreWebsiteBuilderPageWorkflowUseCaseImpl {
|
|
11
|
+
constructor(viewer, permissions, getWorkflow, storeWorkflow){
|
|
12
|
+
this.viewer = viewer;
|
|
13
|
+
this.permissions = permissions;
|
|
14
|
+
this.getWorkflow = getWorkflow;
|
|
15
|
+
this.storeWorkflow = storeWorkflow;
|
|
16
|
+
}
|
|
17
|
+
async execute(input) {
|
|
18
|
+
const actor = this.viewer.getActor();
|
|
19
|
+
if (actor.isFail()) return Result.fail(actor.error);
|
|
20
|
+
let canEdit;
|
|
21
|
+
try {
|
|
22
|
+
canEdit = await this.permissions.canEdit();
|
|
23
|
+
} catch (error) {
|
|
24
|
+
return Result.fail(new WorkflowPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
25
|
+
}
|
|
26
|
+
if (!canEdit) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
27
|
+
action: "manage workflows"
|
|
28
|
+
}));
|
|
29
|
+
if (!belongsToWb(input.workflow.models)) return Result.fail(new WorkflowValidationError(WB_PAGES_ONLY, {
|
|
30
|
+
field: "models"
|
|
31
|
+
}));
|
|
32
|
+
const existing = await this.getWorkflow.execute({
|
|
33
|
+
id: input.workflow.id
|
|
34
|
+
});
|
|
35
|
+
if (existing.isFail() && !(existing.error instanceof WorkflowNotFoundError)) return Result.fail(existing.error);
|
|
36
|
+
if (existing.isOk() && !isWbWorkflow(existing.value)) return Result.fail(new WorkflowNotFoundError({
|
|
37
|
+
id: input.workflow.id
|
|
38
|
+
}));
|
|
39
|
+
return this.storeWorkflow.execute({
|
|
40
|
+
workflow: input.workflow,
|
|
41
|
+
savedOn: input.savedOn,
|
|
42
|
+
actor: actor.value
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const StoreWebsiteBuilderPageWorkflowUseCase_StoreWebsiteBuilderPageWorkflowUseCase = StoreWebsiteBuilderPageWorkflowUseCase.createImplementation({
|
|
47
|
+
implementation: StoreWebsiteBuilderPageWorkflowUseCaseImpl,
|
|
48
|
+
dependencies: [
|
|
49
|
+
CurrentReviewViewer,
|
|
50
|
+
WorkflowsPermissions,
|
|
51
|
+
GetWorkflowUseCase,
|
|
52
|
+
StoreWorkflowUseCase
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
export { StoreWebsiteBuilderPageWorkflowUseCase_StoreWebsiteBuilderPageWorkflowUseCase as StoreWebsiteBuilderPageWorkflowUseCase };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=StoreWebsiteBuilderPageWorkflowUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.js","sources":["../../../../src/features/wrappers/StoreWebsiteBuilderPageWorkflow/StoreWebsiteBuilderPageWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { WorkflowsPermissions } from \"@webiny/api-workflows/features/permissions/WorkflowsPermissions/index.js\";\nimport { GetWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/GetWorkflow/index.js\";\nimport { StoreWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/StoreWorkflow/index.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport {\n WorkflowNotFoundError,\n WorkflowPersistenceError,\n WorkflowValidationError\n} from \"@webiny/api-workflows/domain/workflow/errors.js\";\nimport { belongsToWb, isWbWorkflow, WB_PAGES_ONLY } from \"../shared/wbWorkflows.js\";\nimport { StoreWebsiteBuilderPageWorkflowUseCase as UseCase } from \"./abstractions.js\";\n\nclass StoreWebsiteBuilderPageWorkflowUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private permissions: WorkflowsPermissions.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private storeWorkflow: StoreWorkflowUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const actor = this.viewer.getActor();\n if (actor.isFail()) {\n return Result.fail(actor.error);\n }\n let canEdit: boolean;\n try {\n canEdit = await this.permissions.canEdit();\n } catch (error) {\n return Result.fail(\n new WorkflowPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!canEdit) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: \"manage workflows\" }));\n }\n if (!belongsToWb(input.workflow.models)) {\n return Result.fail(new WorkflowValidationError(WB_PAGES_ONLY, { field: \"models\" }));\n }\n\n // Never overwrite another app's workflow under the same id (R46).\n const existing = await this.getWorkflow.execute({ id: input.workflow.id });\n if (existing.isFail() && !(existing.error instanceof WorkflowNotFoundError)) {\n return Result.fail(existing.error);\n }\n if (existing.isOk() && !isWbWorkflow(existing.value)) {\n return Result.fail(new WorkflowNotFoundError({ id: input.workflow.id }));\n }\n\n return this.storeWorkflow.execute({\n workflow: input.workflow,\n savedOn: input.savedOn,\n actor: actor.value\n });\n }\n}\n\nexport const StoreWebsiteBuilderPageWorkflowUseCase = UseCase.createImplementation({\n implementation: StoreWebsiteBuilderPageWorkflowUseCaseImpl,\n dependencies: [\n CurrentReviewViewer,\n WorkflowsPermissions,\n GetWorkflowUseCase,\n StoreWorkflowUseCase\n ]\n});\n"],"names":["StoreWebsiteBuilderPageWorkflowUseCaseImpl","viewer","permissions","getWorkflow","storeWorkflow","input","actor","Result","canEdit","error","WorkflowPersistenceError","Error","String","WorkflowsNotAuthorizedError","belongsToWb","WorkflowValidationError","WB_PAGES_ONLY","existing","WorkflowNotFoundError","isWbWorkflow","StoreWebsiteBuilderPageWorkflowUseCase","UseCase","CurrentReviewViewer","WorkflowsPermissions","GetWorkflowUseCase","StoreWorkflowUseCase"],"mappings":";;;;;;;;;AAcA,MAAMA;IACF,YACYC,MAAqC,EACrCC,WAA2C,EAC3CC,WAAyC,EACzCC,aAA6C,CACvD;aAJUH,MAAM,GAANA;aACAC,WAAW,GAAXA;aACAC,WAAW,GAAXA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;QAClC,IAAIA,MAAM,MAAM,IACZ,OAAOC,OAAO,IAAI,CAACD,MAAM,KAAK;QAElC,IAAIE;QACJ,IAAI;YACAA,UAAU,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO;QAC5C,EAAE,OAAOC,OAAO;YACZ,OAAOF,OAAO,IAAI,CACd,IAAIG,yBACAD,iBAAiBE,QAAQF,QAAQ,IAAIE,MAAMC,OAAOH;QAG9D;QACA,IAAI,CAACD,SACD,OAAOD,OAAO,IAAI,CAAC,IAAIM,4BAA4B;YAAE,QAAQ;QAAmB;QAEpF,IAAI,CAACC,YAAYT,MAAM,QAAQ,CAAC,MAAM,GAClC,OAAOE,OAAO,IAAI,CAAC,IAAIQ,wBAAwBC,eAAe;YAAE,OAAO;QAAS;QAIpF,MAAMC,WAAW,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,IAAIZ,MAAM,QAAQ,CAAC,EAAE;QAAC;QACxE,IAAIY,SAAS,MAAM,MAAM,CAAEA,CAAAA,SAAS,KAAK,YAAYC,qBAAoB,GACrE,OAAOX,OAAO,IAAI,CAACU,SAAS,KAAK;QAErC,IAAIA,SAAS,IAAI,MAAM,CAACE,aAAaF,SAAS,KAAK,GAC/C,OAAOV,OAAO,IAAI,CAAC,IAAIW,sBAAsB;YAAE,IAAIb,MAAM,QAAQ,CAAC,EAAE;QAAC;QAGzE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC9B,UAAUA,MAAM,QAAQ;YACxB,SAASA,MAAM,OAAO;YACtB,OAAOC,MAAM,KAAK;QACtB;IACJ;AACJ;AAEO,MAAMc,gFAAyCC,uCAAAA,oBAA4B,CAAC;IAC/E,gBAAgBrB;IAChB,cAAc;QACVsB;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { Workflow, WorkflowValues } from "@webiny/api-workflows/domain/workflow/types.js";
|
|
3
|
+
import type { WorkflowsNotAuthenticatedError, WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
4
|
+
import type { WorkflowPersistenceError } from "@webiny/api-workflows/domain/workflow/errors.js";
|
|
5
|
+
import type { StoreWorkflowUseCase } from "@webiny/api-workflows/features/workflow/StoreWorkflow/index.js";
|
|
6
|
+
export interface StoreWebsiteBuilderPageWorkflowInput {
|
|
7
|
+
workflow: WorkflowValues;
|
|
8
|
+
/** The `savedOn` the editor loaded; omit when creating (D131). */
|
|
9
|
+
savedOn?: string | null;
|
|
10
|
+
}
|
|
11
|
+
export interface IStoreWebsiteBuilderPageWorkflowUseCaseErrors {
|
|
12
|
+
notAuthenticated: WorkflowsNotAuthenticatedError;
|
|
13
|
+
notAuthorized: WorkflowsNotAuthorizedError;
|
|
14
|
+
persistence: WorkflowPersistenceError;
|
|
15
|
+
store: StoreWorkflowUseCase.Error;
|
|
16
|
+
}
|
|
17
|
+
type UseCaseError = IStoreWebsiteBuilderPageWorkflowUseCaseErrors[keyof IStoreWebsiteBuilderPageWorkflowUseCaseErrors];
|
|
18
|
+
export interface IStoreWebsiteBuilderPageWorkflowUseCase {
|
|
19
|
+
execute(input: StoreWebsiteBuilderPageWorkflowInput): Promise<Result<Workflow, UseCaseError>>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create or update a Website Builder pages workflow (spec 4.1, D131, D132): needs
|
|
23
|
+
* `workflows.editor`; models must be `wb.page`; a workflow of another app is never overwritten
|
|
24
|
+
* (R46, R60).
|
|
25
|
+
*/
|
|
26
|
+
export declare const StoreWebsiteBuilderPageWorkflowUseCase: import("@webiny/di").Abstraction<IStoreWebsiteBuilderPageWorkflowUseCase>;
|
|
27
|
+
export declare namespace StoreWebsiteBuilderPageWorkflowUseCase {
|
|
28
|
+
type Interface = IStoreWebsiteBuilderPageWorkflowUseCase;
|
|
29
|
+
type Input = StoreWebsiteBuilderPageWorkflowInput;
|
|
30
|
+
type Error = UseCaseError;
|
|
31
|
+
type Return = Promise<Result<Workflow, UseCaseError>>;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.js","sources":["../../../../src/features/wrappers/StoreWebsiteBuilderPageWorkflow/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Workflow, WorkflowValues } from \"@webiny/api-workflows/domain/workflow/types.js\";\nimport type {\n WorkflowsNotAuthenticatedError,\n WorkflowsNotAuthorizedError\n} from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type { WorkflowPersistenceError } from \"@webiny/api-workflows/domain/workflow/errors.js\";\nimport type { StoreWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/StoreWorkflow/index.js\";\n\nexport interface StoreWebsiteBuilderPageWorkflowInput {\n workflow: WorkflowValues;\n /** The `savedOn` the editor loaded; omit when creating (D131). */\n savedOn?: string | null;\n}\n\nexport interface IStoreWebsiteBuilderPageWorkflowUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n notAuthorized: WorkflowsNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n store: StoreWorkflowUseCase.Error;\n}\n\ntype UseCaseError =\n IStoreWebsiteBuilderPageWorkflowUseCaseErrors[keyof IStoreWebsiteBuilderPageWorkflowUseCaseErrors];\n\nexport interface IStoreWebsiteBuilderPageWorkflowUseCase {\n execute(input: StoreWebsiteBuilderPageWorkflowInput): Promise<Result<Workflow, UseCaseError>>;\n}\n\n/**\n * Create or update a Website Builder pages workflow (spec 4.1, D131, D132): needs\n * `workflows.editor`; models must be `wb.page`; a workflow of another app is never overwritten\n * (R46, R60).\n */\nexport const StoreWebsiteBuilderPageWorkflowUseCase =\n createAbstraction<IStoreWebsiteBuilderPageWorkflowUseCase>(\n \"StoreWebsiteBuilderPageWorkflowUseCase\"\n );\n\nexport namespace StoreWebsiteBuilderPageWorkflowUseCase {\n export type Interface = IStoreWebsiteBuilderPageWorkflowUseCase;\n export type Input = StoreWebsiteBuilderPageWorkflowInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<Workflow, UseCaseError>>;\n}\n"],"names":["StoreWebsiteBuilderPageWorkflowUseCase","createAbstraction"],"mappings":";AAkCO,MAAMA,yCACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { StoreWebsiteBuilderPageWorkflowUseCase } from "./StoreWebsiteBuilderPageWorkflowUseCase.js";
|
|
3
|
+
const StoreWebsiteBuilderPageWorkflowFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/StoreWebsiteBuilderPageWorkflow",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(StoreWebsiteBuilderPageWorkflowUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { StoreWebsiteBuilderPageWorkflowFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.js","sources":["../../../../src/features/wrappers/StoreWebsiteBuilderPageWorkflow/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { StoreWebsiteBuilderPageWorkflowUseCase } from \"./StoreWebsiteBuilderPageWorkflowUseCase.js\";\n\nexport const StoreWebsiteBuilderPageWorkflowFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/StoreWebsiteBuilderPageWorkflow\",\n register(container) {\n container.register(StoreWebsiteBuilderPageWorkflowUseCase);\n }\n});\n"],"names":["StoreWebsiteBuilderPageWorkflowFeature","createFeature","container","StoreWebsiteBuilderPageWorkflowUseCase"],"mappings":";;AAGO,MAAMA,yCAAyCC,cAAc;IAChE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StoreWebsiteBuilderPageWorkflowUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StoreWebsiteBuilderPageWorkflowUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TakeOverReviewStepUseCase } from "@webiny/api-workflows/features/review/TakeOverReviewStep/index.js";
|
|
2
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
3
|
+
import { TakeOverWebsiteBuilderPageReviewStepUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class TakeOverWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private guard;
|
|
6
|
+
private engine;
|
|
7
|
+
constructor(guard: WbPageReviewGuardService.Interface, engine: TakeOverReviewStepUseCase.Interface);
|
|
8
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const TakeOverWebsiteBuilderPageReviewStepUseCase: typeof TakeOverWebsiteBuilderPageReviewStepUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITakeOverWebsiteBuilderPageReviewStepUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TakeOverReviewStepUseCase } from "@webiny/api-workflows/features/review/TakeOverReviewStep/index.js";
|
|
3
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
4
|
+
import { TakeOverWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
5
|
+
class TakeOverWebsiteBuilderPageReviewStepUseCaseImpl {
|
|
6
|
+
constructor(guard, engine){
|
|
7
|
+
this.guard = guard;
|
|
8
|
+
this.engine = engine;
|
|
9
|
+
}
|
|
10
|
+
async execute(input) {
|
|
11
|
+
const authorized = await this.guard.authorize({
|
|
12
|
+
reviewId: input.reviewId,
|
|
13
|
+
action: "take over this step"
|
|
14
|
+
});
|
|
15
|
+
if (authorized.isFail()) return Result.fail(authorized.error);
|
|
16
|
+
const { viewer } = authorized.value;
|
|
17
|
+
return this.engine.execute({
|
|
18
|
+
reviewId: input.reviewId,
|
|
19
|
+
stepId: input.stepId,
|
|
20
|
+
actor: viewer.actor,
|
|
21
|
+
actorTeamIds: viewer.teamIds,
|
|
22
|
+
notifyPreviousOwner: input.notifyPreviousOwner ?? true
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const TakeOverWebsiteBuilderPageReviewStepUseCase_TakeOverWebsiteBuilderPageReviewStepUseCase = TakeOverWebsiteBuilderPageReviewStepUseCase.createImplementation({
|
|
27
|
+
implementation: TakeOverWebsiteBuilderPageReviewStepUseCaseImpl,
|
|
28
|
+
dependencies: [
|
|
29
|
+
WbPageReviewGuardService,
|
|
30
|
+
TakeOverReviewStepUseCase
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
export { TakeOverWebsiteBuilderPageReviewStepUseCase_TakeOverWebsiteBuilderPageReviewStepUseCase as TakeOverWebsiteBuilderPageReviewStepUseCase };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=TakeOverWebsiteBuilderPageReviewStepUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.js","sources":["../../../../src/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/TakeOverWebsiteBuilderPageReviewStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { TakeOverReviewStepUseCase } from \"@webiny/api-workflows/features/review/TakeOverReviewStep/index.js\";\nimport { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\nimport { TakeOverWebsiteBuilderPageReviewStepUseCase as UseCase } from \"./abstractions.js\";\n\nclass TakeOverWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: WbPageReviewGuardService.Interface,\n private engine: TakeOverReviewStepUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const authorized = await this.guard.authorize({\n reviewId: input.reviewId,\n action: \"take over this step\"\n });\n if (authorized.isFail()) {\n return Result.fail(authorized.error);\n }\n\n const { viewer } = authorized.value;\n return this.engine.execute({\n reviewId: input.reviewId,\n stepId: input.stepId,\n actor: viewer.actor,\n actorTeamIds: viewer.teamIds,\n notifyPreviousOwner: input.notifyPreviousOwner ?? true\n });\n }\n}\n\nexport const TakeOverWebsiteBuilderPageReviewStepUseCase = UseCase.createImplementation({\n implementation: TakeOverWebsiteBuilderPageReviewStepUseCaseImpl,\n dependencies: [WbPageReviewGuardService, TakeOverReviewStepUseCase]\n});\n"],"names":["TakeOverWebsiteBuilderPageReviewStepUseCaseImpl","guard","engine","input","authorized","Result","viewer","TakeOverWebsiteBuilderPageReviewStepUseCase","UseCase","WbPageReviewGuardService","TakeOverReviewStepUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YACYC,KAAyC,EACzCC,MAA2C,CACrD;aAFUD,KAAK,GAALA;aACAC,MAAM,GAANA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,aAAa,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAUD,MAAM,QAAQ;YACxB,QAAQ;QACZ;QACA,IAAIC,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAACD,WAAW,KAAK;QAGvC,MAAM,EAAEE,MAAM,EAAE,GAAGF,WAAW,KAAK;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvB,UAAUD,MAAM,QAAQ;YACxB,QAAQA,MAAM,MAAM;YACpB,OAAOG,OAAO,KAAK;YACnB,cAAcA,OAAO,OAAO;YAC5B,qBAAqBH,MAAM,mBAAmB,IAAI;QACtD;IACJ;AACJ;AAEO,MAAMI,0FAA8CC,4CAAAA,oBAA4B,CAAC;IACpF,gBAAgBR;IAChB,cAAc;QAACS;QAA0BC;KAA0B;AACvE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ReviewData } from "@webiny/api-workflows/domain/review/types.js";
|
|
3
|
+
import type { TakeOverReviewStepUseCase } from "@webiny/api-workflows/features/review/TakeOverReviewStep/index.js";
|
|
4
|
+
import type { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
5
|
+
export interface TakeOverWebsiteBuilderPageReviewStepInput {
|
|
6
|
+
reviewId: string;
|
|
7
|
+
stepId: string;
|
|
8
|
+
/** D111: whether the previous owner is told; omitted means true. */
|
|
9
|
+
notifyPreviousOwner?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ITakeOverWebsiteBuilderPageReviewStepUseCaseErrors {
|
|
12
|
+
guard: WbPageReviewGuardService.Error;
|
|
13
|
+
takeOver: TakeOverReviewStepUseCase.Error;
|
|
14
|
+
}
|
|
15
|
+
type UseCaseError = ITakeOverWebsiteBuilderPageReviewStepUseCaseErrors[keyof ITakeOverWebsiteBuilderPageReviewStepUseCaseErrors];
|
|
16
|
+
export interface ITakeOverWebsiteBuilderPageReviewStepUseCase {
|
|
17
|
+
execute(input: TakeOverWebsiteBuilderPageReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;
|
|
18
|
+
}
|
|
19
|
+
/** Take over a human page review step held by someone else (spec 5.1, D9, D32): read access to the target here, the step rules in the engine. */
|
|
20
|
+
export declare const TakeOverWebsiteBuilderPageReviewStepUseCase: import("@webiny/di").Abstraction<ITakeOverWebsiteBuilderPageReviewStepUseCase>;
|
|
21
|
+
export declare namespace TakeOverWebsiteBuilderPageReviewStepUseCase {
|
|
22
|
+
type Interface = ITakeOverWebsiteBuilderPageReviewStepUseCase;
|
|
23
|
+
type Input = TakeOverWebsiteBuilderPageReviewStepInput;
|
|
24
|
+
type Error = UseCaseError;
|
|
25
|
+
type Return = Promise<Result<ReviewData, UseCaseError>>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const TakeOverWebsiteBuilderPageReviewStepUseCase = createAbstraction("TakeOverWebsiteBuilderPageReviewStepUseCase");
|
|
3
|
+
export { TakeOverWebsiteBuilderPageReviewStepUseCase };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.js","sources":["../../../../src/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type { TakeOverReviewStepUseCase } from \"@webiny/api-workflows/features/review/TakeOverReviewStep/index.js\";\nimport type { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\n\nexport interface TakeOverWebsiteBuilderPageReviewStepInput {\n reviewId: string;\n stepId: string;\n /** D111: whether the previous owner is told; omitted means true. */\n notifyPreviousOwner?: boolean;\n}\n\nexport interface ITakeOverWebsiteBuilderPageReviewStepUseCaseErrors {\n guard: WbPageReviewGuardService.Error;\n takeOver: TakeOverReviewStepUseCase.Error;\n}\n\ntype UseCaseError =\n ITakeOverWebsiteBuilderPageReviewStepUseCaseErrors[keyof ITakeOverWebsiteBuilderPageReviewStepUseCaseErrors];\n\nexport interface ITakeOverWebsiteBuilderPageReviewStepUseCase {\n execute(\n input: TakeOverWebsiteBuilderPageReviewStepInput\n ): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/** Take over a human page review step held by someone else (spec 5.1, D9, D32): read access to the target here, the step rules in the engine. */\nexport const TakeOverWebsiteBuilderPageReviewStepUseCase =\n createAbstraction<ITakeOverWebsiteBuilderPageReviewStepUseCase>(\n \"TakeOverWebsiteBuilderPageReviewStepUseCase\"\n );\n\nexport namespace TakeOverWebsiteBuilderPageReviewStepUseCase {\n export type Interface = ITakeOverWebsiteBuilderPageReviewStepUseCase;\n export type Input = TakeOverWebsiteBuilderPageReviewStepInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["TakeOverWebsiteBuilderPageReviewStepUseCase","createAbstraction"],"mappings":";AA2BO,MAAMA,8CACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { TakeOverWebsiteBuilderPageReviewStepUseCase } from "./TakeOverWebsiteBuilderPageReviewStepUseCase.js";
|
|
3
|
+
const TakeOverWebsiteBuilderPageReviewStepFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/TakeOverWebsiteBuilderPageReviewStep",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(TakeOverWebsiteBuilderPageReviewStepUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { TakeOverWebsiteBuilderPageReviewStepFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.js","sources":["../../../../src/features/wrappers/TakeOverWebsiteBuilderPageReviewStep/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TakeOverWebsiteBuilderPageReviewStepUseCase } from \"./TakeOverWebsiteBuilderPageReviewStepUseCase.js\";\n\nexport const TakeOverWebsiteBuilderPageReviewStepFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/TakeOverWebsiteBuilderPageReviewStep\",\n register(container) {\n container.register(TakeOverWebsiteBuilderPageReviewStepUseCase);\n }\n});\n"],"names":["TakeOverWebsiteBuilderPageReviewStepFeature","createFeature","container","TakeOverWebsiteBuilderPageReviewStepUseCase"],"mappings":";;AAGO,MAAMA,8CAA8CC,cAAc;IACrE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TakeOverWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TakeOverWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
2
|
+
import { GetReviewUseCase } from "@webiny/api-workflows/features/review/GetReview/index.js";
|
|
3
|
+
import { WbPageTargetReader } from "../../../features/target/WbPageTargetReader/index.js";
|
|
4
|
+
import { WbPageAccess } from "../../../features/target/WbPageAccess/index.js";
|
|
5
|
+
import { WbPageReviewGuardService as Abstraction } from "./abstractions.js";
|
|
6
|
+
declare class WbPageReviewGuardServiceImpl implements Abstraction.Interface {
|
|
7
|
+
private viewer;
|
|
8
|
+
private getReview;
|
|
9
|
+
private targets;
|
|
10
|
+
private access;
|
|
11
|
+
constructor(viewer: CurrentReviewViewer.Interface, getReview: GetReviewUseCase.Interface, targets: WbPageTargetReader.Interface, access: WbPageAccess.Interface);
|
|
12
|
+
authorize(params: Abstraction.Params): Abstraction.Return;
|
|
13
|
+
}
|
|
14
|
+
export declare const WbPageReviewGuardService: typeof WbPageReviewGuardServiceImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IWbPageReviewGuardService>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
3
|
+
import { GetReviewUseCase } from "@webiny/api-workflows/features/review/GetReview/index.js";
|
|
4
|
+
import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
5
|
+
import { ReviewNotFoundError, ReviewPersistenceError } from "@webiny/api-workflows/domain/review/errors.js";
|
|
6
|
+
import { WbPageTargetReader } from "../../target/WbPageTargetReader/index.js";
|
|
7
|
+
import { WbPageAccess } from "../../target/WbPageAccess/index.js";
|
|
8
|
+
import { WB_PAGE_NAMESPACE } from "../../../constants.js";
|
|
9
|
+
import { WbPageReviewGuardService } from "./abstractions.js";
|
|
10
|
+
class WbPageReviewGuardServiceImpl {
|
|
11
|
+
constructor(viewer, getReview, targets, access){
|
|
12
|
+
this.viewer = viewer;
|
|
13
|
+
this.getReview = getReview;
|
|
14
|
+
this.targets = targets;
|
|
15
|
+
this.access = access;
|
|
16
|
+
}
|
|
17
|
+
async authorize(params) {
|
|
18
|
+
let viewer;
|
|
19
|
+
try {
|
|
20
|
+
viewer = await this.viewer.get();
|
|
21
|
+
} catch (error) {
|
|
22
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
23
|
+
}
|
|
24
|
+
if (viewer.isFail()) return Result.fail(viewer.error);
|
|
25
|
+
const review = await this.getReview.execute({
|
|
26
|
+
id: params.reviewId
|
|
27
|
+
});
|
|
28
|
+
if (review.isFail()) return Result.fail(review.error);
|
|
29
|
+
if (review.value.model !== WB_PAGE_NAMESPACE) return Result.fail(new ReviewNotFoundError({
|
|
30
|
+
id: params.reviewId
|
|
31
|
+
}));
|
|
32
|
+
let canRead;
|
|
33
|
+
try {
|
|
34
|
+
const target = await this.targets.read({
|
|
35
|
+
model: review.value.model,
|
|
36
|
+
targetRevisionId: review.value.targetRevisionId
|
|
37
|
+
});
|
|
38
|
+
const isReviewTarget = target?.page.entryId === review.value.targetId;
|
|
39
|
+
canRead = !!target && isReviewTarget && await this.access.canRead(target);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
42
|
+
}
|
|
43
|
+
if (!canRead) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
44
|
+
action: params.action
|
|
45
|
+
}));
|
|
46
|
+
return Result.ok({
|
|
47
|
+
review: review.value,
|
|
48
|
+
viewer: viewer.value
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const WbPageReviewGuardService_WbPageReviewGuardService = WbPageReviewGuardService.createImplementation({
|
|
53
|
+
implementation: WbPageReviewGuardServiceImpl,
|
|
54
|
+
dependencies: [
|
|
55
|
+
CurrentReviewViewer,
|
|
56
|
+
GetReviewUseCase,
|
|
57
|
+
WbPageTargetReader,
|
|
58
|
+
WbPageAccess
|
|
59
|
+
]
|
|
60
|
+
});
|
|
61
|
+
export { WbPageReviewGuardService_WbPageReviewGuardService as WbPageReviewGuardService };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=WbPageReviewGuardService.js.map
|