@webiny/api-workflows 0.0.0-unstable.61c048f412
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/constants.d.ts +3 -0
- package/constants.js +5 -0
- package/constants.js.map +1 -0
- package/domain/notifications/abstractions.d.ts +64 -0
- package/domain/notifications/abstractions.js +10 -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 +29 -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 +36 -0
- package/domain/workflow/errors.js.map +1 -0
- package/domain/workflow/workflowModel.d.ts +9 -0
- package/domain/workflow/workflowModel.js +32 -0
- package/domain/workflow/workflowModel.js.map +1 -0
- package/domain/workflowState/WorkflowState.d.ts +55 -0
- package/domain/workflowState/WorkflowState.js +327 -0
- package/domain/workflowState/WorkflowState.js.map +1 -0
- package/domain/workflowState/WorkflowStateMapper.d.ts +9 -0
- package/domain/workflowState/WorkflowStateMapper.js +40 -0
- package/domain/workflowState/WorkflowStateMapper.js.map +1 -0
- package/domain/workflowState/abstractions.d.ts +75 -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 +139 -0
- package/domain/workflowState/errors.js.map +1 -0
- package/domain/workflowState/guards/canReview.d.ts +2 -0
- package/domain/workflowState/guards/canReview.js +5 -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 +5 -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 +6 -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 +6 -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 +5 -0
- package/domain/workflowState/guards/isStepOwner.js.map +1 -0
- package/domain/workflowState/stateModel.d.ts +9 -0
- package/domain/workflowState/stateModel.js +58 -0
- package/domain/workflowState/stateModel.js.map +1 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.d.ts +12 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.js +36 -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 +4 -0
- package/features/internal/GetUserTeams/abstractions.js.map +1 -0
- package/features/internal/GetUserTeams/feature.d.ts +1 -0
- package/features/internal/GetUserTeams/feature.js +10 -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 +3 -0
- package/features/internal/GetUserTeams/index.js.map +1 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.d.ts +11 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js +24 -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 +40 -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 +15 -0
- package/features/notifications/ListNotificationTypes/abstractions.js.map +1 -0
- package/features/notifications/ListNotificationTypes/feature.d.ts +1 -0
- package/features/notifications/ListNotificationTypes/feature.js +12 -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 +4 -0
- package/features/notifications/ListNotificationTypes/index.js.map +1 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.d.ts +13 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.js +47 -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 +4 -0
- package/features/notifications/NotificationTransport/abstractions.js.map +1 -0
- package/features/notifications/NotificationTransport/feature.d.ts +1 -0
- package/features/notifications/NotificationTransport/feature.js +10 -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 +4 -0
- package/features/notifications/NotificationTransport/index.js.map +1 -0
- package/features/shared/abstractions.d.ts +21 -0
- package/features/shared/abstractions.js +3 -0
- package/features/shared/abstractions.js.map +1 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +14 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +45 -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 +57 -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 +19 -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 +20 -0
- package/features/workflow/CreateWorkflow/events.js.map +1 -0
- package/features/workflow/CreateWorkflow/feature.d.ts +1 -0
- package/features/workflow/CreateWorkflow/feature.js +12 -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 +5 -0
- package/features/workflow/CreateWorkflow/index.js.map +1 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +13 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +33 -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 +59 -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 +19 -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 +20 -0
- package/features/workflow/DeleteWorkflow/events.js.map +1 -0
- package/features/workflow/DeleteWorkflow/feature.d.ts +1 -0
- package/features/workflow/DeleteWorkflow/feature.js +12 -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 +5 -0
- package/features/workflow/DeleteWorkflow/index.js.map +1 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +14 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js +46 -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 +34 -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 +15 -0
- package/features/workflow/GetWorkflow/abstractions.js.map +1 -0
- package/features/workflow/GetWorkflow/feature.d.ts +1 -0
- package/features/workflow/GetWorkflow/feature.js +12 -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 +3 -0
- package/features/workflow/GetWorkflow/index.js.map +1 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +18 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +67 -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 +20 -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 +15 -0
- package/features/workflow/ListWorkflows/abstractions.js.map +1 -0
- package/features/workflow/ListWorkflows/feature.d.ts +1 -0
- package/features/workflow/ListWorkflows/feature.js +12 -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 +3 -0
- package/features/workflow/ListWorkflows/index.js.map +1 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.d.ts +15 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +37 -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 +11 -0
- package/features/workflow/StoreWorkflow/abstractions.js.map +1 -0
- package/features/workflow/StoreWorkflow/feature.d.ts +1 -0
- package/features/workflow/StoreWorkflow/feature.js +17 -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 +4 -0
- package/features/workflow/StoreWorkflow/index.js.map +1 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +15 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +49 -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 +59 -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 +19 -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 +20 -0
- package/features/workflow/UpdateWorkflow/events.js.map +1 -0
- package/features/workflow/UpdateWorkflow/feature.d.ts +1 -0
- package/features/workflow/UpdateWorkflow/feature.js +12 -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 +5 -0
- package/features/workflow/UpdateWorkflow/index.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js +39 -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 +4 -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 +11 -0
- package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.js +10 -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 +4 -0
- package/features/workflowState/ApproveWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.d.ts +13 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js +29 -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 +9 -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 +11 -0
- package/features/workflowState/CancelWorkflowState/events.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/CancelWorkflowState/feature.js +10 -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 +4 -0
- package/features/workflowState/CancelWorkflowState/index.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +32 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +20 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +108 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/abstractions.d.ts +54 -0
- package/features/workflowState/CreateWorkflowState/abstractions.js +15 -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 +11 -0
- package/features/workflowState/CreateWorkflowState/events.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/CreateWorkflowState/feature.js +12 -0
- package/features/workflowState/CreateWorkflowState/feature.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/index.d.ts +2 -0
- package/features/workflowState/CreateWorkflowState/index.js +4 -0
- package/features/workflowState/CreateWorkflowState/index.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.d.ts +21 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +59 -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 +4 -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 +11 -0
- package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.js +10 -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 +4 -0
- package/features/workflowState/DeleteTargetWorkflowState/index.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +13 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +20 -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 +32 -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 +5 -0
- package/features/workflowState/DeleteWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/DeleteWorkflowState/feature.js +12 -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 +3 -0
- package/features/workflowState/DeleteWorkflowState/index.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +52 -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 +38 -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 +15 -0
- package/features/workflowState/GetTargetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/GetTargetWorkflowState/feature.js +12 -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 +3 -0
- package/features/workflowState/GetTargetWorkflowState/index.js.map +1 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +32 -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 +30 -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 +15 -0
- package/features/workflowState/GetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/GetWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/GetWorkflowState/feature.js +12 -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 +3 -0
- package/features/workflowState/GetWorkflowState/index.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.d.ts +13 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +41 -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 +9 -0
- package/features/workflowState/ListOwnWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.d.ts +1 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.js +10 -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 +3 -0
- package/features/workflowState/ListOwnWorkflowStates/index.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.d.ts +15 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +49 -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 +9 -0
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.d.ts +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.js +10 -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 +3 -0
- package/features/workflowState/ListRequestedWorkflowStates/index.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.d.ts +16 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +43 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +14 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +36 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/abstractions.d.ts +56 -0
- package/features/workflowState/ListWorkflowStates/abstractions.js +15 -0
- package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/feature.d.ts +1 -0
- package/features/workflowState/ListWorkflowStates/feature.js +12 -0
- package/features/workflowState/ListWorkflowStates/feature.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListWorkflowStates/index.js +3 -0
- package/features/workflowState/ListWorkflowStates/index.js.map +1 -0
- package/features/workflowState/README.md +8 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js +39 -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 +4 -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 +11 -0
- package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.js +10 -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 +4 -0
- package/features/workflowState/RejectWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js +39 -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 +4 -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 +11 -0
- package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/StartWorkflowStateStep/feature.js +10 -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 +4 -0
- package/features/workflowState/StartWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js +39 -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 +4 -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 +11 -0
- package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.js +10 -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 +4 -0
- package/features/workflowState/TakeOverWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +17 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +48 -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 +57 -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 +15 -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 +11 -0
- package/features/workflowState/UpdateWorkflowState/events.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/UpdateWorkflowState/feature.js +12 -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 +4 -0
- package/features/workflowState/UpdateWorkflowState/index.js.map +1 -0
- package/graphql/notifications.d.ts +2 -0
- package/graphql/notifications.js +51 -0
- package/graphql/notifications.js.map +1 -0
- package/graphql/validation/approveWorkflowState.d.ts +11 -0
- package/graphql/validation/approveWorkflowState.js +7 -0
- package/graphql/validation/approveWorkflowState.js.map +1 -0
- package/graphql/validation/cancelWorkflowState.d.ts +8 -0
- package/graphql/validation/cancelWorkflowState.js +6 -0
- package/graphql/validation/cancelWorkflowState.js.map +1 -0
- package/graphql/validation/createWorkflowState.d.ts +14 -0
- package/graphql/validation/createWorkflowState.js +8 -0
- package/graphql/validation/createWorkflowState.js.map +1 -0
- package/graphql/validation/deleteWorkflow.d.ts +11 -0
- package/graphql/validation/deleteWorkflow.js +7 -0
- package/graphql/validation/deleteWorkflow.js.map +1 -0
- package/graphql/validation/getTargetWorkflowState.d.ts +11 -0
- package/graphql/validation/getTargetWorkflowState.js +7 -0
- package/graphql/validation/getTargetWorkflowState.js.map +1 -0
- package/graphql/validation/getWorkflow.d.ts +11 -0
- package/graphql/validation/getWorkflow.js +7 -0
- package/graphql/validation/getWorkflow.js.map +1 -0
- package/graphql/validation/getWorkflowState.d.ts +8 -0
- package/graphql/validation/getWorkflowState.js +6 -0
- package/graphql/validation/getWorkflowState.js.map +1 -0
- package/graphql/validation/listWorkflowStates.d.ts +108 -0
- package/graphql/validation/listWorkflowStates.js +42 -0
- package/graphql/validation/listWorkflowStates.js.map +1 -0
- package/graphql/validation/listWorkflows.d.ts +42 -0
- package/graphql/validation/listWorkflows.js +22 -0
- package/graphql/validation/listWorkflows.js.map +1 -0
- package/graphql/validation/rejectWorkflowState.d.ts +11 -0
- package/graphql/validation/rejectWorkflowState.js +7 -0
- package/graphql/validation/rejectWorkflowState.js.map +1 -0
- package/graphql/validation/startWorkflowState.d.ts +8 -0
- package/graphql/validation/startWorkflowState.js +6 -0
- package/graphql/validation/startWorkflowState.js.map +1 -0
- package/graphql/validation/step.d.ts +49 -0
- package/graphql/validation/step.js +21 -0
- package/graphql/validation/step.js.map +1 -0
- package/graphql/validation/storeWorkflow.d.ts +107 -0
- package/graphql/validation/storeWorkflow.js +9 -0
- package/graphql/validation/storeWorkflow.js.map +1 -0
- package/graphql/validation/takeOverWorkflowStateStep.d.ts +8 -0
- package/graphql/validation/takeOverWorkflowStateStep.js +6 -0
- package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -0
- package/graphql/validation/workflow.d.ts +80 -0
- package/graphql/validation/workflow.js +10 -0
- package/graphql/validation/workflow.js.map +1 -0
- package/graphql/workflowState.d.ts +2 -0
- package/graphql/workflowState.js +398 -0
- package/graphql/workflowState.js.map +1 -0
- package/graphql/workflows.d.ts +2 -0
- package/graphql/workflows.js +216 -0
- package/graphql/workflows.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.js +102 -0
- package/index.js.map +1 -0
- package/package.json +41 -0
- package/types.d.ts +13 -0
- package/types.js +7 -0
- package/types.js.map +1 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWorkflowUseCase } from "./UpdateWorkflowUseCase.js";
|
|
3
|
+
import { UpdateWorkflowRepository } from "./UpdateWorkflowRepository.js";
|
|
4
|
+
export const UpdateWorkflowFeature = createFeature({
|
|
5
|
+
name: "Workflows/UpdateWorkflow",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(UpdateWorkflowRepository).inSingletonScope();
|
|
8
|
+
container.register(UpdateWorkflowUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","UpdateWorkflowUseCase","UpdateWorkflowRepository","UpdateWorkflowFeature","name","register","container","inSingletonScope"],"sources":["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"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAC9B,SAASC,wBAAwB;AAEjC,OAAO,MAAMC,qBAAqB,GAAGH,aAAa,CAAC;EAC/CI,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,wBAAwB,CAAC,CAACK,gBAAgB,CAAC,CAAC;IAC/DD,SAAS,CAACD,QAAQ,CAACJ,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -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,5 @@
|
|
|
1
|
+
export { UpdateWorkflowFeature } from "./feature.js";
|
|
2
|
+
export { UpdateWorkflowUseCase, UpdateWorkflowRepository } from "./abstractions.js";
|
|
3
|
+
export { WorkflowBeforeUpdateEvent, WorkflowAfterUpdateEvent, WorkflowBeforeUpdateHandler, WorkflowAfterUpdateHandler } from "./events.js";
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UpdateWorkflowFeature","UpdateWorkflowUseCase","UpdateWorkflowRepository","WorkflowBeforeUpdateEvent","WorkflowAfterUpdateEvent","WorkflowBeforeUpdateHandler","WorkflowAfterUpdateHandler"],"sources":["index.ts"],"sourcesContent":["export { UpdateWorkflowFeature } from \"./feature.js\";\nexport { UpdateWorkflowUseCase, UpdateWorkflowRepository } from \"./abstractions.js\";\nexport type { IUpdateWorkflowInput } from \"./abstractions.js\";\nexport {\n WorkflowBeforeUpdateEvent,\n WorkflowAfterUpdateEvent,\n WorkflowBeforeUpdateHandler,\n WorkflowAfterUpdateHandler\n} from \"./events.js\";\n"],"mappings":"AAAA,SAASA,qBAAqB;AAC9B,SAASC,qBAAqB,EAAEC,wBAAwB;AAExD,SACIC,yBAAyB,EACzBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,0BAA0B","ignoreList":[]}
|
|
@@ -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,39 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetWorkflowStateUseCase } from "../GetWorkflowState/index.js";
|
|
3
|
+
import { UpdateWorkflowStateRepository } from "../UpdateWorkflowState/index.js";
|
|
4
|
+
import { ApproveWorkflowStateStepUseCase as UseCase } 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()) {
|
|
16
|
+
return Result.fail(stateResult.error);
|
|
17
|
+
}
|
|
18
|
+
const state = stateResult.value;
|
|
19
|
+
const approveResult = state.approve(comment);
|
|
20
|
+
if (approveResult.isFail()) {
|
|
21
|
+
return Result.fail(approveResult.error);
|
|
22
|
+
}
|
|
23
|
+
const updatedRecord = state.toRecord();
|
|
24
|
+
const updateResult = await this.repository.execute(id, updatedRecord);
|
|
25
|
+
if (updateResult.isFail()) {
|
|
26
|
+
return Result.fail(updateResult.error);
|
|
27
|
+
}
|
|
28
|
+
await this.eventPublisher.publish(new WorkflowStateApproveStepEvent({
|
|
29
|
+
state
|
|
30
|
+
}));
|
|
31
|
+
return Result.ok(state);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export const ApproveWorkflowStateStepUseCase = UseCase.createImplementation({
|
|
35
|
+
implementation: ApproveWorkflowStateStepUseCaseImpl,
|
|
36
|
+
dependencies: [GetWorkflowStateUseCase, UpdateWorkflowStateRepository, EventPublisher]
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=ApproveWorkflowStateStepUseCase.js.map
|
package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","GetWorkflowStateUseCase","UpdateWorkflowStateRepository","ApproveWorkflowStateStepUseCase","UseCase","EventPublisher","WorkflowStateApproveStepEvent","ApproveWorkflowStateStepUseCaseImpl","constructor","getWorkflowState","repository","eventPublisher","execute","id","comment","stateResult","isFail","fail","error","state","value","approveResult","approve","updatedRecord","toRecord","updateResult","publish","ok","createImplementation","implementation","dependencies"],"sources":["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"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,+BAA+B,IAAIC,OAAO;AACnD,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,6BAA6B;AAEtC,MAAMC,mCAAmC,CAA8B;EACnEC,WAAWA,CACCC,gBAAmD,EACnDC,UAAmD,EACnDC,cAAwC,EAClD;IAAA,KAHUF,gBAAmD,GAAnDA,gBAAmD;IAAA,KACnDC,UAAmD,GAAnDA,UAAmD;IAAA,KACnDC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,EAAU,EAAEC,OAAgB,EAAkB;IACxD,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACN,gBAAgB,CAACG,OAAO,CAACC,EAAE,CAAC;IAC3D,IAAIE,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAOhB,MAAM,CAACiB,IAAI,CAACF,WAAW,CAACG,KAAK,CAAC;IACzC;IAEA,MAAMC,KAAK,GAAGJ,WAAW,CAACK,KAAK;IAE/B,MAAMC,aAAa,GAAGF,KAAK,CAACG,OAAO,CAACR,OAAO,CAAC;IAC5C,IAAIO,aAAa,CAACL,MAAM,CAAC,CAAC,EAAE;MACxB,OAAOhB,MAAM,CAACiB,IAAI,CAACI,aAAa,CAACH,KAAK,CAAC;IAC3C;IAEA,MAAMK,aAAa,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC;IAEtC,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACf,UAAU,CAACE,OAAO,CAACC,EAAE,EAAEU,aAAa,CAAC;IACrE,IAAIE,YAAY,CAACT,MAAM,CAAC,CAAC,EAAE;MACvB,OAAOhB,MAAM,CAACiB,IAAI,CAACQ,YAAY,CAACP,KAAK,CAAC;IAC1C;IAEA,MAAM,IAAI,CAACP,cAAc,CAACe,OAAO,CAC7B,IAAIpB,6BAA6B,CAAC;MAC9Ba;IACJ,CAAC,CACL,CAAC;IAED,OAAOnB,MAAM,CAAC2B,EAAE,CAACR,KAAK,CAAC;EAC3B;AACJ;AAEA,OAAO,MAAMhB,+BAA+B,GAAGC,OAAO,CAACwB,oBAAoB,CAAC;EACxEC,cAAc,EAAEtB,mCAAmC;EACnDuB,YAAY,EAAE,CAAC7B,uBAAuB,EAAEC,6BAA6B,EAAEG,cAAc;AACzF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -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,"names":["createAbstraction","ApproveWorkflowStateStepUseCase"],"sources":["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"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;AA8BvD,OAAO,MAAMC,+BAA+B,GAAGD,iBAAiB,CAC5D,iCACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
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,11 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
export class WorkflowStateApproveStepEvent extends DomainEvent {
|
|
4
|
+
eventType = "workflowState.approveStep";
|
|
5
|
+
getHandlerAbstraction() {
|
|
6
|
+
return WorkflowStateApproveStepHandler;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export const WorkflowStateApproveStepHandler = createAbstraction("WorkflowStateApproveStepHandler");
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","WorkflowStateApproveStepEvent","eventType","getHandlerAbstraction","WorkflowStateApproveStepHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowStateApproveStepPayload } from \"./abstractions.js\";\n\nexport class WorkflowStateApproveStepEvent extends DomainEvent<WorkflowStateApproveStepPayload> {\n eventType = \"workflowState.approveStep\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateApproveStepHandler;\n }\n}\n\nexport const WorkflowStateApproveStepHandler = createAbstraction<\n IEventHandler<WorkflowStateApproveStepEvent>\n>(\"WorkflowStateApproveStepHandler\");\n\nexport namespace WorkflowStateApproveStepHandler {\n export type Interface = IEventHandler<WorkflowStateApproveStepEvent>;\n export type Event = WorkflowStateApproveStepEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;AAGtE,OAAO,MAAMC,6BAA6B,SAASD,WAAW,CAAkC;EAC5FE,SAAS,GAAG,2BAA2B;EAEvCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,+BAA+B;EAC1C;AACJ;AAEA,OAAO,MAAMA,+BAA+B,GAAGL,iBAAiB,CAE9D,iCAAiC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ApproveWorkflowStateStepFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ApproveWorkflowStateStepUseCase } from "./ApproveWorkflowStateStepUseCase.js";
|
|
3
|
+
export const ApproveWorkflowStateStepFeature = createFeature({
|
|
4
|
+
name: "WorkflowState/ApproveWorkflowStateStep",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(ApproveWorkflowStateStepUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","ApproveWorkflowStateStepUseCase","ApproveWorkflowStateStepFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ApproveWorkflowStateStepUseCase } from \"./ApproveWorkflowStateStepUseCase.js\";\n\nexport const ApproveWorkflowStateStepFeature = createFeature({\n name: \"WorkflowState/ApproveWorkflowStateStep\",\n register(container) {\n container.register(ApproveWorkflowStateStepUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,+BAA+B;AAExC,OAAO,MAAMC,+BAA+B,GAAGF,aAAa,CAAC;EACzDG,IAAI,EAAE,wCAAwC;EAC9CC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,+BAA+B,CAAC;EACvD;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ApproveWorkflowStateStepUseCase","WorkflowStateApproveStepEvent"],"sources":["index.ts"],"sourcesContent":["export { ApproveWorkflowStateStepUseCase } from \"./abstractions.js\";\nexport { WorkflowStateApproveStepEvent } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B;AACxC,SAASC,6BAA6B","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UpdateWorkflowStateUseCase } from "../UpdateWorkflowState/index.js";
|
|
2
|
+
import { CancelWorkflowStateUseCase as UseCase } from "./abstractions.js";
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
|
+
declare class CancelWorkflowStateUseCaseImpl implements UseCase.Interface {
|
|
5
|
+
private updateWorkflowState;
|
|
6
|
+
private eventPublisher;
|
|
7
|
+
constructor(updateWorkflowState: UpdateWorkflowStateUseCase.Interface, eventPublisher: EventPublisher.Interface);
|
|
8
|
+
execute(id: string): UseCase.Return;
|
|
9
|
+
}
|
|
10
|
+
export declare const CancelWorkflowStateUseCase: typeof CancelWorkflowStateUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICancelWorkflowStateUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { UpdateWorkflowStateUseCase } from "../UpdateWorkflowState/index.js";
|
|
2
|
+
import { CancelWorkflowStateUseCase as UseCase } from "./abstractions.js";
|
|
3
|
+
import { Result } from "@webiny/feature/api";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
|
+
import { WorkflowStateCancelEvent } from "./events.js";
|
|
6
|
+
class CancelWorkflowStateUseCaseImpl {
|
|
7
|
+
constructor(updateWorkflowState, eventPublisher) {
|
|
8
|
+
this.updateWorkflowState = updateWorkflowState;
|
|
9
|
+
this.eventPublisher = eventPublisher;
|
|
10
|
+
}
|
|
11
|
+
async execute(id) {
|
|
12
|
+
const result = await this.updateWorkflowState.execute(id, {
|
|
13
|
+
isActive: false
|
|
14
|
+
});
|
|
15
|
+
if (result.isFail()) {
|
|
16
|
+
return Result.fail(result.error);
|
|
17
|
+
}
|
|
18
|
+
await this.eventPublisher.publish(new WorkflowStateCancelEvent({
|
|
19
|
+
state: result.value
|
|
20
|
+
}));
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export const CancelWorkflowStateUseCase = UseCase.createImplementation({
|
|
25
|
+
implementation: CancelWorkflowStateUseCaseImpl,
|
|
26
|
+
dependencies: [UpdateWorkflowStateUseCase, EventPublisher]
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=CancelWorkflowStateUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UpdateWorkflowStateUseCase","CancelWorkflowStateUseCase","UseCase","Result","EventPublisher","WorkflowStateCancelEvent","CancelWorkflowStateUseCaseImpl","constructor","updateWorkflowState","eventPublisher","execute","id","result","isActive","isFail","fail","error","publish","state","value","createImplementation","implementation","dependencies"],"sources":["CancelWorkflowStateUseCase.ts"],"sourcesContent":["import { UpdateWorkflowStateUseCase } from \"../UpdateWorkflowState/index.js\";\nimport { CancelWorkflowStateUseCase as UseCase } from \"./abstractions.js\";\nimport { Result } from \"@webiny/feature/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { WorkflowStateCancelEvent } from \"~/features/workflowState/CancelWorkflowState/events.js\";\n\nclass CancelWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private updateWorkflowState: UpdateWorkflowStateUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(id: string): UseCase.Return {\n const result = await this.updateWorkflowState.execute(id, {\n isActive: false\n });\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(\n new WorkflowStateCancelEvent({\n state: result.value\n })\n );\n\n return result;\n }\n}\n\nexport const CancelWorkflowStateUseCase = UseCase.createImplementation({\n implementation: CancelWorkflowStateUseCaseImpl,\n dependencies: [UpdateWorkflowStateUseCase, EventPublisher]\n});\n"],"mappings":"AAAA,SAASA,0BAA0B;AACnC,SAASC,0BAA0B,IAAIC,OAAO;AAC9C,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,wBAAwB;AAEjC,MAAMC,8BAA8B,CAA8B;EAC9DC,WAAWA,CACCC,mBAAyD,EACzDC,cAAwC,EAClD;IAAA,KAFUD,mBAAyD,GAAzDA,mBAAyD;IAAA,KACzDC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,EAAU,EAAkB;IACtC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,mBAAmB,CAACE,OAAO,CAACC,EAAE,EAAE;MACtDE,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOX,MAAM,CAACY,IAAI,CAACH,MAAM,CAACI,KAAK,CAAC;IACpC;IAEA,MAAM,IAAI,CAACP,cAAc,CAACQ,OAAO,CAC7B,IAAIZ,wBAAwB,CAAC;MACzBa,KAAK,EAAEN,MAAM,CAACO;IAClB,CAAC,CACL,CAAC;IAED,OAAOP,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMX,0BAA0B,GAAGC,OAAO,CAACkB,oBAAoB,CAAC;EACnEC,cAAc,EAAEf,8BAA8B;EAC9CgB,YAAY,EAAE,CAACtB,0BAA0B,EAAEI,cAAc;AAC7D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import { type WorkflowStateNotFoundError, type WorkflowStatePersistenceError } 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 WorkflowStateCancelPayload {
|
|
6
|
+
state: WorkflowState;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* CancelWorkflowState use case interface - marks workflow state as inactive
|
|
10
|
+
*/
|
|
11
|
+
export interface ICancelWorkflowStateUseCase {
|
|
12
|
+
execute(id: string): Promise<Result<WorkflowState, UseCaseError>>;
|
|
13
|
+
}
|
|
14
|
+
export interface ICancelWorkflowStateUseCaseErrors {
|
|
15
|
+
notFound: WorkflowStateNotFoundError;
|
|
16
|
+
workflowNotFound: WorkflowNotFoundError;
|
|
17
|
+
persistence: WorkflowStatePersistenceError;
|
|
18
|
+
}
|
|
19
|
+
type UseCaseError = ICancelWorkflowStateUseCaseErrors[keyof ICancelWorkflowStateUseCaseErrors];
|
|
20
|
+
export declare const CancelWorkflowStateUseCase: import("@webiny/di").Abstraction<ICancelWorkflowStateUseCase>;
|
|
21
|
+
export declare namespace CancelWorkflowStateUseCase {
|
|
22
|
+
type Interface = ICancelWorkflowStateUseCase;
|
|
23
|
+
type Return = Promise<Result<WorkflowState, UseCaseError>>;
|
|
24
|
+
type Error = UseCaseError;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* CancelWorkflowState use case interface - marks workflow state as inactive
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const CancelWorkflowStateUseCase = createAbstraction("CancelWorkflowStateUseCase");
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CancelWorkflowStateUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport {\n type WorkflowStateNotFoundError,\n type WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface WorkflowStateCancelPayload {\n state: WorkflowState;\n}\n\n/**\n * CancelWorkflowState use case interface - marks workflow state as inactive\n */\nexport interface ICancelWorkflowStateUseCase {\n execute(id: string): Promise<Result<WorkflowState, UseCaseError>>;\n}\n\nexport interface ICancelWorkflowStateUseCaseErrors {\n notFound: WorkflowStateNotFoundError;\n workflowNotFound: WorkflowNotFoundError;\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError = ICancelWorkflowStateUseCaseErrors[keyof ICancelWorkflowStateUseCaseErrors];\n\nexport const CancelWorkflowStateUseCase = createAbstraction<ICancelWorkflowStateUseCase>(\n \"CancelWorkflowStateUseCase\"\n);\n\nexport namespace CancelWorkflowStateUseCase {\n export type Interface = ICancelWorkflowStateUseCase;\n export type Return = Promise<Result<WorkflowState, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAYvD;AACA;AACA;;AAaA,OAAO,MAAMC,0BAA0B,GAAGD,iBAAiB,CACvD,4BACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import type { WorkflowStateCancelPayload } from "./abstractions.js";
|
|
4
|
+
export declare class WorkflowStateCancelEvent extends DomainEvent<WorkflowStateCancelPayload> {
|
|
5
|
+
eventType: "workflowState.cancel";
|
|
6
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<WorkflowStateCancelEvent>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const WorkflowStateCancelHandler: import("@webiny/di").Abstraction<IEventHandler<WorkflowStateCancelEvent>>;
|
|
9
|
+
export declare namespace WorkflowStateCancelHandler {
|
|
10
|
+
type Interface = IEventHandler<WorkflowStateCancelEvent>;
|
|
11
|
+
type Event = WorkflowStateCancelEvent;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
export class WorkflowStateCancelEvent extends DomainEvent {
|
|
4
|
+
eventType = "workflowState.cancel";
|
|
5
|
+
getHandlerAbstraction() {
|
|
6
|
+
return WorkflowStateCancelHandler;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export const WorkflowStateCancelHandler = createAbstraction("WorkflowStateCancelHandler");
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","WorkflowStateCancelEvent","eventType","getHandlerAbstraction","WorkflowStateCancelHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowStateCancelPayload } from \"./abstractions.js\";\n\nexport class WorkflowStateCancelEvent extends DomainEvent<WorkflowStateCancelPayload> {\n eventType = \"workflowState.cancel\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateCancelHandler;\n }\n}\n\nexport const WorkflowStateCancelHandler = createAbstraction<\n IEventHandler<WorkflowStateCancelEvent>\n>(\"WorkflowStateCancelHandler\");\n\nexport namespace WorkflowStateCancelHandler {\n export type Interface = IEventHandler<WorkflowStateCancelEvent>;\n export type Event = WorkflowStateCancelEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;AAGtE,OAAO,MAAMC,wBAAwB,SAASD,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGL,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CancelWorkflowStateFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CancelWorkflowStateUseCase } from "./CancelWorkflowStateUseCase.js";
|
|
3
|
+
export const CancelWorkflowStateFeature = createFeature({
|
|
4
|
+
name: "WorkflowState/CancelWorkflowState",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(CancelWorkflowStateUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","CancelWorkflowStateUseCase","CancelWorkflowStateFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CancelWorkflowStateUseCase } from \"./CancelWorkflowStateUseCase.js\";\n\nexport const CancelWorkflowStateFeature = createFeature({\n name: \"WorkflowState/CancelWorkflowState\",\n register(container) {\n container.register(CancelWorkflowStateUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,0BAA0B,GAAGF,aAAa,CAAC;EACpDG,IAAI,EAAE,mCAAmC;EACzCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,0BAA0B,CAAC;EAClD;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CancelWorkflowStateUseCase","WorkflowStateCancelEvent"],"sources":["index.ts"],"sourcesContent":["export { CancelWorkflowStateUseCase } from \"./abstractions.js\";\nexport { WorkflowStateCancelEvent } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,0BAA0B;AACnC,SAASC,wBAAwB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
|
|
2
|
+
import { WorkflowStateMapper, WorkflowStateModel } from "../../../domain/workflowState/abstractions.js";
|
|
3
|
+
import { CreateWorkflowStateRepository as Repository } from "./abstractions.js";
|
|
4
|
+
declare class CreateWorkflowStateRepositoryImpl implements Repository.Interface {
|
|
5
|
+
private createEntry;
|
|
6
|
+
private model;
|
|
7
|
+
private mapper;
|
|
8
|
+
constructor(createEntry: CreateEntryUseCase.Interface, model: WorkflowStateModel.Interface, mapper: WorkflowStateMapper.Interface);
|
|
9
|
+
execute(input: Repository.Input): Repository.Return;
|
|
10
|
+
}
|
|
11
|
+
export declare const CreateWorkflowStateRepository: typeof CreateWorkflowStateRepositoryImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateWorkflowStateRepository>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
|
|
3
|
+
import { WorkflowStateMapper, WorkflowStateModel } from "../../../domain/workflowState/abstractions.js";
|
|
4
|
+
import { WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
5
|
+
import { CreateWorkflowStateRepository as Repository } from "./abstractions.js";
|
|
6
|
+
class CreateWorkflowStateRepositoryImpl {
|
|
7
|
+
constructor(createEntry, model, mapper) {
|
|
8
|
+
this.createEntry = createEntry;
|
|
9
|
+
this.model = model;
|
|
10
|
+
this.mapper = mapper;
|
|
11
|
+
}
|
|
12
|
+
async execute(input) {
|
|
13
|
+
try {
|
|
14
|
+
const createResult = await this.createEntry.execute(this.model, {
|
|
15
|
+
values: input
|
|
16
|
+
});
|
|
17
|
+
if (createResult.isFail()) {
|
|
18
|
+
return Result.fail(new WorkflowStatePersistenceError(createResult.error));
|
|
19
|
+
}
|
|
20
|
+
const record = this.mapper.fromCmsEntry(createResult.value);
|
|
21
|
+
return Result.ok(record);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
return Result.fail(new WorkflowStatePersistenceError(error));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export const CreateWorkflowStateRepository = Repository.createImplementation({
|
|
28
|
+
implementation: CreateWorkflowStateRepositoryImpl,
|
|
29
|
+
dependencies: [CreateEntryUseCase, WorkflowStateModel, WorkflowStateMapper]
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=CreateWorkflowStateRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","CreateEntryUseCase","WorkflowStateMapper","WorkflowStateModel","WorkflowStatePersistenceError","CreateWorkflowStateRepository","Repository","CreateWorkflowStateRepositoryImpl","constructor","createEntry","model","mapper","execute","input","createResult","values","isFail","fail","error","record","fromCmsEntry","value","ok","createImplementation","implementation","dependencies"],"sources":["CreateWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { WorkflowStateMapper, WorkflowStateModel } from \"~/domain/workflowState/abstractions.js\";\nimport { WorkflowStatePersistenceError } from \"~/domain/workflowState/errors.js\";\nimport { CreateWorkflowStateRepository as Repository } from \"./abstractions.js\";\n\nclass CreateWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private model: WorkflowStateModel.Interface,\n private mapper: WorkflowStateMapper.Interface\n ) {}\n\n async execute(input: Repository.Input): Repository.Return {\n try {\n const createResult = await this.createEntry.execute<Repository.Input>(this.model, {\n values: input\n });\n\n if (createResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(createResult.error));\n }\n\n const record = this.mapper.fromCmsEntry(createResult.value);\n return Result.ok(record);\n } catch (error) {\n return Result.fail(new WorkflowStatePersistenceError(error as Error));\n }\n }\n}\n\nexport const CreateWorkflowStateRepository = Repository.createImplementation({\n implementation: CreateWorkflowStateRepositoryImpl,\n dependencies: [CreateEntryUseCase, WorkflowStateModel, WorkflowStateMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,QAAQ,qEAAqE;AACxG,SAASC,mBAAmB,EAAEC,kBAAkB;AAChD,SAASC,6BAA6B;AACtC,SAASC,6BAA6B,IAAIC,UAAU;AAEpD,MAAMC,iCAAiC,CAAiC;EACpEC,WAAWA,CACCC,WAAyC,EACzCC,KAAmC,EACnCC,MAAqC,EAC/C;IAAA,KAHUF,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,KAAmC,GAAnCA,KAAmC;IAAA,KACnCC,MAAqC,GAArCA,MAAqC;EAC9C;EAEH,MAAMC,OAAOA,CAACC,KAAuB,EAAqB;IACtD,IAAI;MACA,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACL,WAAW,CAACG,OAAO,CAAmB,IAAI,CAACF,KAAK,EAAE;QAC9EK,MAAM,EAAEF;MACZ,CAAC,CAAC;MAEF,IAAIC,YAAY,CAACE,MAAM,CAAC,CAAC,EAAE;QACvB,OAAOhB,MAAM,CAACiB,IAAI,CAAC,IAAIb,6BAA6B,CAACU,YAAY,CAACI,KAAK,CAAC,CAAC;MAC7E;MAEA,MAAMC,MAAM,GAAG,IAAI,CAACR,MAAM,CAACS,YAAY,CAACN,YAAY,CAACO,KAAK,CAAC;MAC3D,OAAOrB,MAAM,CAACsB,EAAE,CAACH,MAAM,CAAC;IAC5B,CAAC,CAAC,OAAOD,KAAK,EAAE;MACZ,OAAOlB,MAAM,CAACiB,IAAI,CAAC,IAAIb,6BAA6B,CAACc,KAAc,CAAC,CAAC;IACzE;EACJ;AACJ;AAEA,OAAO,MAAMb,6BAA6B,GAAGC,UAAU,CAACiB,oBAAoB,CAAC;EACzEC,cAAc,EAAEjB,iCAAiC;EACjDkB,YAAY,EAAE,CAACxB,kBAAkB,EAAEE,kBAAkB,EAAED,mBAAmB;AAC9E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
+
import { GetUserTeamsUseCase } from "../../../features/internal/GetUserTeams/index.js";
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
|
|
4
|
+
import { ListWorkflowsUseCase } from "../../../features/workflow/ListWorkflows/index.js";
|
|
5
|
+
import { GetTargetWorkflowStateUseCase } from "../GetTargetWorkflowState/index.js";
|
|
6
|
+
import { CreateWorkflowStateRepository, CreateWorkflowStateUseCase as UseCase } from "./abstractions.js";
|
|
7
|
+
declare class CreateWorkflowStateUseCaseImpl implements UseCase.Interface {
|
|
8
|
+
private identityContext;
|
|
9
|
+
private getUserTeams;
|
|
10
|
+
private eventPublisher;
|
|
11
|
+
private listWorkflows;
|
|
12
|
+
private getTargetState;
|
|
13
|
+
private repository;
|
|
14
|
+
constructor(identityContext: IdentityContext.Interface, getUserTeams: GetUserTeamsUseCase.Interface, eventPublisher: EventPublisher.Interface, listWorkflows: ListWorkflowsUseCase.Interface, getTargetState: GetTargetWorkflowStateUseCase.Interface, repository: CreateWorkflowStateRepository.Interface);
|
|
15
|
+
execute(input: UseCase.Input): UseCase.Return;
|
|
16
|
+
}
|
|
17
|
+
export declare const CreateWorkflowStateUseCase: typeof CreateWorkflowStateUseCaseImpl & {
|
|
18
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateWorkflowStateUseCase>;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { parseIdentifier } from "@webiny/utils/parseIdentifier.js";
|
|
3
|
+
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
4
|
+
import { GetUserTeamsUseCase } from "../../internal/GetUserTeams/index.js";
|
|
5
|
+
import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
|
|
6
|
+
import { ListWorkflowsUseCase } from "../../workflow/ListWorkflows/index.js";
|
|
7
|
+
import { GetTargetWorkflowStateUseCase } from "../GetTargetWorkflowState/index.js";
|
|
8
|
+
import { CreateWorkflowStateRepository, CreateWorkflowStateUseCase as UseCase } from "./abstractions.js";
|
|
9
|
+
import { WorkflowStateAfterCreateEvent } from "./events.js";
|
|
10
|
+
import { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
|
|
11
|
+
import { WorkflowStateRecordState } from "../../../domain/workflowState/abstractions.js";
|
|
12
|
+
import { WorkflowStateValidationError, ActiveStateExistsError, MultipleWorkflowsFoundError, WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
13
|
+
import { WorkflowNotFoundError } from "../../../domain/workflow/errors.js";
|
|
14
|
+
class CreateWorkflowStateUseCaseImpl {
|
|
15
|
+
constructor(identityContext, getUserTeams, eventPublisher, listWorkflows, getTargetState, repository) {
|
|
16
|
+
this.identityContext = identityContext;
|
|
17
|
+
this.getUserTeams = getUserTeams;
|
|
18
|
+
this.eventPublisher = eventPublisher;
|
|
19
|
+
this.listWorkflows = listWorkflows;
|
|
20
|
+
this.getTargetState = getTargetState;
|
|
21
|
+
this.repository = repository;
|
|
22
|
+
}
|
|
23
|
+
async execute(input) {
|
|
24
|
+
const {
|
|
25
|
+
id: targetId,
|
|
26
|
+
version
|
|
27
|
+
} = parseIdentifier(input.targetRevisionId);
|
|
28
|
+
if (!version) {
|
|
29
|
+
return Result.fail(new WorkflowStateValidationError("Cannot create a workflow state without version of a target record."));
|
|
30
|
+
}
|
|
31
|
+
const workflowsResult = await this.listWorkflows.execute({
|
|
32
|
+
where: {
|
|
33
|
+
app: input.app
|
|
34
|
+
},
|
|
35
|
+
limit: 1
|
|
36
|
+
});
|
|
37
|
+
if (workflowsResult.isFail()) {
|
|
38
|
+
return Result.fail(new WorkflowStatePersistenceError(workflowsResult.error));
|
|
39
|
+
}
|
|
40
|
+
const {
|
|
41
|
+
items: workflows,
|
|
42
|
+
meta
|
|
43
|
+
} = workflowsResult.value;
|
|
44
|
+
const workflow = workflows[0];
|
|
45
|
+
if (!workflow) {
|
|
46
|
+
return Result.fail(new WorkflowNotFoundError({
|
|
47
|
+
id: "",
|
|
48
|
+
app: input.app
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
if (meta.totalCount > 1) {
|
|
52
|
+
return Result.fail(new MultipleWorkflowsFoundError({
|
|
53
|
+
app: input.app,
|
|
54
|
+
targetRevisionId: input.targetRevisionId,
|
|
55
|
+
workflows,
|
|
56
|
+
meta
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
const existingStateResult = await this.getTargetState.execute({
|
|
60
|
+
app: input.app,
|
|
61
|
+
targetRevisionId: input.targetRevisionId
|
|
62
|
+
});
|
|
63
|
+
if (existingStateResult.isOk()) {
|
|
64
|
+
return Result.fail(new ActiveStateExistsError({
|
|
65
|
+
app: input.app,
|
|
66
|
+
targetRevisionId: input.targetRevisionId
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
if (workflow.steps.length === 0) {
|
|
70
|
+
return Result.fail(new WorkflowStateValidationError("Cannot create a workflow state for a workflow that has no steps defined."));
|
|
71
|
+
}
|
|
72
|
+
const identity = this.identityContext.getIdentity();
|
|
73
|
+
const record = {
|
|
74
|
+
workflowId: workflow.id,
|
|
75
|
+
comment: undefined,
|
|
76
|
+
state: WorkflowStateRecordState.pending,
|
|
77
|
+
app: input.app,
|
|
78
|
+
title: input.title,
|
|
79
|
+
targetId,
|
|
80
|
+
isActive: true,
|
|
81
|
+
targetRevisionId: input.targetRevisionId,
|
|
82
|
+
steps: workflow.steps.map(step => ({
|
|
83
|
+
...step,
|
|
84
|
+
state: WorkflowStateRecordState.pending,
|
|
85
|
+
savedBy: null,
|
|
86
|
+
comment: null
|
|
87
|
+
}))
|
|
88
|
+
};
|
|
89
|
+
const createResult = await this.repository.execute(record);
|
|
90
|
+
if (createResult.isFail()) {
|
|
91
|
+
return Result.fail(createResult.error);
|
|
92
|
+
}
|
|
93
|
+
const createdRecord = createResult.value;
|
|
94
|
+
const teamsResult = await this.getUserTeams.execute(identity.id);
|
|
95
|
+
const teams = teamsResult.value;
|
|
96
|
+
const workflowState = new WorkflowState(createdRecord, teams, identity);
|
|
97
|
+
await this.eventPublisher.publish(new WorkflowStateAfterCreateEvent({
|
|
98
|
+
state: workflowState
|
|
99
|
+
}));
|
|
100
|
+
return Result.ok(workflowState);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export const CreateWorkflowStateUseCase = UseCase.createImplementation({
|
|
104
|
+
implementation: CreateWorkflowStateUseCaseImpl,
|
|
105
|
+
dependencies: [IdentityContext, GetUserTeamsUseCase, EventPublisher, ListWorkflowsUseCase, GetTargetWorkflowStateUseCase, CreateWorkflowStateRepository]
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=CreateWorkflowStateUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","parseIdentifier","IdentityContext","GetUserTeamsUseCase","EventPublisher","ListWorkflowsUseCase","GetTargetWorkflowStateUseCase","CreateWorkflowStateRepository","CreateWorkflowStateUseCase","UseCase","WorkflowStateAfterCreateEvent","WorkflowState","WorkflowStateRecordState","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStatePersistenceError","WorkflowNotFoundError","CreateWorkflowStateUseCaseImpl","constructor","identityContext","getUserTeams","eventPublisher","listWorkflows","getTargetState","repository","execute","input","id","targetId","version","targetRevisionId","fail","workflowsResult","where","app","limit","isFail","error","items","workflows","meta","value","workflow","totalCount","existingStateResult","isOk","steps","length","identity","getIdentity","record","workflowId","comment","undefined","state","pending","title","isActive","map","step","savedBy","createResult","createdRecord","teamsResult","teams","workflowState","publish","ok","createImplementation","implementation","dependencies"],"sources":["CreateWorkflowStateUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { ListWorkflowsUseCase } from \"~/features/workflow/ListWorkflows/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"../GetTargetWorkflowState/index.js\";\nimport {\n CreateWorkflowStateRepository,\n CreateWorkflowStateUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WorkflowStateAfterCreateEvent } from \"./events.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\nimport {\n WorkflowStateValidationError,\n ActiveStateExistsError,\n MultipleWorkflowsFoundError,\n WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\n\nclass CreateWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private listWorkflows: ListWorkflowsUseCase.Interface,\n private getTargetState: GetTargetWorkflowStateUseCase.Interface,\n private repository: CreateWorkflowStateRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const { id: targetId, version } = parseIdentifier(input.targetRevisionId);\n if (!version) {\n return Result.fail(\n new WorkflowStateValidationError(\n \"Cannot create a workflow state without version of a target record.\"\n )\n );\n }\n\n const workflowsResult = await this.listWorkflows.execute({\n where: {\n app: input.app\n },\n limit: 1\n });\n\n if (workflowsResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(workflowsResult.error));\n }\n\n const { items: workflows, meta } = workflowsResult.value;\n const workflow = workflows[0];\n\n if (!workflow) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: \"\",\n app: input.app\n })\n );\n }\n\n if (meta.totalCount > 1) {\n return Result.fail(\n new MultipleWorkflowsFoundError({\n app: input.app,\n targetRevisionId: input.targetRevisionId,\n workflows,\n meta\n })\n );\n }\n\n const existingStateResult = await this.getTargetState.execute({\n app: input.app,\n targetRevisionId: input.targetRevisionId\n });\n\n if (existingStateResult.isOk()) {\n return Result.fail(\n new ActiveStateExistsError({\n app: input.app,\n targetRevisionId: input.targetRevisionId\n })\n );\n }\n\n if (workflow.steps.length === 0) {\n return Result.fail(\n new WorkflowStateValidationError(\n \"Cannot create a workflow state for a workflow that has no steps defined.\"\n )\n );\n }\n\n const identity = this.identityContext.getIdentity();\n\n const record: CreateWorkflowStateRepository.Input = {\n workflowId: workflow.id,\n comment: undefined,\n state: WorkflowStateRecordState.pending,\n app: input.app,\n title: input.title,\n targetId,\n isActive: true,\n targetRevisionId: input.targetRevisionId,\n steps: workflow.steps.map(step => ({\n ...step,\n state: WorkflowStateRecordState.pending,\n savedBy: null,\n comment: null\n }))\n };\n\n const createResult = await this.repository.execute(record);\n if (createResult.isFail()) {\n return Result.fail(createResult.error);\n }\n\n const createdRecord = createResult.value;\n\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n const workflowState = new WorkflowState(createdRecord, teams, identity);\n\n await this.eventPublisher.publish(\n new WorkflowStateAfterCreateEvent({\n state: workflowState\n })\n );\n\n return Result.ok(workflowState);\n }\n}\n\nexport const CreateWorkflowStateUseCase = UseCase.createImplementation({\n implementation: CreateWorkflowStateUseCaseImpl,\n dependencies: [\n IdentityContext,\n GetUserTeamsUseCase,\n EventPublisher,\n ListWorkflowsUseCase,\n GetTargetWorkflowStateUseCase,\n CreateWorkflowStateRepository\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,kCAAkC;AAClE,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,mBAAmB;AAC5B,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,oBAAoB;AAC7B,SAASC,6BAA6B;AACtC,SACIC,6BAA6B,EAC7BC,0BAA0B,IAAIC,OAAO;AAEzC,SAASC,6BAA6B;AACtC,SAASC,aAAa;AACtB,SAASC,wBAAwB;AACjC,SACIC,4BAA4B,EAC5BC,sBAAsB,EACtBC,2BAA2B,EAC3BC,6BAA6B;AAEjC,SAASC,qBAAqB;AAE9B,MAAMC,8BAA8B,CAA8B;EAC9DC,WAAWA,CACCC,eAA0C,EAC1CC,YAA2C,EAC3CC,cAAwC,EACxCC,aAA6C,EAC7CC,cAAuD,EACvDC,UAAmD,EAC7D;IAAA,KANUL,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,aAA6C,GAA7CA,aAA6C;IAAA,KAC7CC,cAAuD,GAAvDA,cAAuD;IAAA,KACvDC,UAAmD,GAAnDA,UAAmD;EAC5D;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAkB;IAChD,MAAM;MAAEC,EAAE,EAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAG7B,eAAe,CAAC0B,KAAK,CAACI,gBAAgB,CAAC;IACzE,IAAI,CAACD,OAAO,EAAE;MACV,OAAO9B,MAAM,CAACgC,IAAI,CACd,IAAInB,4BAA4B,CAC5B,oEACJ,CACJ,CAAC;IACL;IAEA,MAAMoB,eAAe,GAAG,MAAM,IAAI,CAACV,aAAa,CAACG,OAAO,CAAC;MACrDQ,KAAK,EAAE;QACHC,GAAG,EAAER,KAAK,CAACQ;MACf,CAAC;MACDC,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,IAAIH,eAAe,CAACI,MAAM,CAAC,CAAC,EAAE;MAC1B,OAAOrC,MAAM,CAACgC,IAAI,CAAC,IAAIhB,6BAA6B,CAACiB,eAAe,CAACK,KAAK,CAAC,CAAC;IAChF;IAEA,MAAM;MAAEC,KAAK,EAAEC,SAAS;MAAEC;IAAK,CAAC,GAAGR,eAAe,CAACS,KAAK;IACxD,MAAMC,QAAQ,GAAGH,SAAS,CAAC,CAAC,CAAC;IAE7B,IAAI,CAACG,QAAQ,EAAE;MACX,OAAO3C,MAAM,CAACgC,IAAI,CACd,IAAIf,qBAAqB,CAAC;QACtBW,EAAE,EAAE,EAAE;QACNO,GAAG,EAAER,KAAK,CAACQ;MACf,CAAC,CACL,CAAC;IACL;IAEA,IAAIM,IAAI,CAACG,UAAU,GAAG,CAAC,EAAE;MACrB,OAAO5C,MAAM,CAACgC,IAAI,CACd,IAAIjB,2BAA2B,CAAC;QAC5BoB,GAAG,EAAER,KAAK,CAACQ,GAAG;QACdJ,gBAAgB,EAAEJ,KAAK,CAACI,gBAAgB;QACxCS,SAAS;QACTC;MACJ,CAAC,CACL,CAAC;IACL;IAEA,MAAMI,mBAAmB,GAAG,MAAM,IAAI,CAACrB,cAAc,CAACE,OAAO,CAAC;MAC1DS,GAAG,EAAER,KAAK,CAACQ,GAAG;MACdJ,gBAAgB,EAAEJ,KAAK,CAACI;IAC5B,CAAC,CAAC;IAEF,IAAIc,mBAAmB,CAACC,IAAI,CAAC,CAAC,EAAE;MAC5B,OAAO9C,MAAM,CAACgC,IAAI,CACd,IAAIlB,sBAAsB,CAAC;QACvBqB,GAAG,EAAER,KAAK,CAACQ,GAAG;QACdJ,gBAAgB,EAAEJ,KAAK,CAACI;MAC5B,CAAC,CACL,CAAC;IACL;IAEA,IAAIY,QAAQ,CAACI,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7B,OAAOhD,MAAM,CAACgC,IAAI,CACd,IAAInB,4BAA4B,CAC5B,0EACJ,CACJ,CAAC;IACL;IAEA,MAAMoC,QAAQ,GAAG,IAAI,CAAC7B,eAAe,CAAC8B,WAAW,CAAC,CAAC;IAEnD,MAAMC,MAA2C,GAAG;MAChDC,UAAU,EAAET,QAAQ,CAACf,EAAE;MACvByB,OAAO,EAAEC,SAAS;MAClBC,KAAK,EAAE3C,wBAAwB,CAAC4C,OAAO;MACvCrB,GAAG,EAAER,KAAK,CAACQ,GAAG;MACdsB,KAAK,EAAE9B,KAAK,CAAC8B,KAAK;MAClB5B,QAAQ;MACR6B,QAAQ,EAAE,IAAI;MACd3B,gBAAgB,EAAEJ,KAAK,CAACI,gBAAgB;MACxCgB,KAAK,EAAEJ,QAAQ,CAACI,KAAK,CAACY,GAAG,CAACC,IAAI,KAAK;QAC/B,GAAGA,IAAI;QACPL,KAAK,EAAE3C,wBAAwB,CAAC4C,OAAO;QACvCK,OAAO,EAAE,IAAI;QACbR,OAAO,EAAE;MACb,CAAC,CAAC;IACN,CAAC;IAED,MAAMS,YAAY,GAAG,MAAM,IAAI,CAACrC,UAAU,CAACC,OAAO,CAACyB,MAAM,CAAC;IAC1D,IAAIW,YAAY,CAACzB,MAAM,CAAC,CAAC,EAAE;MACvB,OAAOrC,MAAM,CAACgC,IAAI,CAAC8B,YAAY,CAACxB,KAAK,CAAC;IAC1C;IAEA,MAAMyB,aAAa,GAAGD,YAAY,CAACpB,KAAK;IAExC,MAAMsB,WAAW,GAAG,MAAM,IAAI,CAAC3C,YAAY,CAACK,OAAO,CAACuB,QAAQ,CAACrB,EAAE,CAAC;IAChE,MAAMqC,KAAK,GAAGD,WAAW,CAACtB,KAAK;IAC/B,MAAMwB,aAAa,GAAG,IAAIvD,aAAa,CAACoD,aAAa,EAAEE,KAAK,EAAEhB,QAAQ,CAAC;IAEvE,MAAM,IAAI,CAAC3B,cAAc,CAAC6C,OAAO,CAC7B,IAAIzD,6BAA6B,CAAC;MAC9B6C,KAAK,EAAEW;IACX,CAAC,CACL,CAAC;IAED,OAAOlE,MAAM,CAACoE,EAAE,CAACF,aAAa,CAAC;EACnC;AACJ;AAEA,OAAO,MAAM1D,0BAA0B,GAAGC,OAAO,CAAC4D,oBAAoB,CAAC;EACnEC,cAAc,EAAEpD,8BAA8B;EAC9CqD,YAAY,EAAE,CACVrE,eAAe,EACfC,mBAAmB,EACnBC,cAAc,EACdC,oBAAoB,EACpBC,6BAA6B,EAC7BC,6BAA6B;AAErC,CAAC,CAAC","ignoreList":[]}
|