@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/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js","sources":["../../../../src/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport {\n ListNotificationTypesRepository,\n ListNotificationTypesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\nclass ListNotificationTypesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private identityContext: IdentityContext.Interface,\n private repository: ListNotificationTypesRepository.Interface\n ) {}\n\n public async execute(): UseCase.Return {\n const hasAccess = await this.ensureAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const result = await this.repository.execute();\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n\n private async ensureAccess(): Promise<Result<void, NotificationAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new NotificationAuthorizedError(\"You cannot list notifications.\"));\n }\n}\n\nexport const ListNotificationTypesUseCase = UseCase.createImplementation({\n implementation: ListNotificationTypesUseCaseImpl,\n dependencies: [IdentityContext, ListNotificationTypesRepository]\n});\n"],"names":["ListNotificationTypesUseCaseImpl","identityContext","repository","hasAccess","Result","result","permissions","WORKFLOWS_PERMISSION","permission","NotificationAuthorizedError","ListNotificationTypesUseCase","UseCase","IdentityContext","ListNotificationTypesRepository"],"mappings":";;;;;AAUA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,UAAqD,CAC/D;aAFUD,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAa,UAA0B;QACnC,MAAMC,YAAY,MAAM,IAAI,CAAC,YAAY;QACzC,IAAIA,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO;QAC5C,IAAIA,OAAO,MAAM,IACb,OAAOA;QAGX,OAAOD,OAAO,EAAE,CAACC,OAAO,KAAK;IACjC;IAEA,MAAc,eAAmE;QAC7E,MAAMC,cACF,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CACrCC;QAGR,KAAK,MAAMC,cAAcF,YACrB,IAAIE,AAAoB,QAApBA,WAAW,IAAI,EACf,OAAOJ,OAAO,EAAE;aACb,IAAII,WAAW,MAAM,EACxB,OAAOJ,OAAO,EAAE;QAIxB,OAAOA,OAAO,IAAI,CAAC,IAAIK,4BAA4B;IACvD;AACJ;AAEO,MAAMC,4DAA+BC,6BAAAA,oBAA4B,CAAC;IACrE,gBAAgBX;IAChB,cAAc;QAACY;QAAiBC;KAAgC;AACpE"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export const ListNotificationTypesUseCase = createAbstraction("ListNotificationTypesUseCase");
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* ListNotificationTypes repository interface
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
export const ListNotificationTypesRepository = createAbstraction("ListNotificationTypesRepository");
|
|
2
|
+
const ListNotificationTypesUseCase = createAbstraction("ListNotificationTypesUseCase");
|
|
3
|
+
const ListNotificationTypesRepository = createAbstraction("ListNotificationTypesRepository");
|
|
4
|
+
export { ListNotificationTypesRepository, ListNotificationTypesUseCase };
|
|
14
5
|
|
|
15
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/notifications/ListNotificationTypes/abstractions.js","sources":["../../../../src/features/notifications/ListNotificationTypes/abstractions.ts"],"sourcesContent":["import type { Result } from \"@webiny/feature/api\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { INotificationType } from \"~/domain/notifications/abstractions.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\n/**\n * ListNotificationTypes use case interface\n */\nexport interface IListNotificationTypesUseCase {\n execute(): Promise<Result<INotificationType[], UseCaseError>>;\n}\n\nexport interface IListNotificationTypesUseCaseErrors {\n notAuthorized: NotificationAuthorizedError;\n}\n\ntype UseCaseError = IListNotificationTypesUseCaseErrors[keyof IListNotificationTypesUseCaseErrors];\n\nexport const ListNotificationTypesUseCase = createAbstraction<IListNotificationTypesUseCase>(\n \"ListNotificationTypesUseCase\"\n);\n\nexport namespace ListNotificationTypesUseCase {\n export type Interface = IListNotificationTypesUseCase;\n export type Return = Promise<Result<INotificationType[], UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * ListNotificationTypes repository interface\n */\nexport interface IListNotificationTypesRepository {\n execute(): Promise<Result<INotificationType[]>>;\n}\n\nexport const ListNotificationTypesRepository = createAbstraction<IListNotificationTypesRepository>(\n \"ListNotificationTypesRepository\"\n);\n\nexport namespace ListNotificationTypesRepository {\n export type Interface = IListNotificationTypesRepository;\n export type Return = Promise<Result<INotificationType[]>>;\n}\n"],"names":["ListNotificationTypesUseCase","createAbstraction","ListNotificationTypesRepository"],"mappings":";AAkBO,MAAMA,+BAA+BC,kBACxC;AAgBG,MAAMC,kCAAkCD,kBAC3C"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { ListNotificationTypesUseCase } from "./ListNotificationTypesUseCase.js";
|
|
3
3
|
import { ListNotificationTypesRepository } from "./ListNotificationTypesRepository.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const ListNotificationTypesFeature = createFeature({
|
|
5
|
+
name: "WorkflowNotifications/ListNotificationTypes",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(ListNotificationTypesRepository).inSingletonScope();
|
|
8
|
+
container.register(ListNotificationTypesUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { ListNotificationTypesFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/notifications/ListNotificationTypes/feature.js","sources":["../../../../src/features/notifications/ListNotificationTypes/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListNotificationTypesUseCase } from \"./ListNotificationTypesUseCase.js\";\nimport { ListNotificationTypesRepository } from \"./ListNotificationTypesRepository.js\";\n\nexport const ListNotificationTypesFeature = createFeature({\n name: \"WorkflowNotifications/ListNotificationTypes\",\n register(container) {\n container.register(ListNotificationTypesRepository).inSingletonScope();\n container.register(ListNotificationTypesUseCase);\n }\n});\n"],"names":["ListNotificationTypesFeature","createFeature","container","ListNotificationTypesRepository","ListNotificationTypesUseCase"],"mappings":";;;AAIO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,iCAAiC,gBAAgB;QACpED,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1,47 +1,38 @@
|
|
|
1
1
|
import { MailerService } from "@webiny/api-mailer";
|
|
2
2
|
import { NotificationTransport } from "./abstractions.js";
|
|
3
3
|
class MailNotificationTransportImpl {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
async send(params) {
|
|
10
|
-
const {
|
|
11
|
-
users,
|
|
12
|
-
message
|
|
13
|
-
} = params;
|
|
14
|
-
const bcc = users.map(user => {
|
|
15
|
-
if (!user.displayName) {
|
|
16
|
-
return user.email;
|
|
17
|
-
}
|
|
18
|
-
return `"${user.displayName}" <${user.email}>`;
|
|
19
|
-
})
|
|
20
|
-
/**
|
|
21
|
-
* Just in case...
|
|
22
|
-
*/.filter(user => !!user);
|
|
23
|
-
if (bcc.length === 0) {
|
|
24
|
-
return;
|
|
4
|
+
constructor(mailer){
|
|
5
|
+
this.id = "e-mail";
|
|
6
|
+
this.title = "E-Mail";
|
|
7
|
+
this.mailer = mailer;
|
|
25
8
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
9
|
+
async send(params) {
|
|
10
|
+
const { users, message } = params;
|
|
11
|
+
const bcc = users.map((user)=>{
|
|
12
|
+
if (!user.displayName) return user.email;
|
|
13
|
+
return `"${user.displayName}" <${user.email}>`;
|
|
14
|
+
}).filter((user)=>!!user);
|
|
15
|
+
if (0 === bcc.length) return;
|
|
16
|
+
const result = await this.mailer.sendMail({
|
|
17
|
+
bcc,
|
|
18
|
+
subject: message.title,
|
|
19
|
+
text: message.body,
|
|
20
|
+
html: `<p>${message.body.replace(/\n/g, "<br/>")}</p>`
|
|
21
|
+
});
|
|
22
|
+
if (result.isOk()) return;
|
|
23
|
+
console.error({
|
|
24
|
+
message: "Failed to send e-mail notification.",
|
|
25
|
+
error: result.error,
|
|
26
|
+
users: users.map((u)=>u.email)
|
|
27
|
+
});
|
|
34
28
|
}
|
|
35
|
-
console.error({
|
|
36
|
-
message: "Failed to send e-mail notification.",
|
|
37
|
-
error: result.error,
|
|
38
|
-
users: users.map(u => u.email)
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
29
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
const MailNotificationTransport = NotificationTransport.createImplementation({
|
|
31
|
+
implementation: MailNotificationTransportImpl,
|
|
32
|
+
dependencies: [
|
|
33
|
+
MailerService
|
|
34
|
+
]
|
|
45
35
|
});
|
|
36
|
+
export { MailNotificationTransport };
|
|
46
37
|
|
|
47
38
|
//# sourceMappingURL=MailNotificationTransport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/notifications/NotificationTransport/MailNotificationTransport.js","sources":["../../../../src/features/notifications/NotificationTransport/MailNotificationTransport.ts"],"sourcesContent":["import { MailerService } from \"@webiny/api-mailer\";\nimport { NotificationTransport } from \"./abstractions.js\";\n\nclass MailNotificationTransportImpl implements NotificationTransport.Interface {\n public readonly id = \"e-mail\";\n public readonly title = \"E-Mail\";\n\n private readonly mailer: MailerService.Interface;\n\n public constructor(mailer: MailerService.Interface) {\n this.mailer = mailer;\n }\n\n public async send(params: NotificationTransport.SendParams): Promise<void> {\n const { users, message } = params;\n\n const bcc = users\n .map(user => {\n if (!user.displayName) {\n return user.email;\n }\n return `\"${user.displayName}\" <${user.email}>`;\n })\n /**\n * Just in case...\n */\n .filter(user => !!user);\n\n if (bcc.length === 0) {\n return;\n }\n\n const result = await this.mailer.sendMail({\n bcc,\n subject: message.title,\n text: message.body,\n html: `<p>${message.body.replace(/\\n/g, \"<br/>\")}</p>`\n });\n if (result.isOk()) {\n return;\n }\n console.error({\n message: \"Failed to send e-mail notification.\",\n error: result.error,\n users: users.map(u => u.email)\n });\n }\n}\n\nexport const MailNotificationTransport = NotificationTransport.createImplementation({\n implementation: MailNotificationTransportImpl,\n dependencies: [MailerService]\n});\n"],"names":["MailNotificationTransportImpl","mailer","params","users","message","bcc","user","result","console","u","MailNotificationTransport","NotificationTransport","MailerService"],"mappings":";;AAGA,MAAMA;IAMF,YAAmBC,MAA+B,CAAE;aALpC,EAAE,GAAG;aACL,KAAK,GAAG;QAKpB,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,MAAa,KAAKC,MAAwC,EAAiB;QACvE,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAE,GAAGF;QAE3B,MAAMG,MAAMF,MACP,GAAG,CAACG,CAAAA;YACD,IAAI,CAACA,KAAK,WAAW,EACjB,OAAOA,KAAK,KAAK;YAErB,OAAO,CAAC,CAAC,EAAEA,KAAK,WAAW,CAAC,GAAG,EAAEA,KAAK,KAAK,CAAC,CAAC,CAAC;QAClD,GAIC,MAAM,CAACA,CAAAA,OAAQ,CAAC,CAACA;QAEtB,IAAID,AAAe,MAAfA,IAAI,MAAM,EACV;QAGJ,MAAME,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACtCF;YACA,SAASD,QAAQ,KAAK;YACtB,MAAMA,QAAQ,IAAI;YAClB,MAAM,CAAC,GAAG,EAAEA,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,SAAS,IAAI,CAAC;QAC1D;QACA,IAAIG,OAAO,IAAI,IACX;QAEJC,QAAQ,KAAK,CAAC;YACV,SAAS;YACT,OAAOD,OAAO,KAAK;YACnB,OAAOJ,MAAM,GAAG,CAACM,CAAAA,IAAKA,EAAE,KAAK;QACjC;IACJ;AACJ;AAEO,MAAMC,4BAA4BC,sBAAsB,oBAAoB,CAAC;IAChF,gBAAgBX;IAChB,cAAc;QAACY;KAAc;AACjC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
2
|
+
const NotificationTransport = createAbstraction("WorkflowNotificationTransport");
|
|
3
|
+
export { NotificationTransport };
|
|
3
4
|
|
|
4
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/notifications/NotificationTransport/abstractions.js","sources":["../../../../src/features/notifications/NotificationTransport/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type {\n INotificationType,\n INotificationTypeMessage\n} from \"~/domain/notifications/abstractions.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\n\nexport interface INotificationTransportUser {\n id: string;\n email: string;\n displayName: string;\n}\n\nexport interface INotificationTransportSendParams {\n users: NonEmptyArray<INotificationTransportUser>;\n message: INotificationTypeMessage;\n}\n\nexport interface INotificationTransport {\n id: INotificationType[\"id\"];\n title: INotificationType[\"title\"];\n send(params: INotificationTransportSendParams): Promise<void>;\n}\n\nexport const NotificationTransport = createAbstraction<INotificationTransport>(\n \"WorkflowNotificationTransport\"\n);\n\nexport namespace NotificationTransport {\n export type Interface = INotificationTransport;\n export type SendParams = INotificationTransportSendParams;\n}\n"],"names":["NotificationTransport","createAbstraction"],"mappings":";AAwBO,MAAMA,wBAAwBC,kBACjC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { MailNotificationTransport } from "./MailNotificationTransport.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const NotificationTransportFeature = createFeature({
|
|
4
|
+
name: "WorkflowNotifications/NotificationTransport",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(MailNotificationTransport);
|
|
7
|
+
}
|
|
8
8
|
});
|
|
9
|
+
export { NotificationTransportFeature };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/notifications/NotificationTransport/feature.js","sources":["../../../../src/features/notifications/NotificationTransport/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MailNotificationTransport } from \"./MailNotificationTransport.js\";\n\nexport const NotificationTransportFeature = createFeature({\n name: \"WorkflowNotifications/NotificationTransport\",\n register(container) {\n container.register(MailNotificationTransport);\n }\n});\n"],"names":["NotificationTransportFeature","createFeature","container","MailNotificationTransport"],"mappings":";;AAGO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
|
|
2
|
-
import { WorkflowMapper,
|
|
2
|
+
import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
|
|
3
3
|
import { CreateWorkflowRepository as Repository } from "./abstractions.js";
|
|
4
4
|
declare class CreateWorkflowRepositoryImpl implements Repository.Interface {
|
|
5
5
|
private createEntry;
|
|
6
|
-
private
|
|
6
|
+
private modelProvider;
|
|
7
7
|
private mapper;
|
|
8
|
-
constructor(createEntry: CreateEntryUseCase.Interface,
|
|
8
|
+
constructor(createEntry: CreateEntryUseCase.Interface, modelProvider: WorkflowModelProvider.Interface, mapper: WorkflowMapper.Interface);
|
|
9
9
|
execute(input: Repository.Input): Repository.Return;
|
|
10
10
|
}
|
|
11
11
|
export declare const CreateWorkflowRepository: typeof CreateWorkflowRepositoryImpl & {
|
|
@@ -1,45 +1,47 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { parseIdentifier } from "@webiny/utils/parseIdentifier.js";
|
|
3
3
|
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
|
|
4
|
-
import { WorkflowMapper,
|
|
4
|
+
import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
|
|
5
5
|
import { WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
6
|
-
import { CreateWorkflowRepository
|
|
6
|
+
import { CreateWorkflowRepository } from "./abstractions.js";
|
|
7
7
|
class CreateWorkflowRepositoryImpl {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} catch (error) {
|
|
36
|
-
return Result.fail(new WorkflowPersistenceError(error));
|
|
8
|
+
constructor(createEntry, modelProvider, mapper){
|
|
9
|
+
this.createEntry = createEntry;
|
|
10
|
+
this.modelProvider = modelProvider;
|
|
11
|
+
this.mapper = mapper;
|
|
12
|
+
}
|
|
13
|
+
async execute(input) {
|
|
14
|
+
const model = await this.modelProvider.get();
|
|
15
|
+
const { id } = parseIdentifier(input.id);
|
|
16
|
+
const values = this.mapper.toCmsEntry({
|
|
17
|
+
id,
|
|
18
|
+
app: input.app,
|
|
19
|
+
name: input.name,
|
|
20
|
+
steps: input.steps
|
|
21
|
+
});
|
|
22
|
+
try {
|
|
23
|
+
const createResult = await this.createEntry.execute(model, {
|
|
24
|
+
id,
|
|
25
|
+
values
|
|
26
|
+
});
|
|
27
|
+
if (createResult.isFail()) return Result.fail(new WorkflowPersistenceError(createResult.error));
|
|
28
|
+
return Result.ok({
|
|
29
|
+
...values,
|
|
30
|
+
id
|
|
31
|
+
});
|
|
32
|
+
} catch (error) {
|
|
33
|
+
return Result.fail(new WorkflowPersistenceError(error));
|
|
34
|
+
}
|
|
37
35
|
}
|
|
38
|
-
}
|
|
39
36
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
const CreateWorkflowRepository_CreateWorkflowRepository = CreateWorkflowRepository.createImplementation({
|
|
38
|
+
implementation: CreateWorkflowRepositoryImpl,
|
|
39
|
+
dependencies: [
|
|
40
|
+
CreateEntryUseCase,
|
|
41
|
+
WorkflowModelProvider,
|
|
42
|
+
WorkflowMapper
|
|
43
|
+
]
|
|
43
44
|
});
|
|
45
|
+
export { CreateWorkflowRepository_CreateWorkflowRepository as CreateWorkflowRepository };
|
|
44
46
|
|
|
45
47
|
//# sourceMappingURL=CreateWorkflowRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/CreateWorkflow/CreateWorkflowRepository.js","sources":["../../../../src/features/workflow/CreateWorkflow/CreateWorkflowRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport {\n type IWorkflow,\n WorkflowMapper,\n WorkflowModelProvider\n} from \"~/domain/workflow/abstractions.js\";\nimport { WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport { CreateWorkflowRepository as Repository } from \"./abstractions.js\";\n\nclass CreateWorkflowRepositoryImpl implements Repository.Interface {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private modelProvider: WorkflowModelProvider.Interface,\n private mapper: WorkflowMapper.Interface\n ) {}\n\n async execute(input: Repository.Input): Repository.Return {\n const model = await this.modelProvider.get();\n const { id } = parseIdentifier(input.id);\n\n const values = this.mapper.toCmsEntry({\n id,\n app: input.app,\n name: input.name,\n steps: input.steps\n });\n try {\n const createResult = await this.createEntry.execute<IWorkflow>(model, {\n id,\n values\n });\n\n if (createResult.isFail()) {\n return Result.fail(new WorkflowPersistenceError(createResult.error));\n }\n\n return Result.ok({ ...values, id });\n } catch (error) {\n return Result.fail(new WorkflowPersistenceError(error));\n }\n }\n}\n\nexport const CreateWorkflowRepository = Repository.createImplementation({\n implementation: CreateWorkflowRepositoryImpl,\n dependencies: [CreateEntryUseCase, WorkflowModelProvider, WorkflowMapper]\n});\n"],"names":["CreateWorkflowRepositoryImpl","createEntry","modelProvider","mapper","input","model","id","parseIdentifier","values","createResult","Result","WorkflowPersistenceError","error","CreateWorkflowRepository","Repository","CreateEntryUseCase","WorkflowModelProvider","WorkflowMapper"],"mappings":";;;;;;AAWA,MAAMA;IACF,YACYC,WAAyC,EACzCC,aAA8C,EAC9CC,MAAgC,CAC1C;aAHUF,WAAW,GAAXA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAAuB,EAAqB;QACtD,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAM,EAAEC,EAAE,EAAE,GAAGC,gBAAgBH,MAAM,EAAE;QAEvC,MAAMI,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAClCF;YACA,KAAKF,MAAM,GAAG;YACd,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;QACtB;QACA,IAAI;YACA,MAAMK,eAAe,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAYJ,OAAO;gBAClEC;gBACAE;YACJ;YAEA,IAAIC,aAAa,MAAM,IACnB,OAAOC,OAAO,IAAI,CAAC,IAAIC,yBAAyBF,aAAa,KAAK;YAGtE,OAAOC,OAAO,EAAE,CAAC;gBAAE,GAAGF,MAAM;gBAAEF;YAAG;QACrC,EAAE,OAAOM,OAAO;YACZ,OAAOF,OAAO,IAAI,CAAC,IAAIC,yBAAyBC;QACpD;IACJ;AACJ;AAEO,MAAMC,oDAA2BC,yBAAAA,oBAA+B,CAAC;IACpE,gBAAgBd;IAChB,cAAc;QAACe;QAAoBC;QAAuBC;KAAe;AAC7E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
1
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
import { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
4
4
|
declare class CreateWorkflowUseCaseImpl implements UseCase.Interface {
|
|
5
5
|
private identityContext;
|
|
@@ -1,57 +1,52 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
3
|
-
import { EventPublisher } from "@webiny/api-core/features/
|
|
4
|
-
import { CreateWorkflowRepository, CreateWorkflowUseCase
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
4
|
+
import { CreateWorkflowRepository, CreateWorkflowUseCase } from "./abstractions.js";
|
|
5
5
|
import { WorkflowAfterCreateEvent, WorkflowBeforeCreateEvent } from "./events.js";
|
|
6
6
|
import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
|
|
7
7
|
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
8
|
-
import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
|
|
9
8
|
class CreateWorkflowUseCaseImpl {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
async execute(input) {
|
|
16
|
-
const hasAccess = await this.ensureManageAccess();
|
|
17
|
-
if (hasAccess.isFail()) {
|
|
18
|
-
return Result.fail(hasAccess.error);
|
|
9
|
+
constructor(identityContext, eventPublisher, repository){
|
|
10
|
+
this.identityContext = identityContext;
|
|
11
|
+
this.eventPublisher = eventPublisher;
|
|
12
|
+
this.repository = repository;
|
|
19
13
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
14
|
+
async execute(input) {
|
|
15
|
+
const hasAccess = await this.ensureManageAccess();
|
|
16
|
+
if (hasAccess.isFail()) return Result.fail(hasAccess.error);
|
|
17
|
+
const workflow = {
|
|
18
|
+
id: input.id,
|
|
19
|
+
app: input.app,
|
|
20
|
+
name: input.name,
|
|
21
|
+
steps: input.steps
|
|
22
|
+
};
|
|
23
|
+
await this.eventPublisher.publish(new WorkflowBeforeCreateEvent({
|
|
24
|
+
workflow,
|
|
25
|
+
input
|
|
26
|
+
}));
|
|
27
|
+
const result = await this.repository.execute(input);
|
|
28
|
+
if (result.isFail()) return result;
|
|
29
|
+
await this.eventPublisher.publish(new WorkflowAfterCreateEvent({
|
|
30
|
+
workflow: result.value,
|
|
31
|
+
input
|
|
32
|
+
}));
|
|
33
|
+
return Result.ok(result.value);
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
async ensureManageAccess() {
|
|
41
|
-
const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
|
|
42
|
-
for (const permission of permissions) {
|
|
43
|
-
if (permission.name === "*") {
|
|
44
|
-
return Result.ok();
|
|
45
|
-
} else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {
|
|
46
|
-
return Result.ok();
|
|
47
|
-
}
|
|
35
|
+
async ensureManageAccess() {
|
|
36
|
+
const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
|
|
37
|
+
for (const permission of permissions)if ("*" === permission.name) return Result.ok();
|
|
38
|
+
else if (permission.editor) return Result.ok();
|
|
39
|
+
return Result.fail(new WorkflowNotAuthorizedError("You cannot manage workflows."));
|
|
48
40
|
}
|
|
49
|
-
return Result.fail(new WorkflowNotAuthorizedError("You cannot manage workflows."));
|
|
50
|
-
}
|
|
51
41
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
42
|
+
const CreateWorkflowUseCase_CreateWorkflowUseCase = CreateWorkflowUseCase.createImplementation({
|
|
43
|
+
implementation: CreateWorkflowUseCaseImpl,
|
|
44
|
+
dependencies: [
|
|
45
|
+
IdentityContext,
|
|
46
|
+
EventPublisher,
|
|
47
|
+
CreateWorkflowRepository
|
|
48
|
+
]
|
|
55
49
|
});
|
|
50
|
+
export { CreateWorkflowUseCase_CreateWorkflowUseCase as CreateWorkflowUseCase };
|
|
56
51
|
|
|
57
52
|
//# sourceMappingURL=CreateWorkflowUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/CreateWorkflow/CreateWorkflowUseCase.js","sources":["../../../../src/features/workflow/CreateWorkflow/CreateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterCreateEvent, WorkflowBeforeCreateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass CreateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeCreateEvent({\n workflow,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterCreateEvent({\n workflow: result.value,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const CreateWorkflowUseCase = UseCase.createImplementation({\n implementation: CreateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, CreateWorkflowRepository]\n});\n"],"names":["CreateWorkflowUseCaseImpl","identityContext","eventPublisher","repository","input","hasAccess","Result","workflow","WorkflowBeforeCreateEvent","result","WorkflowAfterCreateEvent","permissions","WORKFLOWS_PERMISSION","permission","WorkflowNotAuthorizedError","CreateWorkflowUseCase","UseCase","IdentityContext","EventPublisher","CreateWorkflowRepository"],"mappings":";;;;;;;AASA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,CACxD;aAHUF,eAAe,GAAfA;aACAC,cAAc,GAAdA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,KAAoB,EAAkB;QAChD,MAAMC,YAAY,MAAM,IAAI,CAAC,kBAAkB;QAC/C,IAAIA,UAAU,MAAM,IAChB,OAAOC,OAAO,IAAI,CAACD,UAAU,KAAK;QAGtC,MAAME,WAAW;YACb,IAAIH,MAAM,EAAE;YACZ,KAAKA,MAAM,GAAG;YACd,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;QACtB;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAII,0BAA0B;YAC1BD;YACAH;QACJ;QAGJ,MAAMK,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACL;QAC7C,IAAIK,OAAO,MAAM,IACb,OAAOA;QAGX,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIC,yBAAyB;YACzB,UAAUD,OAAO,KAAK;YACtBL;QACJ;QAGJ,OAAOE,OAAO,EAAE,CAACG,OAAO,KAAK;IACjC;IAEA,MAAc,qBAAwE;QAClF,MAAME,cACF,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CACrCC;QAGR,KAAK,MAAMC,cAAcF,YACrB,IAAIE,AAAoB,QAApBA,WAAW,IAAI,EACf,OAAOP,OAAO,EAAE;aACb,IAAIO,WAAW,MAAM,EACxB,OAAOP,OAAO,EAAE;QAIxB,OAAOA,OAAO,IAAI,CAAC,IAAIQ,2BAA2B;IACtD;AACJ;AAEO,MAAMC,8CAAwBC,sBAAAA,oBAA4B,CAAC;IAC9D,gBAAgBhB;IAChB,cAAc;QAACiB;QAAiBC;QAAgBC;KAAyB;AAC7E"}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// Event payloads
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* CreateWorkflow use case interface
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
export const CreateWorkflowUseCase = createAbstraction("CreateWorkflowUseCase");
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* CreateWorkflow repository interface
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
export const CreateWorkflowRepository = createAbstraction("CreateWorkflowRepository");
|
|
2
|
+
const CreateWorkflowUseCase = createAbstraction("CreateWorkflowUseCase");
|
|
3
|
+
const CreateWorkflowRepository = createAbstraction("CreateWorkflowRepository");
|
|
4
|
+
export { CreateWorkflowRepository, CreateWorkflowUseCase };
|
|
18
5
|
|
|
19
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/workflow/CreateWorkflow/abstractions.js","sources":["../../../../src/features/workflow/CreateWorkflow/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { IWorkflow } from \"~/domain/workflow/abstractions.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport {\n type WorkflowNotAuthorizedError,\n type WorkflowPersistenceError,\n type WorkflowValidationError\n} from \"~/domain/workflow/errors.js\";\nimport type { IWorkflowStepInput } from \"~/features/shared/abstractions.js\";\n\n// Input types\nexport interface ICreateWorkflowInput {\n app: string;\n id: string;\n name: string;\n steps: NonEmptyArray<IWorkflowStepInput>;\n}\n\n// Event payloads\nexport interface WorkflowBeforeCreatePayload {\n workflow: IWorkflow;\n input: ICreateWorkflowInput;\n}\n\nexport interface WorkflowAfterCreatePayload {\n workflow: IWorkflow;\n input: ICreateWorkflowInput;\n}\n\n/**\n * CreateWorkflow use case interface\n */\nexport interface ICreateWorkflowUseCase {\n execute(input: ICreateWorkflowInput): Promise<Result<IWorkflow, UseCaseError>>;\n}\n\nexport interface ICreateWorkflowUseCaseErrors {\n notAuthorized: WorkflowNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n validation: WorkflowValidationError;\n}\n\ntype UseCaseError = ICreateWorkflowUseCaseErrors[keyof ICreateWorkflowUseCaseErrors];\n\nexport const CreateWorkflowUseCase =\n createAbstraction<ICreateWorkflowUseCase>(\"CreateWorkflowUseCase\");\n\nexport namespace CreateWorkflowUseCase {\n export type Interface = ICreateWorkflowUseCase;\n export type Input = ICreateWorkflowInput;\n export type Return = Promise<Result<IWorkflow, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * CreateWorkflow repository interface\n */\nexport interface ICreateWorkflowRepository {\n execute(input: ICreateWorkflowInput): Promise<Result<IWorkflow, RepositoryError>>;\n}\n\nexport interface ICreateWorkflowRepositoryErrors {\n persistence: WorkflowPersistenceError;\n}\n\ntype RepositoryError = ICreateWorkflowRepositoryErrors[keyof ICreateWorkflowRepositoryErrors];\n\nexport const CreateWorkflowRepository = createAbstraction<ICreateWorkflowRepository>(\n \"CreateWorkflowRepository\"\n);\n\nexport namespace CreateWorkflowRepository {\n export type Interface = ICreateWorkflowRepository;\n export type Input = ICreateWorkflowInput;\n export type Return = Promise<Result<IWorkflow, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"names":["CreateWorkflowUseCase","createAbstraction","CreateWorkflowRepository"],"mappings":";AA6CO,MAAMA,wBACTC,kBAA0C;AAsBvC,MAAMC,2BAA2BD,kBACpC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DomainEvent } from "@webiny/api-core/features/
|
|
2
|
-
import type { IEventHandler } from "@webiny/api-core/features/
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
3
|
import type { WorkflowBeforeCreatePayload, WorkflowAfterCreatePayload } from "./abstractions.js";
|
|
4
4
|
export declare class WorkflowBeforeCreateEvent extends DomainEvent<WorkflowBeforeCreatePayload> {
|
|
5
5
|
eventType: "workflow.beforeCreate";
|