@webiny/api-workflows 0.0.0-unstable.0d717d18dd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/WorkflowsFeature.d.ts +5 -0
- package/WorkflowsFeature.js +17 -0
- package/WorkflowsFeature.js.map +1 -0
- package/WorkflowsInitializer.d.ts +19 -0
- package/WorkflowsInitializer.js +97 -0
- package/WorkflowsInitializer.js.map +1 -0
- package/WorkflowsSchemaFactory.d.ts +8 -0
- package/WorkflowsSchemaFactory.js +19 -0
- package/WorkflowsSchemaFactory.js.map +1 -0
- package/constants.d.ts +3 -0
- package/constants.js +6 -0
- package/constants.js.map +1 -0
- package/domain/notifications/abstractions.d.ts +64 -0
- package/domain/notifications/abstractions.js +11 -0
- package/domain/notifications/abstractions.js.map +1 -0
- package/domain/notifications/errors.d.ts +5 -0
- package/domain/notifications/errors.js +11 -0
- package/domain/notifications/errors.js.map +1 -0
- package/domain/workflow/WorkflowMapper.d.ts +12 -0
- package/domain/workflow/WorkflowMapper.js +28 -0
- package/domain/workflow/WorkflowMapper.js.map +1 -0
- package/domain/workflow/abstractions.d.ts +37 -0
- package/domain/workflow/abstractions.js +6 -0
- package/domain/workflow/abstractions.js.map +1 -0
- package/domain/workflow/errors.d.ts +23 -0
- package/domain/workflow/errors.js +33 -0
- package/domain/workflow/errors.js.map +1 -0
- package/domain/workflow/workflowModel.d.ts +9 -0
- package/domain/workflow/workflowModel.js +34 -0
- package/domain/workflow/workflowModel.js.map +1 -0
- package/domain/workflowState/WorkflowState.d.ts +56 -0
- package/domain/workflowState/WorkflowState.js +227 -0
- package/domain/workflowState/WorkflowState.js.map +1 -0
- package/domain/workflowState/WorkflowStateMapper.d.ts +9 -0
- package/domain/workflowState/WorkflowStateMapper.js +43 -0
- package/domain/workflowState/WorkflowStateMapper.js.map +1 -0
- package/domain/workflowState/abstractions.d.ts +78 -0
- package/domain/workflowState/abstractions.js +13 -0
- package/domain/workflowState/abstractions.js.map +1 -0
- package/domain/workflowState/errors.d.ts +86 -0
- package/domain/workflowState/errors.js +126 -0
- package/domain/workflowState/errors.js.map +1 -0
- package/domain/workflowState/guards/canReview.d.ts +2 -0
- package/domain/workflowState/guards/canReview.js +4 -0
- package/domain/workflowState/guards/canReview.js.map +1 -0
- package/domain/workflowState/guards/canTakeOver.d.ts +2 -0
- package/domain/workflowState/guards/canTakeOver.js +4 -0
- package/domain/workflowState/guards/canTakeOver.js.map +1 -0
- package/domain/workflowState/guards/isInReview.d.ts +2 -0
- package/domain/workflowState/guards/isInReview.js +5 -0
- package/domain/workflowState/guards/isInReview.js.map +1 -0
- package/domain/workflowState/guards/isRejected.d.ts +2 -0
- package/domain/workflowState/guards/isRejected.js +5 -0
- package/domain/workflowState/guards/isRejected.js.map +1 -0
- package/domain/workflowState/guards/isStepOwner.d.ts +2 -0
- package/domain/workflowState/guards/isStepOwner.js +4 -0
- package/domain/workflowState/guards/isStepOwner.js.map +1 -0
- package/domain/workflowState/stateModel.d.ts +9 -0
- package/domain/workflowState/stateModel.js +67 -0
- package/domain/workflowState/stateModel.js.map +1 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.d.ts +12 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.js +29 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.js.map +1 -0
- package/features/internal/GetUserTeams/abstractions.d.ts +10 -0
- package/features/internal/GetUserTeams/abstractions.js +5 -0
- package/features/internal/GetUserTeams/abstractions.js.map +1 -0
- package/features/internal/GetUserTeams/feature.d.ts +4 -0
- package/features/internal/GetUserTeams/feature.js +11 -0
- package/features/internal/GetUserTeams/feature.js.map +1 -0
- package/features/internal/GetUserTeams/index.d.ts +1 -0
- package/features/internal/GetUserTeams/index.js +1 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.d.ts +11 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js +28 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js.map +1 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.d.ts +13 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +34 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -0
- package/features/notifications/ListNotificationTypes/abstractions.d.ts +31 -0
- package/features/notifications/ListNotificationTypes/abstractions.js +6 -0
- package/features/notifications/ListNotificationTypes/abstractions.js.map +1 -0
- package/features/notifications/ListNotificationTypes/feature.d.ts +4 -0
- package/features/notifications/ListNotificationTypes/feature.js +13 -0
- package/features/notifications/ListNotificationTypes/feature.js.map +1 -0
- package/features/notifications/ListNotificationTypes/index.d.ts +3 -0
- package/features/notifications/ListNotificationTypes/index.js +2 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.d.ts +13 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.js +38 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.js.map +1 -0
- package/features/notifications/NotificationTransport/abstractions.d.ts +21 -0
- package/features/notifications/NotificationTransport/abstractions.js +5 -0
- package/features/notifications/NotificationTransport/abstractions.js.map +1 -0
- package/features/notifications/NotificationTransport/feature.d.ts +4 -0
- package/features/notifications/NotificationTransport/feature.js +11 -0
- package/features/notifications/NotificationTransport/feature.js.map +1 -0
- package/features/notifications/NotificationTransport/index.d.ts +3 -0
- package/features/notifications/NotificationTransport/index.js +2 -0
- package/features/shared/abstractions.d.ts +21 -0
- package/features/shared/abstractions.js +0 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +14 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +46 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.d.ts +15 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +52 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -0
- package/features/workflow/CreateWorkflow/abstractions.d.ts +56 -0
- package/features/workflow/CreateWorkflow/abstractions.js +6 -0
- package/features/workflow/CreateWorkflow/abstractions.js.map +1 -0
- package/features/workflow/CreateWorkflow/events.d.ts +21 -0
- package/features/workflow/CreateWorkflow/events.js +23 -0
- package/features/workflow/CreateWorkflow/events.js.map +1 -0
- package/features/workflow/CreateWorkflow/feature.d.ts +4 -0
- package/features/workflow/CreateWorkflow/feature.js +13 -0
- package/features/workflow/CreateWorkflow/feature.js.map +1 -0
- package/features/workflow/CreateWorkflow/index.d.ts +4 -0
- package/features/workflow/CreateWorkflow/index.js +3 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +13 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +35 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.d.ts +17 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +53 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -0
- package/features/workflow/DeleteWorkflow/abstractions.d.ts +50 -0
- package/features/workflow/DeleteWorkflow/abstractions.js +6 -0
- package/features/workflow/DeleteWorkflow/abstractions.js.map +1 -0
- package/features/workflow/DeleteWorkflow/events.d.ts +21 -0
- package/features/workflow/DeleteWorkflow/events.js +23 -0
- package/features/workflow/DeleteWorkflow/events.js.map +1 -0
- package/features/workflow/DeleteWorkflow/feature.d.ts +4 -0
- package/features/workflow/DeleteWorkflow/feature.js +13 -0
- package/features/workflow/DeleteWorkflow/feature.js.map +1 -0
- package/features/workflow/DeleteWorkflow/index.d.ts +4 -0
- package/features/workflow/DeleteWorkflow/index.js +3 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +14 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js +45 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -0
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.d.ts +13 -0
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.js +32 -0
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.js.map +1 -0
- package/features/workflow/GetWorkflow/abstractions.d.ts +45 -0
- package/features/workflow/GetWorkflow/abstractions.js +6 -0
- package/features/workflow/GetWorkflow/abstractions.js.map +1 -0
- package/features/workflow/GetWorkflow/feature.d.ts +4 -0
- package/features/workflow/GetWorkflow/feature.js +13 -0
- package/features/workflow/GetWorkflow/feature.js.map +1 -0
- package/features/workflow/GetWorkflow/index.d.ts +1 -0
- package/features/workflow/GetWorkflow/index.js +1 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +18 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +62 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -0
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.d.ts +10 -0
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js +21 -0
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js.map +1 -0
- package/features/workflow/ListWorkflows/abstractions.d.ts +60 -0
- package/features/workflow/ListWorkflows/abstractions.js +6 -0
- package/features/workflow/ListWorkflows/abstractions.js.map +1 -0
- package/features/workflow/ListWorkflows/feature.d.ts +4 -0
- package/features/workflow/ListWorkflows/feature.js +13 -0
- package/features/workflow/ListWorkflows/feature.js.map +1 -0
- package/features/workflow/ListWorkflows/index.d.ts +1 -0
- package/features/workflow/ListWorkflows/index.js +1 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.d.ts +15 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +35 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -0
- package/features/workflow/StoreWorkflow/abstractions.d.ts +32 -0
- package/features/workflow/StoreWorkflow/abstractions.js +5 -0
- package/features/workflow/StoreWorkflow/abstractions.js.map +1 -0
- package/features/workflow/StoreWorkflow/feature.d.ts +4 -0
- package/features/workflow/StoreWorkflow/feature.js +15 -0
- package/features/workflow/StoreWorkflow/feature.js.map +1 -0
- package/features/workflow/StoreWorkflow/index.d.ts +3 -0
- package/features/workflow/StoreWorkflow/index.js +2 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +15 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +50 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.d.ts +15 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +54 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -0
- package/features/workflow/UpdateWorkflow/abstractions.d.ts +57 -0
- package/features/workflow/UpdateWorkflow/abstractions.js +6 -0
- package/features/workflow/UpdateWorkflow/abstractions.js.map +1 -0
- package/features/workflow/UpdateWorkflow/events.d.ts +21 -0
- package/features/workflow/UpdateWorkflow/events.js +23 -0
- package/features/workflow/UpdateWorkflow/events.js.map +1 -0
- package/features/workflow/UpdateWorkflow/feature.d.ts +4 -0
- package/features/workflow/UpdateWorkflow/feature.js +13 -0
- package/features/workflow/UpdateWorkflow/feature.js.map +1 -0
- package/features/workflow/UpdateWorkflow/index.d.ts +4 -0
- package/features/workflow/UpdateWorkflow/index.js +3 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js +38 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.d.ts +26 -0
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.js +5 -0
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/ApproveWorkflowStateStep/events.js +14 -0
- package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.d.ts +4 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.js +11 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/ApproveWorkflowStateStep/index.js +2 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.d.ts +13 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js +31 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/abstractions.d.ts +26 -0
- package/features/workflowState/CancelWorkflowState/abstractions.js +5 -0
- package/features/workflowState/CancelWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/events.d.ts +12 -0
- package/features/workflowState/CancelWorkflowState/events.js +14 -0
- package/features/workflowState/CancelWorkflowState/events.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/feature.d.ts +4 -0
- package/features/workflowState/CancelWorkflowState/feature.js +11 -0
- package/features/workflowState/CancelWorkflowState/feature.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/index.d.ts +2 -0
- package/features/workflowState/CancelWorkflowState/index.js +2 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +35 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +22 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +104 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.d.ts +9 -0
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js +13 -0
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.d.ts +13 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js +5 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/abstractions.d.ts +54 -0
- package/features/workflowState/CreateWorkflowState/abstractions.js +6 -0
- package/features/workflowState/CreateWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/events.d.ts +12 -0
- package/features/workflowState/CreateWorkflowState/events.js +14 -0
- package/features/workflowState/CreateWorkflowState/events.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/feature.d.ts +4 -0
- package/features/workflowState/CreateWorkflowState/feature.js +15 -0
- package/features/workflowState/CreateWorkflowState/feature.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/index.d.ts +3 -0
- package/features/workflowState/CreateWorkflowState/index.js +3 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.d.ts +21 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +61 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.d.ts +23 -0
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.js +5 -0
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/events.d.ts +12 -0
- package/features/workflowState/DeleteTargetWorkflowState/events.js +14 -0
- package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.d.ts +4 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.js +11 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/index.d.ts +2 -0
- package/features/workflowState/DeleteTargetWorkflowState/index.js +2 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +13 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +24 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.d.ts +14 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js +33 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/abstractions.d.ts +25 -0
- package/features/workflowState/DeleteWorkflowState/abstractions.js +6 -0
- package/features/workflowState/DeleteWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/feature.d.ts +4 -0
- package/features/workflowState/DeleteWorkflowState/feature.js +13 -0
- package/features/workflowState/DeleteWorkflowState/feature.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/index.d.ts +1 -0
- package/features/workflowState/DeleteWorkflowState/index.js +1 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +48 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.d.ts +14 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +37 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/abstractions.d.ts +48 -0
- package/features/workflowState/GetTargetWorkflowState/abstractions.js +6 -0
- package/features/workflowState/GetTargetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/feature.d.ts +4 -0
- package/features/workflowState/GetTargetWorkflowState/feature.js +13 -0
- package/features/workflowState/GetTargetWorkflowState/feature.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/index.d.ts +1 -0
- package/features/workflowState/GetTargetWorkflowState/index.js +1 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +35 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.d.ts +14 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +33 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/GetWorkflowState/abstractions.d.ts +39 -0
- package/features/workflowState/GetWorkflowState/abstractions.js +6 -0
- package/features/workflowState/GetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/GetWorkflowState/feature.d.ts +4 -0
- package/features/workflowState/GetWorkflowState/feature.js +13 -0
- package/features/workflowState/GetWorkflowState/feature.js.map +1 -0
- package/features/workflowState/GetWorkflowState/index.d.ts +1 -0
- package/features/workflowState/GetWorkflowState/index.js +1 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.d.ts +13 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +42 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/abstractions.d.ts +22 -0
- package/features/workflowState/ListOwnWorkflowStates/abstractions.js +5 -0
- package/features/workflowState/ListOwnWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.d.ts +4 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.js +11 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListOwnWorkflowStates/index.js +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.d.ts +15 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +52 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.d.ts +22 -0
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.js +5 -0
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.d.ts +4 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.js +11 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/index.js +1 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.d.ts +9 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js +13 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.d.ts +16 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +46 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +16 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +67 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.d.ts +8 -0
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js +5 -0
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/abstractions.d.ts +71 -0
- package/features/workflowState/ListWorkflowStates/abstractions.js +6 -0
- package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/feature.d.ts +4 -0
- package/features/workflowState/ListWorkflowStates/feature.js +15 -0
- package/features/workflowState/ListWorkflowStates/feature.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/index.d.ts +2 -0
- package/features/workflowState/ListWorkflowStates/index.js +2 -0
- package/features/workflowState/README.md +8 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js +38 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/abstractions.d.ts +26 -0
- package/features/workflowState/RejectWorkflowStateStep/abstractions.js +5 -0
- package/features/workflowState/RejectWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/RejectWorkflowStateStep/events.js +14 -0
- package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.d.ts +4 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.js +11 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/RejectWorkflowStateStep/index.js +2 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js +38 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/abstractions.d.ts +25 -0
- package/features/workflowState/StartWorkflowStateStep/abstractions.js +5 -0
- package/features/workflowState/StartWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/StartWorkflowStateStep/events.js +14 -0
- package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/feature.d.ts +4 -0
- package/features/workflowState/StartWorkflowStateStep/feature.js +11 -0
- package/features/workflowState/StartWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/StartWorkflowStateStep/index.js +2 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js +38 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.d.ts +26 -0
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js +5 -0
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/TakeOverWorkflowStateStep/events.js +14 -0
- package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.d.ts +4 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.js +11 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/TakeOverWorkflowStateStep/index.js +2 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +17 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +50 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.d.ts +20 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +59 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/abstractions.d.ts +48 -0
- package/features/workflowState/UpdateWorkflowState/abstractions.js +6 -0
- package/features/workflowState/UpdateWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/events.d.ts +12 -0
- package/features/workflowState/UpdateWorkflowState/events.js +14 -0
- package/features/workflowState/UpdateWorkflowState/events.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/feature.d.ts +4 -0
- package/features/workflowState/UpdateWorkflowState/feature.js +13 -0
- package/features/workflowState/UpdateWorkflowState/feature.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/index.d.ts +2 -0
- package/features/workflowState/UpdateWorkflowState/index.js +2 -0
- package/graphql/notifications.d.ts +2 -0
- package/graphql/notifications.js +49 -0
- package/graphql/notifications.js.map +1 -0
- package/graphql/validation/approveWorkflowState.d.ts +5 -0
- package/graphql/validation/approveWorkflowState.js +8 -0
- package/graphql/validation/approveWorkflowState.js.map +1 -0
- package/graphql/validation/cancelWorkflowState.d.ts +4 -0
- package/graphql/validation/cancelWorkflowState.js +7 -0
- package/graphql/validation/cancelWorkflowState.js.map +1 -0
- package/graphql/validation/createWorkflowState.d.ts +6 -0
- package/graphql/validation/createWorkflowState.js +9 -0
- package/graphql/validation/createWorkflowState.js.map +1 -0
- package/graphql/validation/deleteWorkflow.d.ts +5 -0
- package/graphql/validation/deleteWorkflow.js +8 -0
- package/graphql/validation/deleteWorkflow.js.map +1 -0
- package/graphql/validation/getTargetWorkflowState.d.ts +5 -0
- package/graphql/validation/getTargetWorkflowState.js +8 -0
- package/graphql/validation/getTargetWorkflowState.js.map +1 -0
- package/graphql/validation/getWorkflow.d.ts +5 -0
- package/graphql/validation/getWorkflow.js +8 -0
- package/graphql/validation/getWorkflow.js.map +1 -0
- package/graphql/validation/getWorkflowState.d.ts +4 -0
- package/graphql/validation/getWorkflowState.js +7 -0
- package/graphql/validation/getWorkflowState.js.map +1 -0
- package/graphql/validation/listWorkflowStates.d.ts +26 -0
- package/graphql/validation/listWorkflowStates.js +36 -0
- package/graphql/validation/listWorkflowStates.js.map +1 -0
- package/graphql/validation/listWorkflows.d.ts +12 -0
- package/graphql/validation/listWorkflows.js +19 -0
- package/graphql/validation/listWorkflows.js.map +1 -0
- package/graphql/validation/rejectWorkflowState.d.ts +5 -0
- package/graphql/validation/rejectWorkflowState.js +8 -0
- package/graphql/validation/rejectWorkflowState.js.map +1 -0
- package/graphql/validation/startWorkflowState.d.ts +4 -0
- package/graphql/validation/startWorkflowState.js +7 -0
- package/graphql/validation/startWorkflowState.js.map +1 -0
- package/graphql/validation/step.d.ts +21 -0
- package/graphql/validation/step.js +16 -0
- package/graphql/validation/step.js.map +1 -0
- package/graphql/validation/storeWorkflow.d.ts +35 -0
- package/graphql/validation/storeWorkflow.js +10 -0
- package/graphql/validation/storeWorkflow.js.map +1 -0
- package/graphql/validation/takeOverWorkflowStateStep.d.ts +4 -0
- package/graphql/validation/takeOverWorkflowStateStep.js +7 -0
- package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -0
- package/graphql/validation/workflow.d.ts +33 -0
- package/graphql/validation/workflow.js +9 -0
- package/graphql/validation/workflow.js.map +1 -0
- package/graphql/workflowState.d.ts +2 -0
- package/graphql/workflowState.js +429 -0
- package/graphql/workflowState.js.map +1 -0
- package/graphql/workflows.d.ts +2 -0
- package/graphql/workflows.js +213 -0
- package/graphql/workflows.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +48 -0
- package/types.d.ts +20 -0
- package/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./abstractions.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GetWorkflowUseCase } from "../GetWorkflow/index.js";
|
|
2
|
+
import { CreateWorkflowUseCase } from "../CreateWorkflow/index.js";
|
|
3
|
+
import { UpdateWorkflowUseCase } from "../UpdateWorkflow/index.js";
|
|
4
|
+
import { StoreWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
5
|
+
declare class StoreWorkflowUseCaseImpl implements UseCase.Interface {
|
|
6
|
+
private getWorkflow;
|
|
7
|
+
private createWorkflow;
|
|
8
|
+
private updateWorkflow;
|
|
9
|
+
constructor(getWorkflow: GetWorkflowUseCase.Interface, createWorkflow: CreateWorkflowUseCase.Interface, updateWorkflow: UpdateWorkflowUseCase.Interface);
|
|
10
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const StoreWorkflowUseCase: typeof StoreWorkflowUseCaseImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IStoreWorkflowUseCase>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetWorkflowUseCase } from "../GetWorkflow/index.js";
|
|
3
|
+
import { CreateWorkflowUseCase } from "../CreateWorkflow/index.js";
|
|
4
|
+
import { UpdateWorkflowUseCase } from "../UpdateWorkflow/index.js";
|
|
5
|
+
import { StoreWorkflowUseCase } from "./abstractions.js";
|
|
6
|
+
class StoreWorkflowUseCaseImpl {
|
|
7
|
+
constructor(getWorkflow, createWorkflow, updateWorkflow){
|
|
8
|
+
this.getWorkflow = getWorkflow;
|
|
9
|
+
this.createWorkflow = createWorkflow;
|
|
10
|
+
this.updateWorkflow = updateWorkflow;
|
|
11
|
+
}
|
|
12
|
+
async execute(input) {
|
|
13
|
+
const existingResult = await this.getWorkflow.execute({
|
|
14
|
+
app: input.app,
|
|
15
|
+
id: input.id
|
|
16
|
+
});
|
|
17
|
+
if (existingResult.isFail()) {
|
|
18
|
+
if ("Workflows/Workflow/NotFound" !== existingResult.error.code) return Result.fail(existingResult.error);
|
|
19
|
+
}
|
|
20
|
+
const existing = existingResult.isOk() ? existingResult.value : null;
|
|
21
|
+
if (!existing) return this.createWorkflow.execute(input);
|
|
22
|
+
return this.updateWorkflow.execute(input, existing);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const StoreWorkflowUseCase_StoreWorkflowUseCase = StoreWorkflowUseCase.createImplementation({
|
|
26
|
+
implementation: StoreWorkflowUseCaseImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
GetWorkflowUseCase,
|
|
29
|
+
CreateWorkflowUseCase,
|
|
30
|
+
UpdateWorkflowUseCase
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
export { StoreWorkflowUseCase_StoreWorkflowUseCase as StoreWorkflowUseCase };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=StoreWorkflowUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/StoreWorkflow/StoreWorkflowUseCase.js","sources":["../../../../src/features/workflow/StoreWorkflow/StoreWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWorkflowUseCase } from \"../GetWorkflow/index.js\";\nimport { CreateWorkflowUseCase } from \"../CreateWorkflow/index.js\";\nimport { UpdateWorkflowUseCase } from \"../UpdateWorkflow/index.js\";\nimport { StoreWorkflowUseCase as UseCase } from \"./abstractions.js\";\n\nclass StoreWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private getWorkflow: GetWorkflowUseCase.Interface,\n private createWorkflow: CreateWorkflowUseCase.Interface,\n private updateWorkflow: UpdateWorkflowUseCase.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const existingResult = await this.getWorkflow.execute({\n app: input.app,\n id: input.id\n });\n\n // If getWorkflow fails with anything other than NotFound, propagate error\n if (existingResult.isFail()) {\n if (existingResult.error.code !== \"Workflows/Workflow/NotFound\") {\n return Result.fail(existingResult.error);\n }\n }\n\n const existing = existingResult.isOk() ? existingResult.value : null;\n\n if (!existing) {\n return this.createWorkflow.execute(input);\n } else {\n return this.updateWorkflow.execute(input, existing);\n }\n }\n}\n\nexport const StoreWorkflowUseCase = UseCase.createImplementation({\n implementation: StoreWorkflowUseCaseImpl,\n dependencies: [GetWorkflowUseCase, CreateWorkflowUseCase, UpdateWorkflowUseCase]\n});\n"],"names":["StoreWorkflowUseCaseImpl","getWorkflow","createWorkflow","updateWorkflow","input","existingResult","Result","existing","StoreWorkflowUseCase","UseCase","GetWorkflowUseCase","CreateWorkflowUseCase","UpdateWorkflowUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,WAAyC,EACzCC,cAA+C,EAC/CC,cAA+C,CACzD;aAHUF,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,KAAoB,EAAkB;QAChD,MAAMC,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAClD,KAAKD,MAAM,GAAG;YACd,IAAIA,MAAM,EAAE;QAChB;QAGA,IAAIC,eAAe,MAAM,IACrB;YAAA,IAAIA,AAA8B,kCAA9BA,eAAe,KAAK,CAAC,IAAI,EACzB,OAAOC,OAAO,IAAI,CAACD,eAAe,KAAK;QAC3C;QAGJ,MAAME,WAAWF,eAAe,IAAI,KAAKA,eAAe,KAAK,GAAG;QAEhE,IAAI,CAACE,UACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAACH;QAEnC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAACA,OAAOG;IAElD;AACJ;AAEO,MAAMC,4CAAuBC,qBAAAA,oBAA4B,CAAC;IAC7D,gBAAgBT;IAChB,cAAc;QAACU;QAAoBC;QAAuBC;KAAsB;AACpF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { IWorkflow } from "../../../domain/workflow/abstractions.js";
|
|
3
|
+
import type { NonEmptyArray } from "@webiny/api/types.js";
|
|
4
|
+
import { type WorkflowNotFoundError, type WorkflowNotAuthorizedError, type WorkflowPersistenceError, type WorkflowValidationError } from "../../../domain/workflow/errors.js";
|
|
5
|
+
import type { IWorkflowStepInput } from "../../../features/shared/abstractions.js";
|
|
6
|
+
export interface IStoreWorkflowInput {
|
|
7
|
+
app: string;
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
steps: NonEmptyArray<IWorkflowStepInput>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* StoreWorkflow use case interface - delegates to CreateWorkflow or UpdateWorkflow
|
|
14
|
+
*/
|
|
15
|
+
export interface IStoreWorkflowUseCase {
|
|
16
|
+
execute(input: IStoreWorkflowInput): Promise<Result<IWorkflow, UseCaseError>>;
|
|
17
|
+
}
|
|
18
|
+
export interface IStoreWorkflowUseCaseErrors {
|
|
19
|
+
notFound: WorkflowNotFoundError;
|
|
20
|
+
notAuthorized: WorkflowNotAuthorizedError;
|
|
21
|
+
persistence: WorkflowPersistenceError;
|
|
22
|
+
validation: WorkflowValidationError;
|
|
23
|
+
}
|
|
24
|
+
type UseCaseError = IStoreWorkflowUseCaseErrors[keyof IStoreWorkflowUseCaseErrors];
|
|
25
|
+
export declare const StoreWorkflowUseCase: import("@webiny/di").Abstraction<IStoreWorkflowUseCase>;
|
|
26
|
+
export declare namespace StoreWorkflowUseCase {
|
|
27
|
+
type Interface = IStoreWorkflowUseCase;
|
|
28
|
+
type Input = IStoreWorkflowInput;
|
|
29
|
+
type Return = Promise<Result<IWorkflow, UseCaseError>>;
|
|
30
|
+
type Error = UseCaseError;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/StoreWorkflow/abstractions.js","sources":["../../../../src/features/workflow/StoreWorkflow/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { IWorkflow } from \"~/domain/workflow/abstractions.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport {\n type WorkflowNotFoundError,\n type WorkflowNotAuthorizedError,\n type WorkflowPersistenceError,\n type WorkflowValidationError\n} from \"~/domain/workflow/errors.js\";\nimport type { IWorkflowStepInput } from \"~/features/shared/abstractions.js\";\n\n// Input types (from context/abstractions/WorkflowsContext.ts)\nexport interface IStoreWorkflowInput {\n app: string;\n id: string;\n name: string;\n steps: NonEmptyArray<IWorkflowStepInput>;\n}\n\n/**\n * StoreWorkflow use case interface - delegates to CreateWorkflow or UpdateWorkflow\n */\nexport interface IStoreWorkflowUseCase {\n execute(input: IStoreWorkflowInput): Promise<Result<IWorkflow, UseCaseError>>;\n}\n\nexport interface IStoreWorkflowUseCaseErrors {\n notFound: WorkflowNotFoundError;\n notAuthorized: WorkflowNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n validation: WorkflowValidationError;\n}\n\ntype UseCaseError = IStoreWorkflowUseCaseErrors[keyof IStoreWorkflowUseCaseErrors];\n\nexport const StoreWorkflowUseCase =\n createAbstraction<IStoreWorkflowUseCase>(\"StoreWorkflowUseCase\");\n\nexport namespace StoreWorkflowUseCase {\n export type Interface = IStoreWorkflowUseCase;\n export type Input = IStoreWorkflowInput;\n export type Return = Promise<Result<IWorkflow, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["StoreWorkflowUseCase","createAbstraction"],"mappings":";AAoCO,MAAMA,uBACTC,kBAAyC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { StoreWorkflowUseCase } from "./StoreWorkflowUseCase.js";
|
|
3
|
+
import { CreateWorkflowFeature } from "../CreateWorkflow/index.js";
|
|
4
|
+
import { UpdateWorkflowFeature } from "../UpdateWorkflow/index.js";
|
|
5
|
+
const StoreWorkflowFeature = createFeature({
|
|
6
|
+
name: "Workflows/StoreWorkflow",
|
|
7
|
+
register (container) {
|
|
8
|
+
CreateWorkflowFeature.register(container);
|
|
9
|
+
UpdateWorkflowFeature.register(container);
|
|
10
|
+
container.register(StoreWorkflowUseCase);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
export { StoreWorkflowFeature };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/StoreWorkflow/feature.js","sources":["../../../../src/features/workflow/StoreWorkflow/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { StoreWorkflowUseCase } from \"./StoreWorkflowUseCase.js\";\nimport { CreateWorkflowFeature } from \"../CreateWorkflow/index.js\";\nimport { UpdateWorkflowFeature } from \"../UpdateWorkflow/index.js\";\n\nexport const StoreWorkflowFeature = createFeature({\n name: \"Workflows/StoreWorkflow\",\n register(container) {\n // Register dependencies\n CreateWorkflowFeature.register(container);\n UpdateWorkflowFeature.register(container);\n\n // Register StoreWorkflow use case\n container.register(StoreWorkflowUseCase);\n }\n});\n"],"names":["StoreWorkflowFeature","createFeature","container","CreateWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowUseCase"],"mappings":";;;;AAKO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QAEdC,sBAAsB,QAAQ,CAACD;QAC/BE,sBAAsB,QAAQ,CAACF;QAG/BA,UAAU,QAAQ,CAACG;IACvB;AACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
2
|
+
import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
|
|
3
|
+
import type { IUpdateWorkflowInput } from "./abstractions.js";
|
|
4
|
+
import { UpdateWorkflowRepository as Repository } from "./abstractions.js";
|
|
5
|
+
declare class UpdateWorkflowRepositoryImpl implements Repository.Interface {
|
|
6
|
+
private updateEntry;
|
|
7
|
+
private model;
|
|
8
|
+
private mapper;
|
|
9
|
+
constructor(updateEntry: UpdateEntryUseCase.Interface, model: WorkflowModel.Interface, mapper: WorkflowMapper.Interface);
|
|
10
|
+
execute(input: IUpdateWorkflowInput): Repository.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const UpdateWorkflowRepository: typeof UpdateWorkflowRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateWorkflowRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { parseIdentifier } from "@webiny/utils/parseIdentifier.js";
|
|
3
|
+
import { createIdentifier } from "@webiny/utils";
|
|
4
|
+
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
5
|
+
import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
|
|
6
|
+
import { WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
7
|
+
import { UpdateWorkflowRepository } from "./abstractions.js";
|
|
8
|
+
class UpdateWorkflowRepositoryImpl {
|
|
9
|
+
constructor(updateEntry, model, mapper){
|
|
10
|
+
this.updateEntry = updateEntry;
|
|
11
|
+
this.model = model;
|
|
12
|
+
this.mapper = mapper;
|
|
13
|
+
}
|
|
14
|
+
async execute(input) {
|
|
15
|
+
const { id } = parseIdentifier(input.id);
|
|
16
|
+
const values = this.mapper.toCmsEntry({
|
|
17
|
+
id,
|
|
18
|
+
app: input.app,
|
|
19
|
+
name: input.name,
|
|
20
|
+
steps: input.steps
|
|
21
|
+
});
|
|
22
|
+
const workflowId = createIdentifier({
|
|
23
|
+
id,
|
|
24
|
+
version: 1
|
|
25
|
+
});
|
|
26
|
+
try {
|
|
27
|
+
const updateResult = await this.updateEntry.execute(this.model, workflowId, {
|
|
28
|
+
values
|
|
29
|
+
});
|
|
30
|
+
if (updateResult.isFail()) return Result.fail(new WorkflowPersistenceError(updateResult.error));
|
|
31
|
+
return Result.ok({
|
|
32
|
+
...values,
|
|
33
|
+
id
|
|
34
|
+
});
|
|
35
|
+
} catch (error) {
|
|
36
|
+
return Result.fail(new WorkflowPersistenceError(error));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const UpdateWorkflowRepository_UpdateWorkflowRepository = UpdateWorkflowRepository.createImplementation({
|
|
41
|
+
implementation: UpdateWorkflowRepositoryImpl,
|
|
42
|
+
dependencies: [
|
|
43
|
+
UpdateEntryUseCase,
|
|
44
|
+
WorkflowModel,
|
|
45
|
+
WorkflowMapper
|
|
46
|
+
]
|
|
47
|
+
});
|
|
48
|
+
export { UpdateWorkflowRepository_UpdateWorkflowRepository as UpdateWorkflowRepository };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=UpdateWorkflowRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js","sources":["../../../../src/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { createIdentifier } from \"@webiny/utils\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { type IWorkflow, WorkflowMapper, WorkflowModel } from \"~/domain/workflow/abstractions.js\";\nimport { WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport type { IUpdateWorkflowInput } from \"./abstractions.js\";\nimport { UpdateWorkflowRepository as Repository } from \"./abstractions.js\";\n\nclass UpdateWorkflowRepositoryImpl implements Repository.Interface {\n constructor(\n private updateEntry: UpdateEntryUseCase.Interface,\n private model: WorkflowModel.Interface,\n private mapper: WorkflowMapper.Interface\n ) {}\n\n async execute(input: IUpdateWorkflowInput): Repository.Return {\n const { id } = parseIdentifier(input.id);\n\n const values = this.mapper.toCmsEntry({\n id,\n app: input.app,\n name: input.name,\n steps: input.steps\n });\n\n const workflowId = createIdentifier({\n id,\n version: 1\n });\n\n try {\n const updateResult = await this.updateEntry.execute<IWorkflow>(this.model, workflowId, {\n values\n });\n\n if (updateResult.isFail()) {\n return Result.fail(new WorkflowPersistenceError(updateResult.error));\n }\n\n return Result.ok({\n ...values,\n id\n });\n } catch (error) {\n return Result.fail(new WorkflowPersistenceError(error as Error));\n }\n }\n}\n\nexport const UpdateWorkflowRepository = Repository.createImplementation({\n implementation: UpdateWorkflowRepositoryImpl,\n dependencies: [UpdateEntryUseCase, WorkflowModel, WorkflowMapper]\n});\n"],"names":["UpdateWorkflowRepositoryImpl","updateEntry","model","mapper","input","id","parseIdentifier","values","workflowId","createIdentifier","updateResult","Result","WorkflowPersistenceError","error","UpdateWorkflowRepository","Repository","UpdateEntryUseCase","WorkflowModel","WorkflowMapper"],"mappings":";;;;;;;AASA,MAAMA;IACF,YACYC,WAAyC,EACzCC,KAA8B,EAC9BC,MAAgC,CAC1C;aAHUF,WAAW,GAAXA;aACAC,KAAK,GAALA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAA2B,EAAqB;QAC1D,MAAM,EAAEC,EAAE,EAAE,GAAGC,gBAAgBF,MAAM,EAAE;QAEvC,MAAMG,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAClCF;YACA,KAAKD,MAAM,GAAG;YACd,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;QACtB;QAEA,MAAMI,aAAaC,iBAAiB;YAChCJ;YACA,SAAS;QACb;QAEA,IAAI;YACA,MAAMK,eAAe,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAY,IAAI,CAAC,KAAK,EAAEF,YAAY;gBACnFD;YACJ;YAEA,IAAIG,aAAa,MAAM,IACnB,OAAOC,OAAO,IAAI,CAAC,IAAIC,yBAAyBF,aAAa,KAAK;YAGtE,OAAOC,OAAO,EAAE,CAAC;gBACb,GAAGJ,MAAM;gBACTF;YACJ;QACJ,EAAE,OAAOQ,OAAO;YACZ,OAAOF,OAAO,IAAI,CAAC,IAAIC,yBAAyBC;QACpD;IACJ;AACJ;AAEO,MAAMC,oDAA2BC,yBAAAA,oBAA+B,CAAC;IACpE,gBAAgBf;IAChB,cAAc;QAACgB;QAAoBC;QAAeC;KAAe;AACrE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
declare class UpdateWorkflowUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private identityContext;
|
|
6
|
+
private eventPublisher;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(identityContext: IdentityContext.Interface, eventPublisher: EventPublisher.Interface, repository: UpdateWorkflowRepository.Interface);
|
|
9
|
+
execute(input: UseCase.Input, original: UseCase.Input): UseCase.Return;
|
|
10
|
+
private ensureManageAccess;
|
|
11
|
+
}
|
|
12
|
+
export declare const UpdateWorkflowUseCase: typeof UpdateWorkflowUseCaseImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateWorkflowUseCase>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
|
+
import { UpdateWorkflowRepository, UpdateWorkflowUseCase } from "./abstractions.js";
|
|
5
|
+
import { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from "./events.js";
|
|
6
|
+
import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
|
|
7
|
+
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
8
|
+
class UpdateWorkflowUseCaseImpl {
|
|
9
|
+
constructor(identityContext, eventPublisher, repository){
|
|
10
|
+
this.identityContext = identityContext;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.repository = repository;
|
|
13
|
+
}
|
|
14
|
+
async execute(input, original) {
|
|
15
|
+
const hasAccess = await this.ensureManageAccess();
|
|
16
|
+
if (hasAccess.isFail()) return Result.fail(hasAccess.error);
|
|
17
|
+
const workflow = {
|
|
18
|
+
id: input.id,
|
|
19
|
+
app: input.app,
|
|
20
|
+
name: input.name,
|
|
21
|
+
steps: input.steps
|
|
22
|
+
};
|
|
23
|
+
await this.eventPublisher.publish(new WorkflowBeforeUpdateEvent({
|
|
24
|
+
workflow,
|
|
25
|
+
original,
|
|
26
|
+
input
|
|
27
|
+
}));
|
|
28
|
+
const result = await this.repository.execute(input);
|
|
29
|
+
if (result.isFail()) return result;
|
|
30
|
+
await this.eventPublisher.publish(new WorkflowAfterUpdateEvent({
|
|
31
|
+
workflow: result.value,
|
|
32
|
+
original,
|
|
33
|
+
input
|
|
34
|
+
}));
|
|
35
|
+
return Result.ok(result.value);
|
|
36
|
+
}
|
|
37
|
+
async ensureManageAccess() {
|
|
38
|
+
const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
|
|
39
|
+
for (const permission of permissions)if ("*" === permission.name) return Result.ok();
|
|
40
|
+
else if (permission.editor) return Result.ok();
|
|
41
|
+
return Result.fail(new WorkflowNotAuthorizedError("You cannot manage workflows."));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const UpdateWorkflowUseCase_UpdateWorkflowUseCase = UpdateWorkflowUseCase.createImplementation({
|
|
45
|
+
implementation: UpdateWorkflowUseCaseImpl,
|
|
46
|
+
dependencies: [
|
|
47
|
+
IdentityContext,
|
|
48
|
+
EventPublisher,
|
|
49
|
+
UpdateWorkflowRepository
|
|
50
|
+
]
|
|
51
|
+
});
|
|
52
|
+
export { UpdateWorkflowUseCase_UpdateWorkflowUseCase as UpdateWorkflowUseCase };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=UpdateWorkflowUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js","sources":["../../../../src/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass UpdateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input, original: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeUpdateEvent({\n workflow,\n original,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterUpdateEvent({\n workflow: result.value,\n original,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const UpdateWorkflowUseCase = UseCase.createImplementation({\n implementation: UpdateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, UpdateWorkflowRepository]\n});\n"],"names":["UpdateWorkflowUseCaseImpl","identityContext","eventPublisher","repository","input","original","hasAccess","Result","workflow","WorkflowBeforeUpdateEvent","result","WorkflowAfterUpdateEvent","permissions","WORKFLOWS_PERMISSION","permission","WorkflowNotAuthorizedError","UpdateWorkflowUseCase","UseCase","IdentityContext","EventPublisher","UpdateWorkflowRepository"],"mappings":";;;;;;;AASA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,CACxD;aAHUF,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,KAAoB,EAAEC,QAAuB,EAAkB;QACzE,MAAMC,YAAY,MAAM,IAAI,CAAC,kBAAkB;QAC/C,IAAIA,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,WAAW;YACb,IAAIJ,MAAM,EAAE;YACZ,KAAKA,MAAM,GAAG;YACd,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,0BAA0B;YAC1BD;YACAH;YACAD;QACJ;QAGJ,MAAMM,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACN;QAC7C,IAAIM,OAAO,MAAM,IACb,OAAOA;QAGX,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,yBAAyB;YACzB,UAAUD,OAAO,KAAK;YACtBL;YACAD;QACJ;QAGJ,OAAOG,OAAO,EAAE,CAACG,OAAO,KAAK;IACjC;IAEA,MAAc,qBAAwE;QAClF,MAAME,cACF,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CACrCC;QAGR,KAAK,MAAMC,cAAcF,YACrB,IAAIE,AAAoB,QAApBA,WAAW,IAAI,EACf,OAAOP,OAAO,EAAE;aACb,IAAIO,WAAW,MAAM,EACxB,OAAOP,OAAO,EAAE;QAIxB,OAAOA,OAAO,IAAI,CAAC,IAAIQ,2BAA2B;IACtD;AACJ;AAEO,MAAMC,8CAAwBC,sBAAAA,oBAA4B,CAAC;IAC9D,gBAAgBjB;IAChB,cAAc;QAACkB;QAAiBC;QAAgBC;KAAyB;AAC7E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { IWorkflow } from "../../../domain/workflow/abstractions.js";
|
|
3
|
+
import type { NonEmptyArray } from "@webiny/api/types.js";
|
|
4
|
+
import { type WorkflowNotAuthorizedError, type WorkflowPersistenceError, type WorkflowValidationError } from "../../../domain/workflow/errors.js";
|
|
5
|
+
import type { IWorkflowStepInput } from "../../../features/shared/abstractions.js";
|
|
6
|
+
export interface IUpdateWorkflowInput {
|
|
7
|
+
app: string;
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
steps: NonEmptyArray<IWorkflowStepInput>;
|
|
11
|
+
}
|
|
12
|
+
export interface WorkflowBeforeUpdatePayload {
|
|
13
|
+
workflow: IWorkflow;
|
|
14
|
+
original: IWorkflow;
|
|
15
|
+
input: IUpdateWorkflowInput;
|
|
16
|
+
}
|
|
17
|
+
export interface WorkflowAfterUpdatePayload {
|
|
18
|
+
workflow: IWorkflow;
|
|
19
|
+
original: IWorkflow;
|
|
20
|
+
input: IUpdateWorkflowInput;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* UpdateWorkflow use case interface
|
|
24
|
+
*/
|
|
25
|
+
export interface IUpdateWorkflowUseCase {
|
|
26
|
+
execute(input: IUpdateWorkflowInput, original: IWorkflow): Promise<Result<IWorkflow, UseCaseError>>;
|
|
27
|
+
}
|
|
28
|
+
export interface IUpdateWorkflowUseCaseErrors {
|
|
29
|
+
notAuthorized: WorkflowNotAuthorizedError;
|
|
30
|
+
persistence: WorkflowPersistenceError;
|
|
31
|
+
validation: WorkflowValidationError;
|
|
32
|
+
}
|
|
33
|
+
type UseCaseError = IUpdateWorkflowUseCaseErrors[keyof IUpdateWorkflowUseCaseErrors];
|
|
34
|
+
export declare const UpdateWorkflowUseCase: import("@webiny/di").Abstraction<IUpdateWorkflowUseCase>;
|
|
35
|
+
export declare namespace UpdateWorkflowUseCase {
|
|
36
|
+
type Interface = IUpdateWorkflowUseCase;
|
|
37
|
+
type Input = IUpdateWorkflowInput;
|
|
38
|
+
type Return = Promise<Result<IWorkflow, UseCaseError>>;
|
|
39
|
+
type Error = UseCaseError;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* UpdateWorkflow repository interface
|
|
43
|
+
*/
|
|
44
|
+
export interface IUpdateWorkflowRepository {
|
|
45
|
+
execute(input: IUpdateWorkflowInput): Promise<Result<IWorkflow, RepositoryError>>;
|
|
46
|
+
}
|
|
47
|
+
export interface IUpdateWorkflowRepositoryErrors {
|
|
48
|
+
persistence: WorkflowPersistenceError;
|
|
49
|
+
}
|
|
50
|
+
type RepositoryError = IUpdateWorkflowRepositoryErrors[keyof IUpdateWorkflowRepositoryErrors];
|
|
51
|
+
export declare const UpdateWorkflowRepository: import("@webiny/di").Abstraction<IUpdateWorkflowRepository>;
|
|
52
|
+
export declare namespace UpdateWorkflowRepository {
|
|
53
|
+
type Interface = IUpdateWorkflowRepository;
|
|
54
|
+
type Return = Promise<Result<IWorkflow, RepositoryError>>;
|
|
55
|
+
type Error = RepositoryError;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const UpdateWorkflowUseCase = createAbstraction("UpdateWorkflowUseCase");
|
|
3
|
+
const UpdateWorkflowRepository = createAbstraction("UpdateWorkflowRepository");
|
|
4
|
+
export { UpdateWorkflowRepository, UpdateWorkflowUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/UpdateWorkflow/abstractions.js","sources":["../../../../src/features/workflow/UpdateWorkflow/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { IWorkflow } from \"~/domain/workflow/abstractions.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport {\n type WorkflowNotAuthorizedError,\n type WorkflowPersistenceError,\n type WorkflowValidationError\n} from \"~/domain/workflow/errors.js\";\nimport type { IWorkflowStepInput } from \"~/features/shared/abstractions.js\";\n\n// Input types\nexport interface IUpdateWorkflowInput {\n app: string;\n id: string;\n name: string;\n steps: NonEmptyArray<IWorkflowStepInput>;\n}\n\n// Event payloads\nexport interface WorkflowBeforeUpdatePayload {\n workflow: IWorkflow;\n original: IWorkflow;\n input: IUpdateWorkflowInput;\n}\n\nexport interface WorkflowAfterUpdatePayload {\n workflow: IWorkflow;\n original: IWorkflow;\n input: IUpdateWorkflowInput;\n}\n\n/**\n * UpdateWorkflow use case interface\n */\nexport interface IUpdateWorkflowUseCase {\n execute(\n input: IUpdateWorkflowInput,\n original: IWorkflow\n ): Promise<Result<IWorkflow, UseCaseError>>;\n}\n\nexport interface IUpdateWorkflowUseCaseErrors {\n notAuthorized: WorkflowNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n validation: WorkflowValidationError;\n}\n\ntype UseCaseError = IUpdateWorkflowUseCaseErrors[keyof IUpdateWorkflowUseCaseErrors];\n\nexport const UpdateWorkflowUseCase =\n createAbstraction<IUpdateWorkflowUseCase>(\"UpdateWorkflowUseCase\");\n\nexport namespace UpdateWorkflowUseCase {\n export type Interface = IUpdateWorkflowUseCase;\n export type Input = IUpdateWorkflowInput;\n export type Return = Promise<Result<IWorkflow, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * UpdateWorkflow repository interface\n */\nexport interface IUpdateWorkflowRepository {\n execute(input: IUpdateWorkflowInput): Promise<Result<IWorkflow, RepositoryError>>;\n}\n\nexport interface IUpdateWorkflowRepositoryErrors {\n persistence: WorkflowPersistenceError;\n}\n\ntype RepositoryError = IUpdateWorkflowRepositoryErrors[keyof IUpdateWorkflowRepositoryErrors];\n\nexport const UpdateWorkflowRepository = createAbstraction<IUpdateWorkflowRepository>(\n \"UpdateWorkflowRepository\"\n);\n\nexport namespace UpdateWorkflowRepository {\n export type Interface = IUpdateWorkflowRepository;\n export type Return = Promise<Result<IWorkflow, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"names":["UpdateWorkflowUseCase","createAbstraction","UpdateWorkflowRepository"],"mappings":";AAkDO,MAAMA,wBACTC,kBAA0C;AAsBvC,MAAMC,2BAA2BD,kBACpC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from "./abstractions.js";
|
|
4
|
+
export declare class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {
|
|
5
|
+
eventType: "workflow.beforeUpdate";
|
|
6
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<WorkflowBeforeUpdateEvent>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const WorkflowBeforeUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<WorkflowBeforeUpdateEvent>>;
|
|
9
|
+
export declare namespace WorkflowBeforeUpdateHandler {
|
|
10
|
+
type Interface = IEventHandler<WorkflowBeforeUpdateEvent>;
|
|
11
|
+
type Event = WorkflowBeforeUpdateEvent;
|
|
12
|
+
}
|
|
13
|
+
export declare class WorkflowAfterUpdateEvent extends DomainEvent<WorkflowAfterUpdatePayload> {
|
|
14
|
+
eventType: "workflow.afterUpdate";
|
|
15
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<WorkflowAfterUpdateEvent>>;
|
|
16
|
+
}
|
|
17
|
+
export declare const WorkflowAfterUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<WorkflowAfterUpdateEvent>>;
|
|
18
|
+
export declare namespace WorkflowAfterUpdateHandler {
|
|
19
|
+
type Interface = IEventHandler<WorkflowAfterUpdateEvent>;
|
|
20
|
+
type Event = WorkflowAfterUpdateEvent;
|
|
21
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
class WorkflowBeforeUpdateEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return WorkflowBeforeUpdateHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "workflow.beforeUpdate";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const WorkflowBeforeUpdateHandler = createAbstraction("WorkflowBeforeUpdateHandler");
|
|
12
|
+
class WorkflowAfterUpdateEvent extends DomainEvent {
|
|
13
|
+
getHandlerAbstraction() {
|
|
14
|
+
return WorkflowAfterUpdateHandler;
|
|
15
|
+
}
|
|
16
|
+
constructor(...args){
|
|
17
|
+
super(...args), this.eventType = "workflow.afterUpdate";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const WorkflowAfterUpdateHandler = createAbstraction("WorkflowAfterUpdateHandler");
|
|
21
|
+
export { WorkflowAfterUpdateEvent, WorkflowAfterUpdateHandler, WorkflowBeforeUpdateEvent, WorkflowBeforeUpdateHandler };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/UpdateWorkflow/events.js","sources":["../../../../src/features/workflow/UpdateWorkflow/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from \"./abstractions.js\";\n\n// Before update event\nexport class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {\n eventType = \"workflow.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeUpdateHandler;\n }\n}\n\nexport const WorkflowBeforeUpdateHandler = createAbstraction<\n IEventHandler<WorkflowBeforeUpdateEvent>\n>(\"WorkflowBeforeUpdateHandler\");\n\nexport namespace WorkflowBeforeUpdateHandler {\n export type Interface = IEventHandler<WorkflowBeforeUpdateEvent>;\n export type Event = WorkflowBeforeUpdateEvent;\n}\n\n// After update event\nexport class WorkflowAfterUpdateEvent extends DomainEvent<WorkflowAfterUpdatePayload> {\n eventType = \"workflow.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterUpdateHandler;\n }\n}\n\nexport const WorkflowAfterUpdateHandler = createAbstraction<\n IEventHandler<WorkflowAfterUpdateEvent>\n>(\"WorkflowAfterUpdateHandler\");\n\nexport namespace WorkflowAfterUpdateHandler {\n export type Interface = IEventHandler<WorkflowAfterUpdateEvent>;\n export type Event = WorkflowAfterUpdateEvent;\n}\n"],"names":["WorkflowBeforeUpdateEvent","DomainEvent","WorkflowBeforeUpdateHandler","createAbstraction","WorkflowAfterUpdateEvent","WorkflowAfterUpdateHandler"],"mappings":";;AAMO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,8BAA8BC,kBAEzC;AAQK,MAAMC,iCAAiCH;IAG1C,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,6BAA6BF,kBAExC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWorkflowUseCase } from "./UpdateWorkflowUseCase.js";
|
|
3
|
+
import { UpdateWorkflowRepository } from "./UpdateWorkflowRepository.js";
|
|
4
|
+
const UpdateWorkflowFeature = createFeature({
|
|
5
|
+
name: "Workflows/UpdateWorkflow",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(UpdateWorkflowRepository).inSingletonScope();
|
|
8
|
+
container.register(UpdateWorkflowUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { UpdateWorkflowFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflow/UpdateWorkflow/feature.js","sources":["../../../../src/features/workflow/UpdateWorkflow/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateWorkflowUseCase } from \"./UpdateWorkflowUseCase.js\";\nimport { UpdateWorkflowRepository } from \"./UpdateWorkflowRepository.js\";\n\nexport const UpdateWorkflowFeature = createFeature({\n name: \"Workflows/UpdateWorkflow\",\n register(container) {\n container.register(UpdateWorkflowRepository).inSingletonScope();\n container.register(UpdateWorkflowUseCase);\n }\n});\n"],"names":["UpdateWorkflowFeature","createFeature","container","UpdateWorkflowRepository","UpdateWorkflowUseCase"],"mappings":";;;AAIO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,0BAA0B,gBAAgB;QAC7DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { UpdateWorkflowFeature } from "./feature.js";
|
|
2
|
+
export { UpdateWorkflowUseCase, UpdateWorkflowRepository } from "./abstractions.js";
|
|
3
|
+
export type { IUpdateWorkflowInput } from "./abstractions.js";
|
|
4
|
+
export { WorkflowBeforeUpdateEvent, WorkflowAfterUpdateEvent, WorkflowBeforeUpdateHandler, WorkflowAfterUpdateHandler } from "./events.js";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { UpdateWorkflowFeature } from "./feature.js";
|
|
2
|
+
export { UpdateWorkflowRepository, UpdateWorkflowUseCase } from "./abstractions.js";
|
|
3
|
+
export { WorkflowAfterUpdateEvent, WorkflowAfterUpdateHandler, WorkflowBeforeUpdateEvent, WorkflowBeforeUpdateHandler } from "./events.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GetWorkflowStateUseCase } from "../GetWorkflowState/index.js";
|
|
2
|
+
import { UpdateWorkflowStateRepository } from "../UpdateWorkflowState/index.js";
|
|
3
|
+
import { ApproveWorkflowStateStepUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
|
+
declare class ApproveWorkflowStateStepUseCaseImpl implements UseCase.Interface {
|
|
6
|
+
private getWorkflowState;
|
|
7
|
+
private repository;
|
|
8
|
+
private eventPublisher;
|
|
9
|
+
constructor(getWorkflowState: GetWorkflowStateUseCase.Interface, repository: UpdateWorkflowStateRepository.Interface, eventPublisher: EventPublisher.Interface);
|
|
10
|
+
execute(id: string, comment?: string): UseCase.Return;
|
|
11
|
+
}
|
|
12
|
+
export declare const ApproveWorkflowStateStepUseCase: typeof ApproveWorkflowStateStepUseCaseImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IApproveWorkflowStateStepUseCase>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetWorkflowStateUseCase } from "../GetWorkflowState/index.js";
|
|
3
|
+
import { UpdateWorkflowStateRepository } from "../UpdateWorkflowState/index.js";
|
|
4
|
+
import { ApproveWorkflowStateStepUseCase } from "./abstractions.js";
|
|
5
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
6
|
+
import { WorkflowStateApproveStepEvent } from "./events.js";
|
|
7
|
+
class ApproveWorkflowStateStepUseCaseImpl {
|
|
8
|
+
constructor(getWorkflowState, repository, eventPublisher){
|
|
9
|
+
this.getWorkflowState = getWorkflowState;
|
|
10
|
+
this.repository = repository;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
}
|
|
13
|
+
async execute(id, comment) {
|
|
14
|
+
const stateResult = await this.getWorkflowState.execute(id);
|
|
15
|
+
if (stateResult.isFail()) return Result.fail(stateResult.error);
|
|
16
|
+
const state = stateResult.value;
|
|
17
|
+
const approveResult = state.approve(comment);
|
|
18
|
+
if (approveResult.isFail()) return Result.fail(approveResult.error);
|
|
19
|
+
const updatedRecord = state.toRecord();
|
|
20
|
+
const updateResult = await this.repository.execute(id, updatedRecord);
|
|
21
|
+
if (updateResult.isFail()) return Result.fail(updateResult.error);
|
|
22
|
+
await this.eventPublisher.publish(new WorkflowStateApproveStepEvent({
|
|
23
|
+
state
|
|
24
|
+
}));
|
|
25
|
+
return Result.ok(state);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const ApproveWorkflowStateStepUseCase_ApproveWorkflowStateStepUseCase = ApproveWorkflowStateStepUseCase.createImplementation({
|
|
29
|
+
implementation: ApproveWorkflowStateStepUseCaseImpl,
|
|
30
|
+
dependencies: [
|
|
31
|
+
GetWorkflowStateUseCase,
|
|
32
|
+
UpdateWorkflowStateRepository,
|
|
33
|
+
EventPublisher
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
export { ApproveWorkflowStateStepUseCase_ApproveWorkflowStateStepUseCase as ApproveWorkflowStateStepUseCase };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=ApproveWorkflowStateStepUseCase.js.map
|
package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js","sources":["../../../../src/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWorkflowStateUseCase } from \"../GetWorkflowState/index.js\";\nimport { UpdateWorkflowStateRepository } from \"../UpdateWorkflowState/index.js\";\nimport { ApproveWorkflowStateStepUseCase as UseCase } from \"./abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { WorkflowStateApproveStepEvent } from \"./events.js\";\n\nclass ApproveWorkflowStateStepUseCaseImpl implements UseCase.Interface {\n constructor(\n private getWorkflowState: GetWorkflowStateUseCase.Interface,\n private repository: UpdateWorkflowStateRepository.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(id: string, comment?: string): UseCase.Return {\n const stateResult = await this.getWorkflowState.execute(id);\n if (stateResult.isFail()) {\n return Result.fail(stateResult.error);\n }\n\n const state = stateResult.value;\n\n const approveResult = state.approve(comment);\n if (approveResult.isFail()) {\n return Result.fail(approveResult.error);\n }\n\n const updatedRecord = state.toRecord();\n\n const updateResult = await this.repository.execute(id, updatedRecord);\n if (updateResult.isFail()) {\n return Result.fail(updateResult.error);\n }\n\n await this.eventPublisher.publish(\n new WorkflowStateApproveStepEvent({\n state\n })\n );\n\n return Result.ok(state);\n }\n}\n\nexport const ApproveWorkflowStateStepUseCase = UseCase.createImplementation({\n implementation: ApproveWorkflowStateStepUseCaseImpl,\n dependencies: [GetWorkflowStateUseCase, UpdateWorkflowStateRepository, EventPublisher]\n});\n"],"names":["ApproveWorkflowStateStepUseCaseImpl","getWorkflowState","repository","eventPublisher","id","comment","stateResult","Result","state","approveResult","updatedRecord","updateResult","WorkflowStateApproveStepEvent","ApproveWorkflowStateStepUseCase","UseCase","GetWorkflowStateUseCase","UpdateWorkflowStateRepository","EventPublisher"],"mappings":";;;;;;AAOA,MAAMA;IACF,YACYC,gBAAmD,EACnDC,UAAmD,EACnDC,cAAwC,CAClD;aAHUF,gBAAgB,GAAhBA;aACAC,UAAU,GAAVA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAEC,OAAgB,EAAkB;QACxD,MAAMC,cAAc,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACF;QACxD,IAAIE,YAAY,MAAM,IAClB,OAAOC,OAAO,IAAI,CAACD,YAAY,KAAK;QAGxC,MAAME,QAAQF,YAAY,KAAK;QAE/B,MAAMG,gBAAgBD,MAAM,OAAO,CAACH;QACpC,IAAII,cAAc,MAAM,IACpB,OAAOF,OAAO,IAAI,CAACE,cAAc,KAAK;QAG1C,MAAMC,gBAAgBF,MAAM,QAAQ;QAEpC,MAAMG,eAAe,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACP,IAAIM;QACvD,IAAIC,aAAa,MAAM,IACnB,OAAOJ,OAAO,IAAI,CAACI,aAAa,KAAK;QAGzC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,8BAA8B;YAC9BJ;QACJ;QAGJ,OAAOD,OAAO,EAAE,CAACC;IACrB;AACJ;AAEO,MAAMK,kEAAkCC,gCAAAA,oBAA4B,CAAC;IACxE,gBAAgBd;IAChB,cAAc;QAACe;QAAyBC;QAA+BC;KAAe;AAC1F"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import { type WorkflowStateNotFoundError, WorkflowStatePersistenceError, type WorkflowStateStepCannotReviewError, type WorkflowStateStepNotStepOwnerError } from "../../../domain/workflowState/errors.js";
|
|
3
|
+
import type { WorkflowNotFoundError } from "../../../domain/workflow/errors.js";
|
|
4
|
+
import { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
|
|
5
|
+
export interface WorkflowStateApproveStepPayload {
|
|
6
|
+
state: WorkflowState;
|
|
7
|
+
}
|
|
8
|
+
export interface IApproveWorkflowStateStepUseCase {
|
|
9
|
+
execute(id: string, comment?: string): Promise<Result<WorkflowState, UseCaseError>>;
|
|
10
|
+
}
|
|
11
|
+
export interface IApproveWorkflowStateStepUseCaseErrors {
|
|
12
|
+
notFound: WorkflowStateNotFoundError;
|
|
13
|
+
workflowNotFound: WorkflowNotFoundError;
|
|
14
|
+
cannotReview: WorkflowStateStepCannotReviewError;
|
|
15
|
+
notStepOwner: WorkflowStateStepNotStepOwnerError;
|
|
16
|
+
workflowState: WorkflowState.Error;
|
|
17
|
+
persistence: WorkflowStatePersistenceError;
|
|
18
|
+
}
|
|
19
|
+
type UseCaseError = IApproveWorkflowStateStepUseCaseErrors[keyof IApproveWorkflowStateStepUseCaseErrors];
|
|
20
|
+
export declare const ApproveWorkflowStateStepUseCase: import("@webiny/di").Abstraction<IApproveWorkflowStateStepUseCase>;
|
|
21
|
+
export declare namespace ApproveWorkflowStateStepUseCase {
|
|
22
|
+
type Interface = IApproveWorkflowStateStepUseCase;
|
|
23
|
+
type Return = Promise<Result<WorkflowState, UseCaseError>>;
|
|
24
|
+
type Error = UseCaseError;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflowState/ApproveWorkflowStateStep/abstractions.js","sources":["../../../../src/features/workflowState/ApproveWorkflowStateStep/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport {\n type WorkflowStateNotFoundError,\n WorkflowStatePersistenceError,\n type WorkflowStateStepCannotReviewError,\n type WorkflowStateStepNotStepOwnerError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface WorkflowStateApproveStepPayload {\n state: WorkflowState;\n}\n\nexport interface IApproveWorkflowStateStepUseCase {\n execute(id: string, comment?: string): Promise<Result<WorkflowState, UseCaseError>>;\n}\n\nexport interface IApproveWorkflowStateStepUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n cannotReview: WorkflowStateStepCannotReviewError;\n notStepOwner: WorkflowStateStepNotStepOwnerError;\n workflowState: WorkflowState.Error;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError =\n IApproveWorkflowStateStepUseCaseErrors[keyof IApproveWorkflowStateStepUseCaseErrors];\n\nexport const ApproveWorkflowStateStepUseCase = createAbstraction<IApproveWorkflowStateStepUseCase>(\n \"ApproveWorkflowStateStepUseCase\"\n);\n\nexport namespace ApproveWorkflowStateStepUseCase {\n export type Interface = IApproveWorkflowStateStepUseCase;\n export type Return = Promise<Result<WorkflowState, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["ApproveWorkflowStateStepUseCase","createAbstraction"],"mappings":";AA+BO,MAAMA,kCAAkCC,kBAC3C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import type { WorkflowStateApproveStepPayload } from "./abstractions.js";
|
|
4
|
+
export declare class WorkflowStateApproveStepEvent extends DomainEvent<WorkflowStateApproveStepPayload> {
|
|
5
|
+
eventType: "workflowState.approveStep";
|
|
6
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<WorkflowStateApproveStepEvent>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const WorkflowStateApproveStepHandler: import("@webiny/di").Abstraction<IEventHandler<WorkflowStateApproveStepEvent>>;
|
|
9
|
+
export declare namespace WorkflowStateApproveStepHandler {
|
|
10
|
+
type Interface = IEventHandler<WorkflowStateApproveStepEvent>;
|
|
11
|
+
type Event = WorkflowStateApproveStepEvent;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
class WorkflowStateApproveStepEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return WorkflowStateApproveStepHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "workflowState.approveStep";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const WorkflowStateApproveStepHandler = createAbstraction("WorkflowStateApproveStepHandler");
|
|
12
|
+
export { WorkflowStateApproveStepEvent, WorkflowStateApproveStepHandler };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=events.js.map
|