@webiny/api-workflows 6.3.0 → 6.4.0-beta.1
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/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.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 +27 -25
- package/domain/workflow/workflowModel.js.map +1 -1
- package/domain/workflowState/WorkflowState.js +216 -319
- package/domain/workflowState/WorkflowState.js.map +1 -1
- package/domain/workflowState/WorkflowStateMapper.js +36 -35
- package/domain/workflowState/WorkflowStateMapper.js.map +1 -1
- 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 +59 -51
- package/domain/workflowState/stateModel.js.map +1 -1
- 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.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.js +22 -27
- 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.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.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.js +35 -34
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -1
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +38 -42
- 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.js +17 -14
- package/features/workflow/CreateWorkflow/events.js.map +1 -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.js +24 -22
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -1
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +38 -43
- 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.js +17 -14
- package/features/workflow/DeleteWorkflow/events.js.map +1 -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.js +33 -34
- 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.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.js +47 -52
- 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.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.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.js +38 -37
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -1
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +40 -44
- 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.js +17 -14
- package/features/workflow/UpdateWorkflow/events.js.map +1 -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.js +9 -6
- package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -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.js +9 -6
- package/features/workflowState/CancelWorkflowState/events.js.map +1 -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.js +25 -22
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +78 -90
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/abstractions.js +3 -12
- package/features/workflowState/CreateWorkflowState/abstractions.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/events.js +9 -6
- package/features/workflowState/CreateWorkflowState/events.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/feature.js +7 -6
- package/features/workflowState/CreateWorkflowState/feature.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/index.js +1 -3
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +44 -42
- 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.js +9 -6
- package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -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.js +16 -12
- 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.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.js +39 -43
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +24 -25
- 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.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.js +26 -23
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +23 -20
- 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.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.js +33 -32
- 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.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.js +41 -38
- 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.js +6 -5
- package/features/workflowState/ListRequestedWorkflowStates/feature.js.map +1 -1
- package/features/workflowState/ListRequestedWorkflowStates/index.js +0 -2
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +35 -32
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +26 -26
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/abstractions.js +3 -12
- package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/feature.js +7 -6
- package/features/workflowState/ListWorkflowStates/feature.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/index.js +1 -3
- 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.js +9 -6
- package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -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.js +9 -6
- package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -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.js +9 -6
- package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -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.js +39 -37
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +43 -41
- 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.js +9 -6
- package/features/workflowState/UpdateWorkflowState/events.js.map +1 -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.js +21 -24
- package/graphql/notifications.js.map +1 -1
- package/graphql/validation/approveWorkflowState.js +4 -3
- package/graphql/validation/approveWorkflowState.js.map +1 -1
- package/graphql/validation/cancelWorkflowState.js +3 -2
- package/graphql/validation/cancelWorkflowState.js.map +1 -1
- package/graphql/validation/createWorkflowState.js +5 -4
- package/graphql/validation/createWorkflowState.js.map +1 -1
- package/graphql/validation/deleteWorkflow.js +4 -3
- package/graphql/validation/deleteWorkflow.js.map +1 -1
- package/graphql/validation/getTargetWorkflowState.js +4 -3
- package/graphql/validation/getTargetWorkflowState.js.map +1 -1
- package/graphql/validation/getWorkflow.js +4 -3
- package/graphql/validation/getWorkflow.js.map +1 -1
- package/graphql/validation/getWorkflowState.js +3 -2
- package/graphql/validation/getWorkflowState.js.map +1 -1
- package/graphql/validation/listWorkflowStates.d.ts +4 -4
- package/graphql/validation/listWorkflowStates.js +30 -36
- package/graphql/validation/listWorkflowStates.js.map +1 -1
- package/graphql/validation/listWorkflows.js +15 -18
- package/graphql/validation/listWorkflows.js.map +1 -1
- package/graphql/validation/rejectWorkflowState.js +4 -3
- package/graphql/validation/rejectWorkflowState.js.map +1 -1
- package/graphql/validation/startWorkflowState.js +3 -2
- package/graphql/validation/startWorkflowState.js.map +1 -1
- package/graphql/validation/step.js +12 -17
- package/graphql/validation/step.js.map +1 -1
- package/graphql/validation/storeWorkflow.js +5 -4
- package/graphql/validation/storeWorkflow.js.map +1 -1
- package/graphql/validation/takeOverWorkflowStateStep.js +3 -2
- package/graphql/validation/takeOverWorkflowStateStep.js.map +1 -1
- package/graphql/validation/workflow.js +4 -5
- package/graphql/validation/workflow.js.map +1 -1
- package/graphql/workflowState.js +132 -202
- package/graphql/workflowState.js.map +1 -1
- package/graphql/workflows.js +54 -79
- package/graphql/workflows.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +61 -68
- package/index.js.map +1 -1
- package/package.json +16 -16
- package/types.js +0 -3
- 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/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"domain/workflowState/guards/isRejected.js","sources":["../../../../src/domain/workflowState/guards/isRejected.ts"],"sourcesContent":["import { type IWorkflowStateRecord, WorkflowStateRecordState } from \"../abstractions.js\";\n\nexport const isRejected = (state: IWorkflowStateRecord): boolean => {\n return state.state === WorkflowStateRecordState.rejected;\n};\n"],"names":["isRejected","state","WorkflowStateRecordState"],"mappings":";AAEO,MAAMA,aAAa,CAACC,QAChBA,MAAM,KAAK,KAAKC,yBAAyB,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"domain/workflowState/guards/isStepOwner.js","sources":["../../../../src/domain/workflowState/guards/isStepOwner.ts"],"sourcesContent":["import type { IEnrichedWorkflowStateRecordStep } from \"../abstractions.js\";\n\nexport const isStepOwner = (step: IEnrichedWorkflowStateRecordStep): boolean => {\n return step.isOwner;\n};\n"],"names":["isStepOwner","step"],"mappings":"AAEO,MAAMA,cAAc,CAACC,OACjBA,KAAK,OAAO"}
|
|
@@ -1,58 +1,66 @@
|
|
|
1
1
|
import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
|
|
2
2
|
import { WorkflowStateRecordState } from "./abstractions.js";
|
|
3
|
-
|
|
4
|
-
const states = [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
3
|
+
const WORKFLOW_STATE_MODEL_ID = "wbyWorkflowState";
|
|
4
|
+
const states = [
|
|
5
|
+
{
|
|
6
|
+
label: "Pending",
|
|
7
|
+
value: WorkflowStateRecordState.pending
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
label: "In Review",
|
|
11
|
+
value: WorkflowStateRecordState.inReview
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
label: "Approved",
|
|
15
|
+
value: WorkflowStateRecordState.approved
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
label: "Rejected",
|
|
19
|
+
value: WorkflowStateRecordState.rejected
|
|
20
|
+
}
|
|
21
|
+
];
|
|
17
22
|
class WorkflowStateModelImpl {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
23
|
+
async execute(builder) {
|
|
24
|
+
return [
|
|
25
|
+
builder.private({
|
|
26
|
+
modelId: WORKFLOW_STATE_MODEL_ID,
|
|
27
|
+
name: "RecordWorkflow State"
|
|
28
|
+
}).fields((fields)=>({
|
|
29
|
+
workflowId: fields.text().label("Workflow ID"),
|
|
30
|
+
app: fields.text().label("App").required("App is required."),
|
|
31
|
+
title: fields.text().label("Title").required("Title is required."),
|
|
32
|
+
targetRevisionId: fields.text().label("Target Revision ID"),
|
|
33
|
+
targetId: fields.text().label("Target ID"),
|
|
34
|
+
isActive: fields.boolean().label("Is Active"),
|
|
35
|
+
comment: fields.text().label("Comment"),
|
|
36
|
+
state: fields.text().label("State").predefinedValues(states),
|
|
37
|
+
steps: fields.object().label("Steps").list().required("Steps are required.").listMinLength(1, "At least one step is required.").fields((stepFields)=>({
|
|
38
|
+
id: stepFields.text().label("ID").required("ID is required."),
|
|
39
|
+
title: stepFields.text().label("Title").required("Title is required."),
|
|
40
|
+
color: stepFields.text().label("Color").required("Color is required."),
|
|
41
|
+
description: stepFields.text().label("Description"),
|
|
42
|
+
teams: stepFields.object().label("Teams").list().required("At least one team is required.").listMinLength(1, "At least one team is required.").fields((teamFields)=>({
|
|
43
|
+
id: teamFields.text().label("ID").required("ID is required.")
|
|
44
|
+
})),
|
|
45
|
+
notifications: stepFields.object().label("Notifications").list().fields((notificationFields)=>({
|
|
46
|
+
id: notificationFields.text().label("ID").required("ID is required.")
|
|
47
|
+
})),
|
|
48
|
+
state: stepFields.text().label("State").predefinedValues(states),
|
|
49
|
+
savedBy: stepFields.object().label("User").fields((userFields)=>({
|
|
50
|
+
id: userFields.text().label("ID").required("ID is required."),
|
|
51
|
+
displayName: userFields.text().label("Display Name").required("Display name is required."),
|
|
52
|
+
type: userFields.text().label("Type").required("Type is required.")
|
|
53
|
+
})),
|
|
54
|
+
comment: stepFields.text().label("Comment")
|
|
55
|
+
}))
|
|
56
|
+
}))
|
|
57
|
+
];
|
|
58
|
+
}
|
|
52
59
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
const WorkflowStateModel = ModelFactory.createImplementation({
|
|
61
|
+
implementation: WorkflowStateModelImpl,
|
|
62
|
+
dependencies: []
|
|
56
63
|
});
|
|
64
|
+
export { WORKFLOW_STATE_MODEL_ID, WorkflowStateModel };
|
|
57
65
|
|
|
58
66
|
//# sourceMappingURL=stateModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"domain/workflowState/stateModel.js","sources":["../../../src/domain/workflowState/stateModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WorkflowStateRecordState } from \"~/domain/workflowState/abstractions.js\";\n\nexport const WORKFLOW_STATE_MODEL_ID = \"wbyWorkflowState\";\n\nconst states = [\n {\n label: \"Pending\",\n value: WorkflowStateRecordState.pending\n },\n {\n label: \"In Review\",\n value: WorkflowStateRecordState.inReview\n },\n {\n label: \"Approved\",\n value: WorkflowStateRecordState.approved\n },\n {\n label: \"Rejected\",\n value: WorkflowStateRecordState.rejected\n }\n];\n\nclass WorkflowStateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WORKFLOW_STATE_MODEL_ID,\n name: \"RecordWorkflow State\"\n })\n .fields(fields => ({\n workflowId: fields.text().label(\"Workflow ID\"),\n app: fields.text().label(\"App\").required(\"App is required.\"),\n title: fields.text().label(\"Title\").required(\"Title is required.\"),\n targetRevisionId: fields.text().label(\"Target Revision ID\"),\n targetId: fields.text().label(\"Target ID\"),\n isActive: fields.boolean().label(\"Is Active\"),\n comment: fields.text().label(\"Comment\"),\n state: fields.text().label(\"State\").predefinedValues(states),\n steps: fields\n .object()\n .label(\"Steps\")\n .list()\n .required(\"Steps are required.\")\n .listMinLength(1, \"At least one step is required.\")\n .fields(stepFields => ({\n id: stepFields.text().label(\"ID\").required(\"ID is required.\"),\n title: stepFields.text().label(\"Title\").required(\"Title is required.\"),\n color: stepFields.text().label(\"Color\").required(\"Color is required.\"),\n description: stepFields.text().label(\"Description\"),\n teams: stepFields\n .object()\n .label(\"Teams\")\n .list()\n .required(\"At least one team is required.\")\n .listMinLength(1, \"At least one team is required.\")\n .fields(teamFields => ({\n id: teamFields.text().label(\"ID\").required(\"ID is required.\")\n })),\n notifications: stepFields\n .object()\n .label(\"Notifications\")\n .list()\n .fields(notificationFields => ({\n id: notificationFields\n .text()\n .label(\"ID\")\n .required(\"ID is required.\")\n })),\n state: stepFields.text().label(\"State\").predefinedValues(states),\n savedBy: stepFields\n .object()\n .label(\"User\")\n .fields(userFields => ({\n id: userFields.text().label(\"ID\").required(\"ID is required.\"),\n displayName: userFields\n .text()\n .label(\"Display Name\")\n .required(\"Display name is required.\"),\n type: userFields\n .text()\n .label(\"Type\")\n .required(\"Type is required.\")\n })),\n comment: stepFields.text().label(\"Comment\")\n }))\n }))\n ];\n }\n}\n\nexport const WorkflowStateModel = ModelFactory.createImplementation({\n implementation: WorkflowStateModelImpl,\n dependencies: []\n});\n"],"names":["WORKFLOW_STATE_MODEL_ID","states","WorkflowStateRecordState","WorkflowStateModelImpl","builder","fields","stepFields","teamFields","notificationFields","userFields","WorkflowStateModel","ModelFactory"],"mappings":";;AAGO,MAAMA,0BAA0B;AAEvC,MAAMC,SAAS;IACX;QACI,OAAO;QACP,OAAOC,yBAAyB,OAAO;IAC3C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;IACA;QACI,OAAO;QACP,OAAOA,yBAAyB,QAAQ;IAC5C;CACH;AAED,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASJ;gBACT,MAAM;YACV,GACC,MAAM,CAACK,CAAAA,SAAW;oBACf,YAAYA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAChC,KAAKA,OAAO,IAAI,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC;oBACzC,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;oBAC7C,kBAAkBA,OAAO,IAAI,GAAG,KAAK,CAAC;oBACtC,UAAUA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC9B,UAAUA,OAAO,OAAO,GAAG,KAAK,CAAC;oBACjC,SAASA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC7B,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,gBAAgB,CAACJ;oBACrD,OAAOI,OACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,uBACT,aAAa,CAAC,GAAG,kCACjB,MAAM,CAACC,CAAAA,aAAe;4BACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;4BAC3C,OAAOA,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;4BACjD,OAAOA,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;4BACjD,aAAaA,WAAW,IAAI,GAAG,KAAK,CAAC;4BACrC,OAAOA,WACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,kCACT,aAAa,CAAC,GAAG,kCACjB,MAAM,CAACC,CAAAA,aAAe;oCACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;gCAC/C;4BACJ,eAAeD,WACV,MAAM,GACN,KAAK,CAAC,iBACN,IAAI,GACJ,MAAM,CAACE,CAAAA,qBAAuB;oCAC3B,IAAIA,mBACC,IAAI,GACJ,KAAK,CAAC,MACN,QAAQ,CAAC;gCAClB;4BACJ,OAAOF,WAAW,IAAI,GAAG,KAAK,CAAC,SAAS,gBAAgB,CAACL;4BACzD,SAASK,WACJ,MAAM,GACN,KAAK,CAAC,QACN,MAAM,CAACG,CAAAA,aAAe;oCACnB,IAAIA,WAAW,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;oCAC3C,aAAaA,WACR,IAAI,GACJ,KAAK,CAAC,gBACN,QAAQ,CAAC;oCACd,MAAMA,WACD,IAAI,GACJ,KAAK,CAAC,QACN,QAAQ,CAAC;gCAClB;4BACJ,SAASH,WAAW,IAAI,GAAG,KAAK,CAAC;wBACrC;gBACR;SACP;IACL;AACJ;AAEO,MAAMI,qBAAqBC,aAAa,oBAAoB,CAAC;IAChE,gBAAgBR;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -1,36 +1,29 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { ListUserTeamsUseCase } from "@webiny/api-core/features/users/ListUserTeams";
|
|
3
|
-
import { GetUserTeamsUseCase
|
|
3
|
+
import { GetUserTeamsUseCase } from "./abstractions.js";
|
|
4
4
|
class GetUserTeamsUseCaseImpl {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
async execute(userId) {
|
|
10
|
-
// Check cache first
|
|
11
|
-
const cached = this.cache.get(userId);
|
|
12
|
-
if (cached) {
|
|
13
|
-
return Result.ok(cached);
|
|
5
|
+
constructor(listUserTeams){
|
|
6
|
+
this.listUserTeams = listUserTeams;
|
|
7
|
+
this.cache = new Map();
|
|
14
8
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
async execute(userId) {
|
|
10
|
+
const cached = this.cache.get(userId);
|
|
11
|
+
if (cached) return Result.ok(cached);
|
|
12
|
+
const result = await this.listUserTeams.execute(userId);
|
|
13
|
+
if (result.isFail()) return Result.ok([]);
|
|
14
|
+
const teams = result.value.map((team)=>({
|
|
15
|
+
id: team.id
|
|
16
|
+
}));
|
|
17
|
+
this.cache.set(userId, teams);
|
|
18
|
+
return Result.ok(teams);
|
|
21
19
|
}
|
|
22
|
-
const teams = result.value.map(team => ({
|
|
23
|
-
id: team.id
|
|
24
|
-
}));
|
|
25
|
-
|
|
26
|
-
// Cache the result
|
|
27
|
-
this.cache.set(userId, teams);
|
|
28
|
-
return Result.ok(teams);
|
|
29
|
-
}
|
|
30
20
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
const GetUserTeamsUseCase_GetUserTeamsUseCase = GetUserTeamsUseCase.createImplementation({
|
|
22
|
+
implementation: GetUserTeamsUseCaseImpl,
|
|
23
|
+
dependencies: [
|
|
24
|
+
ListUserTeamsUseCase
|
|
25
|
+
]
|
|
34
26
|
});
|
|
27
|
+
export { GetUserTeamsUseCase_GetUserTeamsUseCase as GetUserTeamsUseCase };
|
|
35
28
|
|
|
36
29
|
//# sourceMappingURL=GetUserTeamsUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/internal/GetUserTeams/GetUserTeamsUseCase.js","sources":["../../../../src/features/internal/GetUserTeams/GetUserTeamsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListUserTeamsUseCase } from \"@webiny/api-core/features/users/ListUserTeams\";\nimport { GetUserTeamsUseCase as UseCase } from \"./abstractions.js\";\nimport type { IWorkflowStepTeam } from \"~/domain/workflow/abstractions.js\";\n\nclass GetUserTeamsUseCaseImpl implements UseCase.Interface {\n private cache = new Map<string, IWorkflowStepTeam[]>();\n\n constructor(private listUserTeams: ListUserTeamsUseCase.Interface) {}\n\n async execute(userId: string): UseCase.Return {\n // Check cache first\n const cached = this.cache.get(userId);\n if (cached) {\n return Result.ok(cached);\n }\n\n // Fetch teams\n const result = await this.listUserTeams.execute(userId);\n\n if (result.isFail()) {\n // If fetching teams fails, return an empty array (user has no teams)\n return Result.ok([]);\n }\n\n const teams = result.value.map(team => ({ id: team.id }));\n\n // Cache the result\n this.cache.set(userId, teams);\n\n return Result.ok(teams);\n }\n}\n\nexport const GetUserTeamsUseCase = UseCase.createImplementation({\n implementation: GetUserTeamsUseCaseImpl,\n dependencies: [ListUserTeamsUseCase]\n});\n"],"names":["GetUserTeamsUseCaseImpl","listUserTeams","Map","userId","cached","Result","result","teams","team","GetUserTeamsUseCase","UseCase","ListUserTeamsUseCase"],"mappings":";;;AAKA,MAAMA;IAGF,YAAoBC,aAA6C,CAAE;aAA/CA,aAAa,GAAbA;aAFZ,KAAK,GAAG,IAAIC;IAEgD;IAEpE,MAAM,QAAQC,MAAc,EAAkB;QAE1C,MAAMC,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAACD;QAC9B,IAAIC,QACA,OAAOC,OAAO,EAAE,CAACD;QAIrB,MAAME,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAACH;QAEhD,IAAIG,OAAO,MAAM,IAEb,OAAOD,OAAO,EAAE,CAAC,EAAE;QAGvB,MAAME,QAAQD,OAAO,KAAK,CAAC,GAAG,CAACE,CAAAA,OAAS;gBAAE,IAAIA,KAAK,EAAE;YAAC;QAGtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAACL,QAAQI;QAEvB,OAAOF,OAAO,EAAE,CAACE;IACrB;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAA4B,CAAC;IAC5D,gBAAgBV;IAChB,cAAc;QAACW;KAAqB;AACxC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
2
|
+
const GetUserTeamsUseCase = createAbstraction("GetUserTeamsUseCase");
|
|
3
|
+
export { GetUserTeamsUseCase };
|
|
3
4
|
|
|
4
5
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/internal/GetUserTeams/abstractions.js","sources":["../../../../src/features/internal/GetUserTeams/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport type { IWorkflowStepTeam } from \"~/domain/workflow/abstractions.js\";\n\nexport interface IGetUserTeamsUseCase {\n execute(userId: string): Promise<Result<IWorkflowStepTeam[], never>>;\n}\n\nexport const GetUserTeamsUseCase = createAbstraction<IGetUserTeamsUseCase>(\"GetUserTeamsUseCase\");\n\nexport namespace GetUserTeamsUseCase {\n export type Interface = IGetUserTeamsUseCase;\n export type Return = ReturnType<Interface[\"execute\"]>;\n}\n"],"names":["GetUserTeamsUseCase","createAbstraction"],"mappings":";AAQO,MAAMA,sBAAsBC,kBAAwC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { GetUserTeamsUseCase } from "./GetUserTeamsUseCase.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const GetUserTeamsFeature = createFeature({
|
|
4
|
+
name: "workflows.internal.getUserTeams",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(GetUserTeamsUseCase).inSingletonScope();
|
|
7
|
+
}
|
|
8
8
|
});
|
|
9
|
+
export { GetUserTeamsFeature };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/internal/GetUserTeams/feature.js","sources":["../../../../src/features/internal/GetUserTeams/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetUserTeamsUseCase } from \"./GetUserTeamsUseCase.js\";\n\nexport const GetUserTeamsFeature = createFeature({\n name: \"workflows.internal.getUserTeams\",\n register(container) {\n container.register(GetUserTeamsUseCase).inSingletonScope();\n }\n});\n"],"names":["GetUserTeamsFeature","createFeature","container","GetUserTeamsUseCase"],"mappings":";;AAGO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,qBAAqB,gBAAgB;IAC5D;AACJ"}
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
|
-
import { ListNotificationTypesRepository
|
|
2
|
+
import { ListNotificationTypesRepository } from "./abstractions.js";
|
|
3
3
|
import { NotificationTransport } from "../NotificationTransport/index.js";
|
|
4
4
|
class ListNotificationTypesRepositoryImpl {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}));
|
|
15
|
-
}
|
|
5
|
+
constructor(types){
|
|
6
|
+
this.types = types;
|
|
7
|
+
}
|
|
8
|
+
async execute() {
|
|
9
|
+
return Result.ok(this.types.map((type)=>({
|
|
10
|
+
id: type.id,
|
|
11
|
+
title: type.title
|
|
12
|
+
})));
|
|
13
|
+
}
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
const ListNotificationTypesRepository_ListNotificationTypesRepository = ListNotificationTypesRepository.createImplementation({
|
|
16
|
+
implementation: ListNotificationTypesRepositoryImpl,
|
|
17
|
+
dependencies: [
|
|
18
|
+
[
|
|
19
|
+
NotificationTransport,
|
|
20
|
+
{
|
|
21
|
+
multiple: true
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
]
|
|
22
25
|
});
|
|
26
|
+
export { ListNotificationTypesRepository_ListNotificationTypesRepository as ListNotificationTypesRepository };
|
|
23
27
|
|
|
24
28
|
//# sourceMappingURL=ListNotificationTypesRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/notifications/ListNotificationTypes/ListNotificationTypesRepository.js","sources":["../../../../src/features/notifications/ListNotificationTypes/ListNotificationTypesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListNotificationTypesRepository as Repository } from \"./abstractions.js\";\nimport { NotificationTransport } from \"~/features/notifications/NotificationTransport/index.js\";\n\nclass ListNotificationTypesRepositoryImpl implements Repository.Interface {\n private readonly types;\n\n public constructor(types: NotificationTransport.Interface[]) {\n this.types = types;\n }\n\n public async execute(): Repository.Return {\n return Result.ok(\n this.types.map(type => {\n return {\n id: type.id,\n title: type.title\n };\n })\n );\n }\n}\n\nexport const ListNotificationTypesRepository = Repository.createImplementation({\n implementation: ListNotificationTypesRepositoryImpl,\n dependencies: [[NotificationTransport, { multiple: true }]]\n});\n"],"names":["ListNotificationTypesRepositoryImpl","types","Result","type","ListNotificationTypesRepository","Repository","NotificationTransport"],"mappings":";;;AAIA,MAAMA;IAGF,YAAmBC,KAAwC,CAAE;QACzD,IAAI,CAAC,KAAK,GAAGA;IACjB;IAEA,MAAa,UAA6B;QACtC,OAAOC,OAAO,EAAE,CACZ,IAAI,CAAC,KAAK,CAAC,GAAG,CAACC,CAAAA,OACJ;gBACH,IAAIA,KAAK,EAAE;gBACX,OAAOA,KAAK,KAAK;YACrB;IAGZ;AACJ;AAEO,MAAMC,kEAAkCC,gCAAAA,oBAA+B,CAAC;IAC3E,gBAAgBL;IAChB,cAAc;QAAC;YAACM;YAAuB;gBAAE,UAAU;YAAK;SAAE;KAAC;AAC/D"}
|
|
@@ -1,39 +1,34 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
-
import { ListNotificationTypesRepository, ListNotificationTypesUseCase
|
|
3
|
+
import { ListNotificationTypesRepository, ListNotificationTypesUseCase } from "./abstractions.js";
|
|
4
4
|
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
5
5
|
import { NotificationAuthorizedError } from "../../../domain/notifications/errors.js";
|
|
6
6
|
class ListNotificationTypesUseCaseImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
async execute() {
|
|
12
|
-
const hasAccess = await this.ensureAccess();
|
|
13
|
-
if (hasAccess.isFail()) {
|
|
14
|
-
return Result.fail(hasAccess.error);
|
|
7
|
+
constructor(identityContext, repository){
|
|
8
|
+
this.identityContext = identityContext;
|
|
9
|
+
this.repository = repository;
|
|
15
10
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
async execute() {
|
|
12
|
+
const hasAccess = await this.ensureAccess();
|
|
13
|
+
if (hasAccess.isFail()) return Result.fail(hasAccess.error);
|
|
14
|
+
const result = await this.repository.execute();
|
|
15
|
+
if (result.isFail()) return result;
|
|
16
|
+
return Result.ok(result.value);
|
|
19
17
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (permission.name === "*") {
|
|
26
|
-
return Result.ok();
|
|
27
|
-
} else if (permission.editor) {
|
|
28
|
-
return Result.ok();
|
|
29
|
-
}
|
|
18
|
+
async ensureAccess() {
|
|
19
|
+
const permissions = await this.identityContext.getPermissions(WORKFLOWS_PERMISSION);
|
|
20
|
+
for (const permission of permissions)if ("*" === permission.name) return Result.ok();
|
|
21
|
+
else if (permission.editor) return Result.ok();
|
|
22
|
+
return Result.fail(new NotificationAuthorizedError("You cannot list notifications."));
|
|
30
23
|
}
|
|
31
|
-
return Result.fail(new NotificationAuthorizedError("You cannot list notifications."));
|
|
32
|
-
}
|
|
33
24
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
const ListNotificationTypesUseCase_ListNotificationTypesUseCase = ListNotificationTypesUseCase.createImplementation({
|
|
26
|
+
implementation: ListNotificationTypesUseCaseImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
IdentityContext,
|
|
29
|
+
ListNotificationTypesRepository
|
|
30
|
+
]
|
|
37
31
|
});
|
|
32
|
+
export { ListNotificationTypesUseCase_ListNotificationTypesUseCase as ListNotificationTypesUseCase };
|
|
38
33
|
|
|
39
34
|
//# sourceMappingURL=ListNotificationTypesUseCase.js.map
|
|
@@ -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"}
|