@webiny/api-website-builder-workflows 0.0.0-unstable.7c2def32a7 → 0.0.0-unstable.9609e4e0c9
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 +10 -4
- package/WebsiteBuilderPageSchemaFactory.js +10 -7
- package/WebsiteBuilderPageSchemaFactory.js.map +1 -1
- package/WebsiteBuilderWorkflowsFeature.js +8 -2
- package/WebsiteBuilderWorkflowsFeature.js.map +1 -1
- 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/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/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,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from "./ListWebsiteBuilderPageReviewStepCandidatesUseCase.js";
|
|
3
|
+
const ListWebsiteBuilderPageReviewStepCandidatesFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviewStepCandidates",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(ListWebsiteBuilderPageReviewStepCandidatesUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { ListWebsiteBuilderPageReviewStepCandidatesFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviewStepCandidates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from \"./ListWebsiteBuilderPageReviewStepCandidatesUseCase.js\";\n\nexport const ListWebsiteBuilderPageReviewStepCandidatesFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviewStepCandidates\",\n register(container) {\n container.register(ListWebsiteBuilderPageReviewStepCandidatesUseCase);\n }\n});\n"],"names":["ListWebsiteBuilderPageReviewStepCandidatesFeature","createFeature","container","ListWebsiteBuilderPageReviewStepCandidatesUseCase"],"mappings":";;AAGO,MAAMA,oDAAoDC,cAAc;IAC3E,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListWebsiteBuilderPageReviewStepCandidatesUseCase } from "./abstractions.js";
|
package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
2
|
+
import { ListReviewsUseCase } from "@webiny/api-workflows/features/review/ListReviews/index.js";
|
|
3
|
+
import { WbPageReviewReadFilter } from "../../../features/target/WbPageReviewReadFilter/index.js";
|
|
4
|
+
import { ListWebsiteBuilderPageReviewsUseCase as UseCase } from "./abstractions.js";
|
|
5
|
+
declare class ListWebsiteBuilderPageReviewsUseCaseImpl implements UseCase.Interface {
|
|
6
|
+
private viewer;
|
|
7
|
+
private listReviews;
|
|
8
|
+
private readFilter;
|
|
9
|
+
constructor(viewer: CurrentReviewViewer.Interface, listReviews: ListReviewsUseCase.Interface, readFilter: WbPageReviewReadFilter.Interface);
|
|
10
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const ListWebsiteBuilderPageReviewsUseCase: typeof ListWebsiteBuilderPageReviewsUseCaseImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebsiteBuilderPageReviewsUseCase>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { getReviewViewerFlags } from "@webiny/api-workflows/domain/review/getReviewViewerFlags.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 { ReviewPersistenceError } from "@webiny/api-workflows/domain/review/errors.js";
|
|
6
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
7
|
+
import { ListReviewsUseCase } from "@webiny/api-workflows/features/review/ListReviews/index.js";
|
|
8
|
+
import { WbPageReviewReadFilter } from "../../target/WbPageReviewReadFilter/index.js";
|
|
9
|
+
import { ListWebsiteBuilderPageReviewsUseCase } from "./abstractions.js";
|
|
10
|
+
class ListWebsiteBuilderPageReviewsUseCaseImpl {
|
|
11
|
+
constructor(viewer, listReviews, readFilter){
|
|
12
|
+
this.viewer = viewer;
|
|
13
|
+
this.listReviews = listReviews;
|
|
14
|
+
this.readFilter = readFilter;
|
|
15
|
+
}
|
|
16
|
+
async execute(input) {
|
|
17
|
+
let viewer;
|
|
18
|
+
try {
|
|
19
|
+
viewer = await this.viewer.get();
|
|
20
|
+
} catch (error) {
|
|
21
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
22
|
+
}
|
|
23
|
+
if (viewer.isFail()) return Result.fail(viewer.error);
|
|
24
|
+
const reviewViewer = viewer.value;
|
|
25
|
+
if ("failedSteps" === input.list && !canReassignByPermission(reviewViewer)) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
26
|
+
action: "list failed steps"
|
|
27
|
+
}));
|
|
28
|
+
const readFilter = await this.readFilter.build();
|
|
29
|
+
if (readFilter.isFail()) return Result.fail(readFilter.error);
|
|
30
|
+
const readable = readFilter.value;
|
|
31
|
+
if (0 === readable.models.length && 0 === readable.ownOnlyModels.length) return Result.ok({
|
|
32
|
+
items: [],
|
|
33
|
+
meta: {
|
|
34
|
+
cursor: null,
|
|
35
|
+
hasMoreItems: false
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
const listed = await this.listReviews.execute({
|
|
39
|
+
list: input.list,
|
|
40
|
+
viewerUserId: reviewViewer.actor.id,
|
|
41
|
+
viewerTeamIds: reviewViewer.teamIds,
|
|
42
|
+
readFilter: readable,
|
|
43
|
+
where: input.where,
|
|
44
|
+
sort: input.sort,
|
|
45
|
+
limit: input.limit,
|
|
46
|
+
after: input.after
|
|
47
|
+
});
|
|
48
|
+
if (listed.isFail()) return Result.fail(listed.error);
|
|
49
|
+
return Result.ok({
|
|
50
|
+
items: listed.value.items.map((review)=>({
|
|
51
|
+
review,
|
|
52
|
+
flags: getReviewViewerFlags(review, reviewViewer)
|
|
53
|
+
})),
|
|
54
|
+
meta: listed.value.meta
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const ListWebsiteBuilderPageReviewsUseCase_ListWebsiteBuilderPageReviewsUseCase = ListWebsiteBuilderPageReviewsUseCase.createImplementation({
|
|
59
|
+
implementation: ListWebsiteBuilderPageReviewsUseCaseImpl,
|
|
60
|
+
dependencies: [
|
|
61
|
+
CurrentReviewViewer,
|
|
62
|
+
ListReviewsUseCase,
|
|
63
|
+
WbPageReviewReadFilter
|
|
64
|
+
]
|
|
65
|
+
});
|
|
66
|
+
export { ListWebsiteBuilderPageReviewsUseCase_ListWebsiteBuilderPageReviewsUseCase as ListWebsiteBuilderPageReviewsUseCase };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=ListWebsiteBuilderPageReviewsUseCase.js.map
|
package/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviews/ListWebsiteBuilderPageReviewsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { getReviewViewerFlags } from \"@webiny/api-workflows/domain/review/getReviewViewerFlags.js\";\nimport { canReassignByPermission } from \"@webiny/api-workflows/domain/review/canReassignByPermission.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { ReviewPersistenceError } from \"@webiny/api-workflows/domain/review/errors.js\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { ListReviewsUseCase } from \"@webiny/api-workflows/features/review/ListReviews/index.js\";\nimport { WbPageReviewReadFilter } from \"~/features/target/WbPageReviewReadFilter/index.js\";\nimport { ListWebsiteBuilderPageReviewsUseCase as UseCase } from \"./abstractions.js\";\n\nclass ListWebsiteBuilderPageReviewsUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private listReviews: ListReviewsUseCase.Interface,\n private readFilter: WbPageReviewReadFilter.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n // A failed team or permission load is a persistence error, never a rejection (R87).\n let viewer: Awaited<CurrentReviewViewer.Return>;\n try {\n viewer = await this.viewer.get();\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (viewer.isFail()) {\n return Result.fail(viewer.error);\n }\n const reviewViewer = viewer.value;\n\n if (input.list === \"failedSteps\" && !canReassignByPermission(reviewViewer)) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: \"list failed steps\" }));\n }\n\n // Read access as the page list applies it, once per call, as query filters (Q77), so no\n // title of a page the viewer cannot read is listed (D76).\n const readFilter = await this.readFilter.build();\n if (readFilter.isFail()) {\n return Result.fail(readFilter.error);\n }\n const readable = readFilter.value;\n if (readable.models.length === 0 && readable.ownOnlyModels.length === 0) {\n return Result.ok({ items: [], meta: { cursor: null, hasMoreItems: false } });\n }\n\n const listed = await this.listReviews.execute({\n list: input.list,\n viewerUserId: reviewViewer.actor.id,\n viewerTeamIds: reviewViewer.teamIds,\n readFilter: readable,\n where: input.where,\n sort: input.sort,\n limit: input.limit,\n after: input.after\n });\n if (listed.isFail()) {\n return Result.fail(listed.error);\n }\n\n // Every row passed the read filter, so the flags apply as they are (A43).\n return Result.ok({\n items: listed.value.items.map(review => {\n return { review, flags: getReviewViewerFlags(review, reviewViewer) };\n }),\n meta: listed.value.meta\n });\n }\n}\n\nexport const ListWebsiteBuilderPageReviewsUseCase = UseCase.createImplementation({\n implementation: ListWebsiteBuilderPageReviewsUseCaseImpl,\n dependencies: [CurrentReviewViewer, ListReviewsUseCase, WbPageReviewReadFilter]\n});\n"],"names":["ListWebsiteBuilderPageReviewsUseCaseImpl","viewer","listReviews","readFilter","input","error","Result","ReviewPersistenceError","Error","String","reviewViewer","canReassignByPermission","WorkflowsNotAuthorizedError","readable","listed","review","getReviewViewerFlags","ListWebsiteBuilderPageReviewsUseCase","UseCase","CurrentReviewViewer","ListReviewsUseCase","WbPageReviewReadFilter"],"mappings":";;;;;;;;;AAUA,MAAMA;IACF,YACYC,MAAqC,EACrCC,WAAyC,EACzCC,UAA4C,CACtD;aAHUF,MAAM,GAANA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QAEvD,IAAIH;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG;QAClC,EAAE,OAAOI,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAIJ,OAAO,MAAM,IACb,OAAOK,OAAO,IAAI,CAACL,OAAO,KAAK;QAEnC,MAAMS,eAAeT,OAAO,KAAK;QAEjC,IAAIG,AAAe,kBAAfA,MAAM,IAAI,IAAsB,CAACO,wBAAwBD,eACzD,OAAOJ,OAAO,IAAI,CAAC,IAAIM,4BAA4B;YAAE,QAAQ;QAAoB;QAKrF,MAAMT,aAAa,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK;QAC9C,IAAIA,WAAW,MAAM,IACjB,OAAOG,OAAO,IAAI,CAACH,WAAW,KAAK;QAEvC,MAAMU,WAAWV,WAAW,KAAK;QACjC,IAAIU,AAA2B,MAA3BA,SAAS,MAAM,CAAC,MAAM,IAAUA,AAAkC,MAAlCA,SAAS,aAAa,CAAC,MAAM,EAC7D,OAAOP,OAAO,EAAE,CAAC;YAAE,OAAO,EAAE;YAAE,MAAM;gBAAE,QAAQ;gBAAM,cAAc;YAAM;QAAE;QAG9E,MAAMQ,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC1C,MAAMV,MAAM,IAAI;YAChB,cAAcM,aAAa,KAAK,CAAC,EAAE;YACnC,eAAeA,aAAa,OAAO;YACnC,YAAYG;YACZ,OAAOT,MAAM,KAAK;YAClB,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;YAClB,OAAOA,MAAM,KAAK;QACtB;QACA,IAAIU,OAAO,MAAM,IACb,OAAOR,OAAO,IAAI,CAACQ,OAAO,KAAK;QAInC,OAAOR,OAAO,EAAE,CAAC;YACb,OAAOQ,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAACC,CAAAA,SACnB;oBAAEA;oBAAQ,OAAOC,qBAAqBD,QAAQL;gBAAc;YAEvE,MAAMI,OAAO,KAAK,CAAC,IAAI;QAC3B;IACJ;AACJ;AAEO,MAAMG,4EAAuCC,qCAAAA,oBAA4B,CAAC;IAC7E,gBAAgBlB;IAChB,cAAc;QAACmB;QAAqBC;QAAoBC;KAAuB;AACnF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ReviewListKind, ReviewListMeta, ReviewListSort, ReviewListWhere, ReviewWithViewerFlags } from "@webiny/api-workflows/domain/review/types.js";
|
|
3
|
+
import type { WorkflowsNotAuthenticatedError, WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
4
|
+
import type { ListReviewsUseCase } from "@webiny/api-workflows/features/review/ListReviews/index.js";
|
|
5
|
+
export interface ListWebsiteBuilderPageReviewsInput {
|
|
6
|
+
list: ReviewListKind;
|
|
7
|
+
/** `reviewState` and `stepState` only with `myRequests`; the engine refuses them elsewhere (R91). */
|
|
8
|
+
where?: ReviewListWhere | null;
|
|
9
|
+
/** Defaults per list: oldest first, newest first for `myRequests` (D119). */
|
|
10
|
+
sort?: ReviewListSort | null;
|
|
11
|
+
/** Default 20, at most 100 (R92). */
|
|
12
|
+
limit?: number | null;
|
|
13
|
+
/** `meta.cursor` of the previous page. */
|
|
14
|
+
after?: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface ListWebsiteBuilderPageReviewsOutput {
|
|
17
|
+
items: ReviewWithViewerFlags[];
|
|
18
|
+
meta: ReviewListMeta;
|
|
19
|
+
}
|
|
20
|
+
export interface IListWebsiteBuilderPageReviewsUseCaseErrors {
|
|
21
|
+
notAuthenticated: WorkflowsNotAuthenticatedError;
|
|
22
|
+
notAuthorized: WorkflowsNotAuthorizedError;
|
|
23
|
+
list: ListReviewsUseCase.Error;
|
|
24
|
+
}
|
|
25
|
+
type UseCaseError = IListWebsiteBuilderPageReviewsUseCaseErrors[keyof IListWebsiteBuilderPageReviewsUseCaseErrors];
|
|
26
|
+
export interface IListWebsiteBuilderPageReviewsUseCase {
|
|
27
|
+
execute(input: ListWebsiteBuilderPageReviewsInput): Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The viewer's page review lists (spec 11, D47, D133): `wb.page` reviews only, each row a page the
|
|
31
|
+
* Website Builder page list would show the viewer (D76, Q77): own pages only with an own-only
|
|
32
|
+
* permission, none in a folder the viewer cannot read. Each row carries the viewer's flags. Failed
|
|
33
|
+
* steps need `reassign` (D112, R95).
|
|
34
|
+
*/
|
|
35
|
+
export declare const ListWebsiteBuilderPageReviewsUseCase: import("@webiny/di").Abstraction<IListWebsiteBuilderPageReviewsUseCase>;
|
|
36
|
+
export declare namespace ListWebsiteBuilderPageReviewsUseCase {
|
|
37
|
+
type Interface = IListWebsiteBuilderPageReviewsUseCase;
|
|
38
|
+
type Input = ListWebsiteBuilderPageReviewsInput;
|
|
39
|
+
type Output = ListWebsiteBuilderPageReviewsOutput;
|
|
40
|
+
type Error = UseCaseError;
|
|
41
|
+
type Return = Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviews/abstractions.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviews/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type {\n ReviewListKind,\n ReviewListMeta,\n ReviewListSort,\n ReviewListWhere,\n ReviewWithViewerFlags\n} 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 { ListReviewsUseCase } from \"@webiny/api-workflows/features/review/ListReviews/index.js\";\n\nexport interface ListWebsiteBuilderPageReviewsInput {\n list: ReviewListKind;\n /** `reviewState` and `stepState` only with `myRequests`; the engine refuses them elsewhere (R91). */\n where?: ReviewListWhere | null;\n /** Defaults per list: oldest first, newest first for `myRequests` (D119). */\n sort?: ReviewListSort | null;\n /** Default 20, at most 100 (R92). */\n limit?: number | null;\n /** `meta.cursor` of the previous page. */\n after?: string | null;\n}\n\nexport interface ListWebsiteBuilderPageReviewsOutput {\n items: ReviewWithViewerFlags[];\n meta: ReviewListMeta;\n}\n\nexport interface IListWebsiteBuilderPageReviewsUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n notAuthorized: WorkflowsNotAuthorizedError;\n list: ListReviewsUseCase.Error;\n}\n\ntype UseCaseError =\n IListWebsiteBuilderPageReviewsUseCaseErrors[keyof IListWebsiteBuilderPageReviewsUseCaseErrors];\n\nexport interface IListWebsiteBuilderPageReviewsUseCase {\n execute(\n input: ListWebsiteBuilderPageReviewsInput\n ): Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;\n}\n\n/**\n * The viewer's page review lists (spec 11, D47, D133): `wb.page` reviews only, each row a page the\n * Website Builder page list would show the viewer (D76, Q77): own pages only with an own-only\n * permission, none in a folder the viewer cannot read. Each row carries the viewer's flags. Failed\n * steps need `reassign` (D112, R95).\n */\nexport const ListWebsiteBuilderPageReviewsUseCase =\n createAbstraction<IListWebsiteBuilderPageReviewsUseCase>(\n \"ListWebsiteBuilderPageReviewsUseCase\"\n );\n\nexport namespace ListWebsiteBuilderPageReviewsUseCase {\n export type Interface = IListWebsiteBuilderPageReviewsUseCase;\n export type Input = ListWebsiteBuilderPageReviewsInput;\n export type Output = ListWebsiteBuilderPageReviewsOutput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ListWebsiteBuilderPageReviewsOutput, UseCaseError>>;\n}\n"],"names":["ListWebsiteBuilderPageReviewsUseCase","createAbstraction"],"mappings":";AAoDO,MAAMA,uCACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListWebsiteBuilderPageReviewsUseCase } from "./ListWebsiteBuilderPageReviewsUseCase.js";
|
|
3
|
+
const ListWebsiteBuilderPageReviewsFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviews",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(ListWebsiteBuilderPageReviewsUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { ListWebsiteBuilderPageReviewsFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageReviews/feature.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageReviews/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebsiteBuilderPageReviewsUseCase } from \"./ListWebsiteBuilderPageReviewsUseCase.js\";\n\nexport const ListWebsiteBuilderPageReviewsFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ListWebsiteBuilderPageReviews\",\n register(container) {\n container.register(ListWebsiteBuilderPageReviewsUseCase);\n }\n});\n"],"names":["ListWebsiteBuilderPageReviewsFeature","createFeature","container","ListWebsiteBuilderPageReviewsUseCase"],"mappings":";;AAGO,MAAMA,uCAAuCC,cAAc;IAC9D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListWebsiteBuilderPageReviewsUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
2
|
+
import { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
|
|
3
|
+
import { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
|
|
4
|
+
import { WbPageTargetReader } from "../../../features/target/WbPageTargetReader/index.js";
|
|
5
|
+
import { WbPageAccess } from "../../../features/target/WbPageAccess/index.js";
|
|
6
|
+
import { ListWebsiteBuilderPageStepCandidatesUseCase as UseCase } from "./abstractions.js";
|
|
7
|
+
/**
|
|
8
|
+
* The page checks are `RequestWebsiteBuilderPageReviewUseCase`'s: the entity-level write
|
|
9
|
+
* permission before anything is read (R75), a page the viewer cannot see is not found, a visible
|
|
10
|
+
* page without write access is not authorized. A workflow of another app is not found (R128).
|
|
11
|
+
* The viewer is the requester the engine leaves out of the list.
|
|
12
|
+
*/
|
|
13
|
+
declare class ListWebsiteBuilderPageStepCandidatesUseCaseImpl implements UseCase.Interface {
|
|
14
|
+
private viewer;
|
|
15
|
+
private targets;
|
|
16
|
+
private access;
|
|
17
|
+
private getWorkflow;
|
|
18
|
+
private listCandidates;
|
|
19
|
+
constructor(viewer: CurrentReviewViewer.Interface, targets: WbPageTargetReader.Interface, access: WbPageAccess.Interface, getWorkflow: GetWorkflowUseCase.Interface, listCandidates: ListStepCandidatesUseCase.Interface);
|
|
20
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
21
|
+
}
|
|
22
|
+
export declare const ListWebsiteBuilderPageStepCandidatesUseCase: typeof ListWebsiteBuilderPageStepCandidatesUseCaseImpl & {
|
|
23
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebsiteBuilderPageStepCandidatesUseCase>;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
3
|
+
import { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
|
|
4
|
+
import { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
|
|
5
|
+
import { redactStepCandidates } from "@webiny/api-workflows/domain/routing/redactStepCandidates.js";
|
|
6
|
+
import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
7
|
+
import { WorkflowNotFoundError } from "@webiny/api-workflows/domain/workflow/errors.js";
|
|
8
|
+
import { ReviewPersistenceError, ReviewTargetNotFoundError } from "@webiny/api-workflows/domain/review/errors.js";
|
|
9
|
+
import { WbPageTargetReader } from "../../target/WbPageTargetReader/index.js";
|
|
10
|
+
import { WbPageAccess } from "../../target/WbPageAccess/index.js";
|
|
11
|
+
import { WB_PAGE_NAMESPACE } from "../../../constants.js";
|
|
12
|
+
import { isWbWorkflow } from "../shared/wbWorkflows.js";
|
|
13
|
+
import { ListWebsiteBuilderPageStepCandidatesUseCase } from "./abstractions.js";
|
|
14
|
+
const ACTION = "list the step's candidates";
|
|
15
|
+
class ListWebsiteBuilderPageStepCandidatesUseCaseImpl {
|
|
16
|
+
constructor(viewer, targets, access, getWorkflow, listCandidates){
|
|
17
|
+
this.viewer = viewer;
|
|
18
|
+
this.targets = targets;
|
|
19
|
+
this.access = access;
|
|
20
|
+
this.getWorkflow = getWorkflow;
|
|
21
|
+
this.listCandidates = listCandidates;
|
|
22
|
+
}
|
|
23
|
+
async execute(input) {
|
|
24
|
+
let viewer;
|
|
25
|
+
try {
|
|
26
|
+
viewer = await this.viewer.get();
|
|
27
|
+
} catch (error) {
|
|
28
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
29
|
+
}
|
|
30
|
+
if (viewer.isFail()) return Result.fail(viewer.error);
|
|
31
|
+
let canWriteAnyPage;
|
|
32
|
+
try {
|
|
33
|
+
canWriteAnyPage = await this.access.canWriteAnyPage();
|
|
34
|
+
} catch (error) {
|
|
35
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
36
|
+
}
|
|
37
|
+
if (!canWriteAnyPage) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
38
|
+
action: ACTION
|
|
39
|
+
}));
|
|
40
|
+
let target;
|
|
41
|
+
try {
|
|
42
|
+
target = await this.targets.read({
|
|
43
|
+
model: WB_PAGE_NAMESPACE,
|
|
44
|
+
targetRevisionId: input.targetRevisionId
|
|
45
|
+
});
|
|
46
|
+
} catch (error) {
|
|
47
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
48
|
+
}
|
|
49
|
+
if (!target || target.page.entryId !== input.targetId) return Result.fail(new ReviewTargetNotFoundError({
|
|
50
|
+
model: WB_PAGE_NAMESPACE,
|
|
51
|
+
targetRevisionId: input.targetRevisionId
|
|
52
|
+
}));
|
|
53
|
+
let canWrite;
|
|
54
|
+
try {
|
|
55
|
+
canWrite = await this.access.canWrite(target);
|
|
56
|
+
} catch (error) {
|
|
57
|
+
return Result.fail(new ReviewPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
58
|
+
}
|
|
59
|
+
if (!canWrite) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
60
|
+
action: ACTION
|
|
61
|
+
}));
|
|
62
|
+
const workflow = await this.getWorkflow.execute({
|
|
63
|
+
id: input.workflowId
|
|
64
|
+
});
|
|
65
|
+
if (workflow.isFail()) return Result.fail(workflow.error);
|
|
66
|
+
if (!isWbWorkflow(workflow.value)) return Result.fail(new WorkflowNotFoundError({
|
|
67
|
+
id: input.workflowId
|
|
68
|
+
}));
|
|
69
|
+
const candidates = await this.listCandidates.execute({
|
|
70
|
+
workflowId: input.workflowId,
|
|
71
|
+
stepId: input.stepId,
|
|
72
|
+
model: WB_PAGE_NAMESPACE,
|
|
73
|
+
targetId: input.targetId,
|
|
74
|
+
targetRevisionId: input.targetRevisionId,
|
|
75
|
+
requesterId: viewer.value.actor.id
|
|
76
|
+
});
|
|
77
|
+
if (candidates.isFail()) return Result.fail(candidates.error);
|
|
78
|
+
return Result.ok(redactStepCandidates(candidates.value, viewer.value.permissions));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const ListWebsiteBuilderPageStepCandidatesUseCase_ListWebsiteBuilderPageStepCandidatesUseCase = ListWebsiteBuilderPageStepCandidatesUseCase.createImplementation({
|
|
82
|
+
implementation: ListWebsiteBuilderPageStepCandidatesUseCaseImpl,
|
|
83
|
+
dependencies: [
|
|
84
|
+
CurrentReviewViewer,
|
|
85
|
+
WbPageTargetReader,
|
|
86
|
+
WbPageAccess,
|
|
87
|
+
GetWorkflowUseCase,
|
|
88
|
+
ListStepCandidatesUseCase
|
|
89
|
+
]
|
|
90
|
+
});
|
|
91
|
+
export { ListWebsiteBuilderPageStepCandidatesUseCase_ListWebsiteBuilderPageStepCandidatesUseCase as ListWebsiteBuilderPageStepCandidatesUseCase };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=ListWebsiteBuilderPageStepCandidatesUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageStepCandidates/ListWebsiteBuilderPageStepCandidatesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { ListStepCandidatesUseCase } from \"@webiny/api-workflows/features/routing/ListStepCandidates/index.js\";\nimport { GetWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/GetWorkflow/index.js\";\nimport { redactStepCandidates } from \"@webiny/api-workflows/domain/routing/redactStepCandidates.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport { WorkflowNotFoundError } from \"@webiny/api-workflows/domain/workflow/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 { isWbWorkflow } from \"../shared/wbWorkflows.js\";\nimport { ListWebsiteBuilderPageStepCandidatesUseCase as UseCase } from \"./abstractions.js\";\n\nconst ACTION = \"list the step's candidates\";\n\n/**\n * The page checks are `RequestWebsiteBuilderPageReviewUseCase`'s: the entity-level write\n * permission before anything is read (R75), a page the viewer cannot see is not found, a visible\n * page without write access is not authorized. A workflow of another app is not found (R128).\n * The viewer is the requester the engine leaves out of the list.\n */\nclass ListWebsiteBuilderPageStepCandidatesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private targets: WbPageTargetReader.Interface,\n private access: WbPageAccess.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private listCandidates: ListStepCandidatesUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n // A failed team or permission load is a persistence error, never a rejection (R87).\n let viewer: Awaited<CurrentReviewViewer.Return>;\n try {\n viewer = await this.viewer.get();\n } catch (error) {\n return Result.fail(\n new ReviewPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (viewer.isFail()) {\n return Result.fail(viewer.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: ACTION }));\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: ACTION }));\n }\n\n const workflow = await this.getWorkflow.execute({ id: input.workflowId });\n if (workflow.isFail()) {\n return Result.fail(workflow.error);\n }\n // R128, R46: another app's workflow is not found here; its name never leaks.\n if (!isWbWorkflow(workflow.value)) {\n return Result.fail(new WorkflowNotFoundError({ id: input.workflowId }));\n }\n\n const candidates = await this.listCandidates.execute({\n workflowId: input.workflowId,\n stepId: input.stepId,\n model: WB_PAGE_NAMESPACE,\n targetId: input.targetId,\n targetRevisionId: input.targetRevisionId,\n requesterId: viewer.value.actor.id\n });\n if (candidates.isFail()) {\n return Result.fail(candidates.error);\n }\n return Result.ok(redactStepCandidates(candidates.value, viewer.value.permissions));\n }\n}\n\nexport const ListWebsiteBuilderPageStepCandidatesUseCase = UseCase.createImplementation({\n implementation: ListWebsiteBuilderPageStepCandidatesUseCaseImpl,\n dependencies: [\n CurrentReviewViewer,\n WbPageTargetReader,\n WbPageAccess,\n GetWorkflowUseCase,\n ListStepCandidatesUseCase\n ]\n});\n"],"names":["ACTION","ListWebsiteBuilderPageStepCandidatesUseCaseImpl","viewer","targets","access","getWorkflow","listCandidates","input","error","Result","ReviewPersistenceError","Error","String","canWriteAnyPage","WorkflowsNotAuthorizedError","target","WB_PAGE_NAMESPACE","ReviewTargetNotFoundError","canWrite","workflow","isWbWorkflow","WorkflowNotFoundError","candidates","redactStepCandidates","ListWebsiteBuilderPageStepCandidatesUseCase","UseCase","CurrentReviewViewer","WbPageTargetReader","WbPageAccess","GetWorkflowUseCase","ListStepCandidatesUseCase"],"mappings":";;;;;;;;;;;;;AAiBA,MAAMA,SAAS;AAQf,MAAMC;IACF,YACYC,MAAqC,EACrCC,OAAqC,EACrCC,MAA8B,EAC9BC,WAAyC,EACzCC,cAAmD,CAC7D;aALUJ,MAAM,GAANA;aACAC,OAAO,GAAPA;aACAC,MAAM,GAANA;aACAC,WAAW,GAAXA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QAEvD,IAAIL;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG;QAClC,EAAE,OAAOM,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAIN,OAAO,MAAM,IACb,OAAOO,OAAO,IAAI,CAACP,OAAO,KAAK;QAGnC,IAAIW;QACJ,IAAI;YACAA,kBAAkB,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe;QACvD,EAAE,OAAOL,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAI,CAACK,iBACD,OAAOJ,OAAO,IAAI,CAAC,IAAIK,4BAA4B;YAAE,QAAQd;QAAO;QAGxE,IAAIe;QACJ,IAAI;YACAA,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,OAAOC;gBACP,kBAAkBT,MAAM,gBAAgB;YAC5C;QACJ,EAAE,OAAOC,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAI,CAACO,UAAUA,OAAO,IAAI,CAAC,OAAO,KAAKR,MAAM,QAAQ,EACjD,OAAOE,OAAO,IAAI,CACd,IAAIQ,0BAA0B;YAC1B,OAAOD;YACP,kBAAkBT,MAAM,gBAAgB;QAC5C;QAGR,IAAIW;QACJ,IAAI;YACAA,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACH;QAC1C,EAAE,OAAOP,OAAO;YACZ,OAAOC,OAAO,IAAI,CACd,IAAIC,uBACAF,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAMC,OAAOJ;QAG9D;QACA,IAAI,CAACU,UACD,OAAOT,OAAO,IAAI,CAAC,IAAIK,4BAA4B;YAAE,QAAQd;QAAO;QAGxE,MAAMmB,WAAW,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,IAAIZ,MAAM,UAAU;QAAC;QACvE,IAAIY,SAAS,MAAM,IACf,OAAOV,OAAO,IAAI,CAACU,SAAS,KAAK;QAGrC,IAAI,CAACC,aAAaD,SAAS,KAAK,GAC5B,OAAOV,OAAO,IAAI,CAAC,IAAIY,sBAAsB;YAAE,IAAId,MAAM,UAAU;QAAC;QAGxE,MAAMe,aAAa,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACjD,YAAYf,MAAM,UAAU;YAC5B,QAAQA,MAAM,MAAM;YACpB,OAAOS;YACP,UAAUT,MAAM,QAAQ;YACxB,kBAAkBA,MAAM,gBAAgB;YACxC,aAAaL,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE;QACtC;QACA,IAAIoB,WAAW,MAAM,IACjB,OAAOb,OAAO,IAAI,CAACa,WAAW,KAAK;QAEvC,OAAOb,OAAO,EAAE,CAACc,qBAAqBD,WAAW,KAAK,EAAEpB,OAAO,KAAK,CAAC,WAAW;IACpF;AACJ;AAEO,MAAMsB,0FAA8CC,4CAAAA,oBAA4B,CAAC;IACpF,gBAAgBxB;IAChB,cAAc;QACVyB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { StepCandidate } from "@webiny/api-workflows/domain/routing/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 { ListStepCandidatesUseCase } from "@webiny/api-workflows/features/routing/ListStepCandidates/index.js";
|
|
6
|
+
import type { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
|
|
7
|
+
import type { WorkflowNotFoundError } from "@webiny/api-workflows/domain/workflow/errors.js";
|
|
8
|
+
export interface ListWebsiteBuilderPageStepCandidatesInput {
|
|
9
|
+
workflowId: string;
|
|
10
|
+
stepId: string;
|
|
11
|
+
/** The page id. */
|
|
12
|
+
targetId: string;
|
|
13
|
+
/** The page revision id. */
|
|
14
|
+
targetRevisionId: string;
|
|
15
|
+
}
|
|
16
|
+
export interface IListWebsiteBuilderPageStepCandidatesUseCaseErrors {
|
|
17
|
+
notAuthenticated: WorkflowsNotAuthenticatedError;
|
|
18
|
+
notAuthorized: WorkflowsNotAuthorizedError;
|
|
19
|
+
targetNotFound: ReviewTargetNotFoundError;
|
|
20
|
+
persistence: ReviewPersistenceError;
|
|
21
|
+
workflow: GetWorkflowUseCase.Error;
|
|
22
|
+
workflowNotFound: WorkflowNotFoundError;
|
|
23
|
+
candidates: ListStepCandidatesUseCase.Error;
|
|
24
|
+
}
|
|
25
|
+
type UseCaseError = IListWebsiteBuilderPageStepCandidatesUseCaseErrors[keyof IListWebsiteBuilderPageStepCandidatesUseCaseErrors];
|
|
26
|
+
export interface IListWebsiteBuilderPageStepCandidatesUseCase {
|
|
27
|
+
execute(input: ListWebsiteBuilderPageStepCandidatesInput): Promise<Result<StepCandidate[], UseCaseError>>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Who could take a step of a page review the viewer is about to request (spec 10, D128, R120):
|
|
31
|
+
* write access to the page revision, as for the request itself (D77); a workflow of another app
|
|
32
|
+
* is not found (R46, R128); exclusion reasons only for `editor` / `reassign` (D97).
|
|
33
|
+
*/
|
|
34
|
+
export declare const ListWebsiteBuilderPageStepCandidatesUseCase: import("@webiny/di").Abstraction<IListWebsiteBuilderPageStepCandidatesUseCase>;
|
|
35
|
+
export declare namespace ListWebsiteBuilderPageStepCandidatesUseCase {
|
|
36
|
+
type Interface = IListWebsiteBuilderPageStepCandidatesUseCase;
|
|
37
|
+
type Input = ListWebsiteBuilderPageStepCandidatesInput;
|
|
38
|
+
type Error = UseCaseError;
|
|
39
|
+
type Return = Promise<Result<StepCandidate[], UseCaseError>>;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const ListWebsiteBuilderPageStepCandidatesUseCase = createAbstraction("ListWebsiteBuilderPageStepCandidatesUseCase");
|
|
3
|
+
export { ListWebsiteBuilderPageStepCandidatesUseCase };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageStepCandidates/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { StepCandidate } from \"@webiny/api-workflows/domain/routing/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 { ListStepCandidatesUseCase } from \"@webiny/api-workflows/features/routing/ListStepCandidates/index.js\";\nimport type { GetWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/GetWorkflow/index.js\";\nimport type { WorkflowNotFoundError } from \"@webiny/api-workflows/domain/workflow/errors.js\";\n\nexport interface ListWebsiteBuilderPageStepCandidatesInput {\n workflowId: string;\n stepId: string;\n /** The page id. */\n targetId: string;\n /** The page revision id. */\n targetRevisionId: string;\n}\n\nexport interface IListWebsiteBuilderPageStepCandidatesUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n notAuthorized: WorkflowsNotAuthorizedError;\n targetNotFound: ReviewTargetNotFoundError;\n persistence: ReviewPersistenceError;\n workflow: GetWorkflowUseCase.Error;\n workflowNotFound: WorkflowNotFoundError;\n candidates: ListStepCandidatesUseCase.Error;\n}\n\ntype UseCaseError =\n IListWebsiteBuilderPageStepCandidatesUseCaseErrors[keyof IListWebsiteBuilderPageStepCandidatesUseCaseErrors];\n\nexport interface IListWebsiteBuilderPageStepCandidatesUseCase {\n execute(\n input: ListWebsiteBuilderPageStepCandidatesInput\n ): Promise<Result<StepCandidate[], UseCaseError>>;\n}\n\n/**\n * Who could take a step of a page review the viewer is about to request (spec 10, D128, R120):\n * write access to the page revision, as for the request itself (D77); a workflow of another app\n * is not found (R46, R128); exclusion reasons only for `editor` / `reassign` (D97).\n */\nexport const ListWebsiteBuilderPageStepCandidatesUseCase =\n createAbstraction<IListWebsiteBuilderPageStepCandidatesUseCase>(\n \"ListWebsiteBuilderPageStepCandidatesUseCase\"\n );\n\nexport namespace ListWebsiteBuilderPageStepCandidatesUseCase {\n export type Interface = IListWebsiteBuilderPageStepCandidatesUseCase;\n export type Input = ListWebsiteBuilderPageStepCandidatesInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<StepCandidate[], UseCaseError>>;\n}\n"],"names":["ListWebsiteBuilderPageStepCandidatesUseCase","createAbstraction"],"mappings":";AA+CO,MAAMA,8CACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListWebsiteBuilderPageStepCandidatesUseCase } from "./ListWebsiteBuilderPageStepCandidatesUseCase.js";
|
|
3
|
+
const ListWebsiteBuilderPageStepCandidatesFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/ListWebsiteBuilderPageStepCandidates",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(ListWebsiteBuilderPageStepCandidatesUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { ListWebsiteBuilderPageStepCandidatesFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageStepCandidates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebsiteBuilderPageStepCandidatesUseCase } from \"./ListWebsiteBuilderPageStepCandidatesUseCase.js\";\n\nexport const ListWebsiteBuilderPageStepCandidatesFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ListWebsiteBuilderPageStepCandidates\",\n register(container) {\n container.register(ListWebsiteBuilderPageStepCandidatesUseCase);\n }\n});\n"],"names":["ListWebsiteBuilderPageStepCandidatesFeature","createFeature","container","ListWebsiteBuilderPageStepCandidatesUseCase"],"mappings":";;AAGO,MAAMA,8CAA8CC,cAAc;IACrE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListWebsiteBuilderPageStepCandidatesUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListWebsiteBuilderPageStepCandidatesUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
2
|
+
import { ListWorkflowsUseCase } from "@webiny/api-workflows/features/workflow/ListWorkflows/index.js";
|
|
3
|
+
import { ListWebsiteBuilderPageWorkflowsUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class ListWebsiteBuilderPageWorkflowsUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private viewer;
|
|
6
|
+
private listWorkflows;
|
|
7
|
+
constructor(viewer: CurrentReviewViewer.Interface, listWorkflows: ListWorkflowsUseCase.Interface);
|
|
8
|
+
execute(): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListWebsiteBuilderPageWorkflowsUseCase: typeof ListWebsiteBuilderPageWorkflowsUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebsiteBuilderPageWorkflowsUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
package/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
3
|
+
import { ListWorkflowsUseCase } from "@webiny/api-workflows/features/workflow/ListWorkflows/index.js";
|
|
4
|
+
import { WB_PAGE_NAMESPACE } from "../../../constants.js";
|
|
5
|
+
import { isWbWorkflow } from "../shared/wbWorkflows.js";
|
|
6
|
+
import { ListWebsiteBuilderPageWorkflowsUseCase } from "./abstractions.js";
|
|
7
|
+
const LIMIT = 10;
|
|
8
|
+
class ListWebsiteBuilderPageWorkflowsUseCaseImpl {
|
|
9
|
+
constructor(viewer, listWorkflows){
|
|
10
|
+
this.viewer = viewer;
|
|
11
|
+
this.listWorkflows = listWorkflows;
|
|
12
|
+
}
|
|
13
|
+
async execute() {
|
|
14
|
+
const actor = this.viewer.getActor();
|
|
15
|
+
if (actor.isFail()) return Result.fail(actor.error);
|
|
16
|
+
const listed = await this.listWorkflows.execute({
|
|
17
|
+
where: {
|
|
18
|
+
models_in: [
|
|
19
|
+
WB_PAGE_NAMESPACE
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
limit: LIMIT
|
|
23
|
+
});
|
|
24
|
+
if (listed.isFail()) return Result.fail(listed.error);
|
|
25
|
+
return Result.ok(listed.value.items.filter(isWbWorkflow));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const ListWebsiteBuilderPageWorkflowsUseCase_ListWebsiteBuilderPageWorkflowsUseCase = ListWebsiteBuilderPageWorkflowsUseCase.createImplementation({
|
|
29
|
+
implementation: ListWebsiteBuilderPageWorkflowsUseCaseImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
CurrentReviewViewer,
|
|
32
|
+
ListWorkflowsUseCase
|
|
33
|
+
]
|
|
34
|
+
});
|
|
35
|
+
export { ListWebsiteBuilderPageWorkflowsUseCase_ListWebsiteBuilderPageWorkflowsUseCase as ListWebsiteBuilderPageWorkflowsUseCase };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=ListWebsiteBuilderPageWorkflowsUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageWorkflows/ListWebsiteBuilderPageWorkflowsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { ListWorkflowsUseCase } from \"@webiny/api-workflows/features/workflow/ListWorkflows/index.js\";\nimport { WB_PAGE_NAMESPACE } from \"~/constants.js\";\nimport { isWbWorkflow } from \"../shared/wbWorkflows.js\";\nimport { ListWebsiteBuilderPageWorkflowsUseCase as UseCase } from \"./abstractions.js\";\n\n/** v1 binds one workflow per model (D15); a few extra cover the accepted save race (D41). */\nconst LIMIT = 10;\n\nclass ListWebsiteBuilderPageWorkflowsUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private listWorkflows: ListWorkflowsUseCase.Interface\n ) {}\n\n public async execute(): UseCase.Return {\n const actor = this.viewer.getActor();\n if (actor.isFail()) {\n return Result.fail(actor.error);\n }\n\n const listed = await this.listWorkflows.execute({\n where: { models_in: [WB_PAGE_NAMESPACE] },\n limit: LIMIT\n });\n if (listed.isFail()) {\n return Result.fail(listed.error);\n }\n return Result.ok(listed.value.items.filter(isWbWorkflow));\n }\n}\n\nexport const ListWebsiteBuilderPageWorkflowsUseCase = UseCase.createImplementation({\n implementation: ListWebsiteBuilderPageWorkflowsUseCaseImpl,\n dependencies: [CurrentReviewViewer, ListWorkflowsUseCase]\n});\n"],"names":["LIMIT","ListWebsiteBuilderPageWorkflowsUseCaseImpl","viewer","listWorkflows","actor","Result","listed","WB_PAGE_NAMESPACE","isWbWorkflow","ListWebsiteBuilderPageWorkflowsUseCase","UseCase","CurrentReviewViewer","ListWorkflowsUseCase"],"mappings":";;;;;;AAQA,MAAMA,QAAQ;AAEd,MAAMC;IACF,YACYC,MAAqC,EACrCC,aAA6C,CACvD;aAFUD,MAAM,GAANA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,UAA0B;QACnC,MAAMC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;QAClC,IAAIA,MAAM,MAAM,IACZ,OAAOC,OAAO,IAAI,CAACD,MAAM,KAAK;QAGlC,MAAME,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC5C,OAAO;gBAAE,WAAW;oBAACC;iBAAkB;YAAC;YACxC,OAAOP;QACX;QACA,IAAIM,OAAO,MAAM,IACb,OAAOD,OAAO,IAAI,CAACC,OAAO,KAAK;QAEnC,OAAOD,OAAO,EAAE,CAACC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAACE;IAC/C;AACJ;AAEO,MAAMC,gFAAyCC,uCAAAA,oBAA4B,CAAC;IAC/E,gBAAgBT;IAChB,cAAc;QAACU;QAAqBC;KAAqB;AAC7D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { Workflow } from "@webiny/api-workflows/domain/workflow/types.js";
|
|
3
|
+
import type { WorkflowsNotAuthenticatedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
4
|
+
import type { WorkflowPersistenceError } from "@webiny/api-workflows/domain/workflow/errors.js";
|
|
5
|
+
export interface IListWebsiteBuilderPageWorkflowsUseCaseErrors {
|
|
6
|
+
notAuthenticated: WorkflowsNotAuthenticatedError;
|
|
7
|
+
persistence: WorkflowPersistenceError;
|
|
8
|
+
}
|
|
9
|
+
type UseCaseError = IListWebsiteBuilderPageWorkflowsUseCaseErrors[keyof IListWebsiteBuilderPageWorkflowsUseCaseErrors];
|
|
10
|
+
export interface IListWebsiteBuilderPageWorkflowsUseCase {
|
|
11
|
+
execute(): Promise<Result<Workflow[], UseCaseError>>;
|
|
12
|
+
}
|
|
13
|
+
/** The pages workflow (at most one in v1, D15), for any signed-in identity (D78, R59). */
|
|
14
|
+
export declare const ListWebsiteBuilderPageWorkflowsUseCase: import("@webiny/di").Abstraction<IListWebsiteBuilderPageWorkflowsUseCase>;
|
|
15
|
+
export declare namespace ListWebsiteBuilderPageWorkflowsUseCase {
|
|
16
|
+
type Interface = IListWebsiteBuilderPageWorkflowsUseCase;
|
|
17
|
+
type Error = UseCaseError;
|
|
18
|
+
type Return = Promise<Result<Workflow[], UseCaseError>>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageWorkflows/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Workflow } from \"@webiny/api-workflows/domain/workflow/types.js\";\nimport type { WorkflowsNotAuthenticatedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type { WorkflowPersistenceError } from \"@webiny/api-workflows/domain/workflow/errors.js\";\n\nexport interface IListWebsiteBuilderPageWorkflowsUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n persistence: WorkflowPersistenceError;\n}\n\ntype UseCaseError =\n IListWebsiteBuilderPageWorkflowsUseCaseErrors[keyof IListWebsiteBuilderPageWorkflowsUseCaseErrors];\n\nexport interface IListWebsiteBuilderPageWorkflowsUseCase {\n execute(): Promise<Result<Workflow[], UseCaseError>>;\n}\n\n/** The pages workflow (at most one in v1, D15), for any signed-in identity (D78, R59). */\nexport const ListWebsiteBuilderPageWorkflowsUseCase =\n createAbstraction<IListWebsiteBuilderPageWorkflowsUseCase>(\n \"ListWebsiteBuilderPageWorkflowsUseCase\"\n );\n\nexport namespace ListWebsiteBuilderPageWorkflowsUseCase {\n export type Interface = IListWebsiteBuilderPageWorkflowsUseCase;\n export type Error = UseCaseError;\n export type Return = Promise<Result<Workflow[], UseCaseError>>;\n}\n"],"names":["ListWebsiteBuilderPageWorkflowsUseCase","createAbstraction"],"mappings":";AAkBO,MAAMA,yCACTC,kBACI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ListWebsiteBuilderPageWorkflowsUseCase } from "./ListWebsiteBuilderPageWorkflowsUseCase.js";
|
|
3
|
+
const ListWebsiteBuilderPageWorkflowsFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilderWorkflows/ListWebsiteBuilderPageWorkflows",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(ListWebsiteBuilderPageWorkflowsUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { ListWebsiteBuilderPageWorkflowsFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/ListWebsiteBuilderPageWorkflows/feature.js","sources":["../../../../src/features/wrappers/ListWebsiteBuilderPageWorkflows/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebsiteBuilderPageWorkflowsUseCase } from \"./ListWebsiteBuilderPageWorkflowsUseCase.js\";\n\nexport const ListWebsiteBuilderPageWorkflowsFeature = createFeature({\n name: \"WebsiteBuilderWorkflows/ListWebsiteBuilderPageWorkflows\",\n register(container) {\n container.register(ListWebsiteBuilderPageWorkflowsUseCase);\n }\n});\n"],"names":["ListWebsiteBuilderPageWorkflowsFeature","createFeature","container","ListWebsiteBuilderPageWorkflowsUseCase"],"mappings":";;AAGO,MAAMA,yCAAyCC,cAAc;IAChE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListWebsiteBuilderPageWorkflowsUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ListWebsiteBuilderPageWorkflowsUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReassignReviewStepUseCase } from "@webiny/api-workflows/features/review/ReassignReviewStep/index.js";
|
|
2
|
+
import { WbPageReviewGuardService } from "../WbPageReviewGuardService/index.js";
|
|
3
|
+
import { ReassignWebsiteBuilderPageReviewStepUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class ReassignWebsiteBuilderPageReviewStepUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private guard;
|
|
6
|
+
private reassignStep;
|
|
7
|
+
constructor(guard: WbPageReviewGuardService.Interface, reassignStep: ReassignReviewStepUseCase.Interface);
|
|
8
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const ReassignWebsiteBuilderPageReviewStepUseCase: typeof ReassignWebsiteBuilderPageReviewStepUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IReassignWebsiteBuilderPageReviewStepUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|