@webiny/api-workflows 0.0.0-unstable.e622468070 → 0.0.0-unstable.eb81deee7e
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/WorkflowsFeature.d.ts +5 -0
- package/WorkflowsFeature.js +70 -0
- package/WorkflowsFeature.js.map +1 -0
- package/WorkflowsSchemaFactory.d.ts +9 -0
- package/WorkflowsSchemaFactory.js +23 -0
- package/WorkflowsSchemaFactory.js.map +1 -0
- package/constants.js +4 -3
- package/constants.js.map +1 -1
- package/domain/notifications/abstractions.js +8 -7
- package/domain/notifications/abstractions.js.map +1 -1
- package/domain/notifications/errors.js +7 -7
- package/domain/notifications/errors.js.map +1 -1
- package/domain/workflow/WorkflowMapper.js +22 -23
- package/domain/workflow/WorkflowMapper.js.map +1 -1
- package/domain/workflow/abstractions.d.ts +13 -3
- package/domain/workflow/abstractions.js +3 -3
- package/domain/workflow/abstractions.js.map +1 -1
- package/domain/workflow/errors.js +26 -29
- package/domain/workflow/errors.js.map +1 -1
- package/domain/workflow/workflowModel.js +28 -25
- package/domain/workflow/workflowModel.js.map +1 -1
- package/domain/workflowState/WorkflowState.d.ts +1 -0
- package/domain/workflowState/WorkflowState.js +219 -319
- package/domain/workflowState/WorkflowState.js.map +1 -1
- package/domain/workflowState/WorkflowStateMapper.js +38 -35
- package/domain/workflowState/WorkflowStateMapper.js.map +1 -1
- package/domain/workflowState/abstractions.d.ts +16 -3
- package/domain/workflowState/abstractions.js +9 -9
- package/domain/workflowState/abstractions.js.map +1 -1
- package/domain/workflowState/errors.js +109 -122
- package/domain/workflowState/errors.js.map +1 -1
- package/domain/workflowState/guards/canReview.js +2 -3
- package/domain/workflowState/guards/canReview.js.map +1 -1
- package/domain/workflowState/guards/canTakeOver.js +2 -3
- package/domain/workflowState/guards/canTakeOver.js.map +1 -1
- package/domain/workflowState/guards/isInReview.js +2 -3
- package/domain/workflowState/guards/isInReview.js.map +1 -1
- package/domain/workflowState/guards/isRejected.js +2 -3
- package/domain/workflowState/guards/isRejected.js.map +1 -1
- package/domain/workflowState/guards/isStepOwner.js +2 -3
- package/domain/workflowState/guards/isStepOwner.js.map +1 -1
- package/domain/workflowState/stateModel.js +61 -51
- package/domain/workflowState/stateModel.js.map +1 -1
- package/features/WorkflowModelProviders.d.ts +34 -0
- package/features/WorkflowModelProviders.js +40 -0
- package/features/WorkflowModelProviders.js.map +1 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.js +20 -27
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.js.map +1 -1
- package/features/internal/GetUserTeams/abstractions.js +2 -1
- package/features/internal/GetUserTeams/abstractions.js.map +1 -1
- package/features/internal/GetUserTeams/feature.d.ts +4 -1
- package/features/internal/GetUserTeams/feature.js +6 -5
- package/features/internal/GetUserTeams/feature.js.map +1 -1
- package/features/internal/GetUserTeams/index.js +0 -2
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js +21 -17
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js.map +1 -1
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.d.ts +1 -1
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +23 -29
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -1
- package/features/notifications/ListNotificationTypes/abstractions.js +3 -12
- package/features/notifications/ListNotificationTypes/abstractions.js.map +1 -1
- package/features/notifications/ListNotificationTypes/feature.d.ts +4 -1
- package/features/notifications/ListNotificationTypes/feature.js +7 -6
- package/features/notifications/ListNotificationTypes/feature.js.map +1 -1
- package/features/notifications/ListNotificationTypes/index.js +0 -2
- package/features/notifications/NotificationTransport/MailNotificationTransport.js +29 -38
- package/features/notifications/NotificationTransport/MailNotificationTransport.js.map +1 -1
- package/features/notifications/NotificationTransport/abstractions.js +2 -1
- package/features/notifications/NotificationTransport/abstractions.js.map +1 -1
- package/features/notifications/NotificationTransport/feature.d.ts +4 -1
- package/features/notifications/NotificationTransport/feature.js +6 -5
- package/features/notifications/NotificationTransport/feature.js.map +1 -1
- package/features/notifications/NotificationTransport/index.js +0 -2
- package/features/shared/abstractions.js +0 -3
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +3 -3
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +37 -35
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -1
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.d.ts +2 -2
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +40 -45
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -1
- package/features/workflow/CreateWorkflow/abstractions.js +3 -16
- package/features/workflow/CreateWorkflow/abstractions.js.map +1 -1
- package/features/workflow/CreateWorkflow/events.d.ts +2 -2
- package/features/workflow/CreateWorkflow/events.js +18 -15
- package/features/workflow/CreateWorkflow/events.js.map +1 -1
- package/features/workflow/CreateWorkflow/feature.d.ts +4 -1
- package/features/workflow/CreateWorkflow/feature.js +7 -6
- package/features/workflow/CreateWorkflow/feature.js.map +1 -1
- package/features/workflow/CreateWorkflow/index.js +2 -4
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +3 -3
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +26 -23
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -1
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.d.ts +2 -2
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +40 -46
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -1
- package/features/workflow/DeleteWorkflow/abstractions.js +3 -16
- package/features/workflow/DeleteWorkflow/abstractions.js.map +1 -1
- package/features/workflow/DeleteWorkflow/events.d.ts +2 -2
- package/features/workflow/DeleteWorkflow/events.js +18 -15
- package/features/workflow/DeleteWorkflow/events.js.map +1 -1
- package/features/workflow/DeleteWorkflow/feature.d.ts +4 -1
- package/features/workflow/DeleteWorkflow/feature.js +7 -6
- package/features/workflow/DeleteWorkflow/feature.js.map +1 -1
- package/features/workflow/DeleteWorkflow/index.js +2 -4
- package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +3 -3
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js +35 -35
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -1
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.js +21 -23
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.js.map +1 -1
- package/features/workflow/GetWorkflow/abstractions.js +3 -12
- package/features/workflow/GetWorkflow/abstractions.js.map +1 -1
- package/features/workflow/GetWorkflow/feature.d.ts +4 -1
- package/features/workflow/GetWorkflow/feature.js +7 -6
- package/features/workflow/GetWorkflow/feature.js.map +1 -1
- package/features/workflow/GetWorkflow/index.js +0 -2
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +3 -3
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +49 -53
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -1
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js +14 -13
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js.map +1 -1
- package/features/workflow/ListWorkflows/abstractions.js +3 -12
- package/features/workflow/ListWorkflows/abstractions.js.map +1 -1
- package/features/workflow/ListWorkflows/feature.d.ts +4 -1
- package/features/workflow/ListWorkflows/feature.js +7 -6
- package/features/workflow/ListWorkflows/feature.js.map +1 -1
- package/features/workflow/ListWorkflows/index.js +0 -2
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +24 -26
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -1
- package/features/workflow/StoreWorkflow/abstractions.js +2 -8
- package/features/workflow/StoreWorkflow/abstractions.js.map +1 -1
- package/features/workflow/StoreWorkflow/feature.d.ts +4 -1
- package/features/workflow/StoreWorkflow/feature.js +8 -10
- package/features/workflow/StoreWorkflow/feature.js.map +1 -1
- package/features/workflow/StoreWorkflow/index.js +0 -2
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +3 -3
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +40 -38
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -1
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.d.ts +2 -2
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +42 -47
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -1
- package/features/workflow/UpdateWorkflow/abstractions.js +3 -16
- package/features/workflow/UpdateWorkflow/abstractions.js.map +1 -1
- package/features/workflow/UpdateWorkflow/events.d.ts +2 -2
- package/features/workflow/UpdateWorkflow/events.js +18 -15
- package/features/workflow/UpdateWorkflow/events.js.map +1 -1
- package/features/workflow/UpdateWorkflow/feature.d.ts +4 -1
- package/features/workflow/UpdateWorkflow/feature.js +7 -6
- package/features/workflow/UpdateWorkflow/feature.js.map +1 -1
- package/features/workflow/UpdateWorkflow/index.js +2 -4
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js +26 -27
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map +1 -1
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.js +2 -1
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.js.map +1 -1
- package/features/workflowState/ApproveWorkflowStateStep/events.d.ts +2 -2
- package/features/workflowState/ApproveWorkflowStateStep/events.js +10 -7
- package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -1
- package/features/workflowState/ApproveWorkflowStateStep/feature.d.ts +4 -1
- package/features/workflowState/ApproveWorkflowStateStep/feature.js +6 -5
- package/features/workflowState/ApproveWorkflowStateStep/feature.js.map +1 -1
- package/features/workflowState/ApproveWorkflowStateStep/index.js +0 -2
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js +21 -19
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/CancelWorkflowState/abstractions.js +2 -6
- package/features/workflowState/CancelWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/CancelWorkflowState/events.d.ts +2 -2
- package/features/workflowState/CancelWorkflowState/events.js +10 -7
- package/features/workflowState/CancelWorkflowState/events.js.map +1 -1
- package/features/workflowState/CancelWorkflowState/feature.d.ts +4 -1
- package/features/workflowState/CancelWorkflowState/feature.js +6 -5
- package/features/workflowState/CancelWorkflowState/feature.js.map +1 -1
- package/features/workflowState/CancelWorkflowState/index.js +0 -2
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +27 -23
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +5 -3
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +88 -92
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
- 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.js +3 -12
- package/features/workflowState/CreateWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/events.d.ts +2 -2
- package/features/workflowState/CreateWorkflowState/events.js +10 -7
- package/features/workflowState/CreateWorkflowState/events.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/feature.d.ts +4 -1
- package/features/workflowState/CreateWorkflowState/feature.js +9 -6
- package/features/workflowState/CreateWorkflowState/feature.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/index.d.ts +1 -0
- package/features/workflowState/CreateWorkflowState/index.js +2 -3
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.d.ts +2 -2
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +46 -44
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.js +2 -1
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/DeleteTargetWorkflowState/events.d.ts +2 -2
- package/features/workflowState/DeleteTargetWorkflowState/events.js +10 -7
- package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -1
- package/features/workflowState/DeleteTargetWorkflowState/feature.d.ts +4 -1
- package/features/workflowState/DeleteTargetWorkflowState/feature.js +6 -5
- package/features/workflowState/DeleteTargetWorkflowState/feature.js.map +1 -1
- package/features/workflowState/DeleteTargetWorkflowState/index.js +0 -2
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +18 -13
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js +22 -21
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/DeleteWorkflowState/abstractions.js +3 -2
- package/features/workflowState/DeleteWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/DeleteWorkflowState/feature.d.ts +4 -1
- package/features/workflowState/DeleteWorkflowState/feature.js +7 -6
- package/features/workflowState/DeleteWorkflowState/feature.js.map +1 -1
- package/features/workflowState/DeleteWorkflowState/index.js +1 -3
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +40 -43
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.d.ts +1 -1
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +25 -26
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/GetTargetWorkflowState/abstractions.js +3 -12
- package/features/workflowState/GetTargetWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/GetTargetWorkflowState/feature.d.ts +4 -1
- package/features/workflowState/GetTargetWorkflowState/feature.js +7 -6
- package/features/workflowState/GetTargetWorkflowState/feature.js.map +1 -1
- package/features/workflowState/GetTargetWorkflowState/index.js +1 -3
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +27 -23
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.d.ts +1 -1
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +24 -21
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/GetWorkflowState/abstractions.js +3 -12
- package/features/workflowState/GetWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/GetWorkflowState/feature.d.ts +4 -1
- package/features/workflowState/GetWorkflowState/feature.js +7 -6
- package/features/workflowState/GetWorkflowState/feature.js.map +1 -1
- package/features/workflowState/GetWorkflowState/index.js +1 -3
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.d.ts +1 -1
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +34 -33
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js.map +1 -1
- package/features/workflowState/ListOwnWorkflowStates/abstractions.js +2 -6
- package/features/workflowState/ListOwnWorkflowStates/abstractions.js.map +1 -1
- package/features/workflowState/ListOwnWorkflowStates/feature.d.ts +4 -1
- package/features/workflowState/ListOwnWorkflowStates/feature.js +6 -5
- package/features/workflowState/ListOwnWorkflowStates/feature.js.map +1 -1
- package/features/workflowState/ListOwnWorkflowStates/index.js +0 -2
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.d.ts +1 -1
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +42 -39
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js.map +1 -1
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.js +2 -6
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.js.map +1 -1
- package/features/workflowState/ListRequestedWorkflowStates/feature.d.ts +4 -1
- package/features/workflowState/ListRequestedWorkflowStates/feature.js +6 -5
- package/features/workflowState/ListRequestedWorkflowStates/feature.js.map +1 -1
- package/features/workflowState/ListRequestedWorkflowStates/index.js +0 -2
- 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 +3 -3
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +37 -33
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +4 -2
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +58 -27
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
- 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 +18 -3
- package/features/workflowState/ListWorkflowStates/abstractions.js +3 -12
- package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/feature.d.ts +4 -1
- package/features/workflowState/ListWorkflowStates/feature.js +9 -6
- package/features/workflowState/ListWorkflowStates/feature.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListWorkflowStates/index.js +2 -3
- package/features/workflowState/README.md +2 -2
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js +26 -27
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js.map +1 -1
- package/features/workflowState/RejectWorkflowStateStep/abstractions.js +2 -1
- package/features/workflowState/RejectWorkflowStateStep/abstractions.js.map +1 -1
- package/features/workflowState/RejectWorkflowStateStep/events.d.ts +2 -2
- package/features/workflowState/RejectWorkflowStateStep/events.js +10 -7
- package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -1
- package/features/workflowState/RejectWorkflowStateStep/feature.d.ts +4 -1
- package/features/workflowState/RejectWorkflowStateStep/feature.js +6 -5
- package/features/workflowState/RejectWorkflowStateStep/feature.js.map +1 -1
- package/features/workflowState/RejectWorkflowStateStep/index.js +0 -2
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js +26 -27
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js.map +1 -1
- package/features/workflowState/StartWorkflowStateStep/abstractions.js +2 -1
- package/features/workflowState/StartWorkflowStateStep/abstractions.js.map +1 -1
- package/features/workflowState/StartWorkflowStateStep/events.d.ts +2 -2
- package/features/workflowState/StartWorkflowStateStep/events.js +10 -7
- package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -1
- package/features/workflowState/StartWorkflowStateStep/feature.d.ts +4 -1
- package/features/workflowState/StartWorkflowStateStep/feature.js +6 -5
- package/features/workflowState/StartWorkflowStateStep/feature.js.map +1 -1
- package/features/workflowState/StartWorkflowStateStep/index.js +0 -2
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js +26 -27
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js.map +1 -1
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js +2 -1
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js.map +1 -1
- package/features/workflowState/TakeOverWorkflowStateStep/events.d.ts +2 -2
- package/features/workflowState/TakeOverWorkflowStateStep/events.js +10 -7
- package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -1
- package/features/workflowState/TakeOverWorkflowStateStep/feature.d.ts +4 -1
- package/features/workflowState/TakeOverWorkflowStateStep/feature.js +6 -5
- package/features/workflowState/TakeOverWorkflowStateStep/feature.js.map +1 -1
- package/features/workflowState/TakeOverWorkflowStateStep/index.js +0 -2
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +40 -37
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.d.ts +2 -2
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +45 -43
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/UpdateWorkflowState/abstractions.js +3 -12
- package/features/workflowState/UpdateWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/UpdateWorkflowState/events.d.ts +2 -2
- package/features/workflowState/UpdateWorkflowState/events.js +10 -7
- package/features/workflowState/UpdateWorkflowState/events.js.map +1 -1
- package/features/workflowState/UpdateWorkflowState/feature.d.ts +4 -1
- package/features/workflowState/UpdateWorkflowState/feature.js +7 -6
- package/features/workflowState/UpdateWorkflowState/feature.js.map +1 -1
- package/features/workflowState/UpdateWorkflowState/index.js +1 -3
- package/graphql/notifications.d.ts +2 -2
- package/graphql/notifications.js +44 -46
- package/graphql/notifications.js.map +1 -1
- package/graphql/validation/approveWorkflowState.d.ts +1 -7
- package/graphql/validation/approveWorkflowState.js +4 -3
- package/graphql/validation/approveWorkflowState.js.map +1 -1
- package/graphql/validation/cancelWorkflowState.d.ts +1 -5
- package/graphql/validation/cancelWorkflowState.js +3 -2
- package/graphql/validation/cancelWorkflowState.js.map +1 -1
- package/graphql/validation/createWorkflowState.d.ts +1 -9
- package/graphql/validation/createWorkflowState.js +5 -4
- package/graphql/validation/createWorkflowState.js.map +1 -1
- package/graphql/validation/deleteWorkflow.d.ts +1 -7
- package/graphql/validation/deleteWorkflow.js +4 -3
- package/graphql/validation/deleteWorkflow.js.map +1 -1
- package/graphql/validation/getTargetWorkflowState.d.ts +1 -7
- package/graphql/validation/getTargetWorkflowState.js +4 -3
- package/graphql/validation/getTargetWorkflowState.js.map +1 -1
- package/graphql/validation/getWorkflow.d.ts +1 -7
- package/graphql/validation/getWorkflow.js +4 -3
- package/graphql/validation/getWorkflow.js.map +1 -1
- package/graphql/validation/getWorkflowState.d.ts +1 -5
- package/graphql/validation/getWorkflowState.js +3 -2
- package/graphql/validation/getWorkflowState.js.map +1 -1
- package/graphql/validation/listWorkflowStates.d.ts +14 -96
- package/graphql/validation/listWorkflowStates.js +30 -36
- package/graphql/validation/listWorkflowStates.js.map +1 -1
- package/graphql/validation/listWorkflows.d.ts +6 -36
- package/graphql/validation/listWorkflows.js +15 -18
- package/graphql/validation/listWorkflows.js.map +1 -1
- package/graphql/validation/rejectWorkflowState.d.ts +1 -7
- package/graphql/validation/rejectWorkflowState.js +4 -3
- package/graphql/validation/rejectWorkflowState.js.map +1 -1
- package/graphql/validation/startWorkflowState.d.ts +1 -5
- package/graphql/validation/startWorkflowState.js +3 -2
- package/graphql/validation/startWorkflowState.js.map +1 -1
- package/graphql/validation/step.d.ts +8 -36
- package/graphql/validation/step.js +12 -17
- package/graphql/validation/step.js.map +1 -1
- package/graphql/validation/storeWorkflow.d.ts +14 -86
- package/graphql/validation/storeWorkflow.js +5 -4
- package/graphql/validation/storeWorkflow.js.map +1 -1
- package/graphql/validation/takeOverWorkflowStateStep.d.ts +1 -5
- package/graphql/validation/takeOverWorkflowStateStep.js +3 -2
- package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -1
- package/graphql/validation/workflow.d.ts +13 -60
- package/graphql/validation/workflow.js +4 -5
- package/graphql/validation/workflow.js.map +1 -1
- package/graphql/workflowState.d.ts +2 -2
- package/graphql/workflowState.js +388 -357
- package/graphql/workflowState.js.map +1 -1
- package/graphql/workflows.d.ts +2 -2
- package/graphql/workflows.js +201 -204
- package/graphql/workflows.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.js +1 -102
- package/package.json +25 -21
- package/types.d.ts +11 -4
- package/types.js +0 -7
- package/features/internal/GetUserTeams/index.js.map +0 -1
- package/features/notifications/ListNotificationTypes/index.js.map +0 -1
- package/features/notifications/NotificationTransport/index.js.map +0 -1
- package/features/shared/abstractions.js.map +0 -1
- package/features/workflow/CreateWorkflow/index.js.map +0 -1
- package/features/workflow/DeleteWorkflow/index.js.map +0 -1
- package/features/workflow/GetWorkflow/index.js.map +0 -1
- package/features/workflow/ListWorkflows/index.js.map +0 -1
- package/features/workflow/StoreWorkflow/index.js.map +0 -1
- package/features/workflow/UpdateWorkflow/index.js.map +0 -1
- package/features/workflowState/ApproveWorkflowStateStep/index.js.map +0 -1
- package/features/workflowState/CancelWorkflowState/index.js.map +0 -1
- package/features/workflowState/CreateWorkflowState/index.js.map +0 -1
- package/features/workflowState/DeleteTargetWorkflowState/index.js.map +0 -1
- package/features/workflowState/DeleteWorkflowState/index.js.map +0 -1
- package/features/workflowState/GetTargetWorkflowState/index.js.map +0 -1
- package/features/workflowState/GetWorkflowState/index.js.map +0 -1
- package/features/workflowState/ListOwnWorkflowStates/index.js.map +0 -1
- package/features/workflowState/ListRequestedWorkflowStates/index.js.map +0 -1
- package/features/workflowState/ListWorkflowStates/index.js.map +0 -1
- package/features/workflowState/RejectWorkflowStateStep/index.js.map +0 -1
- package/features/workflowState/StartWorkflowStateStep/index.js.map +0 -1
- package/features/workflowState/TakeOverWorkflowStateStep/index.js.map +0 -1
- package/features/workflowState/UpdateWorkflowState/index.js.map +0 -1
- package/index.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/GetWorkflow/GetWorkflowRepository.js","sources":["../../../../src/features/workflow/GetWorkflow/GetWorkflowRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createIdentifier } from \"@webiny/utils\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js\";\nimport {\n type IWorkflow,\n WorkflowMapper,\n WorkflowModelProvider\n} from \"~/domain/workflow/abstractions.js\";\nimport { WorkflowNotFoundError, WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport { GetWorkflowRepository as Repository } from \"./abstractions.js\";\n\nclass GetWorkflowRepositoryImpl implements Repository.Interface {\n constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private modelProvider: WorkflowModelProvider.Interface,\n private mapper: WorkflowMapper.Interface\n ) {}\n\n async execute(input: Repository.Params): Repository.Return {\n const model = await this.modelProvider.get();\n const id = createIdentifier({\n id: input.id,\n version: 1\n });\n\n const entryResult = await this.getEntryById.execute<IWorkflow>(model, id);\n\n if (entryResult.isFail()) {\n if (entryResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(\n new WorkflowNotFoundError({\n id: input.id,\n app: input.app\n })\n );\n }\n\n return Result.fail(new WorkflowPersistenceError(entryResult.error));\n }\n\n const entry = entryResult.value;\n\n // Check if the app matches\n if (entry.values.app !== input.app) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: input.id,\n app: input.app\n })\n );\n }\n\n const workflow = this.mapper.fromCmsEntry(entry);\n return Result.ok(workflow);\n }\n}\n\nexport const GetWorkflowRepository = Repository.createImplementation({\n implementation: GetWorkflowRepositoryImpl,\n dependencies: [GetEntryByIdUseCase, WorkflowModelProvider, WorkflowMapper]\n});\n"],"names":["GetWorkflowRepositoryImpl","getEntryById","modelProvider","mapper","input","model","id","createIdentifier","entryResult","Result","WorkflowNotFoundError","WorkflowPersistenceError","entry","workflow","GetWorkflowRepository","Repository","GetEntryByIdUseCase","WorkflowModelProvider","WorkflowMapper"],"mappings":";;;;;;AAWA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,aAA8C,EAC9CC,MAAgC,CAC1C;aAHUF,YAAY,GAAZA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAAwB,EAAqB;QACvD,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAMC,KAAKC,iBAAiB;YACxB,IAAIH,MAAM,EAAE;YACZ,SAAS;QACb;QAEA,MAAMI,cAAc,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAYH,OAAOC;QAEtE,IAAIE,YAAY,MAAM,IAAI;YACtB,IAAIA,AAA2B,yBAA3BA,YAAY,KAAK,CAAC,IAAI,EACtB,OAAOC,OAAO,IAAI,CACd,IAAIC,sBAAsB;gBACtB,IAAIN,MAAM,EAAE;gBACZ,KAAKA,MAAM,GAAG;YAClB;YAIR,OAAOK,OAAO,IAAI,CAAC,IAAIE,yBAAyBH,YAAY,KAAK;QACrE;QAEA,MAAMI,QAAQJ,YAAY,KAAK;QAG/B,IAAII,MAAM,MAAM,CAAC,GAAG,KAAKR,MAAM,GAAG,EAC9B,OAAOK,OAAO,IAAI,CACd,IAAIC,sBAAsB;YACtB,IAAIN,MAAM,EAAE;YACZ,KAAKA,MAAM,GAAG;QAClB;QAIR,MAAMS,WAAW,IAAI,CAAC,MAAM,CAAC,YAAY,CAACD;QAC1C,OAAOH,OAAO,EAAE,CAACI;IACrB;AACJ;AAEO,MAAMC,8CAAwBC,sBAAAA,oBAA+B,CAAC;IACjE,gBAAgBf;IAChB,cAAc;QAACgB;QAAqBC;QAAuBC;KAAe;AAC9E"}
|
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { GetWorkflowRepository, GetWorkflowUseCase
|
|
2
|
+
import { GetWorkflowRepository, GetWorkflowUseCase } from "./abstractions.js";
|
|
3
3
|
import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
|
|
4
4
|
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
5
5
|
class GetWorkflowUseCaseImpl {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
async execute(input) {
|
|
11
|
-
const hasAccess = await this.ensureHasAccess();
|
|
12
|
-
if (hasAccess.isFail()) {
|
|
13
|
-
return Result.fail(hasAccess.error);
|
|
6
|
+
constructor(repository, identityContext){
|
|
7
|
+
this.repository = repository;
|
|
8
|
+
this.identityContext = identityContext;
|
|
14
9
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
async execute(input) {
|
|
11
|
+
const hasAccess = await this.ensureHasAccess();
|
|
12
|
+
if (hasAccess.isFail()) return Result.fail(hasAccess.error);
|
|
13
|
+
const result = await this.repository.execute(input);
|
|
14
|
+
if (result.isFail()) return result;
|
|
15
|
+
return Result.ok(result.value);
|
|
18
16
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (!identity.isAnonymous()) {
|
|
24
|
-
return Result.ok();
|
|
17
|
+
async ensureHasAccess() {
|
|
18
|
+
const identity = this.identityContext.getIdentity();
|
|
19
|
+
if (!identity.isAnonymous()) return Result.ok();
|
|
20
|
+
return Result.fail(new WorkflowNotAuthorizedError("You do not have access to workflows."));
|
|
25
21
|
}
|
|
26
|
-
return Result.fail(new WorkflowNotAuthorizedError("You do not have access to workflows."));
|
|
27
|
-
}
|
|
28
22
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
const GetWorkflowUseCase_GetWorkflowUseCase = GetWorkflowUseCase.createImplementation({
|
|
24
|
+
implementation: GetWorkflowUseCaseImpl,
|
|
25
|
+
dependencies: [
|
|
26
|
+
GetWorkflowRepository,
|
|
27
|
+
IdentityContext
|
|
28
|
+
]
|
|
32
29
|
});
|
|
30
|
+
export { GetWorkflowUseCase_GetWorkflowUseCase as GetWorkflowUseCase };
|
|
33
31
|
|
|
34
32
|
//# sourceMappingURL=GetWorkflowUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/GetWorkflow/GetWorkflowUseCase.js","sources":["../../../../src/features/workflow/GetWorkflow/GetWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWorkflowRepository, GetWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nclass GetWorkflowUseCaseImpl implements UseCase.Interface {\n private readonly repository;\n private readonly identityContext;\n\n constructor(\n repository: GetWorkflowRepository.Interface,\n identityContext: IdentityContext.Interface\n ) {\n this.repository = repository;\n this.identityContext = identityContext;\n }\n\n async execute(input: UseCase.Params): UseCase.Return {\n const hasAccess = await this.ensureHasAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const result = await this.repository.execute(input);\n\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n\n private async ensureHasAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const identity = this.identityContext.getIdentity();\n if (!identity.isAnonymous()) {\n return Result.ok();\n }\n return Result.fail(new WorkflowNotAuthorizedError(\"You do not have access to workflows.\"));\n }\n}\n\nexport const GetWorkflowUseCase = UseCase.createImplementation({\n implementation: GetWorkflowUseCaseImpl,\n dependencies: [GetWorkflowRepository, IdentityContext]\n});\n"],"names":["GetWorkflowUseCaseImpl","repository","identityContext","input","hasAccess","Result","result","identity","WorkflowNotAuthorizedError","GetWorkflowUseCase","UseCase","GetWorkflowRepository","IdentityContext"],"mappings":";;;;AAKA,MAAMA;IAIF,YACIC,UAA2C,EAC3CC,eAA0C,CAC5C;QACE,IAAI,CAAC,UAAU,GAAGD;QAClB,IAAI,CAAC,eAAe,GAAGC;IAC3B;IAEA,MAAM,QAAQC,KAAqB,EAAkB;QACjD,MAAMC,YAAY,MAAM,IAAI,CAAC,eAAe;QAC5C,IAAIA,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACH;QAE7C,IAAIG,OAAO,MAAM,IACb,OAAOA;QAGX,OAAOD,OAAO,EAAE,CAACC,OAAO,KAAK;IACjC;IAEA,MAAc,kBAAqE;QAC/E,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QACjD,IAAI,CAACA,SAAS,WAAW,IACrB,OAAOF,OAAO,EAAE;QAEpB,OAAOA,OAAO,IAAI,CAAC,IAAIG,2BAA2B;IACtD;AACJ;AAEO,MAAMC,wCAAqBC,mBAAAA,oBAA4B,CAAC;IAC3D,gBAAgBV;IAChB,cAAc;QAACW;QAAuBC;KAAgB;AAC1D"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export const GetWorkflowUseCase = createAbstraction("GetWorkflowUseCase");
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* GetWorkflow repository interface
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
export const GetWorkflowRepository = createAbstraction("GetWorkflowRepository");
|
|
2
|
+
const GetWorkflowUseCase = createAbstraction("GetWorkflowUseCase");
|
|
3
|
+
const GetWorkflowRepository = createAbstraction("GetWorkflowRepository");
|
|
4
|
+
export { GetWorkflowRepository, GetWorkflowUseCase };
|
|
14
5
|
|
|
15
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/GetWorkflow/abstractions.js","sources":["../../../../src/features/workflow/GetWorkflow/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { IWorkflow } from \"~/domain/workflow/abstractions.js\";\nimport type {\n WorkflowNotAuthorizedError,\n WorkflowNotFoundError,\n WorkflowPersistenceError\n} from \"~/domain/workflow/errors.js\";\n\nexport interface IGetWorkflowParams {\n app: string;\n id: string;\n}\n\n/**\n * GetWorkflow use case interface\n */\nexport interface IGetWorkflowUseCase {\n execute(input: IGetWorkflowParams): Promise<Result<IWorkflow, UseCaseError>>;\n}\n\nexport interface IGetWorkflowUseCaseErrors {\n notFound: WorkflowNotFoundError;\n persistence: WorkflowPersistenceError;\n noAccess: WorkflowNotAuthorizedError;\n}\n\ntype UseCaseError = IGetWorkflowUseCaseErrors[keyof IGetWorkflowUseCaseErrors];\n\nexport const GetWorkflowUseCase = createAbstraction<IGetWorkflowUseCase>(\"GetWorkflowUseCase\");\n\nexport namespace GetWorkflowUseCase {\n export type Interface = IGetWorkflowUseCase;\n export type Params = IGetWorkflowParams;\n export type Return = Promise<Result<IWorkflow, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * GetWorkflow repository interface\n */\nexport interface IGetWorkflowRepository {\n execute(input: IGetWorkflowParams): Promise<Result<IWorkflow, RepositoryError>>;\n}\n\nexport interface IGetWorkflowRepositoryErrors {\n notFound: WorkflowNotFoundError;\n persistence: WorkflowPersistenceError;\n}\n\ntype RepositoryError = IGetWorkflowRepositoryErrors[keyof IGetWorkflowRepositoryErrors];\n\nexport const GetWorkflowRepository =\n createAbstraction<IGetWorkflowRepository>(\"GetWorkflowRepository\");\n\nexport namespace GetWorkflowRepository {\n export type Interface = IGetWorkflowRepository;\n export type Params = IGetWorkflowParams;\n export type Return = Promise<Result<IWorkflow, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"names":["GetWorkflowUseCase","createAbstraction","GetWorkflowRepository"],"mappings":";AA6BO,MAAMA,qBAAqBC,kBAAuC;AAuBlE,MAAMC,wBACTD,kBAA0C"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { GetWorkflowUseCase } from "./GetWorkflowUseCase.js";
|
|
3
3
|
import { GetWorkflowRepository } from "./GetWorkflowRepository.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const GetWorkflowFeature = createFeature({
|
|
5
|
+
name: "Workflows/GetWorkflow",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(GetWorkflowRepository).inSingletonScope();
|
|
8
|
+
container.register(GetWorkflowUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { GetWorkflowFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/GetWorkflow/feature.js","sources":["../../../../src/features/workflow/GetWorkflow/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetWorkflowUseCase } from \"./GetWorkflowUseCase.js\";\nimport { GetWorkflowRepository } from \"./GetWorkflowRepository.js\";\n\nexport const GetWorkflowFeature = createFeature({\n name: \"Workflows/GetWorkflow\",\n register(container) {\n container.register(GetWorkflowRepository).inSingletonScope();\n container.register(GetWorkflowUseCase);\n }\n});\n"],"names":["GetWorkflowFeature","createFeature","container","GetWorkflowRepository","GetWorkflowUseCase"],"mappings":";;;AAIO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,uBAAuB,gBAAgB;QAC1DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { WorkflowMapper,
|
|
1
|
+
import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
|
|
2
2
|
import { ListWorkflowsRepository as Repository } from "./abstractions.js";
|
|
3
3
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
|
|
4
4
|
import { CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
5
5
|
declare class ListWorkflowsRepositoryImpl implements Repository.Interface {
|
|
6
6
|
private listLatestEntries;
|
|
7
|
-
private
|
|
7
|
+
private modelProvider;
|
|
8
8
|
private mapper;
|
|
9
9
|
private cmsWhereMapper;
|
|
10
|
-
constructor(listLatestEntries: ListLatestEntriesUseCase.Interface,
|
|
10
|
+
constructor(listLatestEntries: ListLatestEntriesUseCase.Interface, modelProvider: WorkflowModelProvider.Interface, mapper: WorkflowMapper.Interface, cmsWhereMapper: CmsWhereMapper.Interface);
|
|
11
11
|
execute(input: Repository.Params): Repository.Return;
|
|
12
12
|
private convertListWhere;
|
|
13
13
|
private convertWorkflowId;
|
|
@@ -1,67 +1,63 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { createIdentifier, parseIdentifier } from "@webiny/utils";
|
|
3
|
-
import { WorkflowMapper,
|
|
3
|
+
import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
|
|
4
4
|
import { WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
5
|
-
import { ListWorkflowsRepository
|
|
5
|
+
import { ListWorkflowsRepository } from "./abstractions.js";
|
|
6
6
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
|
|
7
7
|
import { CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
8
8
|
class ListWorkflowsRepositoryImpl {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
async execute(input) {
|
|
16
|
-
const where = this.cmsWhereMapper.map({
|
|
17
|
-
input: this.convertListWhere(input.where),
|
|
18
|
-
fields: this.model.fields
|
|
19
|
-
});
|
|
20
|
-
const listResult = await this.listLatestEntries.execute(this.model, {
|
|
21
|
-
sort: ["createdOn_ASC"],
|
|
22
|
-
limit: 100,
|
|
23
|
-
...input,
|
|
24
|
-
where
|
|
25
|
-
});
|
|
26
|
-
if (listResult.isFail()) {
|
|
27
|
-
return Result.fail(new WorkflowPersistenceError(listResult.error));
|
|
9
|
+
constructor(listLatestEntries, modelProvider, mapper, cmsWhereMapper){
|
|
10
|
+
this.listLatestEntries = listLatestEntries;
|
|
11
|
+
this.modelProvider = modelProvider;
|
|
12
|
+
this.mapper = mapper;
|
|
13
|
+
this.cmsWhereMapper = cmsWhereMapper;
|
|
28
14
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
15
|
+
async execute(input) {
|
|
16
|
+
const model = await this.modelProvider.get();
|
|
17
|
+
const where = this.cmsWhereMapper.map({
|
|
18
|
+
input: this.convertListWhere(input.where),
|
|
19
|
+
fields: model.fields
|
|
20
|
+
});
|
|
21
|
+
const listResult = await this.listLatestEntries.execute(model, {
|
|
22
|
+
sort: [
|
|
23
|
+
"createdOn_ASC"
|
|
24
|
+
],
|
|
25
|
+
limit: 100,
|
|
26
|
+
...input,
|
|
27
|
+
where
|
|
28
|
+
});
|
|
29
|
+
if (listResult.isFail()) return Result.fail(new WorkflowPersistenceError(listResult.error));
|
|
30
|
+
const { entries, meta } = listResult.value;
|
|
31
|
+
const items = entries.map((entry)=>this.mapper.fromCmsEntry(entry));
|
|
32
|
+
return Result.ok({
|
|
33
|
+
items,
|
|
34
|
+
meta
|
|
35
|
+
});
|
|
42
36
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
convertListWhere(input) {
|
|
38
|
+
if (!input || 0 === Object.keys(input).length) return;
|
|
39
|
+
const where = structuredClone(input);
|
|
40
|
+
if (where.id) where.id = this.convertWorkflowId(where.id);
|
|
41
|
+
if (where.id_in) where.id_in = where.id_in.map((id)=>this.convertWorkflowId(id));
|
|
42
|
+
return where;
|
|
46
43
|
}
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
convertWorkflowId(input) {
|
|
45
|
+
const { id } = parseIdentifier(input);
|
|
46
|
+
return createIdentifier({
|
|
47
|
+
id,
|
|
48
|
+
version: 1
|
|
49
|
+
});
|
|
49
50
|
}
|
|
50
|
-
return where;
|
|
51
|
-
}
|
|
52
|
-
convertWorkflowId(input) {
|
|
53
|
-
const {
|
|
54
|
-
id
|
|
55
|
-
} = parseIdentifier(input);
|
|
56
|
-
return createIdentifier({
|
|
57
|
-
id,
|
|
58
|
-
version: 1
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
51
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
52
|
+
const ListWorkflowsRepository_ListWorkflowsRepository = ListWorkflowsRepository.createImplementation({
|
|
53
|
+
implementation: ListWorkflowsRepositoryImpl,
|
|
54
|
+
dependencies: [
|
|
55
|
+
ListLatestEntriesUseCase,
|
|
56
|
+
WorkflowModelProvider,
|
|
57
|
+
WorkflowMapper,
|
|
58
|
+
CmsWhereMapper
|
|
59
|
+
]
|
|
65
60
|
});
|
|
61
|
+
export { ListWorkflowsRepository_ListWorkflowsRepository as ListWorkflowsRepository };
|
|
66
62
|
|
|
67
63
|
//# sourceMappingURL=ListWorkflowsRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/ListWorkflows/ListWorkflowsRepository.js","sources":["../../../../src/features/workflow/ListWorkflows/ListWorkflowsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createIdentifier, parseIdentifier } from \"@webiny/utils\";\nimport {\n type IWorkflow,\n WorkflowMapper,\n WorkflowModelProvider\n} from \"~/domain/workflow/abstractions.js\";\nimport { WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport { type IListWorkflowsWhere, ListWorkflowsRepository as Repository } from \"./abstractions.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js\";\nimport { CmsWhereMapper } from \"@webiny/api-headless-cms\";\n\nclass ListWorkflowsRepositoryImpl implements Repository.Interface {\n constructor(\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private modelProvider: WorkflowModelProvider.Interface,\n private mapper: WorkflowMapper.Interface,\n private cmsWhereMapper: CmsWhereMapper.Interface\n ) {}\n\n async execute(input: Repository.Params): Repository.Return {\n const model = await this.modelProvider.get();\n const where = this.cmsWhereMapper.map({\n input: this.convertListWhere(input.where),\n fields: model.fields\n });\n\n const listResult = await this.listLatestEntries.execute<IWorkflow>(model, {\n sort: [\"createdOn_ASC\"],\n limit: 100,\n ...input,\n where\n });\n\n if (listResult.isFail()) {\n return Result.fail(new WorkflowPersistenceError(listResult.error));\n }\n\n const { entries, meta } = listResult.value;\n\n const items = entries.map(entry => this.mapper.fromCmsEntry(entry));\n\n return Result.ok({\n items,\n meta\n });\n }\n\n private convertListWhere(input?: IListWorkflowsWhere): IListWorkflowsWhere | undefined {\n if (!input || Object.keys(input).length === 0) {\n return undefined;\n }\n const where = structuredClone(input);\n if (where.id) {\n where.id = this.convertWorkflowId(where.id);\n }\n if (where.id_in) {\n where.id_in = where.id_in.map(id => this.convertWorkflowId(id));\n }\n return where;\n }\n\n private convertWorkflowId(input: string): string {\n const { id } = parseIdentifier(input);\n return createIdentifier({\n id,\n version: 1\n });\n }\n}\n\nexport const ListWorkflowsRepository = Repository.createImplementation({\n implementation: ListWorkflowsRepositoryImpl,\n dependencies: [ListLatestEntriesUseCase, WorkflowModelProvider, WorkflowMapper, CmsWhereMapper]\n});\n"],"names":["ListWorkflowsRepositoryImpl","listLatestEntries","modelProvider","mapper","cmsWhereMapper","input","model","where","listResult","Result","WorkflowPersistenceError","entries","meta","items","entry","Object","structuredClone","id","parseIdentifier","createIdentifier","ListWorkflowsRepository","Repository","ListLatestEntriesUseCase","WorkflowModelProvider","WorkflowMapper","CmsWhereMapper"],"mappings":";;;;;;;AAYA,MAAMA;IACF,YACYC,iBAAqD,EACrDC,aAA8C,EAC9CC,MAAgC,EAChCC,cAAwC,CAClD;aAJUH,iBAAiB,GAAjBA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,KAAwB,EAAqB;QACvD,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAMC,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAClC,OAAO,IAAI,CAAC,gBAAgB,CAACF,MAAM,KAAK;YACxC,QAAQC,MAAM,MAAM;QACxB;QAEA,MAAME,aAAa,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAYF,OAAO;YACtE,MAAM;gBAAC;aAAgB;YACvB,OAAO;YACP,GAAGD,KAAK;YACRE;QACJ;QAEA,IAAIC,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC,yBAAyBF,WAAW,KAAK;QAGpE,MAAM,EAAEG,OAAO,EAAEC,IAAI,EAAE,GAAGJ,WAAW,KAAK;QAE1C,MAAMK,QAAQF,QAAQ,GAAG,CAACG,CAAAA,QAAS,IAAI,CAAC,MAAM,CAAC,YAAY,CAACA;QAE5D,OAAOL,OAAO,EAAE,CAAC;YACbI;YACAD;QACJ;IACJ;IAEQ,iBAAiBP,KAA2B,EAAmC;QACnF,IAAI,CAACA,SAASU,AAA8B,MAA9BA,OAAO,IAAI,CAACV,OAAO,MAAM,EACnC;QAEJ,MAAME,QAAQS,gBAAgBX;QAC9B,IAAIE,MAAM,EAAE,EACRA,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAACA,MAAM,EAAE;QAE9C,IAAIA,MAAM,KAAK,EACXA,MAAM,KAAK,GAAGA,MAAM,KAAK,CAAC,GAAG,CAACU,CAAAA,KAAM,IAAI,CAAC,iBAAiB,CAACA;QAE/D,OAAOV;IACX;IAEQ,kBAAkBF,KAAa,EAAU;QAC7C,MAAM,EAAEY,EAAE,EAAE,GAAGC,gBAAgBb;QAC/B,OAAOc,iBAAiB;YACpBF;YACA,SAAS;QACb;IACJ;AACJ;AAEO,MAAMG,kDAA0BC,wBAAAA,oBAA+B,CAAC;IACnE,gBAAgBrB;IAChB,cAAc;QAACsB;QAA0BC;QAAuBC;QAAgBC;KAAe;AACnG"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { ListWorkflowsRepository, ListWorkflowsUseCase
|
|
2
|
+
import { ListWorkflowsRepository, ListWorkflowsUseCase } from "./abstractions.js";
|
|
3
3
|
class ListWorkflowsUseCaseImpl {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
constructor(repository){
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute(input) {
|
|
8
|
+
const result = await this.repository.execute(input);
|
|
9
|
+
if (result.isFail()) return result;
|
|
10
|
+
return Result.ok(result.value);
|
|
11
11
|
}
|
|
12
|
-
return Result.ok(result.value);
|
|
13
|
-
}
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const ListWorkflowsUseCase_ListWorkflowsUseCase = ListWorkflowsUseCase.createImplementation({
|
|
14
|
+
implementation: ListWorkflowsUseCaseImpl,
|
|
15
|
+
dependencies: [
|
|
16
|
+
ListWorkflowsRepository
|
|
17
|
+
]
|
|
18
18
|
});
|
|
19
|
+
export { ListWorkflowsUseCase_ListWorkflowsUseCase as ListWorkflowsUseCase };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=ListWorkflowsUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/ListWorkflows/ListWorkflowsUseCase.js","sources":["../../../../src/features/workflow/ListWorkflows/ListWorkflowsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListWorkflowsRepository, ListWorkflowsUseCase as UseCase } from \"./abstractions.js\";\n\nclass ListWorkflowsUseCaseImpl implements UseCase.Interface {\n private readonly repository: ListWorkflowsRepository.Interface;\n\n constructor(repository: ListWorkflowsRepository.Interface) {\n this.repository = repository;\n }\n\n async execute(input: UseCase.Params): UseCase.Return {\n const result = await this.repository.execute(input);\n\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const ListWorkflowsUseCase = UseCase.createImplementation({\n implementation: ListWorkflowsUseCaseImpl,\n dependencies: [ListWorkflowsRepository]\n});\n"],"names":["ListWorkflowsUseCaseImpl","repository","input","result","Result","ListWorkflowsUseCase","UseCase","ListWorkflowsRepository"],"mappings":";;AAGA,MAAMA;IAGF,YAAYC,UAA6C,CAAE;QACvD,IAAI,CAAC,UAAU,GAAGA;IACtB;IAEA,MAAM,QAAQC,KAAqB,EAAkB;QACjD,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACD;QAE7C,IAAIC,OAAO,MAAM,IACb,OAAOA;QAGX,OAAOC,OAAO,EAAE,CAACD,OAAO,KAAK;IACjC;AACJ;AAEO,MAAME,4CAAuBC,qBAAAA,oBAA4B,CAAC;IAC7D,gBAAgBN;IAChB,cAAc;QAACO;KAAwB;AAC3C"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export const ListWorkflowsUseCase = createAbstraction("ListWorkflowsUseCase");
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* ListWorkflows repository interface
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
export const ListWorkflowsRepository = createAbstraction("ListWorkflowsRepository");
|
|
2
|
+
const ListWorkflowsUseCase = createAbstraction("ListWorkflowsUseCase");
|
|
3
|
+
const ListWorkflowsRepository = createAbstraction("ListWorkflowsRepository");
|
|
4
|
+
export { ListWorkflowsRepository, ListWorkflowsUseCase };
|
|
14
5
|
|
|
15
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/ListWorkflows/abstractions.js","sources":["../../../../src/features/workflow/ListWorkflows/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 { WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport type { CmsEntryListSort } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface IListWorkflowsWhere {\n app?: string;\n app_in?: string[];\n id?: string;\n id_in?: string[];\n}\n\nexport interface IListWorkflowsParams {\n sort?: CmsEntryListSort;\n limit?: number;\n after?: string;\n where?: IListWorkflowsWhere;\n}\n\nexport interface IListWorkflowsMeta {\n hasMoreItems: boolean;\n totalCount: number;\n cursor: string | null;\n}\n\nexport interface IListWorkflowsResult {\n items: IWorkflow[];\n meta: IListWorkflowsMeta;\n}\n\n/**\n * ListWorkflows use case interface\n */\nexport interface IListWorkflowsUseCase {\n execute(input: IListWorkflowsParams): Promise<Result<IListWorkflowsResult, UseCaseError>>;\n}\n\nexport interface IListWorkflowsUseCaseErrors {\n persistence: WorkflowPersistenceError;\n}\n\ntype UseCaseError = IListWorkflowsUseCaseErrors[keyof IListWorkflowsUseCaseErrors];\n\nexport const ListWorkflowsUseCase =\n createAbstraction<IListWorkflowsUseCase>(\"ListWorkflowsUseCase\");\n\nexport namespace ListWorkflowsUseCase {\n export type Interface = IListWorkflowsUseCase;\n export type Params = IListWorkflowsParams;\n export type Return = Promise<Result<IListWorkflowsResult, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * ListWorkflows repository interface\n */\nexport interface IListWorkflowsRepository {\n execute(input: IListWorkflowsParams): Promise<Result<IListWorkflowsResult, RepositoryError>>;\n}\n\nexport interface IListWorkflowsRepositoryErrors {\n persistence: WorkflowPersistenceError;\n}\n\ntype RepositoryError = IListWorkflowsRepositoryErrors[keyof IListWorkflowsRepositoryErrors];\n\nexport const ListWorkflowsRepository =\n createAbstraction<IListWorkflowsRepository>(\"ListWorkflowsRepository\");\n\nexport namespace ListWorkflowsRepository {\n export type Interface = IListWorkflowsRepository;\n export type Params = IListWorkflowsParams;\n export type Return = Promise<Result<IListWorkflowsResult, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"names":["ListWorkflowsUseCase","createAbstraction","ListWorkflowsRepository"],"mappings":";AA4CO,MAAMA,uBACTC,kBAAyC;AAsBtC,MAAMC,0BACTD,kBAA4C"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { ListWorkflowsUseCase } from "./ListWorkflowsUseCase.js";
|
|
3
3
|
import { ListWorkflowsRepository } from "./ListWorkflowsRepository.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const ListWorkflowsFeature = createFeature({
|
|
5
|
+
name: "Workflows/ListWorkflows",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(ListWorkflowsRepository).inSingletonScope();
|
|
8
|
+
container.register(ListWorkflowsUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { ListWorkflowsFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/ListWorkflows/feature.js","sources":["../../../../src/features/workflow/ListWorkflows/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWorkflowsUseCase } from \"./ListWorkflowsUseCase.js\";\nimport { ListWorkflowsRepository } from \"./ListWorkflowsRepository.js\";\n\nexport const ListWorkflowsFeature = createFeature({\n name: \"Workflows/ListWorkflows\",\n register(container) {\n container.register(ListWorkflowsRepository).inSingletonScope();\n container.register(ListWorkflowsUseCase);\n }\n});\n"],"names":["ListWorkflowsFeature","createFeature","container","ListWorkflowsRepository","ListWorkflowsUseCase"],"mappings":";;;AAIO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,yBAAyB,gBAAgB;QAC5DD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -2,36 +2,34 @@ import { Result } from "@webiny/feature/api";
|
|
|
2
2
|
import { GetWorkflowUseCase } from "../GetWorkflow/index.js";
|
|
3
3
|
import { CreateWorkflowUseCase } from "../CreateWorkflow/index.js";
|
|
4
4
|
import { UpdateWorkflowUseCase } from "../UpdateWorkflow/index.js";
|
|
5
|
-
import { StoreWorkflowUseCase
|
|
5
|
+
import { StoreWorkflowUseCase } from "./abstractions.js";
|
|
6
6
|
class StoreWorkflowUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
async execute(input) {
|
|
13
|
-
const existingResult = await this.getWorkflow.execute({
|
|
14
|
-
app: input.app,
|
|
15
|
-
id: input.id
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
// If getWorkflow fails with anything other than NotFound, propagate error
|
|
19
|
-
if (existingResult.isFail()) {
|
|
20
|
-
if (existingResult.error.code !== "Workflows/Workflow/NotFound") {
|
|
21
|
-
return Result.fail(existingResult.error);
|
|
22
|
-
}
|
|
7
|
+
constructor(getWorkflow, createWorkflow, updateWorkflow){
|
|
8
|
+
this.getWorkflow = getWorkflow;
|
|
9
|
+
this.createWorkflow = createWorkflow;
|
|
10
|
+
this.updateWorkflow = updateWorkflow;
|
|
23
11
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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);
|
|
29
23
|
}
|
|
30
|
-
}
|
|
31
24
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
const StoreWorkflowUseCase_StoreWorkflowUseCase = StoreWorkflowUseCase.createImplementation({
|
|
26
|
+
implementation: StoreWorkflowUseCaseImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
GetWorkflowUseCase,
|
|
29
|
+
CreateWorkflowUseCase,
|
|
30
|
+
UpdateWorkflowUseCase
|
|
31
|
+
]
|
|
35
32
|
});
|
|
33
|
+
export { StoreWorkflowUseCase_StoreWorkflowUseCase as StoreWorkflowUseCase };
|
|
36
34
|
|
|
37
35
|
//# sourceMappingURL=StoreWorkflowUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* StoreWorkflow use case interface - delegates to CreateWorkflow or UpdateWorkflow
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
export const StoreWorkflowUseCase = createAbstraction("StoreWorkflowUseCase");
|
|
2
|
+
const StoreWorkflowUseCase = createAbstraction("StoreWorkflowUseCase");
|
|
3
|
+
export { StoreWorkflowUseCase };
|
|
10
4
|
|
|
11
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|