@webiny/api-workflows 0.0.0-unstable.61c048f412
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/constants.d.ts +3 -0
- package/constants.js +5 -0
- package/constants.js.map +1 -0
- package/domain/notifications/abstractions.d.ts +64 -0
- package/domain/notifications/abstractions.js +10 -0
- package/domain/notifications/abstractions.js.map +1 -0
- package/domain/notifications/errors.d.ts +5 -0
- package/domain/notifications/errors.js +11 -0
- package/domain/notifications/errors.js.map +1 -0
- package/domain/workflow/WorkflowMapper.d.ts +12 -0
- package/domain/workflow/WorkflowMapper.js +29 -0
- package/domain/workflow/WorkflowMapper.js.map +1 -0
- package/domain/workflow/abstractions.d.ts +37 -0
- package/domain/workflow/abstractions.js +6 -0
- package/domain/workflow/abstractions.js.map +1 -0
- package/domain/workflow/errors.d.ts +23 -0
- package/domain/workflow/errors.js +36 -0
- package/domain/workflow/errors.js.map +1 -0
- package/domain/workflow/workflowModel.d.ts +9 -0
- package/domain/workflow/workflowModel.js +32 -0
- package/domain/workflow/workflowModel.js.map +1 -0
- package/domain/workflowState/WorkflowState.d.ts +55 -0
- package/domain/workflowState/WorkflowState.js +327 -0
- package/domain/workflowState/WorkflowState.js.map +1 -0
- package/domain/workflowState/WorkflowStateMapper.d.ts +9 -0
- package/domain/workflowState/WorkflowStateMapper.js +40 -0
- package/domain/workflowState/WorkflowStateMapper.js.map +1 -0
- package/domain/workflowState/abstractions.d.ts +75 -0
- package/domain/workflowState/abstractions.js +13 -0
- package/domain/workflowState/abstractions.js.map +1 -0
- package/domain/workflowState/errors.d.ts +86 -0
- package/domain/workflowState/errors.js +139 -0
- package/domain/workflowState/errors.js.map +1 -0
- package/domain/workflowState/guards/canReview.d.ts +2 -0
- package/domain/workflowState/guards/canReview.js +5 -0
- package/domain/workflowState/guards/canReview.js.map +1 -0
- package/domain/workflowState/guards/canTakeOver.d.ts +2 -0
- package/domain/workflowState/guards/canTakeOver.js +5 -0
- package/domain/workflowState/guards/canTakeOver.js.map +1 -0
- package/domain/workflowState/guards/isInReview.d.ts +2 -0
- package/domain/workflowState/guards/isInReview.js +6 -0
- package/domain/workflowState/guards/isInReview.js.map +1 -0
- package/domain/workflowState/guards/isRejected.d.ts +2 -0
- package/domain/workflowState/guards/isRejected.js +6 -0
- package/domain/workflowState/guards/isRejected.js.map +1 -0
- package/domain/workflowState/guards/isStepOwner.d.ts +2 -0
- package/domain/workflowState/guards/isStepOwner.js +5 -0
- package/domain/workflowState/guards/isStepOwner.js.map +1 -0
- package/domain/workflowState/stateModel.d.ts +9 -0
- package/domain/workflowState/stateModel.js +58 -0
- package/domain/workflowState/stateModel.js.map +1 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.d.ts +12 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.js +36 -0
- package/features/internal/GetUserTeams/GetUserTeamsUseCase.js.map +1 -0
- package/features/internal/GetUserTeams/abstractions.d.ts +10 -0
- package/features/internal/GetUserTeams/abstractions.js +4 -0
- package/features/internal/GetUserTeams/abstractions.js.map +1 -0
- package/features/internal/GetUserTeams/feature.d.ts +1 -0
- package/features/internal/GetUserTeams/feature.js +10 -0
- package/features/internal/GetUserTeams/feature.js.map +1 -0
- package/features/internal/GetUserTeams/index.d.ts +1 -0
- package/features/internal/GetUserTeams/index.js +3 -0
- package/features/internal/GetUserTeams/index.js.map +1 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.d.ts +11 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js +24 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js.map +1 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.d.ts +13 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +40 -0
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -0
- package/features/notifications/ListNotificationTypes/abstractions.d.ts +31 -0
- package/features/notifications/ListNotificationTypes/abstractions.js +15 -0
- package/features/notifications/ListNotificationTypes/abstractions.js.map +1 -0
- package/features/notifications/ListNotificationTypes/feature.d.ts +1 -0
- package/features/notifications/ListNotificationTypes/feature.js +12 -0
- package/features/notifications/ListNotificationTypes/feature.js.map +1 -0
- package/features/notifications/ListNotificationTypes/index.d.ts +3 -0
- package/features/notifications/ListNotificationTypes/index.js +4 -0
- package/features/notifications/ListNotificationTypes/index.js.map +1 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.d.ts +13 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.js +47 -0
- package/features/notifications/NotificationTransport/MailNotificationTransport.js.map +1 -0
- package/features/notifications/NotificationTransport/abstractions.d.ts +21 -0
- package/features/notifications/NotificationTransport/abstractions.js +4 -0
- package/features/notifications/NotificationTransport/abstractions.js.map +1 -0
- package/features/notifications/NotificationTransport/feature.d.ts +1 -0
- package/features/notifications/NotificationTransport/feature.js +10 -0
- package/features/notifications/NotificationTransport/feature.js.map +1 -0
- package/features/notifications/NotificationTransport/index.d.ts +3 -0
- package/features/notifications/NotificationTransport/index.js +4 -0
- package/features/notifications/NotificationTransport/index.js.map +1 -0
- package/features/shared/abstractions.d.ts +21 -0
- package/features/shared/abstractions.js +3 -0
- package/features/shared/abstractions.js.map +1 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +14 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +45 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.d.ts +15 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +57 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -0
- package/features/workflow/CreateWorkflow/abstractions.d.ts +56 -0
- package/features/workflow/CreateWorkflow/abstractions.js +19 -0
- package/features/workflow/CreateWorkflow/abstractions.js.map +1 -0
- package/features/workflow/CreateWorkflow/events.d.ts +21 -0
- package/features/workflow/CreateWorkflow/events.js +20 -0
- package/features/workflow/CreateWorkflow/events.js.map +1 -0
- package/features/workflow/CreateWorkflow/feature.d.ts +1 -0
- package/features/workflow/CreateWorkflow/feature.js +12 -0
- package/features/workflow/CreateWorkflow/feature.js.map +1 -0
- package/features/workflow/CreateWorkflow/index.d.ts +4 -0
- package/features/workflow/CreateWorkflow/index.js +5 -0
- package/features/workflow/CreateWorkflow/index.js.map +1 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +13 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +33 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.d.ts +17 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +59 -0
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -0
- package/features/workflow/DeleteWorkflow/abstractions.d.ts +50 -0
- package/features/workflow/DeleteWorkflow/abstractions.js +19 -0
- package/features/workflow/DeleteWorkflow/abstractions.js.map +1 -0
- package/features/workflow/DeleteWorkflow/events.d.ts +21 -0
- package/features/workflow/DeleteWorkflow/events.js +20 -0
- package/features/workflow/DeleteWorkflow/events.js.map +1 -0
- package/features/workflow/DeleteWorkflow/feature.d.ts +1 -0
- package/features/workflow/DeleteWorkflow/feature.js +12 -0
- package/features/workflow/DeleteWorkflow/feature.js.map +1 -0
- package/features/workflow/DeleteWorkflow/index.d.ts +4 -0
- package/features/workflow/DeleteWorkflow/index.js +5 -0
- package/features/workflow/DeleteWorkflow/index.js.map +1 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +14 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js +46 -0
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -0
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.d.ts +13 -0
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.js +34 -0
- package/features/workflow/GetWorkflow/GetWorkflowUseCase.js.map +1 -0
- package/features/workflow/GetWorkflow/abstractions.d.ts +45 -0
- package/features/workflow/GetWorkflow/abstractions.js +15 -0
- package/features/workflow/GetWorkflow/abstractions.js.map +1 -0
- package/features/workflow/GetWorkflow/feature.d.ts +1 -0
- package/features/workflow/GetWorkflow/feature.js +12 -0
- package/features/workflow/GetWorkflow/feature.js.map +1 -0
- package/features/workflow/GetWorkflow/index.d.ts +1 -0
- package/features/workflow/GetWorkflow/index.js +3 -0
- package/features/workflow/GetWorkflow/index.js.map +1 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +18 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +67 -0
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -0
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.d.ts +10 -0
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js +20 -0
- package/features/workflow/ListWorkflows/ListWorkflowsUseCase.js.map +1 -0
- package/features/workflow/ListWorkflows/abstractions.d.ts +60 -0
- package/features/workflow/ListWorkflows/abstractions.js +15 -0
- package/features/workflow/ListWorkflows/abstractions.js.map +1 -0
- package/features/workflow/ListWorkflows/feature.d.ts +1 -0
- package/features/workflow/ListWorkflows/feature.js +12 -0
- package/features/workflow/ListWorkflows/feature.js.map +1 -0
- package/features/workflow/ListWorkflows/index.d.ts +1 -0
- package/features/workflow/ListWorkflows/index.js +3 -0
- package/features/workflow/ListWorkflows/index.js.map +1 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.d.ts +15 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js +37 -0
- package/features/workflow/StoreWorkflow/StoreWorkflowUseCase.js.map +1 -0
- package/features/workflow/StoreWorkflow/abstractions.d.ts +32 -0
- package/features/workflow/StoreWorkflow/abstractions.js +11 -0
- package/features/workflow/StoreWorkflow/abstractions.js.map +1 -0
- package/features/workflow/StoreWorkflow/feature.d.ts +1 -0
- package/features/workflow/StoreWorkflow/feature.js +17 -0
- package/features/workflow/StoreWorkflow/feature.js.map +1 -0
- package/features/workflow/StoreWorkflow/index.d.ts +3 -0
- package/features/workflow/StoreWorkflow/index.js +4 -0
- package/features/workflow/StoreWorkflow/index.js.map +1 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +15 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +49 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.d.ts +15 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +59 -0
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -0
- package/features/workflow/UpdateWorkflow/abstractions.d.ts +57 -0
- package/features/workflow/UpdateWorkflow/abstractions.js +19 -0
- package/features/workflow/UpdateWorkflow/abstractions.js.map +1 -0
- package/features/workflow/UpdateWorkflow/events.d.ts +21 -0
- package/features/workflow/UpdateWorkflow/events.js +20 -0
- package/features/workflow/UpdateWorkflow/events.js.map +1 -0
- package/features/workflow/UpdateWorkflow/feature.d.ts +1 -0
- package/features/workflow/UpdateWorkflow/feature.js +12 -0
- package/features/workflow/UpdateWorkflow/feature.js.map +1 -0
- package/features/workflow/UpdateWorkflow/index.d.ts +4 -0
- package/features/workflow/UpdateWorkflow/index.js +5 -0
- package/features/workflow/UpdateWorkflow/index.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js +39 -0
- package/features/workflowState/ApproveWorkflowStateStep/ApproveWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.d.ts +26 -0
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.js +4 -0
- package/features/workflowState/ApproveWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/ApproveWorkflowStateStep/events.js +11 -0
- package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.js +10 -0
- package/features/workflowState/ApproveWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/ApproveWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/ApproveWorkflowStateStep/index.js +4 -0
- package/features/workflowState/ApproveWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.d.ts +13 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js +29 -0
- package/features/workflowState/CancelWorkflowState/CancelWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/abstractions.d.ts +26 -0
- package/features/workflowState/CancelWorkflowState/abstractions.js +9 -0
- package/features/workflowState/CancelWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/events.d.ts +12 -0
- package/features/workflowState/CancelWorkflowState/events.js +11 -0
- package/features/workflowState/CancelWorkflowState/events.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/CancelWorkflowState/feature.js +10 -0
- package/features/workflowState/CancelWorkflowState/feature.js.map +1 -0
- package/features/workflowState/CancelWorkflowState/index.d.ts +2 -0
- package/features/workflowState/CancelWorkflowState/index.js +4 -0
- package/features/workflowState/CancelWorkflowState/index.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +32 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +20 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +108 -0
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/abstractions.d.ts +54 -0
- package/features/workflowState/CreateWorkflowState/abstractions.js +15 -0
- package/features/workflowState/CreateWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/events.d.ts +12 -0
- package/features/workflowState/CreateWorkflowState/events.js +11 -0
- package/features/workflowState/CreateWorkflowState/events.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/CreateWorkflowState/feature.js +12 -0
- package/features/workflowState/CreateWorkflowState/feature.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/index.d.ts +2 -0
- package/features/workflowState/CreateWorkflowState/index.js +4 -0
- package/features/workflowState/CreateWorkflowState/index.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.d.ts +21 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +59 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.d.ts +23 -0
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.js +4 -0
- package/features/workflowState/DeleteTargetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/events.d.ts +12 -0
- package/features/workflowState/DeleteTargetWorkflowState/events.js +11 -0
- package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.js +10 -0
- package/features/workflowState/DeleteTargetWorkflowState/feature.js.map +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/index.d.ts +2 -0
- package/features/workflowState/DeleteTargetWorkflowState/index.js +4 -0
- package/features/workflowState/DeleteTargetWorkflowState/index.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +13 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +20 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.d.ts +14 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js +32 -0
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/abstractions.d.ts +25 -0
- package/features/workflowState/DeleteWorkflowState/abstractions.js +5 -0
- package/features/workflowState/DeleteWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/DeleteWorkflowState/feature.js +12 -0
- package/features/workflowState/DeleteWorkflowState/feature.js.map +1 -0
- package/features/workflowState/DeleteWorkflowState/index.d.ts +1 -0
- package/features/workflowState/DeleteWorkflowState/index.js +3 -0
- package/features/workflowState/DeleteWorkflowState/index.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +52 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.d.ts +14 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +38 -0
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/abstractions.d.ts +48 -0
- package/features/workflowState/GetTargetWorkflowState/abstractions.js +15 -0
- package/features/workflowState/GetTargetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/GetTargetWorkflowState/feature.js +12 -0
- package/features/workflowState/GetTargetWorkflowState/feature.js.map +1 -0
- package/features/workflowState/GetTargetWorkflowState/index.d.ts +1 -0
- package/features/workflowState/GetTargetWorkflowState/index.js +3 -0
- package/features/workflowState/GetTargetWorkflowState/index.js.map +1 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +14 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +32 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.d.ts +14 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +30 -0
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/GetWorkflowState/abstractions.d.ts +39 -0
- package/features/workflowState/GetWorkflowState/abstractions.js +15 -0
- package/features/workflowState/GetWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/GetWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/GetWorkflowState/feature.js +12 -0
- package/features/workflowState/GetWorkflowState/feature.js.map +1 -0
- package/features/workflowState/GetWorkflowState/index.d.ts +1 -0
- package/features/workflowState/GetWorkflowState/index.js +3 -0
- package/features/workflowState/GetWorkflowState/index.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.d.ts +13 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +41 -0
- package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/abstractions.d.ts +22 -0
- package/features/workflowState/ListOwnWorkflowStates/abstractions.js +9 -0
- package/features/workflowState/ListOwnWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.d.ts +1 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.js +10 -0
- package/features/workflowState/ListOwnWorkflowStates/feature.js.map +1 -0
- package/features/workflowState/ListOwnWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListOwnWorkflowStates/index.js +3 -0
- package/features/workflowState/ListOwnWorkflowStates/index.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.d.ts +15 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +49 -0
- package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.d.ts +22 -0
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.js +9 -0
- package/features/workflowState/ListRequestedWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.d.ts +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.js +10 -0
- package/features/workflowState/ListRequestedWorkflowStates/feature.js.map +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListRequestedWorkflowStates/index.js +3 -0
- package/features/workflowState/ListRequestedWorkflowStates/index.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.d.ts +16 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +43 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +14 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +36 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/abstractions.d.ts +56 -0
- package/features/workflowState/ListWorkflowStates/abstractions.js +15 -0
- package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/feature.d.ts +1 -0
- package/features/workflowState/ListWorkflowStates/feature.js +12 -0
- package/features/workflowState/ListWorkflowStates/feature.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListWorkflowStates/index.js +3 -0
- package/features/workflowState/ListWorkflowStates/index.js.map +1 -0
- package/features/workflowState/README.md +8 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js +39 -0
- package/features/workflowState/RejectWorkflowStateStep/RejectWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/abstractions.d.ts +26 -0
- package/features/workflowState/RejectWorkflowStateStep/abstractions.js +4 -0
- package/features/workflowState/RejectWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/RejectWorkflowStateStep/events.js +11 -0
- package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.js +10 -0
- package/features/workflowState/RejectWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/RejectWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/RejectWorkflowStateStep/index.js +4 -0
- package/features/workflowState/RejectWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js +39 -0
- package/features/workflowState/StartWorkflowStateStep/StartWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/abstractions.d.ts +25 -0
- package/features/workflowState/StartWorkflowStateStep/abstractions.js +4 -0
- package/features/workflowState/StartWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/StartWorkflowStateStep/events.js +11 -0
- package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/StartWorkflowStateStep/feature.js +10 -0
- package/features/workflowState/StartWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/StartWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/StartWorkflowStateStep/index.js +4 -0
- package/features/workflowState/StartWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.d.ts +15 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js +39 -0
- package/features/workflowState/TakeOverWorkflowStateStep/TakeOverWorkflowStateStepUseCase.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.d.ts +26 -0
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js +4 -0
- package/features/workflowState/TakeOverWorkflowStateStep/abstractions.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/events.d.ts +12 -0
- package/features/workflowState/TakeOverWorkflowStateStep/events.js +11 -0
- package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.d.ts +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.js +10 -0
- package/features/workflowState/TakeOverWorkflowStateStep/feature.js.map +1 -0
- package/features/workflowState/TakeOverWorkflowStateStep/index.d.ts +2 -0
- package/features/workflowState/TakeOverWorkflowStateStep/index.js +4 -0
- package/features/workflowState/TakeOverWorkflowStateStep/index.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +17 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +48 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.d.ts +20 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +57 -0
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/abstractions.d.ts +48 -0
- package/features/workflowState/UpdateWorkflowState/abstractions.js +15 -0
- package/features/workflowState/UpdateWorkflowState/abstractions.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/events.d.ts +12 -0
- package/features/workflowState/UpdateWorkflowState/events.js +11 -0
- package/features/workflowState/UpdateWorkflowState/events.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/feature.d.ts +1 -0
- package/features/workflowState/UpdateWorkflowState/feature.js +12 -0
- package/features/workflowState/UpdateWorkflowState/feature.js.map +1 -0
- package/features/workflowState/UpdateWorkflowState/index.d.ts +2 -0
- package/features/workflowState/UpdateWorkflowState/index.js +4 -0
- package/features/workflowState/UpdateWorkflowState/index.js.map +1 -0
- package/graphql/notifications.d.ts +2 -0
- package/graphql/notifications.js +51 -0
- package/graphql/notifications.js.map +1 -0
- package/graphql/validation/approveWorkflowState.d.ts +11 -0
- package/graphql/validation/approveWorkflowState.js +7 -0
- package/graphql/validation/approveWorkflowState.js.map +1 -0
- package/graphql/validation/cancelWorkflowState.d.ts +8 -0
- package/graphql/validation/cancelWorkflowState.js +6 -0
- package/graphql/validation/cancelWorkflowState.js.map +1 -0
- package/graphql/validation/createWorkflowState.d.ts +14 -0
- package/graphql/validation/createWorkflowState.js +8 -0
- package/graphql/validation/createWorkflowState.js.map +1 -0
- package/graphql/validation/deleteWorkflow.d.ts +11 -0
- package/graphql/validation/deleteWorkflow.js +7 -0
- package/graphql/validation/deleteWorkflow.js.map +1 -0
- package/graphql/validation/getTargetWorkflowState.d.ts +11 -0
- package/graphql/validation/getTargetWorkflowState.js +7 -0
- package/graphql/validation/getTargetWorkflowState.js.map +1 -0
- package/graphql/validation/getWorkflow.d.ts +11 -0
- package/graphql/validation/getWorkflow.js +7 -0
- package/graphql/validation/getWorkflow.js.map +1 -0
- package/graphql/validation/getWorkflowState.d.ts +8 -0
- package/graphql/validation/getWorkflowState.js +6 -0
- package/graphql/validation/getWorkflowState.js.map +1 -0
- package/graphql/validation/listWorkflowStates.d.ts +108 -0
- package/graphql/validation/listWorkflowStates.js +42 -0
- package/graphql/validation/listWorkflowStates.js.map +1 -0
- package/graphql/validation/listWorkflows.d.ts +42 -0
- package/graphql/validation/listWorkflows.js +22 -0
- package/graphql/validation/listWorkflows.js.map +1 -0
- package/graphql/validation/rejectWorkflowState.d.ts +11 -0
- package/graphql/validation/rejectWorkflowState.js +7 -0
- package/graphql/validation/rejectWorkflowState.js.map +1 -0
- package/graphql/validation/startWorkflowState.d.ts +8 -0
- package/graphql/validation/startWorkflowState.js +6 -0
- package/graphql/validation/startWorkflowState.js.map +1 -0
- package/graphql/validation/step.d.ts +49 -0
- package/graphql/validation/step.js +21 -0
- package/graphql/validation/step.js.map +1 -0
- package/graphql/validation/storeWorkflow.d.ts +107 -0
- package/graphql/validation/storeWorkflow.js +9 -0
- package/graphql/validation/storeWorkflow.js.map +1 -0
- package/graphql/validation/takeOverWorkflowStateStep.d.ts +8 -0
- package/graphql/validation/takeOverWorkflowStateStep.js +6 -0
- package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -0
- package/graphql/validation/workflow.d.ts +80 -0
- package/graphql/validation/workflow.js +10 -0
- package/graphql/validation/workflow.js.map +1 -0
- package/graphql/workflowState.d.ts +2 -0
- package/graphql/workflowState.js +398 -0
- package/graphql/workflowState.js.map +1 -0
- package/graphql/workflows.d.ts +2 -0
- package/graphql/workflows.js +216 -0
- package/graphql/workflows.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.js +102 -0
- package/index.js.map +1 -0
- package/package.json +41 -0
- package/types.d.ts +13 -0
- package/types.js +7 -0
- package/types.js.map +1 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
2
|
+
import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import { GetWorkflowUseCase } from "../GetWorkflow/index.js";
|
|
4
|
+
import { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
5
|
+
declare class DeleteWorkflowUseCaseImpl implements UseCase.Interface {
|
|
6
|
+
private identityContext;
|
|
7
|
+
private eventPublisher;
|
|
8
|
+
private getWorkflow;
|
|
9
|
+
private repository;
|
|
10
|
+
constructor(identityContext: IdentityContext.Interface, eventPublisher: EventPublisher.Interface, getWorkflow: GetWorkflowUseCase.Interface, repository: DeleteWorkflowRepository.Interface);
|
|
11
|
+
execute(input: UseCase.Params): UseCase.Return;
|
|
12
|
+
private ensureManageAccess;
|
|
13
|
+
}
|
|
14
|
+
export declare const DeleteWorkflowUseCase: typeof DeleteWorkflowUseCaseImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteWorkflowUseCase>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
3
|
+
import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
|
|
4
|
+
import { GetWorkflowUseCase } from "../GetWorkflow/index.js";
|
|
5
|
+
import { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
6
|
+
import { WorkflowAfterDeleteEvent, WorkflowBeforeDeleteEvent } from "./events.js";
|
|
7
|
+
import { WorkflowNotAuthorizedError, WorkflowNotFoundError } from "../../../domain/workflow/errors.js";
|
|
8
|
+
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
9
|
+
import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
|
|
10
|
+
class DeleteWorkflowUseCaseImpl {
|
|
11
|
+
constructor(identityContext, eventPublisher, getWorkflow, repository) {
|
|
12
|
+
this.identityContext = identityContext;
|
|
13
|
+
this.eventPublisher = eventPublisher;
|
|
14
|
+
this.getWorkflow = getWorkflow;
|
|
15
|
+
this.repository = repository;
|
|
16
|
+
}
|
|
17
|
+
async execute(input) {
|
|
18
|
+
const hasAccess = await this.ensureManageAccess();
|
|
19
|
+
if (hasAccess.isFail()) {
|
|
20
|
+
return Result.fail(hasAccess.error);
|
|
21
|
+
}
|
|
22
|
+
const workflowResult = await this.getWorkflow.execute(input);
|
|
23
|
+
if (workflowResult.isFail()) {
|
|
24
|
+
return Result.fail(new WorkflowNotFoundError({
|
|
25
|
+
id: input.id,
|
|
26
|
+
app: input.app
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
const workflow = workflowResult.value;
|
|
30
|
+
await this.eventPublisher.publish(new WorkflowBeforeDeleteEvent({
|
|
31
|
+
workflow
|
|
32
|
+
}));
|
|
33
|
+
const result = await this.repository.execute(input);
|
|
34
|
+
if (result.isFail()) {
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
await this.eventPublisher.publish(new WorkflowAfterDeleteEvent({
|
|
38
|
+
workflow
|
|
39
|
+
}));
|
|
40
|
+
return Result.ok();
|
|
41
|
+
}
|
|
42
|
+
async ensureManageAccess() {
|
|
43
|
+
const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
|
|
44
|
+
for (const permission of permissions) {
|
|
45
|
+
if (permission.name === "*") {
|
|
46
|
+
return Result.ok();
|
|
47
|
+
} else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {
|
|
48
|
+
return Result.ok();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return Result.fail(new WorkflowNotAuthorizedError("You cannot manage workflows."));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export const DeleteWorkflowUseCase = UseCase.createImplementation({
|
|
55
|
+
implementation: DeleteWorkflowUseCaseImpl,
|
|
56
|
+
dependencies: [IdentityContext, EventPublisher, GetWorkflowUseCase, DeleteWorkflowRepository]
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=DeleteWorkflowUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","IdentityContext","EventPublisher","GetWorkflowUseCase","DeleteWorkflowRepository","DeleteWorkflowUseCase","UseCase","WorkflowAfterDeleteEvent","WorkflowBeforeDeleteEvent","WorkflowNotAuthorizedError","WorkflowNotFoundError","WORKFLOWS_PERMISSION","WorkflowsSecurityPermissionAccessLevel","DeleteWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","getWorkflow","repository","execute","input","hasAccess","ensureManageAccess","isFail","fail","error","workflowResult","id","app","workflow","value","publish","result","ok","permissions","getPermissions","permission","name","editor","YES","createImplementation","implementation","dependencies"],"sources":["DeleteWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { GetWorkflowUseCase } from \"../GetWorkflow/index.js\";\nimport { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterDeleteEvent, WorkflowBeforeDeleteEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError, WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { WorkflowsSecurityPermissionAccessLevel } from \"~/types.js\";\n\nclass DeleteWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private repository: DeleteWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Params): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflowResult = await this.getWorkflow.execute(input);\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: input.id,\n app: input.app\n })\n );\n }\n\n const workflow = workflowResult.value;\n\n await this.eventPublisher.publish(\n new WorkflowBeforeDeleteEvent({\n workflow\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 WorkflowAfterDeleteEvent({\n workflow\n })\n );\n\n return Result.ok();\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 === WorkflowsSecurityPermissionAccessLevel.YES) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const DeleteWorkflowUseCase = UseCase.createImplementation({\n implementation: DeleteWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, GetWorkflowUseCase, DeleteWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,kBAAkB;AAC3B,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B,EAAEC,qBAAqB;AAC1D,SAASC,oBAAoB;AAE7B,SAASC,sCAAsC;AAE/C,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,WAAyC,EACzCC,UAA8C,EACxD;IAAA,KAJUH,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAqB,EAAkB;IACjD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOvB,MAAM,CAACwB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACT,WAAW,CAACE,OAAO,CAACC,KAAK,CAAC;IAC5D,IAAIM,cAAc,CAACH,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOvB,MAAM,CAACwB,IAAI,CACd,IAAId,qBAAqB,CAAC;QACtBiB,EAAE,EAAEP,KAAK,CAACO,EAAE;QACZC,GAAG,EAAER,KAAK,CAACQ;MACf,CAAC,CACL,CAAC;IACL;IAEA,MAAMC,QAAQ,GAAGH,cAAc,CAACI,KAAK;IAErC,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAIvB,yBAAyB,CAAC;MAC1BqB;IACJ,CAAC,CACL,CAAC;IAED,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIY,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAIxB,wBAAwB,CAAC;MACzBsB;IACJ,CAAC,CACL,CAAC;IAED,OAAO7B,MAAM,CAACiC,EAAE,CAAC,CAAC;EACtB;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMY,WAAW,GACb,MAAM,IAAI,CAACnB,eAAe,CAACoB,cAAc,CACrCxB,oBACJ,CAAC;IAEL,KAAK,MAAMyB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOrC,MAAM,CAACiC,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACE,MAAM,KAAK1B,sCAAsC,CAAC2B,GAAG,EAAE;QACzE,OAAOvC,MAAM,CAACiC,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOjC,MAAM,CAACwB,IAAI,CAAC,IAAIf,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAACkC,oBAAoB,CAAC;EAC9DC,cAAc,EAAE5B,yBAAyB;EACzC6B,YAAY,EAAE,CAACzC,eAAe,EAAEC,cAAc,EAAEC,kBAAkB,EAAEC,wBAAwB;AAChG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { IWorkflow } from "../../../domain/workflow/abstractions.js";
|
|
3
|
+
import { type WorkflowNotFoundError, type WorkflowNotAuthorizedError, type WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
4
|
+
export interface IDeleteWorkflowParams {
|
|
5
|
+
app: string;
|
|
6
|
+
id: string;
|
|
7
|
+
}
|
|
8
|
+
export interface WorkflowBeforeDeletePayload {
|
|
9
|
+
workflow: IWorkflow;
|
|
10
|
+
}
|
|
11
|
+
export interface WorkflowAfterDeletePayload {
|
|
12
|
+
workflow: IWorkflow;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* DeleteWorkflow use case interface
|
|
16
|
+
*/
|
|
17
|
+
export interface IDeleteWorkflowUseCase {
|
|
18
|
+
execute(input: IDeleteWorkflowParams): Promise<Result<void, UseCaseError>>;
|
|
19
|
+
}
|
|
20
|
+
export interface IDeleteWorkflowUseCaseErrors {
|
|
21
|
+
notFound: WorkflowNotFoundError;
|
|
22
|
+
notAuthorized: WorkflowNotAuthorizedError;
|
|
23
|
+
persistence: WorkflowPersistenceError;
|
|
24
|
+
}
|
|
25
|
+
type UseCaseError = IDeleteWorkflowUseCaseErrors[keyof IDeleteWorkflowUseCaseErrors];
|
|
26
|
+
export declare const DeleteWorkflowUseCase: import("@webiny/di").Abstraction<IDeleteWorkflowUseCase>;
|
|
27
|
+
export declare namespace DeleteWorkflowUseCase {
|
|
28
|
+
type Interface = IDeleteWorkflowUseCase;
|
|
29
|
+
type Params = IDeleteWorkflowParams;
|
|
30
|
+
type Return = Promise<Result<void, UseCaseError>>;
|
|
31
|
+
type Error = UseCaseError;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* DeleteWorkflow repository interface
|
|
35
|
+
*/
|
|
36
|
+
export interface IDeleteWorkflowRepository {
|
|
37
|
+
execute(input: IDeleteWorkflowParams): Promise<Result<void, RepositoryError>>;
|
|
38
|
+
}
|
|
39
|
+
export interface IDeleteWorkflowRepositoryErrors {
|
|
40
|
+
persistence: WorkflowPersistenceError;
|
|
41
|
+
}
|
|
42
|
+
type RepositoryError = IDeleteWorkflowRepositoryErrors[keyof IDeleteWorkflowRepositoryErrors];
|
|
43
|
+
export declare const DeleteWorkflowRepository: import("@webiny/di").Abstraction<IDeleteWorkflowRepository>;
|
|
44
|
+
export declare namespace DeleteWorkflowRepository {
|
|
45
|
+
type Interface = IDeleteWorkflowRepository;
|
|
46
|
+
type Params = IDeleteWorkflowParams;
|
|
47
|
+
type Return = Promise<Result<void, RepositoryError>>;
|
|
48
|
+
type Error = RepositoryError;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
// Input types
|
|
4
|
+
|
|
5
|
+
// Event payloads
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* DeleteWorkflow use case interface
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export const DeleteWorkflowUseCase = createAbstraction("DeleteWorkflowUseCase");
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* DeleteWorkflow repository interface
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export const DeleteWorkflowRepository = createAbstraction("DeleteWorkflowRepository");
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","DeleteWorkflowUseCase","DeleteWorkflowRepository"],"sources":["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 {\n type WorkflowNotFoundError,\n type WorkflowNotAuthorizedError,\n type WorkflowPersistenceError\n} from \"~/domain/workflow/errors.js\";\n\n// Input types\nexport interface IDeleteWorkflowParams {\n app: string;\n id: string;\n}\n\n// Event payloads\nexport interface WorkflowBeforeDeletePayload {\n workflow: IWorkflow;\n}\n\nexport interface WorkflowAfterDeletePayload {\n workflow: IWorkflow;\n}\n\n/**\n * DeleteWorkflow use case interface\n */\nexport interface IDeleteWorkflowUseCase {\n execute(input: IDeleteWorkflowParams): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteWorkflowUseCaseErrors {\n notFound: WorkflowNotFoundError;\n notAuthorized: WorkflowNotAuthorizedError;\n persistence: WorkflowPersistenceError;\n}\n\ntype UseCaseError = IDeleteWorkflowUseCaseErrors[keyof IDeleteWorkflowUseCaseErrors];\n\nexport const DeleteWorkflowUseCase =\n createAbstraction<IDeleteWorkflowUseCase>(\"DeleteWorkflowUseCase\");\n\nexport namespace DeleteWorkflowUseCase {\n export type Interface = IDeleteWorkflowUseCase;\n export type Params = IDeleteWorkflowParams;\n export type Return = Promise<Result<void, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * DeleteWorkflow repository interface\n */\nexport interface IDeleteWorkflowRepository {\n execute(input: IDeleteWorkflowParams): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteWorkflowRepositoryErrors {\n persistence: WorkflowPersistenceError;\n}\n\ntype RepositoryError = IDeleteWorkflowRepositoryErrors[keyof IDeleteWorkflowRepositoryErrors];\n\nexport const DeleteWorkflowRepository = createAbstraction<IDeleteWorkflowRepository>(\n \"DeleteWorkflowRepository\"\n);\n\nexport namespace DeleteWorkflowRepository {\n export type Interface = IDeleteWorkflowRepository;\n export type Params = IDeleteWorkflowParams;\n export type Return = Promise<Result<void, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AASvD;;AAMA;;AASA;AACA;AACA;;AAaA,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC;;AAStE;AACA;AACA;;AAWA,OAAO,MAAME,wBAAwB,GAAGF,iBAAiB,CACrD,0BACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
2
|
+
import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
import type { WorkflowBeforeDeletePayload, WorkflowAfterDeletePayload } from "./abstractions.js";
|
|
4
|
+
export declare class WorkflowBeforeDeleteEvent extends DomainEvent<WorkflowBeforeDeletePayload> {
|
|
5
|
+
eventType: "workflow.beforeDelete";
|
|
6
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<WorkflowBeforeDeleteEvent>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const WorkflowBeforeDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<WorkflowBeforeDeleteEvent>>;
|
|
9
|
+
export declare namespace WorkflowBeforeDeleteHandler {
|
|
10
|
+
type Interface = IEventHandler<WorkflowBeforeDeleteEvent>;
|
|
11
|
+
type Event = WorkflowBeforeDeleteEvent;
|
|
12
|
+
}
|
|
13
|
+
export declare class WorkflowAfterDeleteEvent extends DomainEvent<WorkflowAfterDeletePayload> {
|
|
14
|
+
eventType: "workflow.afterDelete";
|
|
15
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<WorkflowAfterDeleteEvent>>;
|
|
16
|
+
}
|
|
17
|
+
export declare const WorkflowAfterDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<WorkflowAfterDeleteEvent>>;
|
|
18
|
+
export declare namespace WorkflowAfterDeleteHandler {
|
|
19
|
+
type Interface = IEventHandler<WorkflowAfterDeleteEvent>;
|
|
20
|
+
type Event = WorkflowAfterDeleteEvent;
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
|
|
3
|
+
// Before delete event
|
|
4
|
+
export class WorkflowBeforeDeleteEvent extends DomainEvent {
|
|
5
|
+
eventType = "workflow.beforeDelete";
|
|
6
|
+
getHandlerAbstraction() {
|
|
7
|
+
return WorkflowBeforeDeleteHandler;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const WorkflowBeforeDeleteHandler = createAbstraction("WorkflowBeforeDeleteHandler");
|
|
11
|
+
// After delete event
|
|
12
|
+
export class WorkflowAfterDeleteEvent extends DomainEvent {
|
|
13
|
+
eventType = "workflow.afterDelete";
|
|
14
|
+
getHandlerAbstraction() {
|
|
15
|
+
return WorkflowAfterDeleteHandler;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const WorkflowAfterDeleteHandler = createAbstraction("WorkflowAfterDeleteHandler");
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeDeleteEvent","eventType","getHandlerAbstraction","WorkflowBeforeDeleteHandler","WorkflowAfterDeleteEvent","WorkflowAfterDeleteHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowBeforeDeletePayload, WorkflowAfterDeletePayload } from \"./abstractions.js\";\n\n// Before delete event\nexport class WorkflowBeforeDeleteEvent extends DomainEvent<WorkflowBeforeDeletePayload> {\n eventType = \"workflow.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeDeleteHandler;\n }\n}\n\nexport const WorkflowBeforeDeleteHandler = createAbstraction<\n IEventHandler<WorkflowBeforeDeleteEvent>\n>(\"WorkflowBeforeDeleteHandler\");\n\nexport namespace WorkflowBeforeDeleteHandler {\n export type Interface = IEventHandler<WorkflowBeforeDeleteEvent>;\n export type Event = WorkflowBeforeDeleteEvent;\n}\n\n// After delete event\nexport class WorkflowAfterDeleteEvent extends DomainEvent<WorkflowAfterDeletePayload> {\n eventType = \"workflow.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterDeleteHandler;\n }\n}\n\nexport const WorkflowAfterDeleteHandler = createAbstraction<\n IEventHandler<WorkflowAfterDeleteEvent>\n>(\"WorkflowAfterDeleteHandler\");\n\nexport namespace WorkflowAfterDeleteHandler {\n export type Interface = IEventHandler<WorkflowAfterDeleteEvent>;\n export type Event = WorkflowAfterDeleteEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;AAItE;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DeleteWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteWorkflowUseCase } from "./DeleteWorkflowUseCase.js";
|
|
3
|
+
import { DeleteWorkflowRepository } from "./DeleteWorkflowRepository.js";
|
|
4
|
+
export const DeleteWorkflowFeature = createFeature({
|
|
5
|
+
name: "Workflows/DeleteWorkflow",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(DeleteWorkflowRepository).inSingletonScope();
|
|
8
|
+
container.register(DeleteWorkflowUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","DeleteWorkflowUseCase","DeleteWorkflowRepository","DeleteWorkflowFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteWorkflowUseCase } from \"./DeleteWorkflowUseCase.js\";\nimport { DeleteWorkflowRepository } from \"./DeleteWorkflowRepository.js\";\n\nexport const DeleteWorkflowFeature = createFeature({\n name: \"Workflows/DeleteWorkflow\",\n register(container) {\n container.register(DeleteWorkflowRepository).inSingletonScope();\n container.register(DeleteWorkflowUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAC9B,SAASC,wBAAwB;AAEjC,OAAO,MAAMC,qBAAqB,GAAGH,aAAa,CAAC;EAC/CI,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,wBAAwB,CAAC,CAACK,gBAAgB,CAAC,CAAC;IAC/DD,SAAS,CAACD,QAAQ,CAACJ,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { DeleteWorkflowFeature } from "./feature.js";
|
|
2
|
+
export { DeleteWorkflowUseCase, DeleteWorkflowRepository } from "./abstractions.js";
|
|
3
|
+
export type { IDeleteWorkflowParams } from "./abstractions.js";
|
|
4
|
+
export { WorkflowBeforeDeleteEvent, WorkflowAfterDeleteEvent, WorkflowBeforeDeleteHandler, WorkflowAfterDeleteHandler } from "./events.js";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { DeleteWorkflowFeature } from "./feature.js";
|
|
2
|
+
export { DeleteWorkflowUseCase, DeleteWorkflowRepository } from "./abstractions.js";
|
|
3
|
+
export { WorkflowBeforeDeleteEvent, WorkflowAfterDeleteEvent, WorkflowBeforeDeleteHandler, WorkflowAfterDeleteHandler } from "./events.js";
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeleteWorkflowFeature","DeleteWorkflowUseCase","DeleteWorkflowRepository","WorkflowBeforeDeleteEvent","WorkflowAfterDeleteEvent","WorkflowBeforeDeleteHandler","WorkflowAfterDeleteHandler"],"sources":["index.ts"],"sourcesContent":["export { DeleteWorkflowFeature } from \"./feature.js\";\nexport { DeleteWorkflowUseCase, DeleteWorkflowRepository } from \"./abstractions.js\";\nexport type { IDeleteWorkflowParams } from \"./abstractions.js\";\nexport {\n WorkflowBeforeDeleteEvent,\n WorkflowAfterDeleteEvent,\n WorkflowBeforeDeleteHandler,\n WorkflowAfterDeleteHandler\n} from \"./events.js\";\n"],"mappings":"AAAA,SAASA,qBAAqB;AAC9B,SAASC,qBAAqB,EAAEC,wBAAwB;AAExD,SACIC,yBAAyB,EACzBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,0BAA0B","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js";
|
|
2
|
+
import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
|
|
3
|
+
import { GetWorkflowRepository as Repository } from "./abstractions.js";
|
|
4
|
+
declare class GetWorkflowRepositoryImpl implements Repository.Interface {
|
|
5
|
+
private getEntryById;
|
|
6
|
+
private model;
|
|
7
|
+
private mapper;
|
|
8
|
+
constructor(getEntryById: GetEntryByIdUseCase.Interface, model: WorkflowModel.Interface, mapper: WorkflowMapper.Interface);
|
|
9
|
+
execute(input: Repository.Params): Repository.Return;
|
|
10
|
+
}
|
|
11
|
+
export declare const GetWorkflowRepository: typeof GetWorkflowRepositoryImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetWorkflowRepository>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { createIdentifier } from "@webiny/utils";
|
|
3
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js";
|
|
4
|
+
import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
|
|
5
|
+
import { WorkflowNotFoundError, WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
6
|
+
import { GetWorkflowRepository as Repository } from "./abstractions.js";
|
|
7
|
+
class GetWorkflowRepositoryImpl {
|
|
8
|
+
constructor(getEntryById, model, mapper) {
|
|
9
|
+
this.getEntryById = getEntryById;
|
|
10
|
+
this.model = model;
|
|
11
|
+
this.mapper = mapper;
|
|
12
|
+
}
|
|
13
|
+
async execute(input) {
|
|
14
|
+
const id = createIdentifier({
|
|
15
|
+
id: input.id,
|
|
16
|
+
version: 1
|
|
17
|
+
});
|
|
18
|
+
const entryResult = await this.getEntryById.execute(this.model, id);
|
|
19
|
+
if (entryResult.isFail()) {
|
|
20
|
+
if (entryResult.error.code === "Cms/Entry/NotFound") {
|
|
21
|
+
return Result.fail(new WorkflowNotFoundError({
|
|
22
|
+
id: input.id,
|
|
23
|
+
app: input.app
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
return Result.fail(new WorkflowPersistenceError(entryResult.error));
|
|
27
|
+
}
|
|
28
|
+
const entry = entryResult.value;
|
|
29
|
+
|
|
30
|
+
// Check if the app matches
|
|
31
|
+
if (entry.values.app !== input.app) {
|
|
32
|
+
return Result.fail(new WorkflowNotFoundError({
|
|
33
|
+
id: input.id,
|
|
34
|
+
app: input.app
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
const workflow = this.mapper.fromCmsEntry(entry);
|
|
38
|
+
return Result.ok(workflow);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export const GetWorkflowRepository = Repository.createImplementation({
|
|
42
|
+
implementation: GetWorkflowRepositoryImpl,
|
|
43
|
+
dependencies: [GetEntryByIdUseCase, WorkflowModel, WorkflowMapper]
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=GetWorkflowRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","createIdentifier","GetEntryByIdUseCase","WorkflowMapper","WorkflowModel","WorkflowNotFoundError","WorkflowPersistenceError","GetWorkflowRepository","Repository","GetWorkflowRepositoryImpl","constructor","getEntryById","model","mapper","execute","input","id","version","entryResult","isFail","error","code","fail","app","entry","value","values","workflow","fromCmsEntry","ok","createImplementation","implementation","dependencies"],"sources":["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 { type IWorkflow, WorkflowMapper, WorkflowModel } 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 model: WorkflowModel.Interface,\n private mapper: WorkflowMapper.Interface\n ) {}\n\n async execute(input: Repository.Params): Repository.Return {\n const id = createIdentifier({\n id: input.id,\n version: 1\n });\n\n const entryResult = await this.getEntryById.execute<IWorkflow>(this.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, WorkflowModel, WorkflowMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,gBAAgB,QAAQ,eAAe;AAChD,SAASC,mBAAmB,QAAQ,sEAAsE;AAC1G,SAAyBC,cAAc,EAAEC,aAAa;AACtD,SAASC,qBAAqB,EAAEC,wBAAwB;AACxD,SAASC,qBAAqB,IAAIC,UAAU;AAE5C,MAAMC,yBAAyB,CAAiC;EAC5DC,WAAWA,CACCC,YAA2C,EAC3CC,KAA8B,EAC9BC,MAAgC,EAC1C;IAAA,KAHUF,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,KAA8B,GAA9BA,KAA8B;IAAA,KAC9BC,MAAgC,GAAhCA,MAAgC;EACzC;EAEH,MAAMC,OAAOA,CAACC,KAAwB,EAAqB;IACvD,MAAMC,EAAE,GAAGf,gBAAgB,CAAC;MACxBe,EAAE,EAAED,KAAK,CAACC,EAAE;MACZC,OAAO,EAAE;IACb,CAAC,CAAC;IAEF,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACP,YAAY,CAACG,OAAO,CAAY,IAAI,CAACF,KAAK,EAAEI,EAAE,CAAC;IAE9E,IAAIE,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,IAAID,WAAW,CAACE,KAAK,CAACC,IAAI,KAAK,oBAAoB,EAAE;QACjD,OAAOrB,MAAM,CAACsB,IAAI,CACd,IAAIjB,qBAAqB,CAAC;UACtBW,EAAE,EAAED,KAAK,CAACC,EAAE;UACZO,GAAG,EAAER,KAAK,CAACQ;QACf,CAAC,CACL,CAAC;MACL;MAEA,OAAOvB,MAAM,CAACsB,IAAI,CAAC,IAAIhB,wBAAwB,CAACY,WAAW,CAACE,KAAK,CAAC,CAAC;IACvE;IAEA,MAAMI,KAAK,GAAGN,WAAW,CAACO,KAAK;;IAE/B;IACA,IAAID,KAAK,CAACE,MAAM,CAACH,GAAG,KAAKR,KAAK,CAACQ,GAAG,EAAE;MAChC,OAAOvB,MAAM,CAACsB,IAAI,CACd,IAAIjB,qBAAqB,CAAC;QACtBW,EAAE,EAAED,KAAK,CAACC,EAAE;QACZO,GAAG,EAAER,KAAK,CAACQ;MACf,CAAC,CACL,CAAC;IACL;IAEA,MAAMI,QAAQ,GAAG,IAAI,CAACd,MAAM,CAACe,YAAY,CAACJ,KAAK,CAAC;IAChD,OAAOxB,MAAM,CAAC6B,EAAE,CAACF,QAAQ,CAAC;EAC9B;AACJ;AAEA,OAAO,MAAMpB,qBAAqB,GAAGC,UAAU,CAACsB,oBAAoB,CAAC;EACjEC,cAAc,EAAEtB,yBAAyB;EACzCuB,YAAY,EAAE,CAAC9B,mBAAmB,EAAEE,aAAa,EAAED,cAAc;AACrE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GetWorkflowRepository, GetWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
declare class GetWorkflowUseCaseImpl implements UseCase.Interface {
|
|
4
|
+
private readonly repository;
|
|
5
|
+
private readonly identityContext;
|
|
6
|
+
constructor(repository: GetWorkflowRepository.Interface, identityContext: IdentityContext.Interface);
|
|
7
|
+
execute(input: UseCase.Params): UseCase.Return;
|
|
8
|
+
private ensureHasAccess;
|
|
9
|
+
}
|
|
10
|
+
export declare const GetWorkflowUseCase: typeof GetWorkflowUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetWorkflowUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetWorkflowRepository, GetWorkflowUseCase as UseCase } from "./abstractions.js";
|
|
3
|
+
import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
|
|
4
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
5
|
+
class GetWorkflowUseCaseImpl {
|
|
6
|
+
constructor(repository, identityContext) {
|
|
7
|
+
this.repository = repository;
|
|
8
|
+
this.identityContext = identityContext;
|
|
9
|
+
}
|
|
10
|
+
async execute(input) {
|
|
11
|
+
const hasAccess = await this.ensureHasAccess();
|
|
12
|
+
if (hasAccess.isFail()) {
|
|
13
|
+
return Result.fail(hasAccess.error);
|
|
14
|
+
}
|
|
15
|
+
const result = await this.repository.execute(input);
|
|
16
|
+
if (result.isFail()) {
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
return Result.ok(result.value);
|
|
20
|
+
}
|
|
21
|
+
async ensureHasAccess() {
|
|
22
|
+
const identity = this.identityContext.getIdentity();
|
|
23
|
+
if (!identity.isAnonymous()) {
|
|
24
|
+
return Result.ok();
|
|
25
|
+
}
|
|
26
|
+
return Result.fail(new WorkflowNotAuthorizedError("You do not have access to workflows."));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export const GetWorkflowUseCase = UseCase.createImplementation({
|
|
30
|
+
implementation: GetWorkflowUseCaseImpl,
|
|
31
|
+
dependencies: [GetWorkflowRepository, IdentityContext]
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=GetWorkflowUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","GetWorkflowRepository","GetWorkflowUseCase","UseCase","WorkflowNotAuthorizedError","IdentityContext","GetWorkflowUseCaseImpl","constructor","repository","identityContext","execute","input","hasAccess","ensureHasAccess","isFail","fail","error","result","ok","value","identity","getIdentity","isAnonymous","createImplementation","implementation","dependencies"],"sources":["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"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,qBAAqB,EAAEC,kBAAkB,IAAIC,OAAO;AAC7D,SAASC,0BAA0B;AACnC,SAASC,eAAe,QAAQ,6DAA6D;AAE7F,MAAMC,sBAAsB,CAA8B;EAItDC,WAAWA,CACPC,UAA2C,EAC3CC,eAA0C,EAC5C;IACE,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,KAAqB,EAAkB;IACjD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,eAAe,CAAC,CAAC;IAC9C,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOd,MAAM,CAACe,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACT,UAAU,CAACE,OAAO,CAACC,KAAK,CAAC;IAEnD,IAAIM,MAAM,CAACH,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOG,MAAM;IACjB;IAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACD,MAAM,CAACE,KAAK,CAAC;EAClC;EAEA,MAAcN,eAAeA,CAAA,EAAsD;IAC/E,MAAMO,QAAQ,GAAG,IAAI,CAACX,eAAe,CAACY,WAAW,CAAC,CAAC;IACnD,IAAI,CAACD,QAAQ,CAACE,WAAW,CAAC,CAAC,EAAE;MACzB,OAAOtB,MAAM,CAACkB,EAAE,CAAC,CAAC;IACtB;IACA,OAAOlB,MAAM,CAACe,IAAI,CAAC,IAAIX,0BAA0B,CAAC,sCAAsC,CAAC,CAAC;EAC9F;AACJ;AAEA,OAAO,MAAMF,kBAAkB,GAAGC,OAAO,CAACoB,oBAAoB,CAAC;EAC3DC,cAAc,EAAElB,sBAAsB;EACtCmB,YAAY,EAAE,CAACxB,qBAAqB,EAAEI,eAAe;AACzD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { IWorkflow } from "../../../domain/workflow/abstractions.js";
|
|
3
|
+
import type { WorkflowNotAuthorizedError, WorkflowNotFoundError, WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
4
|
+
export interface IGetWorkflowParams {
|
|
5
|
+
app: string;
|
|
6
|
+
id: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* GetWorkflow use case interface
|
|
10
|
+
*/
|
|
11
|
+
export interface IGetWorkflowUseCase {
|
|
12
|
+
execute(input: IGetWorkflowParams): Promise<Result<IWorkflow, UseCaseError>>;
|
|
13
|
+
}
|
|
14
|
+
export interface IGetWorkflowUseCaseErrors {
|
|
15
|
+
notFound: WorkflowNotFoundError;
|
|
16
|
+
persistence: WorkflowPersistenceError;
|
|
17
|
+
noAccess: WorkflowNotAuthorizedError;
|
|
18
|
+
}
|
|
19
|
+
type UseCaseError = IGetWorkflowUseCaseErrors[keyof IGetWorkflowUseCaseErrors];
|
|
20
|
+
export declare const GetWorkflowUseCase: import("@webiny/di").Abstraction<IGetWorkflowUseCase>;
|
|
21
|
+
export declare namespace GetWorkflowUseCase {
|
|
22
|
+
type Interface = IGetWorkflowUseCase;
|
|
23
|
+
type Params = IGetWorkflowParams;
|
|
24
|
+
type Return = Promise<Result<IWorkflow, UseCaseError>>;
|
|
25
|
+
type Error = UseCaseError;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* GetWorkflow repository interface
|
|
29
|
+
*/
|
|
30
|
+
export interface IGetWorkflowRepository {
|
|
31
|
+
execute(input: IGetWorkflowParams): Promise<Result<IWorkflow, RepositoryError>>;
|
|
32
|
+
}
|
|
33
|
+
export interface IGetWorkflowRepositoryErrors {
|
|
34
|
+
notFound: WorkflowNotFoundError;
|
|
35
|
+
persistence: WorkflowPersistenceError;
|
|
36
|
+
}
|
|
37
|
+
type RepositoryError = IGetWorkflowRepositoryErrors[keyof IGetWorkflowRepositoryErrors];
|
|
38
|
+
export declare const GetWorkflowRepository: import("@webiny/di").Abstraction<IGetWorkflowRepository>;
|
|
39
|
+
export declare namespace GetWorkflowRepository {
|
|
40
|
+
type Interface = IGetWorkflowRepository;
|
|
41
|
+
type Params = IGetWorkflowParams;
|
|
42
|
+
type Return = Promise<Result<IWorkflow, RepositoryError>>;
|
|
43
|
+
type Error = RepositoryError;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* GetWorkflow use case interface
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const GetWorkflowUseCase = createAbstraction("GetWorkflowUseCase");
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* GetWorkflow repository interface
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export const GetWorkflowRepository = createAbstraction("GetWorkflowRepository");
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","GetWorkflowUseCase","GetWorkflowRepository"],"sources":["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"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAavD;AACA;AACA;;AAaA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC;;AAS9F;AACA;AACA;;AAYA,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GetWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GetWorkflowUseCase } from "./GetWorkflowUseCase.js";
|
|
3
|
+
import { GetWorkflowRepository } from "./GetWorkflowRepository.js";
|
|
4
|
+
export const GetWorkflowFeature = createFeature({
|
|
5
|
+
name: "Workflows/GetWorkflow",
|
|
6
|
+
register(container) {
|
|
7
|
+
container.register(GetWorkflowRepository).inSingletonScope();
|
|
8
|
+
container.register(GetWorkflowUseCase);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","GetWorkflowUseCase","GetWorkflowRepository","GetWorkflowFeature","name","register","container","inSingletonScope"],"sources":["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"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,kBAAkB,GAAGH,aAAa,CAAC;EAC5CI,IAAI,EAAE,uBAAuB;EAC7BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC,CAACK,gBAAgB,CAAC,CAAC;IAC5DD,SAAS,CAACD,QAAQ,CAACJ,kBAAkB,CAAC;EAC1C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
|
|
2
|
+
import { ListWorkflowsRepository as Repository } from "./abstractions.js";
|
|
3
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
|
|
4
|
+
import { CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
5
|
+
declare class ListWorkflowsRepositoryImpl implements Repository.Interface {
|
|
6
|
+
private listLatestEntries;
|
|
7
|
+
private model;
|
|
8
|
+
private mapper;
|
|
9
|
+
private cmsWhereMapper;
|
|
10
|
+
constructor(listLatestEntries: ListLatestEntriesUseCase.Interface, model: WorkflowModel.Interface, mapper: WorkflowMapper.Interface, cmsWhereMapper: CmsWhereMapper.Interface);
|
|
11
|
+
execute(input: Repository.Params): Repository.Return;
|
|
12
|
+
private convertListWhere;
|
|
13
|
+
private convertWorkflowId;
|
|
14
|
+
}
|
|
15
|
+
export declare const ListWorkflowsRepository: typeof ListWorkflowsRepositoryImpl & {
|
|
16
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWorkflowsRepository>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { createIdentifier, parseIdentifier } from "@webiny/utils";
|
|
3
|
+
import { WorkflowMapper, WorkflowModel } from "../../../domain/workflow/abstractions.js";
|
|
4
|
+
import { WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
5
|
+
import { ListWorkflowsRepository as Repository } from "./abstractions.js";
|
|
6
|
+
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
|
|
7
|
+
import { CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
8
|
+
class ListWorkflowsRepositoryImpl {
|
|
9
|
+
constructor(listLatestEntries, model, mapper, cmsWhereMapper) {
|
|
10
|
+
this.listLatestEntries = listLatestEntries;
|
|
11
|
+
this.model = model;
|
|
12
|
+
this.mapper = mapper;
|
|
13
|
+
this.cmsWhereMapper = cmsWhereMapper;
|
|
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));
|
|
28
|
+
}
|
|
29
|
+
const {
|
|
30
|
+
entries,
|
|
31
|
+
meta
|
|
32
|
+
} = listResult.value;
|
|
33
|
+
const items = entries.map(entry => this.mapper.fromCmsEntry(entry));
|
|
34
|
+
return Result.ok({
|
|
35
|
+
items,
|
|
36
|
+
meta
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
convertListWhere(input) {
|
|
40
|
+
if (!input || Object.keys(input).length === 0) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const where = structuredClone(input);
|
|
44
|
+
if (where.id) {
|
|
45
|
+
where.id = this.convertWorkflowId(where.id);
|
|
46
|
+
}
|
|
47
|
+
if (where.id_in) {
|
|
48
|
+
where.id_in = where.id_in.map(id => this.convertWorkflowId(id));
|
|
49
|
+
}
|
|
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
|
+
}
|
|
62
|
+
export const ListWorkflowsRepository = Repository.createImplementation({
|
|
63
|
+
implementation: ListWorkflowsRepositoryImpl,
|
|
64
|
+
dependencies: [ListLatestEntriesUseCase, WorkflowModel, WorkflowMapper, CmsWhereMapper]
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=ListWorkflowsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Result","createIdentifier","parseIdentifier","WorkflowMapper","WorkflowModel","WorkflowPersistenceError","ListWorkflowsRepository","Repository","ListLatestEntriesUseCase","CmsWhereMapper","ListWorkflowsRepositoryImpl","constructor","listLatestEntries","model","mapper","cmsWhereMapper","execute","input","where","map","convertListWhere","fields","listResult","sort","limit","isFail","fail","error","entries","meta","value","items","entry","fromCmsEntry","ok","Object","keys","length","undefined","structuredClone","id","convertWorkflowId","id_in","version","createImplementation","implementation","dependencies"],"sources":["ListWorkflowsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createIdentifier, parseIdentifier } from \"@webiny/utils\";\nimport { type IWorkflow, WorkflowMapper, WorkflowModel } 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 model: WorkflowModel.Interface,\n private mapper: WorkflowMapper.Interface,\n private cmsWhereMapper: CmsWhereMapper.Interface\n ) {}\n\n async execute(input: Repository.Params): Repository.Return {\n const where = this.cmsWhereMapper.map({\n input: this.convertListWhere(input.where),\n fields: this.model.fields\n });\n\n const listResult = await this.listLatestEntries.execute<IWorkflow>(this.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, WorkflowModel, WorkflowMapper, CmsWhereMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,eAAe;AACjE,SAAyBC,cAAc,EAAEC,aAAa;AACtD,SAASC,wBAAwB;AACjC,SAAmCC,uBAAuB,IAAIC,UAAU;AACxE,SAASC,wBAAwB,QAAQ,qEAAqE;AAC9G,SAASC,cAAc,QAAQ,0BAA0B;AAEzD,MAAMC,2BAA2B,CAAiC;EAC9DC,WAAWA,CACCC,iBAAqD,EACrDC,KAA8B,EAC9BC,MAAgC,EAChCC,cAAwC,EAClD;IAAA,KAJUH,iBAAqD,GAArDA,iBAAqD;IAAA,KACrDC,KAA8B,GAA9BA,KAA8B;IAAA,KAC9BC,MAAgC,GAAhCA,MAAgC;IAAA,KAChCC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,KAAwB,EAAqB;IACvD,MAAMC,KAAK,GAAG,IAAI,CAACH,cAAc,CAACI,GAAG,CAAC;MAClCF,KAAK,EAAE,IAAI,CAACG,gBAAgB,CAACH,KAAK,CAACC,KAAK,CAAC;MACzCG,MAAM,EAAE,IAAI,CAACR,KAAK,CAACQ;IACvB,CAAC,CAAC;IAEF,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACV,iBAAiB,CAACI,OAAO,CAAY,IAAI,CAACH,KAAK,EAAE;MAC3EU,IAAI,EAAE,CAAC,eAAe,CAAC;MACvBC,KAAK,EAAE,GAAG;MACV,GAAGP,KAAK;MACRC;IACJ,CAAC,CAAC;IAEF,IAAII,UAAU,CAACG,MAAM,CAAC,CAAC,EAAE;MACrB,OAAOzB,MAAM,CAAC0B,IAAI,CAAC,IAAIrB,wBAAwB,CAACiB,UAAU,CAACK,KAAK,CAAC,CAAC;IACtE;IAEA,MAAM;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAGP,UAAU,CAACQ,KAAK;IAE1C,MAAMC,KAAK,GAAGH,OAAO,CAACT,GAAG,CAACa,KAAK,IAAI,IAAI,CAAClB,MAAM,CAACmB,YAAY,CAACD,KAAK,CAAC,CAAC;IAEnE,OAAOhC,MAAM,CAACkC,EAAE,CAAC;MACbH,KAAK;MACLF;IACJ,CAAC,CAAC;EACN;EAEQT,gBAAgBA,CAACH,KAA2B,EAAmC;IACnF,IAAI,CAACA,KAAK,IAAIkB,MAAM,CAACC,IAAI,CAACnB,KAAK,CAAC,CAACoB,MAAM,KAAK,CAAC,EAAE;MAC3C,OAAOC,SAAS;IACpB;IACA,MAAMpB,KAAK,GAAGqB,eAAe,CAACtB,KAAK,CAAC;IACpC,IAAIC,KAAK,CAACsB,EAAE,EAAE;MACVtB,KAAK,CAACsB,EAAE,GAAG,IAAI,CAACC,iBAAiB,CAACvB,KAAK,CAACsB,EAAE,CAAC;IAC/C;IACA,IAAItB,KAAK,CAACwB,KAAK,EAAE;MACbxB,KAAK,CAACwB,KAAK,GAAGxB,KAAK,CAACwB,KAAK,CAACvB,GAAG,CAACqB,EAAE,IAAI,IAAI,CAACC,iBAAiB,CAACD,EAAE,CAAC,CAAC;IACnE;IACA,OAAOtB,KAAK;EAChB;EAEQuB,iBAAiBA,CAACxB,KAAa,EAAU;IAC7C,MAAM;MAAEuB;IAAG,CAAC,GAAGtC,eAAe,CAACe,KAAK,CAAC;IACrC,OAAOhB,gBAAgB,CAAC;MACpBuC,EAAE;MACFG,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMrC,uBAAuB,GAAGC,UAAU,CAACqC,oBAAoB,CAAC;EACnEC,cAAc,EAAEnC,2BAA2B;EAC3CoC,YAAY,EAAE,CAACtC,wBAAwB,EAAEJ,aAAa,EAAED,cAAc,EAAEM,cAAc;AAC1F,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ListWorkflowsRepository, ListWorkflowsUseCase as UseCase } from "./abstractions.js";
|
|
2
|
+
declare class ListWorkflowsUseCaseImpl implements UseCase.Interface {
|
|
3
|
+
private readonly repository;
|
|
4
|
+
constructor(repository: ListWorkflowsRepository.Interface);
|
|
5
|
+
execute(input: UseCase.Params): UseCase.Return;
|
|
6
|
+
}
|
|
7
|
+
export declare const ListWorkflowsUseCase: typeof ListWorkflowsUseCaseImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWorkflowsUseCase>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|