@webiny/api-headless-cms-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/CmsWorkflowsFeature.js +8 -4
- package/CmsWorkflowsFeature.js.map +1 -1
- package/domain/errors.d.ts +27 -0
- package/domain/errors.js +14 -0
- package/domain/errors.js.map +1 -0
- package/features/Workflows/feature.js +2 -0
- package/features/Workflows/feature.js.map +1 -1
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.d.ts +18 -6
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.js +30 -13
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.js.map +1 -1
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeUpdate.d.ts +23 -0
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeUpdate.js +44 -0
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeUpdate.js.map +1 -0
- package/features/hooks/BlockDeleteMultipleWhileInReview.d.ts +22 -0
- package/features/hooks/BlockDeleteMultipleWhileInReview.js +64 -0
- package/features/hooks/BlockDeleteMultipleWhileInReview.js.map +1 -0
- package/features/hooks/BlockDeleteWhileInReview.d.ts +18 -0
- package/features/hooks/BlockDeleteWhileInReview.js +45 -0
- package/features/hooks/BlockDeleteWhileInReview.js.map +1 -0
- package/features/hooks/BlockFolderChangeWhileInReview.d.ts +21 -0
- package/features/hooks/BlockFolderChangeWhileInReview.js +44 -0
- package/features/hooks/BlockFolderChangeWhileInReview.js.map +1 -0
- package/features/hooks/BlockMoveWhileInReview.d.ts +19 -0
- package/features/hooks/BlockMoveWhileInReview.js +46 -0
- package/features/hooks/BlockMoveWhileInReview.js.map +1 -0
- package/features/hooks/BlockRevisionDeleteWhileInReview.d.ts +17 -0
- package/features/hooks/BlockRevisionDeleteWhileInReview.js +46 -0
- package/features/hooks/BlockRevisionDeleteWhileInReview.js.map +1 -0
- package/features/hooks/BlockUpdateWhileInReview.d.ts +25 -0
- package/features/hooks/BlockUpdateWhileInReview.js +43 -0
- package/features/hooks/BlockUpdateWhileInReview.js.map +1 -0
- package/features/hooks/DeleteModelBoundToWorkflowDecorator.d.ts +22 -0
- package/features/hooks/DeleteModelBoundToWorkflowDecorator.js +52 -0
- package/features/hooks/DeleteModelBoundToWorkflowDecorator.js.map +1 -0
- package/features/hooks/DeleteModelTaskBoundToWorkflowDecorator.d.ts +27 -0
- package/features/hooks/DeleteModelTaskBoundToWorkflowDecorator.js +64 -0
- package/features/hooks/DeleteModelTaskBoundToWorkflowDecorator.js.map +1 -0
- package/features/hooks/DeleteReviewsOnEntriesDeleteMultiple.d.ts +19 -0
- package/features/hooks/DeleteReviewsOnEntriesDeleteMultiple.js +47 -0
- package/features/hooks/DeleteReviewsOnEntriesDeleteMultiple.js.map +1 -0
- package/features/hooks/DeleteReviewsOnEntryDelete.d.ts +19 -0
- package/features/hooks/DeleteReviewsOnEntryDelete.js +46 -0
- package/features/hooks/DeleteReviewsOnEntryDelete.js.map +1 -0
- package/features/hooks/DeleteReviewsOnRevisionDelete.d.ts +18 -0
- package/features/hooks/DeleteReviewsOnRevisionDelete.js +46 -0
- package/features/hooks/DeleteReviewsOnRevisionDelete.js.map +1 -0
- package/features/hooks/FullyDeleteModelBoundToWorkflowDecorator.d.ts +28 -0
- package/features/hooks/FullyDeleteModelBoundToWorkflowDecorator.js +63 -0
- package/features/hooks/FullyDeleteModelBoundToWorkflowDecorator.js.map +1 -0
- package/features/hooks/NullReviewStateOnRevisionCreate.d.ts +15 -0
- package/features/hooks/NullReviewStateOnRevisionCreate.js +17 -0
- package/features/hooks/NullReviewStateOnRevisionCreate.js.map +1 -0
- package/features/hooks/RequireApprovedReviewOnPublish.d.ts +22 -0
- package/features/hooks/RequireApprovedReviewOnPublish.js +43 -0
- package/features/hooks/RequireApprovedReviewOnPublish.js.map +1 -0
- package/features/hooks/RequireApprovedReviewOnRepublish.d.ts +23 -0
- package/features/hooks/RequireApprovedReviewOnRepublish.js +49 -0
- package/features/hooks/RequireApprovedReviewOnRepublish.js.map +1 -0
- package/features/hooks/feature.d.ts +8 -0
- package/features/hooks/feature.js +39 -0
- package/features/hooks/feature.js.map +1 -0
- package/features/target/CandidateFolderReadRules/CandidateFolderReadRules.d.ts +18 -0
- package/features/target/CandidateFolderReadRules/CandidateFolderReadRules.js +97 -0
- package/features/target/CandidateFolderReadRules/CandidateFolderReadRules.js.map +1 -0
- package/features/target/CandidateFolderReadRules/abstractions.d.ts +35 -0
- package/features/target/CandidateFolderReadRules/abstractions.js +5 -0
- package/features/target/CandidateFolderReadRules/abstractions.js.map +1 -0
- package/features/target/CandidateFolderReadRules/index.d.ts +1 -0
- package/features/target/CandidateFolderReadRules/index.js +1 -0
- package/features/target/CmsEntryAccess/CmsEntryAccess.d.ts +32 -0
- package/features/target/CmsEntryAccess/CmsEntryAccess.js +141 -0
- package/features/target/CmsEntryAccess/CmsEntryAccess.js.map +1 -0
- package/features/target/CmsEntryAccess/abstractions.d.ts +48 -0
- package/features/target/CmsEntryAccess/abstractions.js +5 -0
- package/features/target/CmsEntryAccess/abstractions.js.map +1 -0
- package/features/target/CmsEntryAccess/index.d.ts +2 -0
- package/features/target/CmsEntryAccess/index.js +2 -0
- package/features/target/CmsEntryAccess/unreadableCodes.d.ts +1 -0
- package/features/target/CmsEntryAccess/unreadableCodes.js +9 -0
- package/features/target/CmsEntryAccess/unreadableCodes.js.map +1 -0
- package/features/target/CmsEntryDeniedFolders/CmsEntryDeniedFolders.d.ts +21 -0
- package/features/target/CmsEntryDeniedFolders/CmsEntryDeniedFolders.js +66 -0
- package/features/target/CmsEntryDeniedFolders/CmsEntryDeniedFolders.js.map +1 -0
- package/features/target/CmsEntryDeniedFolders/abstractions.d.ts +23 -0
- package/features/target/CmsEntryDeniedFolders/abstractions.js +5 -0
- package/features/target/CmsEntryDeniedFolders/abstractions.js.map +1 -0
- package/features/target/CmsEntryDeniedFolders/index.d.ts +1 -0
- package/features/target/CmsEntryDeniedFolders/index.js +1 -0
- package/features/target/CmsEntryFolderExistsService/CmsEntryFolderExistsService.d.ts +18 -0
- package/features/target/CmsEntryFolderExistsService/CmsEntryFolderExistsService.js +43 -0
- package/features/target/CmsEntryFolderExistsService/CmsEntryFolderExistsService.js.map +1 -0
- package/features/target/CmsEntryFolderExistsService/abstractions.d.ts +23 -0
- package/features/target/CmsEntryFolderExistsService/abstractions.js +5 -0
- package/features/target/CmsEntryFolderExistsService/abstractions.js.map +1 -0
- package/features/target/CmsEntryFolderExistsService/index.d.ts +1 -0
- package/features/target/CmsEntryFolderExistsService/index.js +1 -0
- package/features/target/CmsEntryReviewNamespace/CmsModelReviewNamespace.d.ts +10 -0
- package/features/target/CmsEntryReviewNamespace/CmsModelReviewNamespace.js +14 -0
- package/features/target/CmsEntryReviewNamespace/CmsModelReviewNamespace.js.map +1 -0
- package/features/target/CmsEntryReviewNamespace/abstractions.d.ts +17 -0
- package/features/target/CmsEntryReviewNamespace/abstractions.js +5 -0
- package/features/target/CmsEntryReviewNamespace/abstractions.js.map +1 -0
- package/features/target/CmsEntryReviewNamespace/index.d.ts +1 -0
- package/features/target/CmsEntryReviewNamespace/index.js +1 -0
- package/features/target/CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.d.ts +20 -0
- package/features/target/CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.js +80 -0
- package/features/target/CmsEntryReviewReadFilter/CmsEntryReviewReadFilter.js.map +1 -0
- package/features/target/CmsEntryReviewReadFilter/abstractions.d.ts +24 -0
- package/features/target/CmsEntryReviewReadFilter/abstractions.js +5 -0
- package/features/target/CmsEntryReviewReadFilter/abstractions.js.map +1 -0
- package/features/target/CmsEntryReviewReadFilter/index.d.ts +1 -0
- package/features/target/CmsEntryReviewReadFilter/index.js +1 -0
- package/features/target/CmsEntryReviewTargetEditor.d.ts +28 -0
- package/features/target/CmsEntryReviewTargetEditor.js +128 -0
- package/features/target/CmsEntryReviewTargetEditor.js.map +1 -0
- package/features/target/CmsEntryReviewTargetFolderChain.d.ts +22 -0
- package/features/target/CmsEntryReviewTargetFolderChain.js +37 -0
- package/features/target/CmsEntryReviewTargetFolderChain.js.map +1 -0
- package/features/target/CmsEntryReviewTargetLink.d.ts +17 -0
- package/features/target/CmsEntryReviewTargetLink.js +18 -0
- package/features/target/CmsEntryReviewTargetLink.js.map +1 -0
- package/features/target/CmsEntryReviewTargetLoader.d.ts +16 -0
- package/features/target/CmsEntryReviewTargetLoader.js +29 -0
- package/features/target/CmsEntryReviewTargetLoader.js.map +1 -0
- package/features/target/CmsEntryReviewTargetReadAccess.d.ts +41 -0
- package/features/target/CmsEntryReviewTargetReadAccess.js +91 -0
- package/features/target/CmsEntryReviewTargetReadAccess.js.map +1 -0
- package/features/target/CmsEntryReviewTargetSync.d.ts +23 -0
- package/features/target/CmsEntryReviewTargetSync.js +42 -0
- package/features/target/CmsEntryReviewTargetSync.js.map +1 -0
- package/features/target/CmsEntryTargetReader/CmsEntryTargetReader.d.ts +27 -0
- package/features/target/CmsEntryTargetReader/CmsEntryTargetReader.js +81 -0
- package/features/target/CmsEntryTargetReader/CmsEntryTargetReader.js.map +1 -0
- package/features/target/CmsEntryTargetReader/abstractions.d.ts +40 -0
- package/features/target/CmsEntryTargetReader/abstractions.js +5 -0
- package/features/target/CmsEntryTargetReader/abstractions.js.map +1 -0
- package/features/target/CmsEntryTargetReader/index.d.ts +1 -0
- package/features/target/CmsEntryTargetReader/index.js +1 -0
- package/features/target/CmsModelGroupService/CmsModelGroupService.d.ts +12 -0
- package/features/target/CmsModelGroupService/CmsModelGroupService.js +25 -0
- package/features/target/CmsModelGroupService/CmsModelGroupService.js.map +1 -0
- package/features/target/CmsModelGroupService/abstractions.d.ts +24 -0
- package/features/target/CmsModelGroupService/abstractions.js +5 -0
- package/features/target/CmsModelGroupService/abstractions.js.map +1 -0
- package/features/target/CmsModelGroupService/index.d.ts +1 -0
- package/features/target/CmsModelGroupService/index.js +1 -0
- package/features/target/CmsWorkflowModelParser.d.ts +9 -0
- package/features/target/CmsWorkflowModelParser.js +18 -0
- package/features/target/CmsWorkflowModelParser.js.map +1 -0
- package/features/target/FolderReadRule.d.ts +9 -0
- package/features/target/FolderReadRule.js +0 -0
- package/features/target/WorkflowEntrySystemField.d.ts +13 -0
- package/features/target/WorkflowEntrySystemField.js +35 -0
- package/features/target/WorkflowEntrySystemField.js.map +1 -0
- package/features/target/feature.d.ts +5 -0
- package/features/target/feature.js +41 -0
- package/features/target/feature.js.map +1 -0
- package/features/target/getModelSafeValidationMessage.d.ts +11 -0
- package/features/target/getModelSafeValidationMessage.js +28 -0
- package/features/target/getModelSafeValidationMessage.js.map +1 -0
- package/features/target/isEditorFieldValue.d.ts +9 -0
- package/features/target/isEditorFieldValue.js +30 -0
- package/features/target/isEditorFieldValue.js.map +1 -0
- package/features/target/toCmsReviewTarget.d.ts +4 -0
- package/features/target/toCmsReviewTarget.js +26 -0
- package/features/target/toCmsReviewTarget.js.map +1 -0
- package/features/target/toEditorFields.d.ts +9 -0
- package/features/target/toEditorFields.js +48 -0
- package/features/target/toEditorFields.js.map +1 -0
- package/features/target/toEntryValuesPatch.d.ts +9 -0
- package/features/target/toEntryValuesPatch.js +31 -0
- package/features/target/toEntryValuesPatch.js.map +1 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.js +35 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/ApproveCmsEntryReviewStepUseCase.js.map +1 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/abstractions.d.ts +26 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/abstractions.js +5 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/feature.d.ts +4 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/feature.js +11 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/feature.js.map +1 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/index.d.ts +1 -0
- package/features/wrappers/ApproveCmsEntryReviewStep/index.js +1 -0
- package/features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.d.ts +13 -0
- package/features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.js +37 -0
- package/features/wrappers/CancelCmsEntryReview/CancelCmsEntryReviewUseCase.js.map +1 -0
- package/features/wrappers/CancelCmsEntryReview/abstractions.d.ts +30 -0
- package/features/wrappers/CancelCmsEntryReview/abstractions.js +5 -0
- package/features/wrappers/CancelCmsEntryReview/abstractions.js.map +1 -0
- package/features/wrappers/CancelCmsEntryReview/feature.d.ts +4 -0
- package/features/wrappers/CancelCmsEntryReview/feature.js +11 -0
- package/features/wrappers/CancelCmsEntryReview/feature.js.map +1 -0
- package/features/wrappers/CancelCmsEntryReview/index.d.ts +1 -0
- package/features/wrappers/CancelCmsEntryReview/index.js +1 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/CancelCmsEntryReviewsForDeleteUseCase.d.ts +19 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/CancelCmsEntryReviewsForDeleteUseCase.js +85 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/CancelCmsEntryReviewsForDeleteUseCase.js.map +1 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/abstractions.d.ts +41 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/abstractions.js +5 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/abstractions.js.map +1 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/feature.d.ts +4 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/feature.js +11 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/feature.js.map +1 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/index.d.ts +1 -0
- package/features/wrappers/CancelCmsEntryReviewsForDelete/index.js +1 -0
- package/features/wrappers/CmsEntryFolderExists/CmsEntryFolderExistsUseCase.d.ts +15 -0
- package/features/wrappers/CmsEntryFolderExists/CmsEntryFolderExistsUseCase.js +46 -0
- package/features/wrappers/CmsEntryFolderExists/CmsEntryFolderExistsUseCase.js.map +1 -0
- package/features/wrappers/CmsEntryFolderExists/abstractions.d.ts +29 -0
- package/features/wrappers/CmsEntryFolderExists/abstractions.js +5 -0
- package/features/wrappers/CmsEntryFolderExists/abstractions.js.map +1 -0
- package/features/wrappers/CmsEntryFolderExists/feature.d.ts +4 -0
- package/features/wrappers/CmsEntryFolderExists/feature.js +11 -0
- package/features/wrappers/CmsEntryFolderExists/feature.js.map +1 -0
- package/features/wrappers/CmsEntryFolderExists/index.d.ts +1 -0
- package/features/wrappers/CmsEntryFolderExists/index.js +1 -0
- package/features/wrappers/CmsEntryReviewGuardService/CmsEntryReviewGuardService.d.ts +17 -0
- package/features/wrappers/CmsEntryReviewGuardService/CmsEntryReviewGuardService.js +63 -0
- package/features/wrappers/CmsEntryReviewGuardService/CmsEntryReviewGuardService.js.map +1 -0
- package/features/wrappers/CmsEntryReviewGuardService/abstractions.d.ts +37 -0
- package/features/wrappers/CmsEntryReviewGuardService/abstractions.js +5 -0
- package/features/wrappers/CmsEntryReviewGuardService/abstractions.js.map +1 -0
- package/features/wrappers/CmsEntryReviewGuardService/index.d.ts +1 -0
- package/features/wrappers/CmsEntryReviewGuardService/index.js +1 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/DeleteCmsEntryWorkflowUseCase.d.ts +25 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/DeleteCmsEntryWorkflowUseCase.js +98 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/DeleteCmsEntryWorkflowUseCase.js.map +1 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/abstractions.d.ts +32 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/abstractions.js +5 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/abstractions.js.map +1 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/feature.d.ts +4 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/feature.js +11 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/feature.js.map +1 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/index.d.ts +1 -0
- package/features/wrappers/DeleteCmsEntryWorkflow/index.js +1 -0
- package/features/wrappers/GetCmsEntryReview/GetCmsEntryReviewUseCase.d.ts +13 -0
- package/features/wrappers/GetCmsEntryReview/GetCmsEntryReviewUseCase.js +40 -0
- package/features/wrappers/GetCmsEntryReview/GetCmsEntryReviewUseCase.js.map +1 -0
- package/features/wrappers/GetCmsEntryReview/abstractions.d.ts +28 -0
- package/features/wrappers/GetCmsEntryReview/abstractions.js +5 -0
- package/features/wrappers/GetCmsEntryReview/abstractions.js.map +1 -0
- package/features/{EntryWorkflows → wrappers/GetCmsEntryReview}/feature.d.ts +1 -1
- package/features/wrappers/GetCmsEntryReview/feature.js +11 -0
- package/features/wrappers/GetCmsEntryReview/feature.js.map +1 -0
- package/features/wrappers/GetCmsEntryReview/index.d.ts +1 -0
- package/features/wrappers/GetCmsEntryReview/index.js +1 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/GetCmsEntryReviewStepRunUseCase.d.ts +13 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/GetCmsEntryReviewStepRunUseCase.js +39 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/GetCmsEntryReviewStepRunUseCase.js.map +1 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/abstractions.d.ts +33 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/abstractions.js +5 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/abstractions.js.map +1 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/feature.d.ts +4 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/feature.js +11 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/feature.js.map +1 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/index.d.ts +1 -0
- package/features/wrappers/GetCmsEntryReviewStepRun/index.js +1 -0
- package/features/wrappers/GetCmsEntryTargetReview/GetCmsEntryTargetReviewUseCase.d.ts +19 -0
- package/features/wrappers/GetCmsEntryTargetReview/GetCmsEntryTargetReviewUseCase.js +76 -0
- package/features/wrappers/GetCmsEntryTargetReview/GetCmsEntryTargetReviewUseCase.js.map +1 -0
- package/features/wrappers/GetCmsEntryTargetReview/abstractions.d.ts +36 -0
- package/features/wrappers/GetCmsEntryTargetReview/abstractions.js +5 -0
- package/features/wrappers/GetCmsEntryTargetReview/abstractions.js.map +1 -0
- package/features/wrappers/GetCmsEntryTargetReview/feature.d.ts +4 -0
- package/features/wrappers/GetCmsEntryTargetReview/feature.js +11 -0
- package/features/wrappers/GetCmsEntryTargetReview/feature.js.map +1 -0
- package/features/wrappers/GetCmsEntryTargetReview/index.d.ts +1 -0
- package/features/wrappers/GetCmsEntryTargetReview/index.js +1 -0
- package/features/wrappers/GetCmsEntryWorkflow/GetCmsEntryWorkflowUseCase.d.ts +13 -0
- package/features/wrappers/GetCmsEntryWorkflow/GetCmsEntryWorkflowUseCase.js +34 -0
- package/features/wrappers/GetCmsEntryWorkflow/GetCmsEntryWorkflowUseCase.js.map +1 -0
- package/features/wrappers/GetCmsEntryWorkflow/abstractions.d.ts +24 -0
- package/features/wrappers/GetCmsEntryWorkflow/abstractions.js +5 -0
- package/features/wrappers/GetCmsEntryWorkflow/abstractions.js.map +1 -0
- package/features/wrappers/GetCmsEntryWorkflow/feature.d.ts +4 -0
- package/features/wrappers/GetCmsEntryWorkflow/feature.js +11 -0
- package/features/wrappers/GetCmsEntryWorkflow/feature.js.map +1 -0
- package/features/wrappers/GetCmsEntryWorkflow/index.d.ts +1 -0
- package/features/wrappers/GetCmsEntryWorkflow/index.js +1 -0
- package/features/wrappers/InspectCmsEntryRouting/InspectCmsEntryRoutingUseCase.d.ts +19 -0
- package/features/wrappers/InspectCmsEntryRouting/InspectCmsEntryRoutingUseCase.js +54 -0
- package/features/wrappers/InspectCmsEntryRouting/InspectCmsEntryRoutingUseCase.js.map +1 -0
- package/features/wrappers/InspectCmsEntryRouting/abstractions.d.ts +37 -0
- package/features/wrappers/InspectCmsEntryRouting/abstractions.js +5 -0
- package/features/wrappers/InspectCmsEntryRouting/abstractions.js.map +1 -0
- package/features/wrappers/InspectCmsEntryRouting/feature.d.ts +4 -0
- package/features/wrappers/InspectCmsEntryRouting/feature.js +11 -0
- package/features/wrappers/InspectCmsEntryRouting/feature.js.map +1 -0
- package/features/wrappers/InspectCmsEntryRouting/index.d.ts +1 -0
- package/features/wrappers/InspectCmsEntryRouting/index.js +1 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/ListCmsEntryBlockingReviewsUseCase.d.ts +25 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/ListCmsEntryBlockingReviewsUseCase.js +109 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/ListCmsEntryBlockingReviewsUseCase.js.map +1 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/abstractions.d.ts +36 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/abstractions.js +6 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/abstractions.js.map +1 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/feature.d.ts +4 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/feature.js +11 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/feature.js.map +1 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/index.d.ts +1 -0
- package/features/wrappers/ListCmsEntryBlockingReviews/index.js +1 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/ListCmsEntryReviewStepCandidatesUseCase.d.ts +13 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/ListCmsEntryReviewStepCandidatesUseCase.js +41 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/ListCmsEntryReviewStepCandidatesUseCase.js.map +1 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/abstractions.d.ts +30 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/abstractions.js +5 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/abstractions.js.map +1 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/feature.d.ts +4 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/feature.js +11 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/feature.js.map +1 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/index.d.ts +1 -0
- package/features/wrappers/ListCmsEntryReviewStepCandidates/index.js +1 -0
- package/features/wrappers/ListCmsEntryReviews/ListCmsEntryReviewsUseCase.d.ts +17 -0
- package/features/wrappers/ListCmsEntryReviews/ListCmsEntryReviewsUseCase.js +85 -0
- package/features/wrappers/ListCmsEntryReviews/ListCmsEntryReviewsUseCase.js.map +1 -0
- package/features/wrappers/ListCmsEntryReviews/abstractions.d.ts +50 -0
- package/features/wrappers/ListCmsEntryReviews/abstractions.js +5 -0
- package/features/wrappers/ListCmsEntryReviews/abstractions.js.map +1 -0
- package/features/wrappers/ListCmsEntryReviews/feature.d.ts +4 -0
- package/features/wrappers/ListCmsEntryReviews/feature.js +11 -0
- package/features/wrappers/ListCmsEntryReviews/feature.js.map +1 -0
- package/features/wrappers/ListCmsEntryReviews/index.d.ts +1 -0
- package/features/wrappers/ListCmsEntryReviews/index.js +1 -0
- package/features/wrappers/ListCmsEntryStepCandidates/ListCmsEntryStepCandidatesUseCase.d.ts +25 -0
- package/features/wrappers/ListCmsEntryStepCandidates/ListCmsEntryStepCandidatesUseCase.js +83 -0
- package/features/wrappers/ListCmsEntryStepCandidates/ListCmsEntryStepCandidatesUseCase.js.map +1 -0
- package/features/wrappers/ListCmsEntryStepCandidates/abstractions.d.ts +41 -0
- package/features/wrappers/ListCmsEntryStepCandidates/abstractions.js +5 -0
- package/features/wrappers/ListCmsEntryStepCandidates/abstractions.js.map +1 -0
- package/features/wrappers/ListCmsEntryStepCandidates/feature.d.ts +4 -0
- package/features/wrappers/ListCmsEntryStepCandidates/feature.js +11 -0
- package/features/wrappers/ListCmsEntryStepCandidates/feature.js.map +1 -0
- package/features/wrappers/ListCmsEntryStepCandidates/index.d.ts +1 -0
- package/features/wrappers/ListCmsEntryStepCandidates/index.js +1 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/ListCmsEntryWorkflowModelsUseCase.d.ts +17 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/ListCmsEntryWorkflowModelsUseCase.js +106 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/ListCmsEntryWorkflowModelsUseCase.js.map +1 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/abstractions.d.ts +58 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/abstractions.js +5 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/abstractions.js.map +1 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/feature.d.ts +4 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/feature.js +11 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/feature.js.map +1 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/index.d.ts +2 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/index.js +1 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/modelListCursor.d.ts +8 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/modelListCursor.js +20 -0
- package/features/wrappers/ListCmsEntryWorkflowModels/modelListCursor.js.map +1 -0
- package/features/wrappers/ListCmsEntryWorkflows/ListCmsEntryWorkflowsUseCase.d.ts +17 -0
- package/features/wrappers/ListCmsEntryWorkflows/ListCmsEntryWorkflowsUseCase.js +43 -0
- package/features/wrappers/ListCmsEntryWorkflows/ListCmsEntryWorkflowsUseCase.js.map +1 -0
- package/features/wrappers/ListCmsEntryWorkflows/abstractions.d.ts +24 -0
- package/features/wrappers/ListCmsEntryWorkflows/abstractions.js +5 -0
- package/features/wrappers/ListCmsEntryWorkflows/abstractions.js.map +1 -0
- package/features/wrappers/ListCmsEntryWorkflows/feature.d.ts +4 -0
- package/features/wrappers/ListCmsEntryWorkflows/feature.js +11 -0
- package/features/wrappers/ListCmsEntryWorkflows/feature.js.map +1 -0
- package/features/wrappers/ListCmsEntryWorkflows/index.d.ts +1 -0
- package/features/wrappers/ListCmsEntryWorkflows/index.js +1 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/ReassignCmsEntryReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/ReassignCmsEntryReviewStepUseCase.js +40 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/ReassignCmsEntryReviewStepUseCase.js.map +1 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/abstractions.d.ts +32 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/abstractions.js +5 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/feature.d.ts +4 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/feature.js +11 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/feature.js.map +1 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/index.d.ts +1 -0
- package/features/wrappers/ReassignCmsEntryReviewStep/index.js +1 -0
- package/features/wrappers/RejectCmsEntryReviewStep/RejectCmsEntryReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/RejectCmsEntryReviewStep/RejectCmsEntryReviewStepUseCase.js +35 -0
- package/features/wrappers/RejectCmsEntryReviewStep/RejectCmsEntryReviewStepUseCase.js.map +1 -0
- package/features/wrappers/RejectCmsEntryReviewStep/abstractions.d.ts +26 -0
- package/features/wrappers/RejectCmsEntryReviewStep/abstractions.js +5 -0
- package/features/wrappers/RejectCmsEntryReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/RejectCmsEntryReviewStep/feature.d.ts +4 -0
- package/features/wrappers/RejectCmsEntryReviewStep/feature.js +11 -0
- package/features/wrappers/RejectCmsEntryReviewStep/feature.js.map +1 -0
- package/features/wrappers/RejectCmsEntryReviewStep/index.d.ts +1 -0
- package/features/wrappers/RejectCmsEntryReviewStep/index.js +1 -0
- package/features/wrappers/RequestCmsEntryReview/RequestCmsEntryReviewUseCase.d.ts +21 -0
- package/features/wrappers/RequestCmsEntryReview/RequestCmsEntryReviewUseCase.js +63 -0
- package/features/wrappers/RequestCmsEntryReview/RequestCmsEntryReviewUseCase.js.map +1 -0
- package/features/wrappers/RequestCmsEntryReview/abstractions.d.ts +38 -0
- package/features/wrappers/RequestCmsEntryReview/abstractions.js +5 -0
- package/features/wrappers/RequestCmsEntryReview/abstractions.js.map +1 -0
- package/features/wrappers/RequestCmsEntryReview/feature.d.ts +4 -0
- package/features/wrappers/RequestCmsEntryReview/feature.js +11 -0
- package/features/wrappers/RequestCmsEntryReview/feature.js.map +1 -0
- package/features/wrappers/RequestCmsEntryReview/index.d.ts +1 -0
- package/features/wrappers/RequestCmsEntryReview/index.js +1 -0
- package/features/wrappers/RestartCmsEntryReviewStep/RestartCmsEntryReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/RestartCmsEntryReviewStep/RestartCmsEntryReviewStepUseCase.js +39 -0
- package/features/wrappers/RestartCmsEntryReviewStep/RestartCmsEntryReviewStepUseCase.js.map +1 -0
- package/features/wrappers/RestartCmsEntryReviewStep/abstractions.d.ts +30 -0
- package/features/wrappers/RestartCmsEntryReviewStep/abstractions.js +5 -0
- package/features/wrappers/RestartCmsEntryReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/RestartCmsEntryReviewStep/feature.d.ts +4 -0
- package/features/wrappers/RestartCmsEntryReviewStep/feature.js +11 -0
- package/features/wrappers/RestartCmsEntryReviewStep/feature.js.map +1 -0
- package/features/wrappers/RestartCmsEntryReviewStep/index.d.ts +1 -0
- package/features/wrappers/RestartCmsEntryReviewStep/index.js +1 -0
- package/features/wrappers/StartCmsEntryReviewStep/StartCmsEntryReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/StartCmsEntryReviewStep/StartCmsEntryReviewStepUseCase.js +34 -0
- package/features/wrappers/StartCmsEntryReviewStep/StartCmsEntryReviewStepUseCase.js.map +1 -0
- package/features/wrappers/StartCmsEntryReviewStep/abstractions.d.ts +25 -0
- package/features/wrappers/StartCmsEntryReviewStep/abstractions.js +5 -0
- package/features/wrappers/StartCmsEntryReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/StartCmsEntryReviewStep/feature.d.ts +4 -0
- package/features/wrappers/StartCmsEntryReviewStep/feature.js +11 -0
- package/features/wrappers/StartCmsEntryReviewStep/feature.js.map +1 -0
- package/features/wrappers/StartCmsEntryReviewStep/index.d.ts +1 -0
- package/features/wrappers/StartCmsEntryReviewStep/index.js +1 -0
- package/features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.d.ts +17 -0
- package/features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.js +57 -0
- package/features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.js.map +1 -0
- package/features/wrappers/StoreCmsEntryWorkflow/abstractions.d.ts +32 -0
- package/features/wrappers/StoreCmsEntryWorkflow/abstractions.js +5 -0
- package/features/wrappers/StoreCmsEntryWorkflow/abstractions.js.map +1 -0
- package/features/wrappers/StoreCmsEntryWorkflow/feature.d.ts +4 -0
- package/features/wrappers/StoreCmsEntryWorkflow/feature.js +11 -0
- package/features/wrappers/StoreCmsEntryWorkflow/feature.js.map +1 -0
- package/features/wrappers/StoreCmsEntryWorkflow/index.d.ts +1 -0
- package/features/wrappers/StoreCmsEntryWorkflow/index.js +1 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.d.ts +13 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.js +35 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.js.map +1 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/abstractions.d.ts +27 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/abstractions.js +5 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/abstractions.js.map +1 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/feature.d.ts +4 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/feature.js +11 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/feature.js.map +1 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/index.d.ts +1 -0
- package/features/wrappers/TakeOverCmsEntryReviewStep/index.js +1 -0
- package/features/wrappers/feature.d.ts +9 -0
- package/features/wrappers/feature.js +57 -0
- package/features/wrappers/feature.js.map +1 -0
- package/features/wrappers/shared/cmsWorkflows.d.ts +6 -0
- package/features/wrappers/shared/cmsWorkflows.js +8 -0
- package/features/wrappers/shared/cmsWorkflows.js.map +1 -0
- package/graphql/CmsWorkflowsSchemaFactory.d.ts +14 -0
- package/graphql/CmsWorkflowsSchemaFactory.js +695 -0
- package/graphql/CmsWorkflowsSchemaFactory.js.map +1 -0
- package/graphql/entrySystemSchema.d.ts +4 -0
- package/graphql/entrySystemSchema.js +3 -2
- package/graphql/entrySystemSchema.js.map +1 -1
- package/graphql/isValidRevisionId.d.ts +6 -0
- package/graphql/isValidRevisionId.js +9 -0
- package/graphql/isValidRevisionId.js.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +22 -17
- package/types.d.ts +24 -0
- package/types.js +0 -0
- package/utils/appName.d.ts +9 -5
- package/utils/appName.js +6 -4
- package/utils/appName.js.map +1 -1
- package/utils/folderType.d.ts +4 -0
- package/utils/folderType.js +9 -0
- package/utils/folderType.js.map +1 -0
- package/utils/isBindableModel.d.ts +9 -0
- package/utils/isBindableModel.js +8 -0
- package/utils/isBindableModel.js.map +1 -0
- package/features/EntryWorkflows/decorators/CmsWorkflowStateContextProvider.d.ts +0 -15
- package/features/EntryWorkflows/decorators/CmsWorkflowStateContextProvider.js +0 -35
- package/features/EntryWorkflows/decorators/CmsWorkflowStateContextProvider.js.map +0 -1
- package/features/EntryWorkflows/decorators/CmsWorkflowStateFilter.d.ts +0 -13
- package/features/EntryWorkflows/decorators/CmsWorkflowStateFilter.js +0 -45
- package/features/EntryWorkflows/decorators/CmsWorkflowStateFilter.js.map +0 -1
- package/features/EntryWorkflows/errors.d.ts +0 -11
- package/features/EntryWorkflows/errors.js +0 -12
- package/features/EntryWorkflows/errors.js.map +0 -1
- package/features/EntryWorkflows/feature.js +0 -29
- package/features/EntryWorkflows/feature.js.map +0 -1
- package/features/EntryWorkflows/handlers/BlockMoveOnActiveWorkflowState.d.ts +0 -11
- package/features/EntryWorkflows/handlers/BlockMoveOnActiveWorkflowState.js +0 -37
- package/features/EntryWorkflows/handlers/BlockMoveOnActiveWorkflowState.js.map +0 -1
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.d.ts +0 -13
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.js +0 -35
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.js.map +0 -1
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateCancel.d.ts +0 -13
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateCancel.js +0 -35
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateCancel.js.map +0 -1
- package/features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.d.ts +0 -11
- package/features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.js +0 -26
- package/features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.js.map +0 -1
- package/features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.d.ts +0 -13
- package/features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.js +0 -42
- package/features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.js.map +0 -1
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.d.ts +0 -13
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.js +0 -37
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.js.map +0 -1
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.d.ts +0 -13
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.js +0 -36
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.js.map +0 -1
- package/features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.d.ts +0 -11
- package/features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.js +0 -46
- package/features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.js.map +0 -1
- package/features/EntryWorkflows/index.d.ts +0 -1
- package/features/EntryWorkflows/index.js +0 -1
- package/utils/modelAllowed.d.ts +0 -2
- package/utils/modelAllowed.js +0 -9
- package/utils/modelAllowed.js.map +0 -1
- package/utils/state.d.ts +0 -3
- package/utils/state.js +0 -12
- package/utils/state.js.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CurrentReviewViewer } from "@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js";
|
|
3
|
+
import { WorkflowsPermissions } from "@webiny/api-workflows/features/permissions/WorkflowsPermissions/index.js";
|
|
4
|
+
import { GetWorkflowUseCase } from "@webiny/api-workflows/features/workflow/GetWorkflow/index.js";
|
|
5
|
+
import { StoreWorkflowUseCase } from "@webiny/api-workflows/features/workflow/StoreWorkflow/index.js";
|
|
6
|
+
import { WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
7
|
+
import { WorkflowNotFoundError, WorkflowPersistenceError, WorkflowValidationError } from "@webiny/api-workflows/domain/workflow/errors.js";
|
|
8
|
+
import { CMS_MODELS_ONLY, belongsToCms, isCmsWorkflow } from "../shared/cmsWorkflows.js";
|
|
9
|
+
import { StoreCmsEntryWorkflowUseCase } from "./abstractions.js";
|
|
10
|
+
class StoreCmsEntryWorkflowUseCaseImpl {
|
|
11
|
+
constructor(viewer, permissions, getWorkflow, storeWorkflow){
|
|
12
|
+
this.viewer = viewer;
|
|
13
|
+
this.permissions = permissions;
|
|
14
|
+
this.getWorkflow = getWorkflow;
|
|
15
|
+
this.storeWorkflow = storeWorkflow;
|
|
16
|
+
}
|
|
17
|
+
async execute(input) {
|
|
18
|
+
const actor = this.viewer.getActor();
|
|
19
|
+
if (actor.isFail()) return Result.fail(actor.error);
|
|
20
|
+
let canEdit;
|
|
21
|
+
try {
|
|
22
|
+
canEdit = await this.permissions.canEdit();
|
|
23
|
+
} catch (error) {
|
|
24
|
+
return Result.fail(new WorkflowPersistenceError(error instanceof Error ? error : new Error(String(error))));
|
|
25
|
+
}
|
|
26
|
+
if (!canEdit) return Result.fail(new WorkflowsNotAuthorizedError({
|
|
27
|
+
action: "manage workflows"
|
|
28
|
+
}));
|
|
29
|
+
if (!belongsToCms(input.workflow.models)) return Result.fail(new WorkflowValidationError(CMS_MODELS_ONLY, {
|
|
30
|
+
field: "models"
|
|
31
|
+
}));
|
|
32
|
+
const existing = await this.getWorkflow.execute({
|
|
33
|
+
id: input.workflow.id
|
|
34
|
+
});
|
|
35
|
+
if (existing.isFail() && !(existing.error instanceof WorkflowNotFoundError)) return Result.fail(existing.error);
|
|
36
|
+
if (existing.isOk() && !isCmsWorkflow(existing.value)) return Result.fail(new WorkflowNotFoundError({
|
|
37
|
+
id: input.workflow.id
|
|
38
|
+
}));
|
|
39
|
+
return this.storeWorkflow.execute({
|
|
40
|
+
workflow: input.workflow,
|
|
41
|
+
savedOn: input.savedOn,
|
|
42
|
+
actor: actor.value
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const StoreCmsEntryWorkflowUseCase_StoreCmsEntryWorkflowUseCase = StoreCmsEntryWorkflowUseCase.createImplementation({
|
|
47
|
+
implementation: StoreCmsEntryWorkflowUseCaseImpl,
|
|
48
|
+
dependencies: [
|
|
49
|
+
CurrentReviewViewer,
|
|
50
|
+
WorkflowsPermissions,
|
|
51
|
+
GetWorkflowUseCase,
|
|
52
|
+
StoreWorkflowUseCase
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
export { StoreCmsEntryWorkflowUseCase_StoreCmsEntryWorkflowUseCase as StoreCmsEntryWorkflowUseCase };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=StoreCmsEntryWorkflowUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.js","sources":["../../../../src/features/wrappers/StoreCmsEntryWorkflow/StoreCmsEntryWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CurrentReviewViewer } from \"@webiny/api-workflows/features/identity/CurrentReviewViewer/index.js\";\nimport { WorkflowsPermissions } from \"@webiny/api-workflows/features/permissions/WorkflowsPermissions/index.js\";\nimport { GetWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/GetWorkflow/index.js\";\nimport { StoreWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/StoreWorkflow/index.js\";\nimport { WorkflowsNotAuthorizedError } from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport {\n WorkflowNotFoundError,\n WorkflowPersistenceError,\n WorkflowValidationError\n} from \"@webiny/api-workflows/domain/workflow/errors.js\";\nimport { belongsToCms, CMS_MODELS_ONLY, isCmsWorkflow } from \"../shared/cmsWorkflows.js\";\nimport { StoreCmsEntryWorkflowUseCase as UseCase } from \"./abstractions.js\";\n\nclass StoreCmsEntryWorkflowUseCaseImpl implements UseCase.Interface {\n public constructor(\n private viewer: CurrentReviewViewer.Interface,\n private permissions: WorkflowsPermissions.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private storeWorkflow: StoreWorkflowUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const actor = this.viewer.getActor();\n if (actor.isFail()) {\n return Result.fail(actor.error);\n }\n let canEdit: boolean;\n try {\n canEdit = await this.permissions.canEdit();\n } catch (error) {\n return Result.fail(\n new WorkflowPersistenceError(\n error instanceof Error ? error : new Error(String(error))\n )\n );\n }\n if (!canEdit) {\n return Result.fail(new WorkflowsNotAuthorizedError({ action: \"manage workflows\" }));\n }\n if (!belongsToCms(input.workflow.models)) {\n return Result.fail(new WorkflowValidationError(CMS_MODELS_ONLY, { field: \"models\" }));\n }\n\n // Never overwrite another app's workflow under the same id (R46).\n const existing = await this.getWorkflow.execute({ id: input.workflow.id });\n if (existing.isFail() && !(existing.error instanceof WorkflowNotFoundError)) {\n return Result.fail(existing.error);\n }\n if (existing.isOk() && !isCmsWorkflow(existing.value)) {\n return Result.fail(new WorkflowNotFoundError({ id: input.workflow.id }));\n }\n\n return this.storeWorkflow.execute({\n workflow: input.workflow,\n savedOn: input.savedOn,\n actor: actor.value\n });\n }\n}\n\nexport const StoreCmsEntryWorkflowUseCase = UseCase.createImplementation({\n implementation: StoreCmsEntryWorkflowUseCaseImpl,\n dependencies: [\n CurrentReviewViewer,\n WorkflowsPermissions,\n GetWorkflowUseCase,\n StoreWorkflowUseCase\n ]\n});\n"],"names":["StoreCmsEntryWorkflowUseCaseImpl","viewer","permissions","getWorkflow","storeWorkflow","input","actor","Result","canEdit","error","WorkflowPersistenceError","Error","String","WorkflowsNotAuthorizedError","belongsToCms","WorkflowValidationError","CMS_MODELS_ONLY","existing","WorkflowNotFoundError","isCmsWorkflow","StoreCmsEntryWorkflowUseCase","UseCase","CurrentReviewViewer","WorkflowsPermissions","GetWorkflowUseCase","StoreWorkflowUseCase"],"mappings":";;;;;;;;;AAcA,MAAMA;IACF,YACYC,MAAqC,EACrCC,WAA2C,EAC3CC,WAAyC,EACzCC,aAA6C,CACvD;aAJUH,MAAM,GAANA;aACAC,WAAW,GAAXA;aACAC,WAAW,GAAXA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;QAClC,IAAIA,MAAM,MAAM,IACZ,OAAOC,OAAO,IAAI,CAACD,MAAM,KAAK;QAElC,IAAIE;QACJ,IAAI;YACAA,UAAU,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO;QAC5C,EAAE,OAAOC,OAAO;YACZ,OAAOF,OAAO,IAAI,CACd,IAAIG,yBACAD,iBAAiBE,QAAQF,QAAQ,IAAIE,MAAMC,OAAOH;QAG9D;QACA,IAAI,CAACD,SACD,OAAOD,OAAO,IAAI,CAAC,IAAIM,4BAA4B;YAAE,QAAQ;QAAmB;QAEpF,IAAI,CAACC,aAAaT,MAAM,QAAQ,CAAC,MAAM,GACnC,OAAOE,OAAO,IAAI,CAAC,IAAIQ,wBAAwBC,iBAAiB;YAAE,OAAO;QAAS;QAItF,MAAMC,WAAW,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,IAAIZ,MAAM,QAAQ,CAAC,EAAE;QAAC;QACxE,IAAIY,SAAS,MAAM,MAAM,CAAEA,CAAAA,SAAS,KAAK,YAAYC,qBAAoB,GACrE,OAAOX,OAAO,IAAI,CAACU,SAAS,KAAK;QAErC,IAAIA,SAAS,IAAI,MAAM,CAACE,cAAcF,SAAS,KAAK,GAChD,OAAOV,OAAO,IAAI,CAAC,IAAIW,sBAAsB;YAAE,IAAIb,MAAM,QAAQ,CAAC,EAAE;QAAC;QAGzE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC9B,UAAUA,MAAM,QAAQ;YACxB,SAASA,MAAM,OAAO;YACtB,OAAOC,MAAM,KAAK;QACtB;IACJ;AACJ;AAEO,MAAMc,4DAA+BC,6BAAAA,oBAA4B,CAAC;IACrE,gBAAgBrB;IAChB,cAAc;QACVsB;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { Workflow, WorkflowValues } from "@webiny/api-workflows/domain/workflow/types.js";
|
|
3
|
+
import type { WorkflowsNotAuthenticatedError, WorkflowsNotAuthorizedError } from "@webiny/api-workflows/domain/permissions/errors.js";
|
|
4
|
+
import type { WorkflowPersistenceError } from "@webiny/api-workflows/domain/workflow/errors.js";
|
|
5
|
+
import type { StoreWorkflowUseCase } from "@webiny/api-workflows/features/workflow/StoreWorkflow/index.js";
|
|
6
|
+
export interface StoreCmsEntryWorkflowInput {
|
|
7
|
+
workflow: WorkflowValues;
|
|
8
|
+
/** The `savedOn` the editor loaded; omit when creating (D131). */
|
|
9
|
+
savedOn?: string | null;
|
|
10
|
+
}
|
|
11
|
+
export interface IStoreCmsEntryWorkflowUseCaseErrors {
|
|
12
|
+
notAuthenticated: WorkflowsNotAuthenticatedError;
|
|
13
|
+
notAuthorized: WorkflowsNotAuthorizedError;
|
|
14
|
+
persistence: WorkflowPersistenceError;
|
|
15
|
+
store: StoreWorkflowUseCase.Error;
|
|
16
|
+
}
|
|
17
|
+
type UseCaseError = IStoreCmsEntryWorkflowUseCaseErrors[keyof IStoreCmsEntryWorkflowUseCaseErrors];
|
|
18
|
+
export interface IStoreCmsEntryWorkflowUseCase {
|
|
19
|
+
execute(input: StoreCmsEntryWorkflowInput): Promise<Result<Workflow, UseCaseError>>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create or update a Headless CMS workflow (spec 4.1, D131, D132): needs `workflows.editor`;
|
|
23
|
+
* models must be `cms.<modelId>`; a workflow of another app is never overwritten (R46, R60).
|
|
24
|
+
*/
|
|
25
|
+
export declare const StoreCmsEntryWorkflowUseCase: import("@webiny/di").Abstraction<IStoreCmsEntryWorkflowUseCase>;
|
|
26
|
+
export declare namespace StoreCmsEntryWorkflowUseCase {
|
|
27
|
+
type Interface = IStoreCmsEntryWorkflowUseCase;
|
|
28
|
+
type Input = StoreCmsEntryWorkflowInput;
|
|
29
|
+
type Error = UseCaseError;
|
|
30
|
+
type Return = Promise<Result<Workflow, UseCaseError>>;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StoreCmsEntryWorkflow/abstractions.js","sources":["../../../../src/features/wrappers/StoreCmsEntryWorkflow/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Workflow, WorkflowValues } from \"@webiny/api-workflows/domain/workflow/types.js\";\nimport type {\n WorkflowsNotAuthenticatedError,\n WorkflowsNotAuthorizedError\n} from \"@webiny/api-workflows/domain/permissions/errors.js\";\nimport type { WorkflowPersistenceError } from \"@webiny/api-workflows/domain/workflow/errors.js\";\nimport type { StoreWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/StoreWorkflow/index.js\";\n\nexport interface StoreCmsEntryWorkflowInput {\n workflow: WorkflowValues;\n /** The `savedOn` the editor loaded; omit when creating (D131). */\n savedOn?: string | null;\n}\n\nexport interface IStoreCmsEntryWorkflowUseCaseErrors {\n notAuthenticated: WorkflowsNotAuthenticatedError;\n notAuthorized: WorkflowsNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n store: StoreWorkflowUseCase.Error;\n}\n\ntype UseCaseError = IStoreCmsEntryWorkflowUseCaseErrors[keyof IStoreCmsEntryWorkflowUseCaseErrors];\n\nexport interface IStoreCmsEntryWorkflowUseCase {\n execute(input: StoreCmsEntryWorkflowInput): Promise<Result<Workflow, UseCaseError>>;\n}\n\n/**\n * Create or update a Headless CMS workflow (spec 4.1, D131, D132): needs `workflows.editor`;\n * models must be `cms.<modelId>`; a workflow of another app is never overwritten (R46, R60).\n */\nexport const StoreCmsEntryWorkflowUseCase = createAbstraction<IStoreCmsEntryWorkflowUseCase>(\n \"StoreCmsEntryWorkflowUseCase\"\n);\n\nexport namespace StoreCmsEntryWorkflowUseCase {\n export type Interface = IStoreCmsEntryWorkflowUseCase;\n export type Input = StoreCmsEntryWorkflowInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<Workflow, UseCaseError>>;\n}\n"],"names":["StoreCmsEntryWorkflowUseCase","createAbstraction"],"mappings":";AAgCO,MAAMA,+BAA+BC,kBACxC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { StoreCmsEntryWorkflowUseCase } from "./StoreCmsEntryWorkflowUseCase.js";
|
|
3
|
+
const StoreCmsEntryWorkflowFeature = createFeature({
|
|
4
|
+
name: "CmsWorkflows/StoreCmsEntryWorkflow",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(StoreCmsEntryWorkflowUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { StoreCmsEntryWorkflowFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/StoreCmsEntryWorkflow/feature.js","sources":["../../../../src/features/wrappers/StoreCmsEntryWorkflow/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { StoreCmsEntryWorkflowUseCase } from \"./StoreCmsEntryWorkflowUseCase.js\";\n\nexport const StoreCmsEntryWorkflowFeature = createFeature({\n name: \"CmsWorkflows/StoreCmsEntryWorkflow\",\n register(container) {\n container.register(StoreCmsEntryWorkflowUseCase);\n }\n});\n"],"names":["StoreCmsEntryWorkflowFeature","createFeature","container","StoreCmsEntryWorkflowUseCase"],"mappings":";;AAGO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StoreCmsEntryWorkflowUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StoreCmsEntryWorkflowUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TakeOverReviewStepUseCase } from "@webiny/api-workflows/features/review/TakeOverReviewStep/index.js";
|
|
2
|
+
import { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
|
|
3
|
+
import { TakeOverCmsEntryReviewStepUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class TakeOverCmsEntryReviewStepUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private guard;
|
|
6
|
+
private engine;
|
|
7
|
+
constructor(guard: CmsEntryReviewGuardService.Interface, engine: TakeOverReviewStepUseCase.Interface);
|
|
8
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const TakeOverCmsEntryReviewStepUseCase: typeof TakeOverCmsEntryReviewStepUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITakeOverCmsEntryReviewStepUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TakeOverReviewStepUseCase } from "@webiny/api-workflows/features/review/TakeOverReviewStep/index.js";
|
|
3
|
+
import { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
|
|
4
|
+
import { TakeOverCmsEntryReviewStepUseCase } from "./abstractions.js";
|
|
5
|
+
class TakeOverCmsEntryReviewStepUseCaseImpl {
|
|
6
|
+
constructor(guard, engine){
|
|
7
|
+
this.guard = guard;
|
|
8
|
+
this.engine = engine;
|
|
9
|
+
}
|
|
10
|
+
async execute(input) {
|
|
11
|
+
const authorized = await this.guard.authorize({
|
|
12
|
+
reviewId: input.reviewId,
|
|
13
|
+
action: "take over this step"
|
|
14
|
+
});
|
|
15
|
+
if (authorized.isFail()) return Result.fail(authorized.error);
|
|
16
|
+
const { viewer } = authorized.value;
|
|
17
|
+
return this.engine.execute({
|
|
18
|
+
reviewId: input.reviewId,
|
|
19
|
+
stepId: input.stepId,
|
|
20
|
+
actor: viewer.actor,
|
|
21
|
+
actorTeamIds: viewer.teamIds,
|
|
22
|
+
notifyPreviousOwner: input.notifyPreviousOwner ?? true
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const TakeOverCmsEntryReviewStepUseCase_TakeOverCmsEntryReviewStepUseCase = TakeOverCmsEntryReviewStepUseCase.createImplementation({
|
|
27
|
+
implementation: TakeOverCmsEntryReviewStepUseCaseImpl,
|
|
28
|
+
dependencies: [
|
|
29
|
+
CmsEntryReviewGuardService,
|
|
30
|
+
TakeOverReviewStepUseCase
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
export { TakeOverCmsEntryReviewStepUseCase_TakeOverCmsEntryReviewStepUseCase as TakeOverCmsEntryReviewStepUseCase };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=TakeOverCmsEntryReviewStepUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.js","sources":["../../../../src/features/wrappers/TakeOverCmsEntryReviewStep/TakeOverCmsEntryReviewStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { TakeOverReviewStepUseCase } from \"@webiny/api-workflows/features/review/TakeOverReviewStep/index.js\";\nimport { CmsEntryReviewGuardService } from \"../CmsEntryReviewGuardService/index.js\";\nimport { TakeOverCmsEntryReviewStepUseCase as UseCase } from \"./abstractions.js\";\n\nclass TakeOverCmsEntryReviewStepUseCaseImpl implements UseCase.Interface {\n public constructor(\n private guard: CmsEntryReviewGuardService.Interface,\n private engine: TakeOverReviewStepUseCase.Interface\n ) {}\n\n public async execute(input: UseCase.Input): UseCase.Return {\n const authorized = await this.guard.authorize({\n reviewId: input.reviewId,\n action: \"take over this step\"\n });\n if (authorized.isFail()) {\n return Result.fail(authorized.error);\n }\n\n const { viewer } = authorized.value;\n return this.engine.execute({\n reviewId: input.reviewId,\n stepId: input.stepId,\n actor: viewer.actor,\n actorTeamIds: viewer.teamIds,\n notifyPreviousOwner: input.notifyPreviousOwner ?? true\n });\n }\n}\n\nexport const TakeOverCmsEntryReviewStepUseCase = UseCase.createImplementation({\n implementation: TakeOverCmsEntryReviewStepUseCaseImpl,\n dependencies: [CmsEntryReviewGuardService, TakeOverReviewStepUseCase]\n});\n"],"names":["TakeOverCmsEntryReviewStepUseCaseImpl","guard","engine","input","authorized","Result","viewer","TakeOverCmsEntryReviewStepUseCase","UseCase","CmsEntryReviewGuardService","TakeOverReviewStepUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YACYC,KAA2C,EAC3CC,MAA2C,CACrD;aAFUD,KAAK,GAALA;aACAC,MAAM,GAANA;IACT;IAEH,MAAa,QAAQC,KAAoB,EAAkB;QACvD,MAAMC,aAAa,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAUD,MAAM,QAAQ;YACxB,QAAQ;QACZ;QACA,IAAIC,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAACD,WAAW,KAAK;QAGvC,MAAM,EAAEE,MAAM,EAAE,GAAGF,WAAW,KAAK;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvB,UAAUD,MAAM,QAAQ;YACxB,QAAQA,MAAM,MAAM;YACpB,OAAOG,OAAO,KAAK;YACnB,cAAcA,OAAO,OAAO;YAC5B,qBAAqBH,MAAM,mBAAmB,IAAI;QACtD;IACJ;AACJ;AAEO,MAAMI,sEAAoCC,kCAAAA,oBAA4B,CAAC;IAC1E,gBAAgBR;IAChB,cAAc;QAACS;QAA4BC;KAA0B;AACzE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ReviewData } from "@webiny/api-workflows/domain/review/types.js";
|
|
3
|
+
import type { TakeOverReviewStepUseCase } from "@webiny/api-workflows/features/review/TakeOverReviewStep/index.js";
|
|
4
|
+
import type { CmsEntryReviewGuardService } from "../CmsEntryReviewGuardService/index.js";
|
|
5
|
+
export interface TakeOverCmsEntryReviewStepInput {
|
|
6
|
+
reviewId: string;
|
|
7
|
+
stepId: string;
|
|
8
|
+
/** D111: whether the previous owner is told; omitted means true. */
|
|
9
|
+
notifyPreviousOwner?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ITakeOverCmsEntryReviewStepUseCaseErrors {
|
|
12
|
+
guard: CmsEntryReviewGuardService.Error;
|
|
13
|
+
takeOver: TakeOverReviewStepUseCase.Error;
|
|
14
|
+
}
|
|
15
|
+
type UseCaseError = ITakeOverCmsEntryReviewStepUseCaseErrors[keyof ITakeOverCmsEntryReviewStepUseCaseErrors];
|
|
16
|
+
export interface ITakeOverCmsEntryReviewStepUseCase {
|
|
17
|
+
execute(input: TakeOverCmsEntryReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;
|
|
18
|
+
}
|
|
19
|
+
/** Take over a human CMS review step held by someone else (spec 5.1, D9, D32): read access to the target here, the step rules in the engine. */
|
|
20
|
+
export declare const TakeOverCmsEntryReviewStepUseCase: import("@webiny/di").Abstraction<ITakeOverCmsEntryReviewStepUseCase>;
|
|
21
|
+
export declare namespace TakeOverCmsEntryReviewStepUseCase {
|
|
22
|
+
type Interface = ITakeOverCmsEntryReviewStepUseCase;
|
|
23
|
+
type Input = TakeOverCmsEntryReviewStepInput;
|
|
24
|
+
type Error = UseCaseError;
|
|
25
|
+
type Return = Promise<Result<ReviewData, UseCaseError>>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/TakeOverCmsEntryReviewStep/abstractions.js","sources":["../../../../src/features/wrappers/TakeOverCmsEntryReviewStep/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { ReviewData } from \"@webiny/api-workflows/domain/review/types.js\";\nimport type { TakeOverReviewStepUseCase } from \"@webiny/api-workflows/features/review/TakeOverReviewStep/index.js\";\nimport type { CmsEntryReviewGuardService } from \"../CmsEntryReviewGuardService/index.js\";\n\nexport interface TakeOverCmsEntryReviewStepInput {\n reviewId: string;\n stepId: string;\n /** D111: whether the previous owner is told; omitted means true. */\n notifyPreviousOwner?: boolean;\n}\n\nexport interface ITakeOverCmsEntryReviewStepUseCaseErrors {\n guard: CmsEntryReviewGuardService.Error;\n takeOver: TakeOverReviewStepUseCase.Error;\n}\n\ntype UseCaseError =\n ITakeOverCmsEntryReviewStepUseCaseErrors[keyof ITakeOverCmsEntryReviewStepUseCaseErrors];\n\nexport interface ITakeOverCmsEntryReviewStepUseCase {\n execute(input: TakeOverCmsEntryReviewStepInput): Promise<Result<ReviewData, UseCaseError>>;\n}\n\n/** Take over a human CMS review step held by someone else (spec 5.1, D9, D32): read access to the target here, the step rules in the engine. */\nexport const TakeOverCmsEntryReviewStepUseCase =\n createAbstraction<ITakeOverCmsEntryReviewStepUseCase>(\"TakeOverCmsEntryReviewStepUseCase\");\n\nexport namespace TakeOverCmsEntryReviewStepUseCase {\n export type Interface = ITakeOverCmsEntryReviewStepUseCase;\n export type Input = TakeOverCmsEntryReviewStepInput;\n export type Error = UseCaseError;\n export type Return = Promise<Result<ReviewData, UseCaseError>>;\n}\n"],"names":["TakeOverCmsEntryReviewStepUseCase","createAbstraction"],"mappings":";AAyBO,MAAMA,oCACTC,kBAAsD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { TakeOverCmsEntryReviewStepUseCase } from "./TakeOverCmsEntryReviewStepUseCase.js";
|
|
3
|
+
const TakeOverCmsEntryReviewStepFeature = createFeature({
|
|
4
|
+
name: "CmsWorkflows/TakeOverCmsEntryReviewStep",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(TakeOverCmsEntryReviewStepUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { TakeOverCmsEntryReviewStepFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/TakeOverCmsEntryReviewStep/feature.js","sources":["../../../../src/features/wrappers/TakeOverCmsEntryReviewStep/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TakeOverCmsEntryReviewStepUseCase } from \"./TakeOverCmsEntryReviewStepUseCase.js\";\n\nexport const TakeOverCmsEntryReviewStepFeature = createFeature({\n name: \"CmsWorkflows/TakeOverCmsEntryReviewStep\",\n register(container) {\n container.register(TakeOverCmsEntryReviewStepUseCase);\n }\n});\n"],"names":["TakeOverCmsEntryReviewStepFeature","createFeature","container","TakeOverCmsEntryReviewStepUseCase"],"mappings":";;AAGO,MAAMA,oCAAoCC,cAAc;IAC3D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TakeOverCmsEntryReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TakeOverCmsEntryReviewStepUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Headless CMS wrapper use cases (D132, D133, R45): identity, `workflows` permission and target
|
|
3
|
+
* access, then the internal api-workflows use case. `CmsWorkflowsSchemaFactory` puts them on the
|
|
4
|
+
* `cms` root of `/graphql` (D136, R88).
|
|
5
|
+
*/
|
|
6
|
+
export declare const CmsWrappersFeature: {
|
|
7
|
+
name: string;
|
|
8
|
+
register(container: import("@webiny/di").Container): void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CmsEntryReviewGuardService } from "./CmsEntryReviewGuardService/CmsEntryReviewGuardService.js";
|
|
3
|
+
import { StoreCmsEntryWorkflowFeature } from "./StoreCmsEntryWorkflow/feature.js";
|
|
4
|
+
import { DeleteCmsEntryWorkflowFeature } from "./DeleteCmsEntryWorkflow/feature.js";
|
|
5
|
+
import { ListCmsEntryWorkflowsFeature } from "./ListCmsEntryWorkflows/feature.js";
|
|
6
|
+
import { GetCmsEntryWorkflowFeature } from "./GetCmsEntryWorkflow/feature.js";
|
|
7
|
+
import { ListCmsEntryWorkflowModelsFeature } from "./ListCmsEntryWorkflowModels/feature.js";
|
|
8
|
+
import { RequestCmsEntryReviewFeature } from "./RequestCmsEntryReview/feature.js";
|
|
9
|
+
import { GetCmsEntryReviewFeature } from "./GetCmsEntryReview/feature.js";
|
|
10
|
+
import { GetCmsEntryTargetReviewFeature } from "./GetCmsEntryTargetReview/feature.js";
|
|
11
|
+
import { GetCmsEntryReviewStepRunFeature } from "./GetCmsEntryReviewStepRun/feature.js";
|
|
12
|
+
import { ListCmsEntryReviewsFeature } from "./ListCmsEntryReviews/feature.js";
|
|
13
|
+
import { ListCmsEntryBlockingReviewsFeature } from "./ListCmsEntryBlockingReviews/feature.js";
|
|
14
|
+
import { StartCmsEntryReviewStepFeature } from "./StartCmsEntryReviewStep/feature.js";
|
|
15
|
+
import { TakeOverCmsEntryReviewStepFeature } from "./TakeOverCmsEntryReviewStep/feature.js";
|
|
16
|
+
import { ApproveCmsEntryReviewStepFeature } from "./ApproveCmsEntryReviewStep/feature.js";
|
|
17
|
+
import { RejectCmsEntryReviewStepFeature } from "./RejectCmsEntryReviewStep/feature.js";
|
|
18
|
+
import { CancelCmsEntryReviewFeature } from "./CancelCmsEntryReview/feature.js";
|
|
19
|
+
import { CancelCmsEntryReviewsForDeleteFeature } from "./CancelCmsEntryReviewsForDelete/feature.js";
|
|
20
|
+
import { ReassignCmsEntryReviewStepFeature } from "./ReassignCmsEntryReviewStep/feature.js";
|
|
21
|
+
import { RestartCmsEntryReviewStepFeature } from "./RestartCmsEntryReviewStep/feature.js";
|
|
22
|
+
import { ListCmsEntryStepCandidatesFeature } from "./ListCmsEntryStepCandidates/feature.js";
|
|
23
|
+
import { ListCmsEntryReviewStepCandidatesFeature } from "./ListCmsEntryReviewStepCandidates/feature.js";
|
|
24
|
+
import { InspectCmsEntryRoutingFeature } from "./InspectCmsEntryRouting/feature.js";
|
|
25
|
+
import { CmsEntryFolderExistsFeature } from "./CmsEntryFolderExists/feature.js";
|
|
26
|
+
const CmsWrappersFeature = createFeature({
|
|
27
|
+
name: "CmsWorkflows/Wrappers",
|
|
28
|
+
register (container) {
|
|
29
|
+
container.register(CmsEntryReviewGuardService);
|
|
30
|
+
StoreCmsEntryWorkflowFeature.register(container);
|
|
31
|
+
DeleteCmsEntryWorkflowFeature.register(container);
|
|
32
|
+
ListCmsEntryWorkflowsFeature.register(container);
|
|
33
|
+
GetCmsEntryWorkflowFeature.register(container);
|
|
34
|
+
ListCmsEntryWorkflowModelsFeature.register(container);
|
|
35
|
+
RequestCmsEntryReviewFeature.register(container);
|
|
36
|
+
GetCmsEntryReviewFeature.register(container);
|
|
37
|
+
GetCmsEntryTargetReviewFeature.register(container);
|
|
38
|
+
GetCmsEntryReviewStepRunFeature.register(container);
|
|
39
|
+
ListCmsEntryReviewsFeature.register(container);
|
|
40
|
+
ListCmsEntryBlockingReviewsFeature.register(container);
|
|
41
|
+
StartCmsEntryReviewStepFeature.register(container);
|
|
42
|
+
TakeOverCmsEntryReviewStepFeature.register(container);
|
|
43
|
+
ApproveCmsEntryReviewStepFeature.register(container);
|
|
44
|
+
RejectCmsEntryReviewStepFeature.register(container);
|
|
45
|
+
CancelCmsEntryReviewFeature.register(container);
|
|
46
|
+
ReassignCmsEntryReviewStepFeature.register(container);
|
|
47
|
+
RestartCmsEntryReviewStepFeature.register(container);
|
|
48
|
+
ListCmsEntryStepCandidatesFeature.register(container);
|
|
49
|
+
ListCmsEntryReviewStepCandidatesFeature.register(container);
|
|
50
|
+
InspectCmsEntryRoutingFeature.register(container);
|
|
51
|
+
CmsEntryFolderExistsFeature.register(container);
|
|
52
|
+
CancelCmsEntryReviewsForDeleteFeature.register(container);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export { CmsWrappersFeature };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/feature.js","sources":["../../../src/features/wrappers/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CmsEntryReviewGuardService } from \"./CmsEntryReviewGuardService/CmsEntryReviewGuardService.js\";\nimport { StoreCmsEntryWorkflowFeature } from \"./StoreCmsEntryWorkflow/feature.js\";\nimport { DeleteCmsEntryWorkflowFeature } from \"./DeleteCmsEntryWorkflow/feature.js\";\nimport { ListCmsEntryWorkflowsFeature } from \"./ListCmsEntryWorkflows/feature.js\";\nimport { GetCmsEntryWorkflowFeature } from \"./GetCmsEntryWorkflow/feature.js\";\nimport { ListCmsEntryWorkflowModelsFeature } from \"./ListCmsEntryWorkflowModels/feature.js\";\nimport { RequestCmsEntryReviewFeature } from \"./RequestCmsEntryReview/feature.js\";\nimport { GetCmsEntryReviewFeature } from \"./GetCmsEntryReview/feature.js\";\nimport { GetCmsEntryTargetReviewFeature } from \"./GetCmsEntryTargetReview/feature.js\";\nimport { GetCmsEntryReviewStepRunFeature } from \"./GetCmsEntryReviewStepRun/feature.js\";\nimport { ListCmsEntryReviewsFeature } from \"./ListCmsEntryReviews/feature.js\";\nimport { ListCmsEntryBlockingReviewsFeature } from \"./ListCmsEntryBlockingReviews/feature.js\";\nimport { StartCmsEntryReviewStepFeature } from \"./StartCmsEntryReviewStep/feature.js\";\nimport { TakeOverCmsEntryReviewStepFeature } from \"./TakeOverCmsEntryReviewStep/feature.js\";\nimport { ApproveCmsEntryReviewStepFeature } from \"./ApproveCmsEntryReviewStep/feature.js\";\nimport { RejectCmsEntryReviewStepFeature } from \"./RejectCmsEntryReviewStep/feature.js\";\nimport { CancelCmsEntryReviewFeature } from \"./CancelCmsEntryReview/feature.js\";\nimport { CancelCmsEntryReviewsForDeleteFeature } from \"./CancelCmsEntryReviewsForDelete/feature.js\";\nimport { ReassignCmsEntryReviewStepFeature } from \"./ReassignCmsEntryReviewStep/feature.js\";\nimport { RestartCmsEntryReviewStepFeature } from \"./RestartCmsEntryReviewStep/feature.js\";\nimport { ListCmsEntryStepCandidatesFeature } from \"./ListCmsEntryStepCandidates/feature.js\";\nimport { ListCmsEntryReviewStepCandidatesFeature } from \"./ListCmsEntryReviewStepCandidates/feature.js\";\nimport { InspectCmsEntryRoutingFeature } from \"./InspectCmsEntryRouting/feature.js\";\nimport { CmsEntryFolderExistsFeature } from \"./CmsEntryFolderExists/feature.js\";\n\n/**\n * The Headless CMS wrapper use cases (D132, D133, R45): identity, `workflows` permission and target\n * access, then the internal api-workflows use case. `CmsWorkflowsSchemaFactory` puts them on the\n * `cms` root of `/graphql` (D136, R88).\n */\nexport const CmsWrappersFeature = createFeature({\n name: \"CmsWorkflows/Wrappers\",\n register(container) {\n container.register(CmsEntryReviewGuardService);\n\n // Workflows\n StoreCmsEntryWorkflowFeature.register(container);\n DeleteCmsEntryWorkflowFeature.register(container);\n ListCmsEntryWorkflowsFeature.register(container);\n GetCmsEntryWorkflowFeature.register(container);\n ListCmsEntryWorkflowModelsFeature.register(container);\n\n // Reviews\n RequestCmsEntryReviewFeature.register(container);\n GetCmsEntryReviewFeature.register(container);\n GetCmsEntryTargetReviewFeature.register(container);\n GetCmsEntryReviewStepRunFeature.register(container);\n ListCmsEntryReviewsFeature.register(container);\n ListCmsEntryBlockingReviewsFeature.register(container);\n StartCmsEntryReviewStepFeature.register(container);\n TakeOverCmsEntryReviewStepFeature.register(container);\n ApproveCmsEntryReviewStepFeature.register(container);\n RejectCmsEntryReviewStepFeature.register(container);\n CancelCmsEntryReviewFeature.register(container);\n ReassignCmsEntryReviewStepFeature.register(container);\n RestartCmsEntryReviewStepFeature.register(container);\n\n // Routing: candidates for the request and reassign dialogs, the editor's\n // inspector and folder existence (R120, R121, R125)\n ListCmsEntryStepCandidatesFeature.register(container);\n ListCmsEntryReviewStepCandidatesFeature.register(container);\n InspectCmsEntryRoutingFeature.register(container);\n CmsEntryFolderExistsFeature.register(container);\n\n // Confirm path for trash and delete with a review in progress (D134)\n CancelCmsEntryReviewsForDeleteFeature.register(container);\n }\n});\n"],"names":["CmsWrappersFeature","createFeature","container","CmsEntryReviewGuardService","StoreCmsEntryWorkflowFeature","DeleteCmsEntryWorkflowFeature","ListCmsEntryWorkflowsFeature","GetCmsEntryWorkflowFeature","ListCmsEntryWorkflowModelsFeature","RequestCmsEntryReviewFeature","GetCmsEntryReviewFeature","GetCmsEntryTargetReviewFeature","GetCmsEntryReviewStepRunFeature","ListCmsEntryReviewsFeature","ListCmsEntryBlockingReviewsFeature","StartCmsEntryReviewStepFeature","TakeOverCmsEntryReviewStepFeature","ApproveCmsEntryReviewStepFeature","RejectCmsEntryReviewStepFeature","CancelCmsEntryReviewFeature","ReassignCmsEntryReviewStepFeature","RestartCmsEntryReviewStepFeature","ListCmsEntryStepCandidatesFeature","ListCmsEntryReviewStepCandidatesFeature","InspectCmsEntryRoutingFeature","CmsEntryFolderExistsFeature","CancelCmsEntryReviewsForDeleteFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+BO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QAGnBC,6BAA6B,QAAQ,CAACF;QACtCG,8BAA8B,QAAQ,CAACH;QACvCI,6BAA6B,QAAQ,CAACJ;QACtCK,2BAA2B,QAAQ,CAACL;QACpCM,kCAAkC,QAAQ,CAACN;QAG3CO,6BAA6B,QAAQ,CAACP;QACtCQ,yBAAyB,QAAQ,CAACR;QAClCS,+BAA+B,QAAQ,CAACT;QACxCU,gCAAgC,QAAQ,CAACV;QACzCW,2BAA2B,QAAQ,CAACX;QACpCY,mCAAmC,QAAQ,CAACZ;QAC5Ca,+BAA+B,QAAQ,CAACb;QACxCc,kCAAkC,QAAQ,CAACd;QAC3Ce,iCAAiC,QAAQ,CAACf;QAC1CgB,gCAAgC,QAAQ,CAAChB;QACzCiB,4BAA4B,QAAQ,CAACjB;QACrCkB,kCAAkC,QAAQ,CAAClB;QAC3CmB,iCAAiC,QAAQ,CAACnB;QAI1CoB,kCAAkC,QAAQ,CAACpB;QAC3CqB,wCAAwC,QAAQ,CAACrB;QACjDsB,8BAA8B,QAAQ,CAACtB;QACvCuB,4BAA4B,QAAQ,CAACvB;QAGrCwB,sCAAsC,QAAQ,CAACxB;IACnD;AACJ"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { WorkflowValues } from "@webiny/api-workflows/domain/workflow/types.js";
|
|
2
|
+
export declare const CMS_MODELS_ONLY = "A Headless CMS workflow can only be bound to Headless CMS models (\"cms.<modelId>\").";
|
|
3
|
+
/** Every model is a `cms.<modelId>` namespace; an empty list is left to the engine's validation. */
|
|
4
|
+
export declare const belongsToCms: (models: string[]) => boolean;
|
|
5
|
+
/** A stored workflow of the Headless CMS app (R46). */
|
|
6
|
+
export declare const isCmsWorkflow: (workflow: WorkflowValues) => boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { belongsToApp, isAppWorkflow } from "@webiny/api-workflows/domain/workflow/isAppWorkflow.js";
|
|
2
|
+
import { isCmsNamespace } from "../../../utils/appName.js";
|
|
3
|
+
const CMS_MODELS_ONLY = 'A Headless CMS workflow can only be bound to Headless CMS models ("cms.<modelId>").';
|
|
4
|
+
const belongsToCms = (models)=>belongsToApp(models, isCmsNamespace);
|
|
5
|
+
const isCmsWorkflow = (workflow)=>isAppWorkflow(workflow, isCmsNamespace);
|
|
6
|
+
export { CMS_MODELS_ONLY, belongsToCms, isCmsWorkflow };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=cmsWorkflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/wrappers/shared/cmsWorkflows.js","sources":["../../../../src/features/wrappers/shared/cmsWorkflows.ts"],"sourcesContent":["import type { WorkflowValues } from \"@webiny/api-workflows/domain/workflow/types.js\";\nimport {\n belongsToApp,\n isAppWorkflow\n} from \"@webiny/api-workflows/domain/workflow/isAppWorkflow.js\";\nimport { isCmsNamespace } from \"~/utils/appName.js\";\n\nexport const CMS_MODELS_ONLY =\n 'A Headless CMS workflow can only be bound to Headless CMS models (\"cms.<modelId>\").';\n\n/** Every model is a `cms.<modelId>` namespace; an empty list is left to the engine's validation. */\nexport const belongsToCms = (models: string[]): boolean => {\n return belongsToApp(models, isCmsNamespace);\n};\n\n/** A stored workflow of the Headless CMS app (R46). */\nexport const isCmsWorkflow = (workflow: WorkflowValues): boolean => {\n return isAppWorkflow(workflow, isCmsNamespace);\n};\n"],"names":["CMS_MODELS_ONLY","belongsToCms","models","belongsToApp","isCmsNamespace","isCmsWorkflow","workflow","isAppWorkflow"],"mappings":";;AAOO,MAAMA,kBACT;AAGG,MAAMC,eAAe,CAACC,SAClBC,aAAaD,QAAQE;AAIzB,MAAMC,gBAAgB,CAACC,WACnBC,cAAcD,UAAUF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
|
|
2
|
+
/**
|
|
3
|
+
* Headless CMS workflow and review operations on the `cms` root of `/graphql` (R88, D136). Each
|
|
4
|
+
* resolver calls its wrapper use case inline (D132); the wrappers check identity, permissions and
|
|
5
|
+
* target access. Registered only with the `advancedPublishingWorkflow` license (R100).
|
|
6
|
+
*/
|
|
7
|
+
declare class CmsWorkflowsSchemaFactoryImpl implements GraphQLSchemaFactory.Interface {
|
|
8
|
+
getSchemaKey: () => string;
|
|
9
|
+
execute(builder: GraphQLSchemaFactory.SchemaBuilder): GraphQLSchemaFactory.Return;
|
|
10
|
+
}
|
|
11
|
+
export declare const CmsWorkflowsSchemaFactory: typeof CmsWorkflowsSchemaFactoryImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-graphql/graphql/abstractions.public.js").IGraphQLSchemaFactory>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|