@webiny/api-website-builder-workflows 0.0.0-unstable.9f53ea597d → 0.0.0-unstable.a85ef555b2
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/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/{PageWorkflows → wrappers/GetWebsiteBuilderPageReview}/feature.d.ts +1 -1
- 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 -1
- package/index.js +1 -19
- package/package.json +22 -16
- package/features/PageWorkflows/decorators/WbWorkflowStateContextProvider.d.ts +0 -13
- package/features/PageWorkflows/decorators/WbWorkflowStateContextProvider.js +0 -27
- package/features/PageWorkflows/decorators/WbWorkflowStateContextProvider.js.map +0 -1
- package/features/PageWorkflows/decorators/WbWorkflowStateFilter.d.ts +0 -13
- package/features/PageWorkflows/decorators/WbWorkflowStateFilter.js +0 -45
- package/features/PageWorkflows/decorators/WbWorkflowStateFilter.js.map +0 -1
- package/features/PageWorkflows/errors.d.ts +0 -9
- package/features/PageWorkflows/errors.js +0 -12
- package/features/PageWorkflows/errors.js.map +0 -1
- package/features/PageWorkflows/feature.js +0 -27
- package/features/PageWorkflows/feature.js.map +0 -1
- package/features/PageWorkflows/handlers/BlockMoveOnActiveWorkflowState.d.ts +0 -11
- package/features/PageWorkflows/handlers/BlockMoveOnActiveWorkflowState.js +0 -31
- package/features/PageWorkflows/handlers/BlockMoveOnActiveWorkflowState.js.map +0 -1
- package/features/PageWorkflows/handlers/ClearPageStateOnWorkflowStateAfterDelete.d.ts +0 -11
- package/features/PageWorkflows/handlers/ClearPageStateOnWorkflowStateAfterDelete.js +0 -26
- package/features/PageWorkflows/handlers/ClearPageStateOnWorkflowStateAfterDelete.js.map +0 -1
- package/features/PageWorkflows/handlers/ClearPageStateOnWorkflowStateCancel.d.ts +0 -11
- package/features/PageWorkflows/handlers/ClearPageStateOnWorkflowStateCancel.js +0 -26
- package/features/PageWorkflows/handlers/ClearPageStateOnWorkflowStateCancel.js.map +0 -1
- package/features/PageWorkflows/handlers/DeleteWorkflowStateOnPageAfterDelete.d.ts +0 -11
- package/features/PageWorkflows/handlers/DeleteWorkflowStateOnPageAfterDelete.js +0 -21
- package/features/PageWorkflows/handlers/DeleteWorkflowStateOnPageAfterDelete.js.map +0 -1
- package/features/PageWorkflows/handlers/UpdatePageOnWorkflowStateAfterCreate.d.ts +0 -11
- package/features/PageWorkflows/handlers/UpdatePageOnWorkflowStateAfterCreate.js +0 -28
- package/features/PageWorkflows/handlers/UpdatePageOnWorkflowStateAfterCreate.js.map +0 -1
- package/features/PageWorkflows/handlers/UpdatePageOnWorkflowStateAfterUpdate.d.ts +0 -11
- package/features/PageWorkflows/handlers/UpdatePageOnWorkflowStateAfterUpdate.js +0 -27
- package/features/PageWorkflows/handlers/UpdatePageOnWorkflowStateAfterUpdate.js.map +0 -1
- package/features/PageWorkflows/handlers/ValidateWorkflowStateOnPageBeforePublish.d.ts +0 -11
- package/features/PageWorkflows/handlers/ValidateWorkflowStateOnPageBeforePublish.js +0 -37
- package/features/PageWorkflows/handlers/ValidateWorkflowStateOnPageBeforePublish.js.map +0 -1
- package/graphql/page.d.ts +0 -2
- package/graphql/page.js +0 -21
- package/graphql/page.js.map +0 -1
- package/index.js.map +0 -1
- package/utils/appName.d.ts +0 -1
- package/utils/appName.js +0 -4
- package/utils/appName.js.map +0 -1
- package/utils/state.d.ts +0 -8
- package/utils/state.js +0 -12
- package/utils/state.js.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { ReassignReviewStepUseCase } from "@webiny/api-workflows/features/review/ReassignReviewStep/index.js";
|
|
3
|
+
import { canReassignByPermission } from "@webiny/api-workflows/domain/review/canReassignByPermission.js";
|
|
4
|
+
import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
5
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
6
|
+
import { ReassignWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
7
|
+
const ACTION = "reassign this step";
|
|
8
|
+
class ReassignWebsiteBuilderPageReviewStepUseCaseImpl {
|
|
9
|
+
constructor(guard, reassignStep){
|
|
10
|
+
this.guard = guard;
|
|
11
|
+
this.reassignStep = reassignStep;
|
|
12
|
+
}
|
|
13
|
+
async execute(input) {
|
|
14
|
+
const authorized = await this.guard.authorize({
|
|
15
|
+
reviewId: input.reviewId,
|
|
16
|
+
action: ACTION
|
|
17
|
+
});
|
|
18
|
+
if (authorized.isFail()) return Result.fail(authorized.error);
|
|
19
|
+
const { viewer } = authorized.value;
|
|
20
|
+
if (!canReassignByPermission(viewer)) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
21
|
+
action: ACTION
|
|
22
|
+
}));
|
|
23
|
+
return this.reassignStep.execute({
|
|
24
|
+
reviewId: input.reviewId,
|
|
25
|
+
stepId: input.stepId,
|
|
26
|
+
userId: input.userId,
|
|
27
|
+
actor: viewer.actor
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const ReassignWebsiteBuilderPageReviewStepUseCase_ReassignWebsiteBuilderPageReviewStepUseCase = ReassignWebsiteBuilderPageReviewStepUseCase.createImplementation({
|
|
32
|
+
implementation: ReassignWebsiteBuilderPageReviewStepUseCaseImpl,
|
|
33
|
+
dependencies: [
|
|
34
|
+
WbPageReviewGuardService,
|
|
35
|
+
ReassignReviewStepUseCase
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
export { ReassignWebsiteBuilderPageReviewStepUseCase_ReassignWebsiteBuilderPageReviewStepUseCase as ReassignWebsiteBuilderPageReviewStepUseCase };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=ReassignWebsiteBuilderPageReviewStepUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.js","sources":["../../../../src/features/wrappers/ReassignWebsiteBuilderPageReviewStep/ReassignWebsiteBuilderPageReviewStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ReassignReviewStepUseCase } from \"@webiny/api-workflows/features/review/ReassignReviewStep/index.js\";\nimport { canReassignByPermission } from \"@webiny/api-workflows/domain/review/canReassignByPermission.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\nimport { ReassignWebsiteBuilderPageReviewStepUseCase as UseCase } from \"./abstractions.js\";\n\nconst ACTION = \"reassign this step\";\n\nclass ReassignWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: WbPageReviewGuardService.Interface,\n private reassignStep: ReassignReviewStepUseCase.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 { viewer } = authorized.value;\n // Permission only: whether the step can be reassigned is the engine's (1b R41).\n if (!canReassignByPermission(viewer)) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: ACTION }));\n }\n\n return this.reassignStep.execute({\n reviewId: input.reviewId,\n stepId: input.stepId,\n userId: input.userId,\n actor: viewer.actor\n });\n }\n}\n\nexport const ReassignWebsiteBuilderPageReviewStepUseCase = UseCase.createImplementation({\n implementation: ReassignWebsiteBuilderPageReviewStepUseCaseImpl,\n dependencies: [WbPageReviewGuardService, ReassignReviewStepUseCase]\n});\n"],"names":["ACTION","ReassignWebsiteBuilderPageReviewStepUseCaseImpl","guard","reassignStep","input","authorized","Result","viewer","canReassignByPermission","WorkflowsNotAuthorizedError","ReassignWebsiteBuilderPageReviewStepUseCase","UseCase","WbPageReviewGuardService","ReassignReviewStepUseCase"],"mappings":";;;;;;AAOA,MAAMA,SAAS;AAEf,MAAMC;IACF,YACYC,KAAyC,EACzCC,YAAiD,CAC3D;aAFUD,KAAK,GAALA;aACAC,YAAY,GAAZA;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,EAAE,GAAGF,WAAW,KAAK;QAEnC,IAAI,CAACG,wBAAwBD,SACzB,OAAOD,OAAO,IAAI,CAAC,IAAIG,4BAA4B;YAAE,QAAQT;QAAO;QAGxE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAC7B,UAAUI,MAAM,QAAQ;YACxB,QAAQA,MAAM,MAAM;YACpB,QAAQA,MAAM,MAAM;YACpB,OAAOG,OAAO,KAAK;QACvB;IACJ;AACJ;AAEO,MAAMG,0FAA8CC,4CAAAA,oBAA4B,CAAC;IACpF,gBAAgBV;IAChB,cAAc;QAACW;QAA0BC;KAA0B;AACvE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 { ReassignReviewStepUseCase } from "@webiny/api-workflows/features/review/ReassignReviewStep/index.js";
|
|
5
|
+
import type { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
6
|
+
export interface ReassignWebsiteBuilderPageReviewStepInput {
|
|
7
|
+
reviewId: string;
|
|
8
|
+
stepId: string;
|
|
9
|
+
/** The admin user who gets the step; validated like a pick by the engine (R112). */
|
|
10
|
+
userId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface IReassignWebsiteBuilderPageReviewStepUseCaseErrors {
|
|
13
|
+
guard: WbPageReviewGuardService.Error;
|
|
14
|
+
notAuthorized: WorkflowsNotAuthorizedError;
|
|
15
|
+
reassign: ReassignReviewStepUseCase.Error;
|
|
16
|
+
}
|
|
17
|
+
type UseCaseError = IReassignWebsiteBuilderPageReviewStepUseCaseErrors[keyof IReassignWebsiteBuilderPageReviewStepUseCaseErrors];
|
|
18
|
+
export interface IReassignWebsiteBuilderPageReviewStepUseCase {
|
|
19
|
+
execute(input: ReassignWebsiteBuilderPageReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Give a page review step to another team member (spec 5.1, D25, D33, R119): read access to the
|
|
23
|
+
* page and `reassign` here, the step and the chosen user's rules in the engine.
|
|
24
|
+
*/
|
|
25
|
+
export declare const ReassignWebsiteBuilderPageReviewStepUseCase: import("@webiny/di").Abstraction<IReassignWebsiteBuilderPageReviewStepUseCase>;
|
|
26
|
+
export declare namespace ReassignWebsiteBuilderPageReviewStepUseCase {
|
|
27
|
+
type Interface = IReassignWebsiteBuilderPageReviewStepUseCase;
|
|
28
|
+
type Input = ReassignWebsiteBuilderPageReviewStepInput;
|
|
29
|
+
type Error = UseCaseError;
|
|
30
|
+
type Return = Promise<Result<ReviewData, UseCaseError>>;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const ReassignWebsiteBuilderPageReviewStepUseCase = createAbstraction("ReassignWebsiteBuilderPageReviewStepUseCase");
|
|
3
|
+
export { ReassignWebsiteBuilderPageReviewStepUseCase };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ReassignWebsiteBuilderPageReviewStep/abstractions.js","sources":["../../../../src/features/wrappers/ReassignWebsiteBuilderPageReviewStep/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 { ReassignReviewStepUseCase } from \"@webiny/api-workflows/features/review/ReassignReviewStep/index.js\";\nimport type { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\n\nexport interface ReassignWebsiteBuilderPageReviewStepInput {\n reviewId: string;\n stepId: string;\n /** The admin user who gets the step; validated like a pick by the engine (R112). */\n userId: string;\n}\n\nexport interface IReassignWebsiteBuilderPageReviewStepUseCaseErrors {\n guard: WbPageReviewGuardService.Error;\n notAuthorized: WorkflowsNotAuthorizedError;\n reassign: ReassignReviewStepUseCase.Error;\n}\n\ntype UseCaseError =\n IReassignWebsiteBuilderPageReviewStepUseCaseErrors[keyof IReassignWebsiteBuilderPageReviewStepUseCaseErrors];\n\nexport interface IReassignWebsiteBuilderPageReviewStepUseCase {\n execute(\n input: ReassignWebsiteBuilderPageReviewStepInput\n ): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/**\n * Give a page review step to another team member (spec 5.1, D25, D33, R119): read access to the\n * page and `reassign` here, the step and the chosen user's rules in the engine.\n */\nexport const ReassignWebsiteBuilderPageReviewStepUseCase =\n createAbstraction<IReassignWebsiteBuilderPageReviewStepUseCase>(\n \"ReassignWebsiteBuilderPageReviewStepUseCase\"\n );\n\nexport namespace ReassignWebsiteBuilderPageReviewStepUseCase {\n export type Interface = IReassignWebsiteBuilderPageReviewStepUseCase;\n export type Input = ReassignWebsiteBuilderPageReviewStepInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["ReassignWebsiteBuilderPageReviewStepUseCase","createAbstraction"],"mappings":";AAgCO,MAAMA,8CACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ReassignWebsiteBuilderPageReviewStepUseCase } from "./ReassignWebsiteBuilderPageReviewStepUseCase.js";
|
|
3
|
+
const ReassignWebsiteBuilderPageReviewStepFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/ReassignWebsiteBuilderPageReviewStep",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(ReassignWebsiteBuilderPageReviewStepUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { ReassignWebsiteBuilderPageReviewStepFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.js","sources":["../../../../src/features/wrappers/ReassignWebsiteBuilderPageReviewStep/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ReassignWebsiteBuilderPageReviewStepUseCase } from \"./ReassignWebsiteBuilderPageReviewStepUseCase.js\";\n\nexport const ReassignWebsiteBuilderPageReviewStepFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ReassignWebsiteBuilderPageReviewStep\",\n register(container) {\n container.register(ReassignWebsiteBuilderPageReviewStepUseCase);\n }\n});\n"],"names":["ReassignWebsiteBuilderPageReviewStepFeature","createFeature","container","ReassignWebsiteBuilderPageReviewStepUseCase"],"mappings":";;AAGO,MAAMA,8CAA8CC,cAAc;IACrE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ReassignWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ReassignWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RejectReviewStepUseCase } from "@webiny/api-workflows/features/review/RejectReviewStep/index.js";
|
|
2
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
3
|
+
import { RejectWebsiteBuilderPageReviewStepUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class RejectWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private guard;
|
|
6
|
+
private engine;
|
|
7
|
+
constructor(guard: WbPageReviewGuardService.Interface, engine: RejectReviewStepUseCase.Interface);
|
|
8
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const RejectWebsiteBuilderPageReviewStepUseCase: typeof RejectWebsiteBuilderPageReviewStepUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IRejectWebsiteBuilderPageReviewStepUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { RejectReviewStepUseCase } from "@webiny/api-workflows/features/review/RejectReviewStep/index.js";
|
|
3
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
4
|
+
import { RejectWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
5
|
+
class RejectWebsiteBuilderPageReviewStepUseCaseImpl {
|
|
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: "reject 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
|
+
comment: input.comment ?? null
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const RejectWebsiteBuilderPageReviewStepUseCase_RejectWebsiteBuilderPageReviewStepUseCase = RejectWebsiteBuilderPageReviewStepUseCase.createImplementation({
|
|
27
|
+
implementation: RejectWebsiteBuilderPageReviewStepUseCaseImpl,
|
|
28
|
+
dependencies: [
|
|
29
|
+
WbPageReviewGuardService,
|
|
30
|
+
RejectReviewStepUseCase
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
export { RejectWebsiteBuilderPageReviewStepUseCase_RejectWebsiteBuilderPageReviewStepUseCase as RejectWebsiteBuilderPageReviewStepUseCase };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=RejectWebsiteBuilderPageReviewStepUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.js","sources":["../../../../src/features/wrappers/RejectWebsiteBuilderPageReviewStep/RejectWebsiteBuilderPageReviewStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { RejectReviewStepUseCase } from \"@webiny/api-workflows/features/review/RejectReviewStep/index.js\";\nimport { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\nimport { RejectWebsiteBuilderPageReviewStepUseCase as UseCase } from \"./abstractions.js\";\n\nclass RejectWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: WbPageReviewGuardService.Interface,\n private engine: RejectReviewStepUseCase.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: \"reject 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 comment: input.comment ?? null\n });\n }\n}\n\nexport const RejectWebsiteBuilderPageReviewStepUseCase = UseCase.createImplementation({\n implementation: RejectWebsiteBuilderPageReviewStepUseCaseImpl,\n dependencies: [WbPageReviewGuardService, RejectReviewStepUseCase]\n});\n"],"names":["RejectWebsiteBuilderPageReviewStepUseCaseImpl","guard","engine","input","authorized","Result","viewer","RejectWebsiteBuilderPageReviewStepUseCase","UseCase","WbPageReviewGuardService","RejectReviewStepUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YACYC,KAAyC,EACzCC,MAAyC,CACnD;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,SAASH,MAAM,OAAO,IAAI;QAC9B;IACJ;AACJ;AAEO,MAAMI,sFAA4CC,0CAAAA,oBAA4B,CAAC;IAClF,gBAAgBR;IAChB,cAAc;QAACS;QAA0BC;KAAwB;AACrE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ReviewData } from "@webiny/api-workflows/domain/review/types.js";
|
|
3
|
+
import type { RejectReviewStepUseCase } from "@webiny/api-workflows/features/review/RejectReviewStep/index.js";
|
|
4
|
+
import type { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
5
|
+
export interface RejectWebsiteBuilderPageReviewStepInput {
|
|
6
|
+
reviewId: string;
|
|
7
|
+
stepId: string;
|
|
8
|
+
comment?: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface IRejectWebsiteBuilderPageReviewStepUseCaseErrors {
|
|
11
|
+
guard: WbPageReviewGuardService.Error;
|
|
12
|
+
reject: RejectReviewStepUseCase.Error;
|
|
13
|
+
}
|
|
14
|
+
type UseCaseError = IRejectWebsiteBuilderPageReviewStepUseCaseErrors[keyof IRejectWebsiteBuilderPageReviewStepUseCaseErrors];
|
|
15
|
+
export interface IRejectWebsiteBuilderPageReviewStepUseCase {
|
|
16
|
+
execute(input: RejectWebsiteBuilderPageReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;
|
|
17
|
+
}
|
|
18
|
+
/** Reject the page review step the user owns (spec 5.1, D10): read access here, ownership in the engine. */
|
|
19
|
+
export declare const RejectWebsiteBuilderPageReviewStepUseCase: import("@webiny/di").Abstraction<IRejectWebsiteBuilderPageReviewStepUseCase>;
|
|
20
|
+
export declare namespace RejectWebsiteBuilderPageReviewStepUseCase {
|
|
21
|
+
type Interface = IRejectWebsiteBuilderPageReviewStepUseCase;
|
|
22
|
+
type Input = RejectWebsiteBuilderPageReviewStepInput;
|
|
23
|
+
type Error = UseCaseError;
|
|
24
|
+
type Return = Promise<Result<ReviewData, UseCaseError>>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const RejectWebsiteBuilderPageReviewStepUseCase = createAbstraction("RejectWebsiteBuilderPageReviewStepUseCase");
|
|
3
|
+
export { RejectWebsiteBuilderPageReviewStepUseCase };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.js","sources":["../../../../src/features/wrappers/RejectWebsiteBuilderPageReviewStep/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type { RejectReviewStepUseCase } from \"@webiny/api-workflows/features/review/RejectReviewStep/index.js\";\nimport type { WbPageReviewGuardService } from \"../WbPageReviewGuardService/index.js\";\n\nexport interface RejectWebsiteBuilderPageReviewStepInput {\n reviewId: string;\n stepId: string;\n comment?: string | null;\n}\n\nexport interface IRejectWebsiteBuilderPageReviewStepUseCaseErrors {\n guard: WbPageReviewGuardService.Error;\n reject: RejectReviewStepUseCase.Error;\n}\n\ntype UseCaseError =\n IRejectWebsiteBuilderPageReviewStepUseCaseErrors[keyof IRejectWebsiteBuilderPageReviewStepUseCaseErrors];\n\nexport interface IRejectWebsiteBuilderPageReviewStepUseCase {\n execute(\n input: RejectWebsiteBuilderPageReviewStepInput\n ): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/** Reject the page review step the user owns (spec 5.1, D10): read access here, ownership in the engine. */\nexport const RejectWebsiteBuilderPageReviewStepUseCase =\n createAbstraction<IRejectWebsiteBuilderPageReviewStepUseCase>(\n \"RejectWebsiteBuilderPageReviewStepUseCase\"\n );\n\nexport namespace RejectWebsiteBuilderPageReviewStepUseCase {\n export type Interface = IRejectWebsiteBuilderPageReviewStepUseCase;\n export type Input = RejectWebsiteBuilderPageReviewStepInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["RejectWebsiteBuilderPageReviewStepUseCase","createAbstraction"],"mappings":";AA0BO,MAAMA,4CACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { RejectWebsiteBuilderPageReviewStepUseCase } from "./RejectWebsiteBuilderPageReviewStepUseCase.js";
|
|
3
|
+
const RejectWebsiteBuilderPageReviewStepFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/RejectWebsiteBuilderPageReviewStep",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(RejectWebsiteBuilderPageReviewStepUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { RejectWebsiteBuilderPageReviewStepFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.js","sources":["../../../../src/features/wrappers/RejectWebsiteBuilderPageReviewStep/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { RejectWebsiteBuilderPageReviewStepUseCase } from \"./RejectWebsiteBuilderPageReviewStepUseCase.js\";\n\nexport const RejectWebsiteBuilderPageReviewStepFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/RejectWebsiteBuilderPageReviewStep\",\n register(container) {\n container.register(RejectWebsiteBuilderPageReviewStepUseCase);\n }\n});\n"],"names":["RejectWebsiteBuilderPageReviewStepFeature","createFeature","container","RejectWebsiteBuilderPageReviewStepUseCase"],"mappings":";;AAGO,MAAMA,4CAA4CC,cAAc;IACnE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RejectWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RejectWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
2
|
+
import { RequestReviewUseCase } from "@webiny/api-workflows/features/review/RequestReview/index.js";
|
|
3
|
+
import { WbPageTargetReader } from "../../../features/target/WbPageTargetReader/index.js";
|
|
4
|
+
import { WbPageAccess } from "../../../features/target/WbPageAccess/index.js";
|
|
5
|
+
import { RequestWebsiteBuilderPageReviewUseCase as UseCase } from "./abstractions.js";
|
|
6
|
+
/**
|
|
7
|
+
* As WB's own `UpdatePageUseCase`, the entity-level page permission is checked before the page is
|
|
8
|
+
* loaded, so a user without page permissions learns nothing about which pages exist (R75). A page
|
|
9
|
+
* the user cannot see is reported as not found; a visible page without write access is not
|
|
10
|
+
* authorized (D77).
|
|
11
|
+
*/
|
|
12
|
+
declare class RequestWebsiteBuilderPageReviewUseCaseImpl implements UseCase.Interface {
|
|
13
|
+
private viewer;
|
|
14
|
+
private targets;
|
|
15
|
+
private access;
|
|
16
|
+
private requestReview;
|
|
17
|
+
constructor(viewer: CurrentReviewViewer.Interface, targets: WbPageTargetReader.Interface, access: WbPageAccess.Interface, requestReview: RequestReviewUseCase.Interface);
|
|
18
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
19
|
+
}
|
|
20
|
+
export declare const RequestWebsiteBuilderPageReviewUseCase: typeof RequestWebsiteBuilderPageReviewUseCaseImpl & {
|
|
21
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IRequestWebsiteBuilderPageReviewUseCase>;
|
|
22
|
+
};
|
|
23
|
+
export {};
|
package/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
3
|
+
import { RequestReviewUseCase } from "@webiny/api-workflows/features/review/RequestReview/index.js";
|
|
4
|
+
import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
5
|
+
import { ReviewPersistenceError, ReviewTargetNotFoundError } 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 { RequestWebsiteBuilderPageReviewUseCase } from "./abstractions.js";
|
|
10
|
+
class RequestWebsiteBuilderPageReviewUseCaseImpl {
|
|
11
|
+
constructor(viewer, targets, access, requestReview){
|
|
12
|
+
this.viewer = viewer;
|
|
13
|
+
this.targets = targets;
|
|
14
|
+
this.access = access;
|
|
15
|
+
this.requestReview = requestReview;
|
|
16
|
+
}
|
|
17
|
+
async execute(input) {
|
|
18
|
+
const actor = this.viewer.getActor();
|
|
19
|
+
if (actor.isFail()) return Result.fail(actor.error);
|
|
20
|
+
let canWriteAnyPage;
|
|
21
|
+
try {
|
|
22
|
+
canWriteAnyPage = await this.access.canWriteAnyPage();
|
|
23
|
+
} catch (error) {
|
|
24
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
25
|
+
}
|
|
26
|
+
if (!canWriteAnyPage) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
27
|
+
action: "request a review"
|
|
28
|
+
}));
|
|
29
|
+
let target;
|
|
30
|
+
try {
|
|
31
|
+
target = await this.targets.read({
|
|
32
|
+
model: WB_PAGE_NAMESPACE,
|
|
33
|
+
targetRevisionId: input.targetRevisionId
|
|
34
|
+
});
|
|
35
|
+
} catch (error) {
|
|
36
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
37
|
+
}
|
|
38
|
+
if (!target || target.page.entryId !== input.targetId) return Result.fail(new ReviewTargetNotFoundError({
|
|
39
|
+
model: WB_PAGE_NAMESPACE,
|
|
40
|
+
targetRevisionId: input.targetRevisionId
|
|
41
|
+
}));
|
|
42
|
+
let canWrite;
|
|
43
|
+
try {
|
|
44
|
+
canWrite = await this.access.canWrite(target);
|
|
45
|
+
} catch (error) {
|
|
46
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
47
|
+
}
|
|
48
|
+
if (!canWrite) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
49
|
+
action: "request a review"
|
|
50
|
+
}));
|
|
51
|
+
return this.requestReview.execute({
|
|
52
|
+
model: WB_PAGE_NAMESPACE,
|
|
53
|
+
targetId: input.targetId,
|
|
54
|
+
targetRevisionId: input.targetRevisionId,
|
|
55
|
+
title: input.title,
|
|
56
|
+
picks: input.picks,
|
|
57
|
+
actor: actor.value
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const RequestWebsiteBuilderPageReviewUseCase_RequestWebsiteBuilderPageReviewUseCase = RequestWebsiteBuilderPageReviewUseCase.createImplementation({
|
|
62
|
+
implementation: RequestWebsiteBuilderPageReviewUseCaseImpl,
|
|
63
|
+
dependencies: [
|
|
64
|
+
CurrentReviewViewer,
|
|
65
|
+
WbPageTargetReader,
|
|
66
|
+
WbPageAccess,
|
|
67
|
+
RequestReviewUseCase
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
export { RequestWebsiteBuilderPageReviewUseCase_RequestWebsiteBuilderPageReviewUseCase as RequestWebsiteBuilderPageReviewUseCase };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=RequestWebsiteBuilderPageReviewUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.js","sources":["../../../../src/features/wrappers/RequestWebsiteBuilderPageReview/RequestWebsiteBuilderPageReviewUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { RequestReviewUseCase } from \"@webiny/api-workflows/features/review/RequestReview/index.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport {\n ReviewPersistenceError,\n ReviewTargetNotFoundError\n} from \"@webiny/api-workflows/domain/review/errors.js\";\nimport { WbPageTargetReader } from \"~/features/target/WbPageTargetReader/index.js\";\nimport { WbPageAccess } from \"~/features/target/WbPageAccess/index.js\";\nimport { WB_PAGE_NAMESPACE } from \"~/constants.js\";\nimport { RequestWebsiteBuilderPageReviewUseCase as UseCase } from \"./abstractions.js\";\n\n/**\n * As WB's own `UpdatePageUseCase`, the entity-level page permission is checked before the page is\n * loaded, so a user without page permissions learns nothing about which pages exist (R75). A page\n * the user cannot see is reported as not found; a visible page without write access is not\n * authorized (D77).\n */\nclass RequestWebsiteBuilderPageReviewUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private targets: WbPageTargetReader.Interface,\n private access: WbPageAccess.Interface,\n private requestReview: RequestReviewUseCase.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\n let canWriteAnyPage: boolean;\n try {\n canWriteAnyPage = await this.access.canWriteAnyPage();\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!canWriteAnyPage) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: \"request a review\" }));\n }\n\n let target: WbPageTargetReader.Target | null;\n try {\n target = await this.targets.read({\n model: WB_PAGE_NAMESPACE,\n targetRevisionId: input.targetRevisionId\n });\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!target || target.page.entryId !== input.targetId) {\n return Result.fail(\n new ReviewTargetNotFoundError({\n model: WB_PAGE_NAMESPACE,\n targetRevisionId: input.targetRevisionId\n })\n );\n }\n let canWrite: boolean;\n try {\n canWrite = await this.access.canWrite(target);\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!canWrite) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: \"request a review\" }));\n }\n\n return this.requestReview.execute({\n model: WB_PAGE_NAMESPACE,\n targetId: input.targetId,\n targetRevisionId: input.targetRevisionId,\n title: input.title,\n picks: input.picks,\n actor: actor.value\n });\n }\n}\n\nexport const RequestWebsiteBuilderPageReviewUseCase = UseCase.createImplementation({\n implementation: RequestWebsiteBuilderPageReviewUseCaseImpl,\n dependencies: [CurrentReviewViewer, WbPageTargetReader, WbPageAccess, RequestReviewUseCase]\n});\n"],"names":["RequestWebsiteBuilderPageReviewUseCaseImpl","viewer","targets","access","requestReview","input","actor","Result","canWriteAnyPage","error","ReviewPersistenceError","Error","String","WorkflowsNotAuthorizedError","target","WB_PAGE_NAMESPACE","ReviewTargetNotFoundError","canWrite","RequestWebsiteBuilderPageReviewUseCase","UseCase","CurrentReviewViewer","WbPageTargetReader","WbPageAccess","RequestReviewUseCase"],"mappings":";;;;;;;;;AAmBA,MAAMA;IACF,YACYC,MAAqC,EACrCC,OAAqC,EACrCC,MAA8B,EAC9BC,aAA6C,CACvD;aAJUH,MAAM,GAANA;aACAC,OAAO,GAAPA;aACAC,MAAM,GAANA;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;QAGlC,IAAIE;QACJ,IAAI;YACAA,kBAAkB,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe;QACvD,EAAE,OAAOC,OAAO;YACZ,OAAOF,OAAO,IAAI,CACd,IAAIG,uBACAD,iBAAiBE,QAAQF,QAAQ,IAAIE,MAAMC,OAAOH;QAG9D;QACA,IAAI,CAACD,iBACD,OAAOD,OAAO,IAAI,CAAC,IAAIM,4BAA4B;YAAE,QAAQ;QAAmB;QAGpF,IAAIC;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,OAAOC;gBACP,kBAAkBV,MAAM,gBAAgB;YAC5C;QACJ,EAAE,OAAOI,OAAO;YACZ,OAAOF,OAAO,IAAI,CACd,IAAIG,uBACAD,iBAAiBE,QAAQF,QAAQ,IAAIE,MAAMC,OAAOH;QAG9D;QACA,IAAI,CAACK,UAAUA,OAAO,IAAI,CAAC,OAAO,KAAKT,MAAM,QAAQ,EACjD,OAAOE,OAAO,IAAI,CACd,IAAIS,0BAA0B;YAC1B,OAAOD;YACP,kBAAkBV,MAAM,gBAAgB;QAC5C;QAGR,IAAIY;QACJ,IAAI;YACAA,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACH;QAC1C,EAAE,OAAOL,OAAO;YACZ,OAAOF,OAAO,IAAI,CACd,IAAIG,uBACAD,iBAAiBE,QAAQF,QAAQ,IAAIE,MAAMC,OAAOH;QAG9D;QACA,IAAI,CAACQ,UACD,OAAOV,OAAO,IAAI,CAAC,IAAIM,4BAA4B;YAAE,QAAQ;QAAmB;QAGpF,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC9B,OAAOE;YACP,UAAUV,MAAM,QAAQ;YACxB,kBAAkBA,MAAM,gBAAgB;YACxC,OAAOA,MAAM,KAAK;YAClB,OAAOA,MAAM,KAAK;YAClB,OAAOC,MAAM,KAAK;QACtB;IACJ;AACJ;AAEO,MAAMY,gFAAyCC,uCAAAA,oBAA4B,CAAC;IAC/E,gBAAgBnB;IAChB,cAAc;QAACoB;QAAqBC;QAAoBC;QAAcC;KAAqB;AAC/F"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ReviewData, ReviewPick } from "@webiny/api-workflows/domain/review/types.js";
|
|
3
|
+
import type { WorkflowsNotAuthenticatedError, WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
4
|
+
import type { ReviewPersistenceError, ReviewTargetNotFoundError } from "@webiny/api-workflows/domain/review/errors.js";
|
|
5
|
+
import type { RequestReviewUseCase } from "@webiny/api-workflows/features/review/RequestReview/index.js";
|
|
6
|
+
export interface RequestWebsiteBuilderPageReviewInput {
|
|
7
|
+
/** The page id. */
|
|
8
|
+
targetId: string;
|
|
9
|
+
/** The page revision id. */
|
|
10
|
+
targetRevisionId: string;
|
|
11
|
+
/**
|
|
12
|
+
* The review title (D135). Trimmed by the engine; at least 5 characters when given (D100,
|
|
13
|
+
* R89); missing or empty means the page title.
|
|
14
|
+
*/
|
|
15
|
+
title?: string | null;
|
|
16
|
+
/** Reviewer picks per step (D22); malformed picks are rejected by the engine (R61). */
|
|
17
|
+
picks?: ReviewPick[];
|
|
18
|
+
}
|
|
19
|
+
export interface IRequestWebsiteBuilderPageReviewUseCaseErrors {
|
|
20
|
+
notAuthenticated: WorkflowsNotAuthenticatedError;
|
|
21
|
+
notAuthorized: WorkflowsNotAuthorizedError;
|
|
22
|
+
targetNotFound: ReviewTargetNotFoundError;
|
|
23
|
+
persistence: ReviewPersistenceError;
|
|
24
|
+
request: RequestReviewUseCase.Error;
|
|
25
|
+
}
|
|
26
|
+
type UseCaseError = IRequestWebsiteBuilderPageReviewUseCaseErrors[keyof IRequestWebsiteBuilderPageReviewUseCaseErrors];
|
|
27
|
+
export interface IRequestWebsiteBuilderPageReviewUseCase {
|
|
28
|
+
execute(input: RequestWebsiteBuilderPageReviewInput): Promise<Result<ReviewData, UseCaseError>>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Request a review of a page revision; needs write access to it (spec 5.1, D77). A missing page is
|
|
32
|
+
* not found; a page without write access (including folder access) is not authorized.
|
|
33
|
+
*/
|
|
34
|
+
export declare const RequestWebsiteBuilderPageReviewUseCase: import("@webiny/di").Abstraction<IRequestWebsiteBuilderPageReviewUseCase>;
|
|
35
|
+
export declare namespace RequestWebsiteBuilderPageReviewUseCase {
|
|
36
|
+
type Interface = IRequestWebsiteBuilderPageReviewUseCase;
|
|
37
|
+
type Input = RequestWebsiteBuilderPageReviewInput;
|
|
38
|
+
type Error = UseCaseError;
|
|
39
|
+
type Return = Promise<Result<ReviewData, UseCaseError>>;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RequestWebsiteBuilderPageReview/abstractions.js","sources":["../../../../src/features/wrappers/RequestWebsiteBuilderPageReview/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData, ReviewPick } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type {\n WorkflowsNotAuthenticatedError,\n WorkflowsNotAuthorizedError\n} from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type {\n ReviewPersistenceError,\n ReviewTargetNotFoundError\n} from \"@webiny/api-workflows/domain/review/errors.js\";\nimport type { RequestReviewUseCase } from \"@webiny/api-workflows/features/review/RequestReview/index.js\";\n\nexport interface RequestWebsiteBuilderPageReviewInput {\n /** The page id. */\n targetId: string;\n /** The page revision id. */\n targetRevisionId: string;\n /**\n * The review title (D135). Trimmed by the engine; at least 5 characters when given (D100,\n * R89); missing or empty means the page title.\n */\n title?: string | null;\n /** Reviewer picks per step (D22); malformed picks are rejected by the engine (R61). */\n picks?: ReviewPick[];\n}\n\nexport interface IRequestWebsiteBuilderPageReviewUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n notAuthorized: WorkflowsNotAuthorizedError;\n targetNotFound: ReviewTargetNotFoundError;\n persistence: ReviewPersistenceError;\n request: RequestReviewUseCase.Error;\n}\n\ntype UseCaseError =\n IRequestWebsiteBuilderPageReviewUseCaseErrors[keyof IRequestWebsiteBuilderPageReviewUseCaseErrors];\n\nexport interface IRequestWebsiteBuilderPageReviewUseCase {\n execute(input: RequestWebsiteBuilderPageReviewInput): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/**\n * Request a review of a page revision; needs write access to it (spec 5.1, D77). A missing page is\n * not found; a page without write access (including folder access) is not authorized.\n */\nexport const RequestWebsiteBuilderPageReviewUseCase =\n createAbstraction<IRequestWebsiteBuilderPageReviewUseCase>(\n \"RequestWebsiteBuilderPageReviewUseCase\"\n );\n\nexport namespace RequestWebsiteBuilderPageReviewUseCase {\n export type Interface = IRequestWebsiteBuilderPageReviewUseCase;\n export type Input = RequestWebsiteBuilderPageReviewInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["RequestWebsiteBuilderPageReviewUseCase","createAbstraction"],"mappings":";AA6CO,MAAMA,yCACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { RequestWebsiteBuilderPageReviewUseCase } from "./RequestWebsiteBuilderPageReviewUseCase.js";
|
|
3
|
+
const RequestWebsiteBuilderPageReviewFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/RequestWebsiteBuilderPageReview",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(RequestWebsiteBuilderPageReviewUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { RequestWebsiteBuilderPageReviewFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/RequestWebsiteBuilderPageReview/feature.js","sources":["../../../../src/features/wrappers/RequestWebsiteBuilderPageReview/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { RequestWebsiteBuilderPageReviewUseCase } from \"./RequestWebsiteBuilderPageReviewUseCase.js\";\n\nexport const RequestWebsiteBuilderPageReviewFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/RequestWebsiteBuilderPageReview\",\n register(container) {\n container.register(RequestWebsiteBuilderPageReviewUseCase);\n }\n});\n"],"names":["RequestWebsiteBuilderPageReviewFeature","createFeature","container","RequestWebsiteBuilderPageReviewUseCase"],"mappings":";;AAGO,MAAMA,yCAAyCC,cAAc;IAChE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RequestWebsiteBuilderPageReviewUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RequestWebsiteBuilderPageReviewUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RestartReviewStepUseCase } from "@webiny/api-workflows/features/review/RestartReviewStep/index.js";
|
|
2
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
3
|
+
import { RestartWebsiteBuilderPageReviewStepUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class RestartWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private guard;
|
|
6
|
+
private restartStep;
|
|
7
|
+
constructor(guard: WbPageReviewGuardService.Interface, restartStep: RestartReviewStepUseCase.Interface);
|
|
8
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const RestartWebsiteBuilderPageReviewStepUseCase: typeof RestartWebsiteBuilderPageReviewStepUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IRestartWebsiteBuilderPageReviewStepUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { RestartReviewStepUseCase } from "@webiny/api-workflows/features/review/RestartReviewStep/index.js";
|
|
3
|
+
import { canRestartByPermission } from "@webiny/api-workflows/domain/review/canRestartByPermission.js";
|
|
4
|
+
import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
5
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
6
|
+
import { RestartWebsiteBuilderPageReviewStepUseCase } from "./abstractions.js";
|
|
7
|
+
const ACTION = "restart a review step";
|
|
8
|
+
class RestartWebsiteBuilderPageReviewStepUseCaseImpl {
|
|
9
|
+
constructor(guard, restartStep){
|
|
10
|
+
this.guard = guard;
|
|
11
|
+
this.restartStep = restartStep;
|
|
12
|
+
}
|
|
13
|
+
async execute(input) {
|
|
14
|
+
const authorized = await this.guard.authorize({
|
|
15
|
+
reviewId: input.reviewId,
|
|
16
|
+
action: ACTION
|
|
17
|
+
});
|
|
18
|
+
if (authorized.isFail()) return Result.fail(authorized.error);
|
|
19
|
+
const { review, viewer } = authorized.value;
|
|
20
|
+
if (!canRestartByPermission(review, viewer)) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
21
|
+
action: ACTION
|
|
22
|
+
}));
|
|
23
|
+
return this.restartStep.execute({
|
|
24
|
+
reviewId: input.reviewId,
|
|
25
|
+
stepId: input.stepId,
|
|
26
|
+
actor: viewer.actor
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const RestartWebsiteBuilderPageReviewStepUseCase_RestartWebsiteBuilderPageReviewStepUseCase = RestartWebsiteBuilderPageReviewStepUseCase.createImplementation({
|
|
31
|
+
implementation: RestartWebsiteBuilderPageReviewStepUseCaseImpl,
|
|
32
|
+
dependencies: [
|
|
33
|
+
WbPageReviewGuardService,
|
|
34
|
+
RestartReviewStepUseCase
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
export { RestartWebsiteBuilderPageReviewStepUseCase_RestartWebsiteBuilderPageReviewStepUseCase as RestartWebsiteBuilderPageReviewStepUseCase };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=RestartWebsiteBuilderPageReviewStepUseCase.js.map
|
|
@@ -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";
|