@webiny/background-tasks 0.0.0-unstable.0156a4c312
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/admin/BackgroundTaskRoutes.d.ts +2 -0
- package/admin/BackgroundTaskRoutes.js +70 -0
- package/admin/BackgroundTaskRoutes.js.map +1 -0
- package/admin/BackgroundTasks.d.ts +2 -0
- package/admin/BackgroundTasks.js +55 -0
- package/admin/BackgroundTasks.js.map +1 -0
- package/admin/features/abortTask/AbortTaskGateway.d.ts +12 -0
- package/admin/features/abortTask/AbortTaskGateway.js +62 -0
- package/admin/features/abortTask/AbortTaskGateway.js.map +1 -0
- package/admin/features/abortTask/AbortTaskUseCase.d.ts +11 -0
- package/admin/features/abortTask/AbortTaskUseCase.js +18 -0
- package/admin/features/abortTask/AbortTaskUseCase.js.map +1 -0
- package/admin/features/abortTask/abstractions.d.ts +19 -0
- package/admin/features/abortTask/abstractions.js +6 -0
- package/admin/features/abortTask/abstractions.js.map +1 -0
- package/admin/features/abortTask/feature.d.ts +3 -0
- package/admin/features/abortTask/feature.js +19 -0
- package/admin/features/abortTask/feature.js.map +1 -0
- package/admin/features/abortTask/index.d.ts +2 -0
- package/admin/features/abortTask/index.js +2 -0
- package/admin/features/deleteTask/DeleteTaskGateway.d.ts +11 -0
- package/admin/features/deleteTask/DeleteTaskGateway.js +41 -0
- package/admin/features/deleteTask/DeleteTaskGateway.js.map +1 -0
- package/admin/features/deleteTask/DeleteTaskUseCase.d.ts +10 -0
- package/admin/features/deleteTask/DeleteTaskUseCase.js +18 -0
- package/admin/features/deleteTask/DeleteTaskUseCase.js.map +1 -0
- package/admin/features/deleteTask/abstractions.d.ts +14 -0
- package/admin/features/deleteTask/abstractions.js +6 -0
- package/admin/features/deleteTask/abstractions.js.map +1 -0
- package/admin/features/deleteTask/feature.d.ts +3 -0
- package/admin/features/deleteTask/feature.js +19 -0
- package/admin/features/deleteTask/feature.js.map +1 -0
- package/admin/features/deleteTask/index.d.ts +2 -0
- package/admin/features/deleteTask/index.js +2 -0
- package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.d.ts +12 -0
- package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js +40 -0
- package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js.map +1 -0
- package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.d.ts +11 -0
- package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js +18 -0
- package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js.map +1 -0
- package/admin/features/getBackgroundTaskSettings/abstractions.d.ts +15 -0
- package/admin/features/getBackgroundTaskSettings/abstractions.js +6 -0
- package/admin/features/getBackgroundTaskSettings/abstractions.js.map +1 -0
- package/admin/features/getBackgroundTaskSettings/feature.d.ts +3 -0
- package/admin/features/getBackgroundTaskSettings/feature.js +19 -0
- package/admin/features/getBackgroundTaskSettings/feature.js.map +1 -0
- package/admin/features/getBackgroundTaskSettings/index.d.ts +3 -0
- package/admin/features/getBackgroundTaskSettings/index.js +2 -0
- package/admin/features/getTask/GetTaskGateway.d.ts +12 -0
- package/admin/features/getTask/GetTaskGateway.js +61 -0
- package/admin/features/getTask/GetTaskGateway.js.map +1 -0
- package/admin/features/getTask/GetTaskUseCase.d.ts +11 -0
- package/admin/features/getTask/GetTaskUseCase.js +18 -0
- package/admin/features/getTask/GetTaskUseCase.js.map +1 -0
- package/admin/features/getTask/abstractions.d.ts +15 -0
- package/admin/features/getTask/abstractions.js +6 -0
- package/admin/features/getTask/abstractions.js.map +1 -0
- package/admin/features/getTask/feature.d.ts +3 -0
- package/admin/features/getTask/feature.js +19 -0
- package/admin/features/getTask/feature.js.map +1 -0
- package/admin/features/getTask/index.d.ts +2 -0
- package/admin/features/getTask/index.js +2 -0
- package/admin/features/listDefinitions/ListDefinitionsGateway.d.ts +12 -0
- package/admin/features/listDefinitions/ListDefinitionsGateway.js +42 -0
- package/admin/features/listDefinitions/ListDefinitionsGateway.js.map +1 -0
- package/admin/features/listDefinitions/ListDefinitionsUseCase.d.ts +11 -0
- package/admin/features/listDefinitions/ListDefinitionsUseCase.js +18 -0
- package/admin/features/listDefinitions/ListDefinitionsUseCase.js.map +1 -0
- package/admin/features/listDefinitions/abstractions.d.ts +15 -0
- package/admin/features/listDefinitions/abstractions.js +6 -0
- package/admin/features/listDefinitions/abstractions.js.map +1 -0
- package/admin/features/listDefinitions/feature.d.ts +3 -0
- package/admin/features/listDefinitions/feature.js +19 -0
- package/admin/features/listDefinitions/feature.js.map +1 -0
- package/admin/features/listDefinitions/index.d.ts +2 -0
- package/admin/features/listDefinitions/index.js +2 -0
- package/admin/features/listLogs/ListLogsGateway.d.ts +11 -0
- package/admin/features/listLogs/ListLogsGateway.js +73 -0
- package/admin/features/listLogs/ListLogsGateway.js.map +1 -0
- package/admin/features/listLogs/ListLogsUseCase.d.ts +10 -0
- package/admin/features/listLogs/ListLogsUseCase.js +18 -0
- package/admin/features/listLogs/ListLogsUseCase.js.map +1 -0
- package/admin/features/listLogs/abstractions.d.ts +30 -0
- package/admin/features/listLogs/abstractions.js +6 -0
- package/admin/features/listLogs/abstractions.js.map +1 -0
- package/admin/features/listLogs/feature.d.ts +3 -0
- package/admin/features/listLogs/feature.js +19 -0
- package/admin/features/listLogs/feature.js.map +1 -0
- package/admin/features/listLogs/index.d.ts +2 -0
- package/admin/features/listLogs/index.js +2 -0
- package/admin/features/listTasks/ListTasksGateway.d.ts +11 -0
- package/admin/features/listTasks/ListTasksGateway.js +79 -0
- package/admin/features/listTasks/ListTasksGateway.js.map +1 -0
- package/admin/features/listTasks/ListTasksUseCase.d.ts +10 -0
- package/admin/features/listTasks/ListTasksUseCase.js +18 -0
- package/admin/features/listTasks/ListTasksUseCase.js.map +1 -0
- package/admin/features/listTasks/abstractions.d.ts +31 -0
- package/admin/features/listTasks/abstractions.js +6 -0
- package/admin/features/listTasks/abstractions.js.map +1 -0
- package/admin/features/listTasks/feature.d.ts +3 -0
- package/admin/features/listTasks/feature.js +19 -0
- package/admin/features/listTasks/feature.js.map +1 -0
- package/admin/features/listTasks/index.d.ts +2 -0
- package/admin/features/listTasks/index.js +2 -0
- package/admin/features/permissions/abstractions.d.ts +17 -0
- package/admin/features/permissions/abstractions.js +6 -0
- package/admin/features/permissions/abstractions.js.map +1 -0
- package/admin/features/permissions/feature.d.ts +14 -0
- package/admin/features/permissions/feature.js +7 -0
- package/admin/features/permissions/feature.js.map +1 -0
- package/admin/features/permissions/index.d.ts +2 -0
- package/admin/features/permissions/index.js +2 -0
- package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.d.ts +12 -0
- package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js +43 -0
- package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js.map +1 -0
- package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +11 -0
- package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +18 -0
- package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
- package/admin/features/updateBackgroundTaskSettings/abstractions.d.ts +18 -0
- package/admin/features/updateBackgroundTaskSettings/abstractions.js +6 -0
- package/admin/features/updateBackgroundTaskSettings/abstractions.js.map +1 -0
- package/admin/features/updateBackgroundTaskSettings/feature.d.ts +3 -0
- package/admin/features/updateBackgroundTaskSettings/feature.js +19 -0
- package/admin/features/updateBackgroundTaskSettings/feature.js.map +1 -0
- package/admin/features/updateBackgroundTaskSettings/index.d.ts +3 -0
- package/admin/features/updateBackgroundTaskSettings/index.js +2 -0
- package/admin/index.d.ts +2 -0
- package/admin/index.js +2 -0
- package/admin/permissions.d.ts +12 -0
- package/admin/permissions.js +22 -0
- package/admin/permissions.js.map +1 -0
- package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.d.ts +21 -0
- package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +86 -0
- package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -0
- package/admin/presentation/BackgroundTaskSettings/abstractions.d.ts +16 -0
- package/admin/presentation/BackgroundTaskSettings/abstractions.js +5 -0
- package/admin/presentation/BackgroundTaskSettings/abstractions.js.map +1 -0
- package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.d.ts +2 -0
- package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js +56 -0
- package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js.map +1 -0
- package/admin/presentation/BackgroundTaskSettings/feature.d.ts +3 -0
- package/admin/presentation/BackgroundTaskSettings/feature.js +17 -0
- package/admin/presentation/BackgroundTaskSettings/feature.js.map +1 -0
- package/admin/presentation/BackgroundTaskSettings/index.d.ts +2 -0
- package/admin/presentation/BackgroundTaskSettings/index.js +2 -0
- package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.d.ts +14 -0
- package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js +41 -0
- package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js.map +1 -0
- package/admin/presentation/TaskDefinitions/abstractions.d.ts +14 -0
- package/admin/presentation/TaskDefinitions/abstractions.js +5 -0
- package/admin/presentation/TaskDefinitions/abstractions.js.map +1 -0
- package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.d.ts +2 -0
- package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js +76 -0
- package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js.map +1 -0
- package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.d.ts +2 -0
- package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js +16 -0
- package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js.map +1 -0
- package/admin/presentation/TaskDefinitions/feature.d.ts +3 -0
- package/admin/presentation/TaskDefinitions/feature.js +17 -0
- package/admin/presentation/TaskDefinitions/feature.js.map +1 -0
- package/admin/presentation/TaskDefinitions/index.d.ts +2 -0
- package/admin/presentation/TaskDefinitions/index.js +2 -0
- package/admin/presentation/TaskDetail/TaskDetailPresenter.d.ts +24 -0
- package/admin/presentation/TaskDetail/TaskDetailPresenter.js +87 -0
- package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -0
- package/admin/presentation/TaskDetail/abstractions.d.ts +24 -0
- package/admin/presentation/TaskDetail/abstractions.js +5 -0
- package/admin/presentation/TaskDetail/abstractions.js.map +1 -0
- package/admin/presentation/TaskDetail/components/TaskDetailDrawer.d.ts +11 -0
- package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js +270 -0
- package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js.map +1 -0
- package/admin/presentation/TaskDetail/feature.d.ts +3 -0
- package/admin/presentation/TaskDetail/feature.js +17 -0
- package/admin/presentation/TaskDetail/feature.js.map +1 -0
- package/admin/presentation/TaskDetail/index.d.ts +2 -0
- package/admin/presentation/TaskDetail/index.js +2 -0
- package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.d.ts +15 -0
- package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +91 -0
- package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -0
- package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +54 -0
- package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +109 -0
- package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -0
- package/admin/presentation/TaskExecutions/abstractions.d.ts +28 -0
- package/admin/presentation/TaskExecutions/abstractions.js +5 -0
- package/admin/presentation/TaskExecutions/abstractions.js.map +1 -0
- package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
- package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
- package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
- package/admin/presentation/TaskExecutions/components/TaskExecutionsView.d.ts +2 -0
- package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +341 -0
- package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -0
- package/admin/presentation/TaskExecutions/feature.d.ts +3 -0
- package/admin/presentation/TaskExecutions/feature.js +17 -0
- package/admin/presentation/TaskExecutions/feature.js.map +1 -0
- package/admin/presentation/TaskExecutions/index.d.ts +2 -0
- package/admin/presentation/TaskExecutions/index.js +2 -0
- package/admin/presentation/security/HasPermission.d.ts +12 -0
- package/admin/presentation/security/HasPermission.js +6 -0
- package/admin/presentation/security/HasPermission.js.map +1 -0
- package/admin/presentation/security/usePermissions.d.ts +12 -0
- package/admin/presentation/security/usePermissions.js +6 -0
- package/admin/presentation/security/usePermissions.js.map +1 -0
- package/admin/routes.d.ts +6 -0
- package/admin/routes.js +18 -0
- package/admin/routes.js.map +1 -0
- package/admin/shared/types.d.ts +18 -0
- package/admin/shared/types.js +0 -0
- package/api/BackgroundTasksFeature.d.ts +4 -0
- package/api/BackgroundTasksFeature.js +79 -0
- package/api/BackgroundTasksFeature.js.map +1 -0
- package/api/abstractions/Timer.d.ts +1 -0
- package/api/abstractions/Timer.js +0 -0
- package/api/abstractions/index.d.ts +1 -0
- package/api/abstractions/index.js +1 -0
- package/api/crud/TaskLogPrivateModel.d.ts +9 -0
- package/api/crud/TaskLogPrivateModel.js +41 -0
- package/api/crud/TaskLogPrivateModel.js.map +1 -0
- package/api/crud/TaskPrivateModel.d.ts +9 -0
- package/api/crud/TaskPrivateModel.js +56 -0
- package/api/crud/TaskPrivateModel.js.map +1 -0
- package/api/decorators/SelfCleaningTaskHandlerDecorator.d.ts +33 -0
- package/api/decorators/SelfCleaningTaskHandlerDecorator.js +69 -0
- package/api/decorators/SelfCleaningTaskHandlerDecorator.js.map +1 -0
- package/api/decorators/TaskDefinitionDefaultsDecorator.d.ts +27 -0
- package/api/decorators/TaskDefinitionDefaultsDecorator.js +47 -0
- package/api/decorators/TaskDefinitionDefaultsDecorator.js.map +1 -0
- package/api/domain/BackgroundTaskSettings.d.ts +3 -0
- package/api/domain/BackgroundTaskSettings.js +0 -0
- package/api/domain/TaskService.d.ts +12 -0
- package/api/domain/TaskService.js +5 -0
- package/api/domain/TaskService.js.map +1 -0
- package/api/domain/constants.d.ts +3 -0
- package/api/domain/constants.js +6 -0
- package/api/domain/constants.js.map +1 -0
- package/api/domain/errors.d.ts +61 -0
- package/api/domain/errors.js +109 -0
- package/api/domain/errors.js.map +1 -0
- package/api/domain/task/TaskLogModelProvider.d.ts +12 -0
- package/api/domain/task/TaskLogModelProvider.js +23 -0
- package/api/domain/task/TaskLogModelProvider.js.map +1 -0
- package/api/domain/task/TaskLogsRepository.d.ts +34 -0
- package/api/domain/task/TaskLogsRepository.js +146 -0
- package/api/domain/task/TaskLogsRepository.js.map +1 -0
- package/api/domain/task/TaskModelProvider.d.ts +12 -0
- package/api/domain/task/TaskModelProvider.js +23 -0
- package/api/domain/task/TaskModelProvider.js.map +1 -0
- package/api/domain/task/TasksRepository.d.ts +37 -0
- package/api/domain/task/TasksRepository.js +126 -0
- package/api/domain/task/TasksRepository.js.map +1 -0
- package/api/domain/task/abstractions.d.ts +50 -0
- package/api/domain/task/abstractions.js +8 -0
- package/api/domain/task/abstractions.js.map +1 -0
- package/api/domain/task/createRevisionId.d.ts +1 -0
- package/api/domain/task/createRevisionId.js +8 -0
- package/api/domain/task/createRevisionId.js.map +1 -0
- package/api/domain/task/entryToTask.d.ts +3 -0
- package/api/domain/task/entryToTask.js +20 -0
- package/api/domain/task/entryToTask.js.map +1 -0
- package/api/domain/task/entryToTaskLog.d.ts +3 -0
- package/api/domain/task/entryToTaskLog.js +12 -0
- package/api/domain/task/entryToTaskLog.js.map +1 -0
- package/api/events/TaskAfterCreateEvent.d.ts +6 -0
- package/api/events/TaskAfterCreateEvent.js +13 -0
- package/api/events/TaskAfterCreateEvent.js.map +1 -0
- package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
- package/api/events/TaskAfterDeleteEvent.js +13 -0
- package/api/events/TaskAfterDeleteEvent.js.map +1 -0
- package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
- package/api/events/TaskAfterUpdateEvent.js +13 -0
- package/api/events/TaskAfterUpdateEvent.js.map +1 -0
- package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
- package/api/events/TaskBeforeCreateEvent.js +13 -0
- package/api/events/TaskBeforeCreateEvent.js.map +1 -0
- package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
- package/api/events/TaskBeforeDeleteEvent.js +13 -0
- package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
- package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
- package/api/events/TaskBeforeUpdateEvent.js +13 -0
- package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
- package/api/events/abstractions.d.ts +53 -0
- package/api/events/abstractions.js +10 -0
- package/api/events/abstractions.js.map +1 -0
- package/api/events/index.d.ts +7 -0
- package/api/events/index.js +7 -0
- package/api/features/AbortTask/AbortTaskUseCase.d.ts +9 -0
- package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
- package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
- package/api/features/AbortTask/abstractions.d.ts +25 -0
- package/api/features/AbortTask/abstractions.js +5 -0
- package/api/features/AbortTask/abstractions.js.map +1 -0
- package/api/features/AbortTask/feature.d.ts +4 -0
- package/api/features/AbortTask/feature.js +13 -0
- package/api/features/AbortTask/feature.js.map +1 -0
- package/api/features/AbortTask/index.d.ts +2 -0
- package/api/features/AbortTask/index.js +2 -0
- package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
- package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
- package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
- package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
- package/api/features/BackgroundTaskPermissions/feature.js +7 -0
- package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
- package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
- package/api/features/BackgroundTaskPermissions/index.js +2 -0
- package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +27 -0
- package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +117 -0
- package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
- package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
- package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
- package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
- package/api/features/CleanupTaskSubtree/feature.d.ts +4 -0
- package/api/features/CleanupTaskSubtree/feature.js +11 -0
- package/api/features/CleanupTaskSubtree/feature.js.map +1 -0
- package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
- package/api/features/CleanupTaskSubtree/index.js +2 -0
- package/api/features/CreateTask/CreateTaskUseCase.d.ts +17 -0
- package/api/features/CreateTask/CreateTaskUseCase.js +56 -0
- package/api/features/CreateTask/CreateTaskUseCase.js.map +1 -0
- package/api/features/CreateTask/abstractions.d.ts +21 -0
- package/api/features/CreateTask/abstractions.js +5 -0
- package/api/features/CreateTask/abstractions.js.map +1 -0
- package/api/features/CreateTask/feature.d.ts +4 -0
- package/api/features/CreateTask/feature.js +11 -0
- package/api/features/CreateTask/feature.js.map +1 -0
- package/api/features/CreateTask/index.d.ts +2 -0
- package/api/features/CreateTask/index.js +2 -0
- package/api/features/CreateTaskLog/CreateTaskLogUseCase.d.ts +13 -0
- package/api/features/CreateTaskLog/CreateTaskLogUseCase.js +19 -0
- package/api/features/CreateTaskLog/CreateTaskLogUseCase.js.map +1 -0
- package/api/features/CreateTaskLog/abstractions.d.ts +16 -0
- package/api/features/CreateTaskLog/abstractions.js +5 -0
- package/api/features/CreateTaskLog/abstractions.js.map +1 -0
- package/api/features/CreateTaskLog/feature.d.ts +4 -0
- package/api/features/CreateTaskLog/feature.js +11 -0
- package/api/features/CreateTaskLog/feature.js.map +1 -0
- package/api/features/CreateTaskLog/index.d.ts +2 -0
- package/api/features/CreateTaskLog/index.js +2 -0
- package/api/features/DeleteTask/DeleteTaskUseCase.d.ts +14 -0
- package/api/features/DeleteTask/DeleteTaskUseCase.js +34 -0
- package/api/features/DeleteTask/DeleteTaskUseCase.js.map +1 -0
- package/api/features/DeleteTask/abstractions.d.ts +17 -0
- package/api/features/DeleteTask/abstractions.js +5 -0
- package/api/features/DeleteTask/abstractions.js.map +1 -0
- package/api/features/DeleteTask/feature.d.ts +4 -0
- package/api/features/DeleteTask/feature.js +11 -0
- package/api/features/DeleteTask/feature.js.map +1 -0
- package/api/features/DeleteTask/index.d.ts +2 -0
- package/api/features/DeleteTask/index.js +2 -0
- package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.d.ts +11 -0
- package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js +19 -0
- package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js.map +1 -0
- package/api/features/DeleteTaskLog/abstractions.d.ts +14 -0
- package/api/features/DeleteTaskLog/abstractions.js +5 -0
- package/api/features/DeleteTaskLog/abstractions.js.map +1 -0
- package/api/features/DeleteTaskLog/feature.d.ts +4 -0
- package/api/features/DeleteTaskLog/feature.js +11 -0
- package/api/features/DeleteTaskLog/feature.js.map +1 -0
- package/api/features/DeleteTaskLog/index.d.ts +2 -0
- package/api/features/DeleteTaskLog/index.js +2 -0
- package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
- package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +63 -0
- package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
- package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
- package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
- package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
- package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
- package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
- package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
- package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
- package/api/features/GetBackgroundTaskSettings/index.js +2 -0
- package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.d.ts +11 -0
- package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js +19 -0
- package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js.map +1 -0
- package/api/features/GetLatestTaskLog/abstractions.d.ts +15 -0
- package/api/features/GetLatestTaskLog/abstractions.js +5 -0
- package/api/features/GetLatestTaskLog/abstractions.js.map +1 -0
- package/api/features/GetLatestTaskLog/feature.d.ts +4 -0
- package/api/features/GetLatestTaskLog/feature.js +11 -0
- package/api/features/GetLatestTaskLog/feature.js.map +1 -0
- package/api/features/GetLatestTaskLog/index.d.ts +2 -0
- package/api/features/GetLatestTaskLog/index.js +2 -0
- package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.d.ts +13 -0
- package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js +51 -0
- package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js.map +1 -0
- package/api/features/GetRunnableTaskDefinition/abstractions.d.ts +17 -0
- package/api/features/GetRunnableTaskDefinition/abstractions.js +5 -0
- package/api/features/GetRunnableTaskDefinition/abstractions.js.map +1 -0
- package/api/features/GetRunnableTaskDefinition/feature.d.ts +4 -0
- package/api/features/GetRunnableTaskDefinition/feature.js +11 -0
- package/api/features/GetRunnableTaskDefinition/feature.js.map +1 -0
- package/api/features/GetRunnableTaskDefinition/index.d.ts +2 -0
- package/api/features/GetRunnableTaskDefinition/index.js +2 -0
- package/api/features/GetTask/GetTaskUseCase.d.ts +13 -0
- package/api/features/GetTask/GetTaskUseCase.js +19 -0
- package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
- package/api/features/GetTask/abstractions.d.ts +17 -0
- package/api/features/GetTask/abstractions.js +5 -0
- package/api/features/GetTask/abstractions.js.map +1 -0
- package/api/features/GetTask/feature.d.ts +4 -0
- package/api/features/GetTask/feature.js +11 -0
- package/api/features/GetTask/feature.js.map +1 -0
- package/api/features/GetTask/index.d.ts +2 -0
- package/api/features/GetTask/index.js +2 -0
- package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
- package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
- package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
- package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
- package/api/features/ListTaskDefinitions/abstractions.js +5 -0
- package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
- package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
- package/api/features/ListTaskDefinitions/feature.js +11 -0
- package/api/features/ListTaskDefinitions/feature.js.map +1 -0
- package/api/features/ListTaskDefinitions/index.d.ts +2 -0
- package/api/features/ListTaskDefinitions/index.js +2 -0
- package/api/features/ListTaskLogs/ListTaskLogsUseCase.d.ts +12 -0
- package/api/features/ListTaskLogs/ListTaskLogsUseCase.js +19 -0
- package/api/features/ListTaskLogs/ListTaskLogsUseCase.js.map +1 -0
- package/api/features/ListTaskLogs/abstractions.d.ts +15 -0
- package/api/features/ListTaskLogs/abstractions.js +5 -0
- package/api/features/ListTaskLogs/abstractions.js.map +1 -0
- package/api/features/ListTaskLogs/feature.d.ts +4 -0
- package/api/features/ListTaskLogs/feature.js +11 -0
- package/api/features/ListTaskLogs/feature.js.map +1 -0
- package/api/features/ListTaskLogs/index.d.ts +2 -0
- package/api/features/ListTaskLogs/index.js +2 -0
- package/api/features/ListTasks/ListTasksUseCase.d.ts +13 -0
- package/api/features/ListTasks/ListTasksUseCase.js +19 -0
- package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
- package/api/features/ListTasks/abstractions.d.ts +19 -0
- package/api/features/ListTasks/abstractions.js +5 -0
- package/api/features/ListTasks/abstractions.js.map +1 -0
- package/api/features/ListTasks/feature.d.ts +4 -0
- package/api/features/ListTasks/feature.js +11 -0
- package/api/features/ListTasks/feature.js.map +1 -0
- package/api/features/ListTasks/index.d.ts +2 -0
- package/api/features/ListTasks/index.js +2 -0
- package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.d.ts +11 -0
- package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js +19 -0
- package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js.map +1 -0
- package/api/features/ListVisibleTaskDefinitions/abstractions.d.ts +9 -0
- package/api/features/ListVisibleTaskDefinitions/abstractions.js +5 -0
- package/api/features/ListVisibleTaskDefinitions/abstractions.js.map +1 -0
- package/api/features/ListVisibleTaskDefinitions/feature.d.ts +4 -0
- package/api/features/ListVisibleTaskDefinitions/feature.js +11 -0
- package/api/features/ListVisibleTaskDefinitions/feature.js.map +1 -0
- package/api/features/ListVisibleTaskDefinitions/index.d.ts +2 -0
- package/api/features/ListVisibleTaskDefinitions/index.js +2 -0
- package/api/features/TaskController/TaskController.d.ts +49 -0
- package/api/features/TaskController/TaskController.js +71 -0
- package/api/features/TaskController/TaskController.js.map +1 -0
- package/api/features/TaskController/augmentation.d.ts +60 -0
- package/api/features/TaskController/augmentation.js +0 -0
- package/api/features/TaskController/index.d.ts +2 -0
- package/api/features/TaskController/index.js +2 -0
- package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
- package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
- package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
- package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
- package/api/features/TaskExecutionContext/abstractions.js +5 -0
- package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
- package/api/features/TaskExecutionContext/feature.d.ts +4 -0
- package/api/features/TaskExecutionContext/feature.js +11 -0
- package/api/features/TaskExecutionContext/feature.js.map +1 -0
- package/api/features/TaskExecutionContext/index.d.ts +1 -0
- package/api/features/TaskExecutionContext/index.js +1 -0
- package/api/features/TaskHandlerResolver/TaskHandlerResolver.d.ts +12 -0
- package/api/features/TaskHandlerResolver/TaskHandlerResolver.js +19 -0
- package/api/features/TaskHandlerResolver/TaskHandlerResolver.js.map +1 -0
- package/api/features/TaskHandlerResolver/abstractions.d.ts +17 -0
- package/api/features/TaskHandlerResolver/abstractions.js +5 -0
- package/api/features/TaskHandlerResolver/abstractions.js.map +1 -0
- package/api/features/TaskHandlerResolver/feature.d.ts +9 -0
- package/api/features/TaskHandlerResolver/feature.js +11 -0
- package/api/features/TaskHandlerResolver/feature.js.map +1 -0
- package/api/features/TaskHandlerResolver/index.d.ts +2 -0
- package/api/features/TaskHandlerResolver/index.js +2 -0
- package/api/features/TaskService/BackgroundTaskService.d.ts +42 -0
- package/api/features/TaskService/BackgroundTaskService.js +191 -0
- package/api/features/TaskService/BackgroundTaskService.js.map +1 -0
- package/api/features/TaskService/feature.d.ts +4 -0
- package/api/features/TaskService/feature.js +11 -0
- package/api/features/TaskService/feature.js.map +1 -0
- package/api/features/TaskService/index.d.ts +1 -0
- package/api/features/TaskService/index.js +1 -0
- package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +9 -0
- package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
- package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
- package/api/features/TriggerTask/abstractions.d.ts +28 -0
- package/api/features/TriggerTask/abstractions.js +5 -0
- package/api/features/TriggerTask/abstractions.js.map +1 -0
- package/api/features/TriggerTask/feature.d.ts +4 -0
- package/api/features/TriggerTask/feature.js +13 -0
- package/api/features/TriggerTask/feature.js.map +1 -0
- package/api/features/TriggerTask/index.d.ts +2 -0
- package/api/features/TriggerTask/index.js +2 -0
- package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.d.ts +15 -0
- package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js +26 -0
- package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js.map +1 -0
- package/api/features/TriggerVisibleTask/abstractions.d.ts +17 -0
- package/api/features/TriggerVisibleTask/abstractions.js +5 -0
- package/api/features/TriggerVisibleTask/abstractions.js.map +1 -0
- package/api/features/TriggerVisibleTask/feature.d.ts +4 -0
- package/api/features/TriggerVisibleTask/feature.js +11 -0
- package/api/features/TriggerVisibleTask/feature.js.map +1 -0
- package/api/features/TriggerVisibleTask/index.d.ts +2 -0
- package/api/features/TriggerVisibleTask/index.js +2 -0
- package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
- package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +67 -0
- package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
- package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
- package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
- package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
- package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
- package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
- package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
- package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
- package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
- package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
- package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
- package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
- package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
- package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
- package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
- package/api/features/UpdateTask/UpdateTaskUseCase.d.ts +17 -0
- package/api/features/UpdateTask/UpdateTaskUseCase.js +36 -0
- package/api/features/UpdateTask/UpdateTaskUseCase.js.map +1 -0
- package/api/features/UpdateTask/abstractions.d.ts +22 -0
- package/api/features/UpdateTask/abstractions.js +5 -0
- package/api/features/UpdateTask/abstractions.js.map +1 -0
- package/api/features/UpdateTask/feature.d.ts +4 -0
- package/api/features/UpdateTask/feature.js +11 -0
- package/api/features/UpdateTask/feature.js.map +1 -0
- package/api/features/UpdateTask/index.d.ts +2 -0
- package/api/features/UpdateTask/index.js +2 -0
- package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.d.ts +12 -0
- package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js +19 -0
- package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js.map +1 -0
- package/api/features/UpdateTaskLog/abstractions.d.ts +16 -0
- package/api/features/UpdateTaskLog/abstractions.js +5 -0
- package/api/features/UpdateTaskLog/abstractions.js.map +1 -0
- package/api/features/UpdateTaskLog/feature.d.ts +4 -0
- package/api/features/UpdateTaskLog/feature.js +11 -0
- package/api/features/UpdateTaskLog/feature.js.map +1 -0
- package/api/features/UpdateTaskLog/index.d.ts +2 -0
- package/api/features/UpdateTaskLog/index.js +2 -0
- package/api/global.d.ts +1 -0
- package/api/global.js +1 -0
- package/api/graphql/BackgroundTasksGraphQLSchema.d.ts +29 -0
- package/api/graphql/BackgroundTasksGraphQLSchema.js +462 -0
- package/api/graphql/BackgroundTasksGraphQLSchema.js.map +1 -0
- package/api/graphql/checkPermissions.d.ts +7 -0
- package/api/graphql/checkPermissions.js +22 -0
- package/api/graphql/checkPermissions.js.map +1 -0
- package/api/graphql/utils.d.ts +9 -0
- package/api/graphql/utils.js +20 -0
- package/api/graphql/utils.js.map +1 -0
- package/api/handler/types.d.ts +21 -0
- package/api/handler/types.js +0 -0
- package/api/index.d.ts +21 -0
- package/api/index.js +20 -0
- package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
- package/api/models/BackgroundTaskSettingsModel.js +27 -0
- package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
- package/api/permissions.d.ts +12 -0
- package/api/permissions.js +22 -0
- package/api/permissions.js.map +1 -0
- package/api/response/DatabaseResponse.d.ts +12 -0
- package/api/response/DatabaseResponse.js +127 -0
- package/api/response/DatabaseResponse.js.map +1 -0
- package/api/response/Response.d.ts +14 -0
- package/api/response/Response.js +91 -0
- package/api/response/Response.js.map +1 -0
- package/api/response/ResponseAbortedResult.d.ts +9 -0
- package/api/response/ResponseAbortedResult.js +12 -0
- package/api/response/ResponseAbortedResult.js.map +1 -0
- package/api/response/ResponseContinueResult.d.ts +17 -0
- package/api/response/ResponseContinueResult.js +16 -0
- package/api/response/ResponseContinueResult.js.map +1 -0
- package/api/response/ResponseDoneResult.d.ts +11 -0
- package/api/response/ResponseDoneResult.js +14 -0
- package/api/response/ResponseDoneResult.js.map +1 -0
- package/api/response/ResponseErrorResult.d.ts +10 -0
- package/api/response/ResponseErrorResult.js +13 -0
- package/api/response/ResponseErrorResult.js.map +1 -0
- package/api/response/TaskResponse.d.ts +12 -0
- package/api/response/TaskResponse.js +53 -0
- package/api/response/TaskResponse.js.map +1 -0
- package/api/response/abstractions/Response.d.ts +25 -0
- package/api/response/abstractions/Response.js +0 -0
- package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
- package/api/response/abstractions/ResponseAbortedResult.js +0 -0
- package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
- package/api/response/abstractions/ResponseBaseResult.js +0 -0
- package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
- package/api/response/abstractions/ResponseContinueResult.js +0 -0
- package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
- package/api/response/abstractions/ResponseDoneResult.js +0 -0
- package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
- package/api/response/abstractions/ResponseErrorResult.js +0 -0
- package/api/response/abstractions/TaskResponse.d.ts +16 -0
- package/api/response/abstractions/TaskResponse.js +0 -0
- package/api/response/abstractions/index.d.ts +7 -0
- package/api/response/abstractions/index.js +7 -0
- package/api/response/index.d.ts +7 -0
- package/api/response/index.js +7 -0
- package/api/runner/TaskControl.d.ts +48 -0
- package/api/runner/TaskControl.js +186 -0
- package/api/runner/TaskControl.js.map +1 -0
- package/api/runner/TaskEventValidation.d.ts +5 -0
- package/api/runner/TaskEventValidation.js +20 -0
- package/api/runner/TaskEventValidation.js.map +1 -0
- package/api/runner/TaskManager.d.ts +22 -0
- package/api/runner/TaskManager.js +83 -0
- package/api/runner/TaskManager.js.map +1 -0
- package/api/runner/TaskManagerStore.d.ts +57 -0
- package/api/runner/TaskManagerStore.js +127 -0
- package/api/runner/TaskManagerStore.js.map +1 -0
- package/api/runner/TaskRunner.d.ts +25 -0
- package/api/runner/TaskRunner.js +86 -0
- package/api/runner/TaskRunner.js.map +1 -0
- package/api/runner/abstractions/TaskControl.d.ts +10 -0
- package/api/runner/abstractions/TaskControl.js +0 -0
- package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
- package/api/runner/abstractions/TaskEventValidation.js +0 -0
- package/api/runner/abstractions/TaskManager.d.ts +5 -0
- package/api/runner/abstractions/TaskManager.js +0 -0
- package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
- package/api/runner/abstractions/TaskManagerStore.js +0 -0
- package/api/runner/abstractions/TaskRunner.d.ts +13 -0
- package/api/runner/abstractions/TaskRunner.js +0 -0
- package/api/runner/abstractions/index.d.ts +5 -0
- package/api/runner/abstractions/index.js +5 -0
- package/api/runner/index.d.ts +1 -0
- package/api/runner/index.js +1 -0
- package/api/tasks/testingRunTask.d.ts +19 -0
- package/api/tasks/testingRunTask.js +25 -0
- package/api/tasks/testingRunTask.js.map +1 -0
- package/api/types.d.ts +120 -0
- package/api/types.js +20 -0
- package/api/types.js.map +1 -0
- package/api/utils/ObjectUpdater.d.ts +8 -0
- package/api/utils/ObjectUpdater.js +33 -0
- package/api/utils/ObjectUpdater.js.map +1 -0
- package/api/utils/getErrorProperties.d.ts +2 -0
- package/api/utils/getErrorProperties.js +9 -0
- package/api/utils/getErrorProperties.js.map +1 -0
- package/api/utils/getObjectProperties.d.ts +8 -0
- package/api/utils/getObjectProperties.js +11 -0
- package/api/utils/getObjectProperties.js.map +1 -0
- package/api/utils/index.d.ts +3 -0
- package/api/utils/index.js +3 -0
- package/api/utils/normalizeSelfCleanup.d.ts +2 -0
- package/api/utils/normalizeSelfCleanup.js +16 -0
- package/api/utils/normalizeSelfCleanup.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/package.json +65 -0
- package/testing/index.d.ts +3 -0
- package/testing/index.js +2 -0
- package/testing/mockTaskTriggerTransportPlugin.d.ts +2 -0
- package/testing/mockTaskTriggerTransportPlugin.js +18 -0
- package/testing/mockTaskTriggerTransportPlugin.js.map +1 -0
- package/testing/runner.d.ts +19 -0
- package/testing/runner.js +44 -0
- package/testing/runner.js.map +1 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import error from "@webiny/error";
|
|
2
|
+
import { Result } from "@webiny/feature/api";
|
|
3
|
+
import { Logger } from "@webiny/api-core/features/logger/index.js";
|
|
4
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
5
|
+
import { NotFoundError } from "@webiny/api-graphql";
|
|
6
|
+
import { TaskService as TaskService_js_TaskService } from "../../domain/TaskService.js";
|
|
7
|
+
import { GetTaskUseCase } from "../GetTask/index.js";
|
|
8
|
+
import { CreateTaskLogUseCase } from "../CreateTaskLog/index.js";
|
|
9
|
+
import { GetLatestTaskLogUseCase } from "../GetLatestTaskLog/index.js";
|
|
10
|
+
import { UpdateTaskLogUseCase } from "../UpdateTaskLog/index.js";
|
|
11
|
+
import { CreateTaskUseCase } from "../CreateTask/index.js";
|
|
12
|
+
import { UpdateTaskUseCase } from "../UpdateTask/index.js";
|
|
13
|
+
import { DeleteTaskUseCase } from "../DeleteTask/index.js";
|
|
14
|
+
import { GetRunnableTaskDefinitionUseCase } from "../GetRunnableTaskDefinition/index.js";
|
|
15
|
+
import { TaskAbortError, TaskDefinitionNotFoundError, TaskNotFoundError, TaskServiceInfoError } from "../../domain/errors.js";
|
|
16
|
+
import { TaskDataStatus, TaskLogItemType } from "../../types.js";
|
|
17
|
+
const MAX_DELAY_DAYS = 355;
|
|
18
|
+
const MAX_DELAY_SECONDS = 24 * MAX_DELAY_DAYS * 3600;
|
|
19
|
+
const validateDelay = (input, delay)=>{
|
|
20
|
+
if (!delay || delay < 0 || false === Number.isInteger(delay)) return;
|
|
21
|
+
else if (delay < MAX_DELAY_SECONDS) return;
|
|
22
|
+
throw new error(`The maximum delay for a task is ${MAX_DELAY_DAYS} days.`, "MAX_DELAY_ERROR", {
|
|
23
|
+
...input,
|
|
24
|
+
delay
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
class BackgroundTaskServiceImpl {
|
|
28
|
+
constructor(getDefinition, createTask, updateTask, deleteTask, getTask, getLatestTaskLog, createTaskLog, updateTaskLog, transports, logger){
|
|
29
|
+
this.getDefinition = getDefinition;
|
|
30
|
+
this.createTask = createTask;
|
|
31
|
+
this.updateTask = updateTask;
|
|
32
|
+
this.deleteTask = deleteTask;
|
|
33
|
+
this.getTask = getTask;
|
|
34
|
+
this.getLatestTaskLog = getLatestTaskLog;
|
|
35
|
+
this.createTaskLog = createTaskLog;
|
|
36
|
+
this.updateTaskLog = updateTaskLog;
|
|
37
|
+
this.transports = transports;
|
|
38
|
+
this.logger = logger;
|
|
39
|
+
}
|
|
40
|
+
async trigger(params) {
|
|
41
|
+
const transport = this.getTransport();
|
|
42
|
+
const { definition: id, input: inputValues, name, parent, delay = 0 } = params;
|
|
43
|
+
const definitionResult = this.getDefinition.execute(id);
|
|
44
|
+
if (definitionResult.isFail()) throw new error("Task definition was not found!", "TASK_DEFINITION_ERROR", {
|
|
45
|
+
id
|
|
46
|
+
});
|
|
47
|
+
const definition = definitionResult.value;
|
|
48
|
+
const input = {
|
|
49
|
+
name: name || definition.title,
|
|
50
|
+
definitionId: id,
|
|
51
|
+
input: inputValues || {},
|
|
52
|
+
parentId: parent?.id
|
|
53
|
+
};
|
|
54
|
+
if (definition.onBeforeTrigger) await definition.onBeforeTrigger({
|
|
55
|
+
data: input,
|
|
56
|
+
definition
|
|
57
|
+
});
|
|
58
|
+
validateDelay(input, delay);
|
|
59
|
+
const created = await this.createTask.execute(input);
|
|
60
|
+
if (created.isFail()) {
|
|
61
|
+
this.logger.error({
|
|
62
|
+
error: created.error
|
|
63
|
+
}, "Could not create the task.");
|
|
64
|
+
throw created.error;
|
|
65
|
+
}
|
|
66
|
+
const task = created.value;
|
|
67
|
+
let response = null;
|
|
68
|
+
try {
|
|
69
|
+
response = await transport.send(task, delay);
|
|
70
|
+
if (!response) throw new error("Could not trigger the step function!", "TRIGGER_STEP_FUNCTION_ERROR", {
|
|
71
|
+
task
|
|
72
|
+
});
|
|
73
|
+
} catch (ex) {
|
|
74
|
+
this.logger.error({
|
|
75
|
+
error: ex
|
|
76
|
+
}, "Could not trigger the step function.");
|
|
77
|
+
await this.deleteTask.execute(task.id);
|
|
78
|
+
throw ex;
|
|
79
|
+
}
|
|
80
|
+
const updated = await this.updateTask.execute(task.id, {
|
|
81
|
+
eventResponse: response
|
|
82
|
+
});
|
|
83
|
+
if (updated.isFail()) throw updated.error;
|
|
84
|
+
return Result.ok(updated.value);
|
|
85
|
+
}
|
|
86
|
+
async fetchServiceInfo(input) {
|
|
87
|
+
const transport = this.getTransport();
|
|
88
|
+
const task = "object" == typeof input ? input : await this.findTask(input);
|
|
89
|
+
if (task || "string" != typeof input) {
|
|
90
|
+
if (!task) throw new error("Task was not found!", "TASK_FETCH_ERROR", {
|
|
91
|
+
input
|
|
92
|
+
});
|
|
93
|
+
} else throw new NotFoundError(`Task "${input}" was not found!`);
|
|
94
|
+
try {
|
|
95
|
+
const info = await transport.fetch(task);
|
|
96
|
+
if (info) return Result.ok(info);
|
|
97
|
+
return Result.fail(new TaskServiceInfoError());
|
|
98
|
+
} catch (ex) {
|
|
99
|
+
this.logger.error({
|
|
100
|
+
error: ex
|
|
101
|
+
}, "Service fetch error.");
|
|
102
|
+
return Result.fail(new TaskServiceInfoError());
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async abort(params) {
|
|
106
|
+
const taskResult = await this.getTask.execute(params.id);
|
|
107
|
+
if (taskResult.isFail()) return Result.fail(taskResult.error);
|
|
108
|
+
const task = taskResult.value;
|
|
109
|
+
const definitionResult = this.getDefinition.execute(task.definitionId);
|
|
110
|
+
if (definitionResult.isFail()) return Result.fail(new TaskDefinitionNotFoundError(task.definitionId));
|
|
111
|
+
const definition = definitionResult.value;
|
|
112
|
+
if (false === [
|
|
113
|
+
TaskDataStatus.PENDING,
|
|
114
|
+
TaskDataStatus.RUNNING
|
|
115
|
+
].includes(task.taskStatus)) return Result.fail(new TaskAbortError({
|
|
116
|
+
id: params.id,
|
|
117
|
+
status: task.taskStatus
|
|
118
|
+
}));
|
|
119
|
+
const taskLog = await this.getOrCreateLog(task);
|
|
120
|
+
try {
|
|
121
|
+
const updated = await this.updateTask.execute(task.id, {
|
|
122
|
+
taskStatus: TaskDataStatus.ABORTED
|
|
123
|
+
});
|
|
124
|
+
if (updated.isFail()) throw updated.error;
|
|
125
|
+
const logUpdate = await this.updateTaskLog.execute(taskLog.id, {
|
|
126
|
+
items: taskLog.items.concat([
|
|
127
|
+
{
|
|
128
|
+
message: params.message || "Task aborted.",
|
|
129
|
+
type: TaskLogItemType.INFO,
|
|
130
|
+
createdOn: new Date().toISOString()
|
|
131
|
+
}
|
|
132
|
+
])
|
|
133
|
+
});
|
|
134
|
+
if (logUpdate.isFail()) throw logUpdate.error;
|
|
135
|
+
if (definition.onAbort) await definition.onAbort({
|
|
136
|
+
task: updated.value,
|
|
137
|
+
definition
|
|
138
|
+
});
|
|
139
|
+
return Result.ok(updated.value);
|
|
140
|
+
} catch (ex) {
|
|
141
|
+
throw new error("Could not abort the task!", "TASK_ABORT_ERROR", {
|
|
142
|
+
id: params.id,
|
|
143
|
+
message: ex.message
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
async findTask(id) {
|
|
148
|
+
const result = await this.getTask.execute(id);
|
|
149
|
+
if (result.isOk()) return result.value;
|
|
150
|
+
else if (result.error instanceof TaskNotFoundError) return null;
|
|
151
|
+
throw result.error;
|
|
152
|
+
}
|
|
153
|
+
getTransport() {
|
|
154
|
+
const transport = this.transports[this.transports.length - 1];
|
|
155
|
+
if (!transport) throw new error("Missing TaskService.", "TASK_SERVICE_ERROR");
|
|
156
|
+
return transport;
|
|
157
|
+
}
|
|
158
|
+
async getOrCreateLog(task) {
|
|
159
|
+
const latest = await this.getLatestTaskLog.execute(task.id);
|
|
160
|
+
if (latest.isOk()) return latest.value;
|
|
161
|
+
const created = await this.createTaskLog.execute(task, {
|
|
162
|
+
iteration: 1,
|
|
163
|
+
executionName: task.executionName
|
|
164
|
+
});
|
|
165
|
+
if (created.isFail()) throw created.error;
|
|
166
|
+
return created.value;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const BackgroundTaskService = TaskService.createImplementation({
|
|
170
|
+
implementation: BackgroundTaskServiceImpl,
|
|
171
|
+
dependencies: [
|
|
172
|
+
GetRunnableTaskDefinitionUseCase,
|
|
173
|
+
CreateTaskUseCase,
|
|
174
|
+
UpdateTaskUseCase,
|
|
175
|
+
DeleteTaskUseCase,
|
|
176
|
+
GetTaskUseCase,
|
|
177
|
+
GetLatestTaskLogUseCase,
|
|
178
|
+
CreateTaskLogUseCase,
|
|
179
|
+
UpdateTaskLogUseCase,
|
|
180
|
+
[
|
|
181
|
+
TaskService_js_TaskService,
|
|
182
|
+
{
|
|
183
|
+
multiple: true
|
|
184
|
+
}
|
|
185
|
+
],
|
|
186
|
+
Logger
|
|
187
|
+
]
|
|
188
|
+
});
|
|
189
|
+
export { BackgroundTaskService };
|
|
190
|
+
|
|
191
|
+
//# sourceMappingURL=BackgroundTaskService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TaskService/BackgroundTaskService.js","sources":["../../../../src/api/features/TaskService/BackgroundTaskService.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { BaseError, Result } from \"@webiny/feature/api\";\nimport { Logger } from \"@webiny/api-core/features/logger/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport type {\n IServiceInfo,\n ITaskAbortParams,\n ITaskTriggerParams\n} from \"@webiny/api-core/features/task/TaskService/abstractions.js\";\nimport type { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { NotFoundError } from \"@webiny/api-graphql\";\nimport { TaskService as TaskTransport } from \"~/api/domain/TaskService.js\";\nimport { GetTaskUseCase } from \"~/api/features/GetTask/index.js\";\nimport { CreateTaskLogUseCase } from \"~/api/features/CreateTaskLog/index.js\";\nimport { GetLatestTaskLogUseCase } from \"~/api/features/GetLatestTaskLog/index.js\";\nimport { UpdateTaskLogUseCase } from \"~/api/features/UpdateTaskLog/index.js\";\nimport { CreateTaskUseCase } from \"~/api/features/CreateTask/index.js\";\nimport { UpdateTaskUseCase } from \"~/api/features/UpdateTask/index.js\";\nimport { DeleteTaskUseCase } from \"~/api/features/DeleteTask/index.js\";\nimport { GetRunnableTaskDefinitionUseCase } from \"~/api/features/GetRunnableTaskDefinition/index.js\";\nimport {\n TaskAbortError,\n TaskDefinitionNotFoundError,\n TaskNotFoundError,\n TaskServiceInfoError\n} from \"~/api/domain/errors.js\";\nimport { TaskDataStatus, TaskLogItemType } from \"~/api/types.js\";\nimport type { ITaskLog } from \"~/api/types.js\";\n\ntype TaskInput = TaskService.TaskInput;\ntype TaskOutput = TaskService.GenericOutput;\n\nconst MAX_DELAY_DAYS = 355;\nconst MAX_DELAY_SECONDS = MAX_DELAY_DAYS * 24 * 60 * 60;\n\nconst validateDelay = (input: TaskDefinition.TaskCreateData<any>, delay: number): void => {\n if (!delay || delay < 0 || Number.isInteger(delay) === false) {\n return;\n } else if (delay < MAX_DELAY_SECONDS) {\n return;\n }\n throw new WebinyError(\n `The maximum delay for a task is ${MAX_DELAY_DAYS} days.`,\n \"MAX_DELAY_ERROR\",\n { ...input, delay }\n );\n};\n\n/**\n * The public TaskService: stores a task and hands it to the transport (Step Functions, the worker),\n * aborts a running task, and reads what the transport knows about one.\n */\nclass BackgroundTaskServiceImpl implements TaskService.Interface {\n constructor(\n private readonly getDefinition: GetRunnableTaskDefinitionUseCase.Interface,\n private readonly createTask: CreateTaskUseCase.Interface,\n private readonly updateTask: UpdateTaskUseCase.Interface,\n private readonly deleteTask: DeleteTaskUseCase.Interface,\n private readonly getTask: GetTaskUseCase.Interface,\n private readonly getLatestTaskLog: GetLatestTaskLogUseCase.Interface,\n private readonly createTaskLog: CreateTaskLogUseCase.Interface,\n private readonly updateTaskLog: UpdateTaskLogUseCase.Interface,\n private readonly transports: TaskTransport.Interface[],\n private readonly logger: Logger.Interface\n ) {}\n\n async trigger<I extends TaskInput = TaskInput, O extends TaskOutput = TaskOutput>(\n params: ITaskTriggerParams<I>\n ): Promise<Result<TaskService.Task<I, O>, BaseError>> {\n const transport = this.getTransport();\n const { definition: id, input: inputValues, name, parent, delay = 0 } = params;\n const definitionResult = this.getDefinition.execute(id);\n if (definitionResult.isFail()) {\n throw new WebinyError(`Task definition was not found!`, \"TASK_DEFINITION_ERROR\", {\n id\n });\n }\n const definition = definitionResult.value;\n const input: TaskDefinition.TaskCreateData<I> = {\n name: name || definition.title,\n definitionId: id,\n input: inputValues || ({} as I),\n parentId: parent?.id\n };\n\n if (definition.onBeforeTrigger) {\n await definition.onBeforeTrigger({ data: input, definition });\n }\n validateDelay(input, delay);\n\n const created = await this.createTask.execute<I>(input);\n if (created.isFail()) {\n this.logger.error({ error: created.error }, \"Could not create the task.\");\n throw created.error;\n }\n const task = created.value;\n\n let response: unknown = null;\n try {\n response = await transport.send(task, delay);\n if (!response) {\n throw new WebinyError(\n `Could not trigger the step function!`,\n \"TRIGGER_STEP_FUNCTION_ERROR\",\n { task }\n );\n }\n } catch (ex) {\n this.logger.error({ error: ex }, \"Could not trigger the step function.\");\n // The task can't run, so don't leave it behind as pending.\n await this.deleteTask.execute(task.id);\n throw ex;\n }\n\n const updated = await this.updateTask.execute<I, O>(task.id, {\n eventResponse: response as Record<string, any>\n });\n if (updated.isFail()) {\n throw updated.error;\n }\n\n return Result.ok(updated.value);\n }\n\n async fetchServiceInfo(\n input: TaskService.Task | string\n ): Promise<Result<IServiceInfo, BaseError>> {\n const transport = this.getTransport();\n const task = typeof input === \"object\" ? input : await this.findTask(input);\n if (!task && typeof input === \"string\") {\n throw new NotFoundError(`Task \"${input}\" was not found!`);\n } else if (!task) {\n throw new WebinyError(`Task was not found!`, \"TASK_FETCH_ERROR\", { input });\n }\n\n try {\n const info = (await transport.fetch(task)) as IServiceInfo | null;\n if (info) {\n return Result.ok(info);\n }\n return Result.fail(new TaskServiceInfoError());\n } catch (ex) {\n this.logger.error({ error: ex }, \"Service fetch error.\");\n return Result.fail(new TaskServiceInfoError());\n }\n }\n\n async abort<I extends TaskInput = TaskInput, O extends TaskOutput = TaskOutput>(\n params: ITaskAbortParams\n ): Promise<Result<TaskService.Task<I, O>, BaseError<any>>> {\n const taskResult = await this.getTask.execute<I, O>(params.id);\n if (taskResult.isFail()) {\n return Result.fail(taskResult.error);\n }\n const task = taskResult.value;\n\n const definitionResult = this.getDefinition.execute<I, O>(task.definitionId);\n if (definitionResult.isFail()) {\n return Result.fail(new TaskDefinitionNotFoundError(task.definitionId));\n }\n const definition = definitionResult.value;\n\n // Only a pending or running task can be aborted.\n if ([TaskDataStatus.PENDING, TaskDataStatus.RUNNING].includes(task.taskStatus) === false) {\n return Result.fail(new TaskAbortError({ id: params.id, status: task.taskStatus }));\n }\n\n const taskLog = await this.getOrCreateLog(task);\n try {\n const updated = await this.updateTask.execute<I, O>(task.id, {\n taskStatus: TaskDataStatus.ABORTED\n });\n if (updated.isFail()) {\n throw updated.error;\n }\n const logUpdate = await this.updateTaskLog.execute(taskLog.id, {\n items: taskLog.items.concat([\n {\n message: params.message || \"Task aborted.\",\n type: TaskLogItemType.INFO,\n createdOn: new Date().toISOString()\n }\n ])\n });\n if (logUpdate.isFail()) {\n throw logUpdate.error;\n }\n // TODO: determine when to kick off the onAbort hook\n if (definition.onAbort) {\n await definition.onAbort({ task: updated.value, definition });\n }\n\n return Result.ok(updated.value);\n } catch (ex) {\n throw new WebinyError(`Could not abort the task!`, \"TASK_ABORT_ERROR\", {\n id: params.id,\n message: ex.message\n });\n }\n }\n\n // A missing task is null; any other failure is thrown, so it isn't mistaken for a missing one.\n private async findTask(id: string): Promise<TaskService.Task | null> {\n const result = await this.getTask.execute(id);\n if (result.isOk()) {\n return result.value;\n } else if (result.error instanceof TaskNotFoundError) {\n return null;\n }\n throw result.error;\n }\n\n private getTransport(): TaskTransport.Interface {\n // The last registration wins, so a test or a deployment can swap the transport.\n const transport = this.transports[this.transports.length - 1];\n if (!transport) {\n throw new WebinyError(\"Missing TaskService.\", \"TASK_SERVICE_ERROR\");\n }\n return transport;\n }\n\n private async getOrCreateLog(task: TaskService.Task<any, any>): Promise<ITaskLog> {\n const latest = await this.getLatestTaskLog.execute(task.id);\n if (latest.isOk()) {\n return latest.value;\n }\n const created = await this.createTaskLog.execute(task, {\n iteration: 1,\n executionName: task.executionName\n });\n if (created.isFail()) {\n throw created.error;\n }\n return created.value;\n }\n}\n\nexport const BackgroundTaskService = TaskService.createImplementation({\n implementation: BackgroundTaskServiceImpl,\n dependencies: [\n GetRunnableTaskDefinitionUseCase,\n CreateTaskUseCase,\n UpdateTaskUseCase,\n DeleteTaskUseCase,\n GetTaskUseCase,\n GetLatestTaskLogUseCase,\n CreateTaskLogUseCase,\n UpdateTaskLogUseCase,\n [TaskTransport, { multiple: true }],\n Logger\n ]\n});\n"],"names":["MAX_DELAY_DAYS","MAX_DELAY_SECONDS","validateDelay","input","delay","Number","WebinyError","BackgroundTaskServiceImpl","getDefinition","createTask","updateTask","deleteTask","getTask","getLatestTaskLog","createTaskLog","updateTaskLog","transports","logger","params","transport","id","inputValues","name","parent","definitionResult","definition","created","task","response","ex","updated","Result","NotFoundError","info","TaskServiceInfoError","taskResult","TaskDefinitionNotFoundError","TaskDataStatus","TaskAbortError","taskLog","logUpdate","TaskLogItemType","Date","result","TaskNotFoundError","latest","BackgroundTaskService","TaskService","GetRunnableTaskDefinitionUseCase","CreateTaskUseCase","UpdateTaskUseCase","DeleteTaskUseCase","GetTaskUseCase","GetLatestTaskLogUseCase","CreateTaskLogUseCase","UpdateTaskLogUseCase","TaskTransport","Logger"],"mappings":";;;;;;;;;;;;;;;;AAgCA,MAAMA,iBAAiB;AACvB,MAAMC,oBAAoBD,AAAiB,KAAjBA,iBAAAA;AAE1B,MAAME,gBAAgB,CAACC,OAA2CC;IAC9D,IAAI,CAACA,SAASA,QAAQ,KAAKC,AAA4B,UAA5BA,OAAO,SAAS,CAACD,QACxC;SACG,IAAIA,QAAQH,mBACf;IAEJ,MAAM,IAAIK,MACN,CAAC,gCAAgC,EAAEN,eAAe,MAAM,CAAC,EACzD,mBACA;QAAE,GAAGG,KAAK;QAAEC;IAAM;AAE1B;AAMA,MAAMG;IACF,YACqBC,aAAyD,EACzDC,UAAuC,EACvCC,UAAuC,EACvCC,UAAuC,EACvCC,OAAiC,EACjCC,gBAAmD,EACnDC,aAA6C,EAC7CC,aAA6C,EAC7CC,UAAqC,EACrCC,MAAwB,CAC3C;aAVmBT,aAAa,GAAbA;aACAC,UAAU,GAAVA;aACAC,UAAU,GAAVA;aACAC,UAAU,GAAVA;aACAC,OAAO,GAAPA;aACAC,gBAAgB,GAAhBA;aACAC,aAAa,GAAbA;aACAC,aAAa,GAAbA;aACAC,UAAU,GAAVA;aACAC,MAAM,GAANA;IAClB;IAEH,MAAM,QACFC,MAA6B,EACqB;QAClD,MAAMC,YAAY,IAAI,CAAC,YAAY;QACnC,MAAM,EAAE,YAAYC,EAAE,EAAE,OAAOC,WAAW,EAAEC,IAAI,EAAEC,MAAM,EAAEnB,QAAQ,CAAC,EAAE,GAAGc;QACxE,MAAMM,mBAAmB,IAAI,CAAC,aAAa,CAAC,OAAO,CAACJ;QACpD,IAAII,iBAAiB,MAAM,IACvB,MAAM,IAAIlB,MAAY,kCAAkC,yBAAyB;YAC7Ec;QACJ;QAEJ,MAAMK,aAAaD,iBAAiB,KAAK;QACzC,MAAMrB,QAA0C;YAC5C,MAAMmB,QAAQG,WAAW,KAAK;YAC9B,cAAcL;YACd,OAAOC,eAAgB,CAAC;YACxB,UAAUE,QAAQ;QACtB;QAEA,IAAIE,WAAW,eAAe,EAC1B,MAAMA,WAAW,eAAe,CAAC;YAAE,MAAMtB;YAAOsB;QAAW;QAE/DvB,cAAcC,OAAOC;QAErB,MAAMsB,UAAU,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAIvB;QACjD,IAAIuB,QAAQ,MAAM,IAAI;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAOA,QAAQ,KAAK;YAAC,GAAG;YAC5C,MAAMA,QAAQ,KAAK;QACvB;QACA,MAAMC,OAAOD,QAAQ,KAAK;QAE1B,IAAIE,WAAoB;QACxB,IAAI;YACAA,WAAW,MAAMT,UAAU,IAAI,CAACQ,MAAMvB;YACtC,IAAI,CAACwB,UACD,MAAM,IAAItB,MACN,wCACA,+BACA;gBAAEqB;YAAK;QAGnB,EAAE,OAAOE,IAAI;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAOA;YAAG,GAAG;YAEjC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACF,KAAK,EAAE;YACrC,MAAME;QACV;QAEA,MAAMC,UAAU,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAOH,KAAK,EAAE,EAAE;YACzD,eAAeC;QACnB;QACA,IAAIE,QAAQ,MAAM,IACd,MAAMA,QAAQ,KAAK;QAGvB,OAAOC,OAAO,EAAE,CAACD,QAAQ,KAAK;IAClC;IAEA,MAAM,iBACF3B,KAAgC,EACQ;QACxC,MAAMgB,YAAY,IAAI,CAAC,YAAY;QACnC,MAAMQ,OAAO,AAAiB,YAAjB,OAAOxB,QAAqBA,QAAQ,MAAM,IAAI,CAAC,QAAQ,CAACA;QACrE,IAAI,AAACwB,QAAQ,AAAiB,YAAjB,OAAOxB,OAEb;YAAA,IAAI,CAACwB,MACR,MAAM,IAAIrB,MAAY,uBAAuB,oBAAoB;gBAAEH;YAAM;QAC7E,OAHI,MAAM,IAAI6B,cAAc,CAAC,MAAM,EAAE7B,MAAM,gBAAgB,CAAC;QAK5D,IAAI;YACA,MAAM8B,OAAQ,MAAMd,UAAU,KAAK,CAACQ;YACpC,IAAIM,MACA,OAAOF,OAAO,EAAE,CAACE;YAErB,OAAOF,OAAO,IAAI,CAAC,IAAIG;QAC3B,EAAE,OAAOL,IAAI;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAOA;YAAG,GAAG;YACjC,OAAOE,OAAO,IAAI,CAAC,IAAIG;QAC3B;IACJ;IAEA,MAAM,MACFhB,MAAwB,EAC+B;QACvD,MAAMiB,aAAa,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAOjB,OAAO,EAAE;QAC7D,IAAIiB,WAAW,MAAM,IACjB,OAAOJ,OAAO,IAAI,CAACI,WAAW,KAAK;QAEvC,MAAMR,OAAOQ,WAAW,KAAK;QAE7B,MAAMX,mBAAmB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAOG,KAAK,YAAY;QAC3E,IAAIH,iBAAiB,MAAM,IACvB,OAAOO,OAAO,IAAI,CAAC,IAAIK,4BAA4BT,KAAK,YAAY;QAExE,MAAMF,aAAaD,iBAAiB,KAAK;QAGzC,IAAI,AAA+E,UAA/E;YAACa,eAAe,OAAO;YAAEA,eAAe,OAAO;SAAC,CAAC,QAAQ,CAACV,KAAK,UAAU,GACzE,OAAOI,OAAO,IAAI,CAAC,IAAIO,eAAe;YAAE,IAAIpB,OAAO,EAAE;YAAE,QAAQS,KAAK,UAAU;QAAC;QAGnF,MAAMY,UAAU,MAAM,IAAI,CAAC,cAAc,CAACZ;QAC1C,IAAI;YACA,MAAMG,UAAU,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAOH,KAAK,EAAE,EAAE;gBACzD,YAAYU,eAAe,OAAO;YACtC;YACA,IAAIP,QAAQ,MAAM,IACd,MAAMA,QAAQ,KAAK;YAEvB,MAAMU,YAAY,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAACD,QAAQ,EAAE,EAAE;gBAC3D,OAAOA,QAAQ,KAAK,CAAC,MAAM,CAAC;oBACxB;wBACI,SAASrB,OAAO,OAAO,IAAI;wBAC3B,MAAMuB,gBAAgB,IAAI;wBAC1B,WAAW,IAAIC,OAAO,WAAW;oBACrC;iBACH;YACL;YACA,IAAIF,UAAU,MAAM,IAChB,MAAMA,UAAU,KAAK;YAGzB,IAAIf,WAAW,OAAO,EAClB,MAAMA,WAAW,OAAO,CAAC;gBAAE,MAAMK,QAAQ,KAAK;gBAAEL;YAAW;YAG/D,OAAOM,OAAO,EAAE,CAACD,QAAQ,KAAK;QAClC,EAAE,OAAOD,IAAI;YACT,MAAM,IAAIvB,MAAY,6BAA6B,oBAAoB;gBACnE,IAAIY,OAAO,EAAE;gBACb,SAASW,GAAG,OAAO;YACvB;QACJ;IACJ;IAGA,MAAc,SAAST,EAAU,EAAoC;QACjE,MAAMuB,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAACvB;QAC1C,IAAIuB,OAAO,IAAI,IACX,OAAOA,OAAO,KAAK;aAChB,IAAIA,OAAO,KAAK,YAAYC,mBAC/B,OAAO;QAEX,MAAMD,OAAO,KAAK;IACtB;IAEQ,eAAwC;QAE5C,MAAMxB,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE;QAC7D,IAAI,CAACA,WACD,MAAM,IAAIb,MAAY,wBAAwB;QAElD,OAAOa;IACX;IAEA,MAAc,eAAeQ,IAAgC,EAAqB;QAC9E,MAAMkB,SAAS,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAClB,KAAK,EAAE;QAC1D,IAAIkB,OAAO,IAAI,IACX,OAAOA,OAAO,KAAK;QAEvB,MAAMnB,UAAU,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAACC,MAAM;YACnD,WAAW;YACX,eAAeA,KAAK,aAAa;QACrC;QACA,IAAID,QAAQ,MAAM,IACd,MAAMA,QAAQ,KAAK;QAEvB,OAAOA,QAAQ,KAAK;IACxB;AACJ;AAEO,MAAMoB,wBAAwBC,YAAY,oBAAoB,CAAC;IAClE,gBAAgBxC;IAChB,cAAc;QACVyC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACA;YAACC;YAAe;gBAAE,UAAU;YAAK;SAAE;QACnCC;KACH;AACL"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { BackgroundTaskService } from "./BackgroundTaskService.js";
|
|
3
|
+
const BackgroundTaskServiceFeature = createFeature({
|
|
4
|
+
name: "BackgroundTaskService",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(BackgroundTaskService);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { BackgroundTaskServiceFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TaskService/feature.js","sources":["../../../../src/api/features/TaskService/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { BackgroundTaskService } from \"./BackgroundTaskService.js\";\n\nexport const BackgroundTaskServiceFeature = createFeature({\n name: \"BackgroundTaskService\",\n register(container) {\n container.register(BackgroundTaskService);\n }\n});\n"],"names":["BackgroundTaskServiceFeature","createFeature","container","BackgroundTaskService"],"mappings":";;AAGO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BackgroundTaskServiceFeature } from "./feature.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BackgroundTaskServiceFeature } from "./feature.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TriggerTaskUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
4
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
5
|
+
export declare class TriggerTaskUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private taskService;
|
|
7
|
+
constructor(taskService: TaskService.Interface);
|
|
8
|
+
execute<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput>(params: UseCaseAbstraction.Params<I>): Promise<Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class TriggerTaskUseCaseImpl {
|
|
2
|
+
constructor(taskService){
|
|
3
|
+
this.taskService = taskService;
|
|
4
|
+
}
|
|
5
|
+
async execute(params) {
|
|
6
|
+
const result = await this.taskService.trigger(params);
|
|
7
|
+
return result;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export { TriggerTaskUseCaseImpl };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=TriggerTaskUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerTask/TriggerTaskUseCase.js","sources":["../../../../src/api/features/TriggerTask/TriggerTaskUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { TriggerTaskUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nexport class TriggerTaskUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private taskService: TaskService.Interface) {}\n\n public async execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(\n params: UseCaseAbstraction.Params<I>\n ): Promise<Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>> {\n const result = await this.taskService.trigger<I, O>(params);\n\n return result as unknown as Promise<\n Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>\n >;\n }\n}\n"],"names":["TriggerTaskUseCaseImpl","taskService","params","result"],"mappings":"AAKO,MAAMA;IACT,YAA2BC,WAAkC,CAAE;aAApCA,WAAW,GAAXA;IAAqC;IAEhE,MAAa,QAITC,MAAoC,EAC6B;QACjE,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAOD;QAEpD,OAAOC;IAGX;AACJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
3
|
+
import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
4
|
+
import { TaskDefinitionNotFoundError, TaskNotFoundError, TaskServiceInfoError } from "../../../api/domain/errors.js";
|
|
5
|
+
export interface ITriggerTaskUseCase {
|
|
6
|
+
execute<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput>(params: TriggerTaskParams<I>): Promise<Result<TaskService.Task<I, O>, UseCaseError>>;
|
|
7
|
+
}
|
|
8
|
+
export interface TriggerTaskParams<I = TaskDefinition.TaskInput> {
|
|
9
|
+
definition: string;
|
|
10
|
+
input?: I;
|
|
11
|
+
name?: string;
|
|
12
|
+
parent?: Pick<TaskService.Task, "id">;
|
|
13
|
+
delay?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ITriggerTaskUseCaseErrors {
|
|
16
|
+
definitionNotFound: TaskDefinitionNotFoundError;
|
|
17
|
+
taskNotFound: TaskNotFoundError;
|
|
18
|
+
serviceError: TaskServiceInfoError;
|
|
19
|
+
}
|
|
20
|
+
type UseCaseError = ITriggerTaskUseCaseErrors[keyof ITriggerTaskUseCaseErrors];
|
|
21
|
+
export declare const TriggerTaskUseCase: import("@webiny/di").Abstraction<ITriggerTaskUseCase>;
|
|
22
|
+
export declare namespace TriggerTaskUseCase {
|
|
23
|
+
type Interface = ITriggerTaskUseCase;
|
|
24
|
+
type Params<I = TaskDefinition.TaskInput> = TriggerTaskParams<I>;
|
|
25
|
+
type Error = UseCaseError;
|
|
26
|
+
type Return<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput> = Promise<Result<TaskService.Task<I, O>, UseCaseError>>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerTask/abstractions.js","sources":["../../../../src/api/features/TriggerTask/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport {\n TaskDefinitionNotFoundError,\n TaskNotFoundError,\n TaskServiceInfoError\n} from \"~/api/domain/errors.js\";\n\nexport interface ITriggerTaskUseCase {\n execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(\n params: TriggerTaskParams<I>\n ): Promise<Result<TaskService.Task<I, O>, UseCaseError>>;\n}\n\nexport interface TriggerTaskParams<I = TaskDefinition.TaskInput> {\n definition: string;\n input?: I;\n name?: string;\n parent?: Pick<TaskService.Task, \"id\">;\n delay?: number;\n}\n\nexport interface ITriggerTaskUseCaseErrors {\n definitionNotFound: TaskDefinitionNotFoundError;\n taskNotFound: TaskNotFoundError;\n serviceError: TaskServiceInfoError;\n}\n\ntype UseCaseError = ITriggerTaskUseCaseErrors[keyof ITriggerTaskUseCaseErrors];\n\nexport const TriggerTaskUseCase = createAbstraction<ITriggerTaskUseCase>(\n \"Tasks/TriggerTaskUseCase\"\n);\n\nexport namespace TriggerTaskUseCase {\n export type Interface = ITriggerTaskUseCase;\n export type Params<I = TaskDefinition.TaskInput> = TriggerTaskParams<I>;\n\n export type Error = UseCaseError;\n export type Return<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n > = Promise<Result<TaskService.Task<I, O>, UseCaseError>>;\n}\n"],"names":["TriggerTaskUseCase","createAbstraction"],"mappings":";AAkCO,MAAMA,qBAAqBC,kBAC9B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { TriggerTaskUseCase } from "./abstractions.js";
|
|
3
|
+
import { TriggerTaskUseCaseImpl } from "./TriggerTaskUseCase.js";
|
|
4
|
+
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
5
|
+
const TriggerTaskFeature = createFeature({
|
|
6
|
+
name: "TriggerTask",
|
|
7
|
+
register (container) {
|
|
8
|
+
container.registerFactory(TriggerTaskUseCase, ()=>new TriggerTaskUseCaseImpl(container.resolve(TaskService)));
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { TriggerTaskFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerTask/feature.js","sources":["../../../../src/api/features/TriggerTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TriggerTaskUseCase } from \"./abstractions.js\";\nimport { TriggerTaskUseCaseImpl } from \"~/api/features/TriggerTask/TriggerTaskUseCase.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nexport const TriggerTaskFeature = createFeature({\n name: \"TriggerTask\",\n register(container) {\n container.registerFactory(TriggerTaskUseCase, () => {\n return new TriggerTaskUseCaseImpl(container.resolve(TaskService));\n });\n }\n});\n"],"names":["TriggerTaskFeature","createFeature","container","TriggerTaskUseCase","TriggerTaskUseCaseImpl","TaskService"],"mappings":";;;;AAKO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,eAAe,CAACC,oBAAoB,IACnC,IAAIC,uBAAuBF,UAAU,OAAO,CAACG;IAE5D;AACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TriggerVisibleTaskUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import { TriggerTaskUseCase } from "../../../api/features/TriggerTask/abstractions.js";
|
|
4
|
+
import { GetRunnableTaskDefinitionUseCase } from "../../../api/features/GetRunnableTaskDefinition/abstractions.js";
|
|
5
|
+
import { TaskDefinitionNotFoundError } from "../../../api/domain/errors.js";
|
|
6
|
+
declare class TriggerVisibleTaskUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
7
|
+
private readonly triggerTask;
|
|
8
|
+
private readonly getRunnableTaskDefinition;
|
|
9
|
+
constructor(triggerTask: TriggerTaskUseCase.Interface, getRunnableTaskDefinition: GetRunnableTaskDefinitionUseCase.Interface);
|
|
10
|
+
execute(params: TriggerTaskUseCase.Params): Promise<Result<import("@webiny/api-core/features/task/TaskService/abstractions.js").TaskService.Task<import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskInput, import("@webiny/api-core/features/task/TaskService/abstractions.js").IGenericOutput>, TaskDefinitionNotFoundError | import("~/api/domain/errors.js").TaskNotFoundError | import("~/api/domain/errors.js").TaskServiceInfoError>>;
|
|
11
|
+
}
|
|
12
|
+
export declare const TriggerVisibleTaskUseCase: typeof TriggerVisibleTaskUseCaseImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITriggerVisibleTaskUseCase>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TriggerVisibleTaskUseCase } from "./abstractions.js";
|
|
3
|
+
import { TriggerTaskUseCase } from "../TriggerTask/abstractions.js";
|
|
4
|
+
import { GetRunnableTaskDefinitionUseCase } from "../GetRunnableTaskDefinition/abstractions.js";
|
|
5
|
+
import { TaskDefinitionNotFoundError } from "../../domain/errors.js";
|
|
6
|
+
class TriggerVisibleTaskUseCaseImpl {
|
|
7
|
+
constructor(triggerTask, getRunnableTaskDefinition){
|
|
8
|
+
this.triggerTask = triggerTask;
|
|
9
|
+
this.getRunnableTaskDefinition = getRunnableTaskDefinition;
|
|
10
|
+
}
|
|
11
|
+
async execute(params) {
|
|
12
|
+
const definition = this.getRunnableTaskDefinition.execute(params.definition);
|
|
13
|
+
if (definition.isFail() || definition.value.isPrivate) return Result.fail(new TaskDefinitionNotFoundError(params.definition));
|
|
14
|
+
return this.triggerTask.execute(params);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const TriggerVisibleTaskUseCase_TriggerVisibleTaskUseCase = TriggerVisibleTaskUseCase.createImplementation({
|
|
18
|
+
implementation: TriggerVisibleTaskUseCaseImpl,
|
|
19
|
+
dependencies: [
|
|
20
|
+
TriggerTaskUseCase,
|
|
21
|
+
GetRunnableTaskDefinitionUseCase
|
|
22
|
+
]
|
|
23
|
+
});
|
|
24
|
+
export { TriggerVisibleTaskUseCase_TriggerVisibleTaskUseCase as TriggerVisibleTaskUseCase };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=TriggerVisibleTaskUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js","sources":["../../../../src/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { TriggerVisibleTaskUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { TriggerTaskUseCase } from \"~/api/features/TriggerTask/abstractions.js\";\nimport { GetRunnableTaskDefinitionUseCase } from \"~/api/features/GetRunnableTaskDefinition/abstractions.js\";\nimport { TaskDefinitionNotFoundError } from \"~/api/domain/errors.js\";\n\nclass TriggerVisibleTaskUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(\n private readonly triggerTask: TriggerTaskUseCase.Interface,\n private readonly getRunnableTaskDefinition: GetRunnableTaskDefinitionUseCase.Interface\n ) {}\n\n public async execute(params: TriggerTaskUseCase.Params) {\n const definition = this.getRunnableTaskDefinition.execute(params.definition);\n if (definition.isFail() || definition.value.isPrivate) {\n return Result.fail(new TaskDefinitionNotFoundError(params.definition));\n }\n return this.triggerTask.execute(params);\n }\n}\n\nexport const TriggerVisibleTaskUseCase = UseCaseAbstraction.createImplementation({\n implementation: TriggerVisibleTaskUseCaseImpl,\n dependencies: [TriggerTaskUseCase, GetRunnableTaskDefinitionUseCase]\n});\n"],"names":["TriggerVisibleTaskUseCaseImpl","triggerTask","getRunnableTaskDefinition","params","definition","Result","TaskDefinitionNotFoundError","TriggerVisibleTaskUseCase","UseCaseAbstraction","TriggerTaskUseCase","GetRunnableTaskDefinitionUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACqBC,WAAyC,EACzCC,yBAAqE,CACxF;aAFmBD,WAAW,GAAXA;aACAC,yBAAyB,GAAzBA;IAClB;IAEH,MAAa,QAAQC,MAAiC,EAAE;QACpD,MAAMC,aAAa,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAACD,OAAO,UAAU;QAC3E,IAAIC,WAAW,MAAM,MAAMA,WAAW,KAAK,CAAC,SAAS,EACjD,OAAOC,OAAO,IAAI,CAAC,IAAIC,4BAA4BH,OAAO,UAAU;QAExE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAACA;IACpC;AACJ;AAEO,MAAMI,sDAA4BC,0BAAAA,oBAAuC,CAAC;IAC7E,gBAAgBR;IAChB,cAAc;QAACS;QAAoBC;KAAiC;AACxE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { ITask } from "../../../api/types.js";
|
|
3
|
+
import type { TriggerTaskUseCase } from "../../../api/features/TriggerTask/abstractions.js";
|
|
4
|
+
type UseCaseError = TriggerTaskUseCase.Error;
|
|
5
|
+
export interface ITriggerVisibleTaskUseCase {
|
|
6
|
+
execute(params: TriggerTaskUseCase.Params): Promise<Result<ITask, UseCaseError>>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Trigger a task from the GraphQL API. A private definition is refused exactly like an unknown
|
|
10
|
+
* one, so a caller cannot tell the two apart and cannot start it with input of their choice.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TriggerVisibleTaskUseCase: import("@webiny/di").Abstraction<ITriggerVisibleTaskUseCase>;
|
|
13
|
+
export declare namespace TriggerVisibleTaskUseCase {
|
|
14
|
+
type Interface = ITriggerVisibleTaskUseCase;
|
|
15
|
+
type Error = UseCaseError;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerVisibleTask/abstractions.js","sources":["../../../../src/api/features/TriggerVisibleTask/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { ITask } from \"~/api/types.js\";\nimport type { TriggerTaskUseCase } from \"~/api/features/TriggerTask/abstractions.js\";\n\ntype UseCaseError = TriggerTaskUseCase.Error;\n\nexport interface ITriggerVisibleTaskUseCase {\n execute(params: TriggerTaskUseCase.Params): Promise<Result<ITask, UseCaseError>>;\n}\n\n/**\n * Trigger a task from the GraphQL API. A private definition is refused exactly like an unknown\n * one, so a caller cannot tell the two apart and cannot start it with input of their choice.\n */\nexport const TriggerVisibleTaskUseCase = createAbstraction<ITriggerVisibleTaskUseCase>(\n \"Tasks/TriggerVisibleTaskUseCase\"\n);\n\nexport namespace TriggerVisibleTaskUseCase {\n export type Interface = ITriggerVisibleTaskUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["TriggerVisibleTaskUseCase","createAbstraction"],"mappings":";AAeO,MAAMA,4BAA4BC,kBACrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { TriggerVisibleTaskUseCase } from "./TriggerVisibleTaskUseCase.js";
|
|
3
|
+
const TriggerVisibleTaskFeature = createFeature({
|
|
4
|
+
name: "TriggerVisibleTask",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(TriggerVisibleTaskUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { TriggerVisibleTaskFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerVisibleTask/feature.js","sources":["../../../../src/api/features/TriggerVisibleTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TriggerVisibleTaskUseCase } from \"./TriggerVisibleTaskUseCase.js\";\n\nexport const TriggerVisibleTaskFeature = createFeature({\n name: \"TriggerVisibleTask\",\n register(container) {\n container.register(TriggerVisibleTaskUseCase);\n }\n});\n"],"names":["TriggerVisibleTaskFeature","createFeature","container","TriggerVisibleTaskUseCase"],"mappings":";;AAGO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
3
|
+
import { GetLatestRevisionByEntryIdRepository } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
4
|
+
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
5
|
+
import { UpdateEntryDataFactory } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
6
|
+
import { BuildParams } from "@webiny/api-core/features/buildParams/index.js";
|
|
7
|
+
import { GetBackgroundTaskSettingsRepository } from "../../../api/features/GetBackgroundTaskSettings/abstractions.js";
|
|
8
|
+
import { UpdateBackgroundTaskSettingsRepository as RepositoryAbstraction, type IUpdateBackgroundTaskSettingsInput } from "./abstractions.js";
|
|
9
|
+
import type { IBackgroundTaskSettings } from "../../../api/domain/BackgroundTaskSettings.js";
|
|
10
|
+
declare class UpdateBackgroundTaskSettingsRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
11
|
+
private readonly getModelRepository;
|
|
12
|
+
private readonly getSettingsRepository;
|
|
13
|
+
private readonly getLatestRevisionRepository;
|
|
14
|
+
private readonly updateEntryRepository;
|
|
15
|
+
private readonly updateEntryDataFactory;
|
|
16
|
+
private readonly defaultRetentionDays;
|
|
17
|
+
constructor(getModelRepository: GetModelRepository.Interface, getSettingsRepository: GetBackgroundTaskSettingsRepository.Interface, getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface, updateEntryRepository: UpdateEntryRepository.Interface, updateEntryDataFactory: UpdateEntryDataFactory.Interface, buildParams: BuildParams.Interface);
|
|
18
|
+
execute(input: IUpdateBackgroundTaskSettingsInput): Promise<Result<IBackgroundTaskSettings, RepositoryAbstraction.Error>>;
|
|
19
|
+
}
|
|
20
|
+
export declare const UpdateBackgroundTaskSettingsRepository: typeof UpdateBackgroundTaskSettingsRepositoryImpl & {
|
|
21
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateBackgroundTaskSettingsRepository>;
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { createCacheKey } from "@webiny/utils";
|
|
3
|
+
import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
4
|
+
import { GetLatestRevisionByEntryIdRepository } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
5
|
+
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
6
|
+
import { UpdateEntryDataFactory } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
7
|
+
import { BuildParams } from "@webiny/api-core/features/buildParams/index.js";
|
|
8
|
+
import { GetBackgroundTaskSettingsRepository } from "../GetBackgroundTaskSettings/abstractions.js";
|
|
9
|
+
import { UpdateBackgroundTaskSettingsRepository } from "./abstractions.js";
|
|
10
|
+
import { BackgroundTaskModelNotFoundError, BackgroundTaskPersistenceError } from "../../domain/errors.js";
|
|
11
|
+
import { BACKGROUND_TASK_DEFAULT_RETENTION_DAYS, BACKGROUND_TASK_SETTINGS_MODEL_ID } from "../../domain/constants.js";
|
|
12
|
+
class UpdateBackgroundTaskSettingsRepositoryImpl {
|
|
13
|
+
constructor(getModelRepository, getSettingsRepository, getLatestRevisionRepository, updateEntryRepository, updateEntryDataFactory, buildParams){
|
|
14
|
+
this.getModelRepository = getModelRepository;
|
|
15
|
+
this.getSettingsRepository = getSettingsRepository;
|
|
16
|
+
this.getLatestRevisionRepository = getLatestRevisionRepository;
|
|
17
|
+
this.updateEntryRepository = updateEntryRepository;
|
|
18
|
+
this.updateEntryDataFactory = updateEntryDataFactory;
|
|
19
|
+
this.defaultRetentionDays = buildParams.get("BackgroundTasks.RetentionDays") || BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;
|
|
20
|
+
}
|
|
21
|
+
async execute(input) {
|
|
22
|
+
try {
|
|
23
|
+
const getResult = await this.getSettingsRepository.execute();
|
|
24
|
+
if (getResult.isFail()) return getResult;
|
|
25
|
+
const modelResult = await this.getModelRepository.execute(BACKGROUND_TASK_SETTINGS_MODEL_ID);
|
|
26
|
+
if (modelResult.isFail()) return Result.fail(new BackgroundTaskModelNotFoundError(BACKGROUND_TASK_SETTINGS_MODEL_ID));
|
|
27
|
+
const model = modelResult.value;
|
|
28
|
+
const singletonId = createCacheKey(model.modelId);
|
|
29
|
+
const entryId = `${singletonId}#0001`;
|
|
30
|
+
const entryResult = await this.getLatestRevisionRepository.execute(model, {
|
|
31
|
+
id: entryId
|
|
32
|
+
});
|
|
33
|
+
if (entryResult.isFail()) return Result.fail(BackgroundTaskPersistenceError.from(entryResult.error));
|
|
34
|
+
const storedValue = input.retentionDays === this.defaultRetentionDays ? null : input.retentionDays;
|
|
35
|
+
const dataResult = await this.updateEntryDataFactory.create(model, {
|
|
36
|
+
values: {
|
|
37
|
+
retentionDays: storedValue
|
|
38
|
+
}
|
|
39
|
+
}, entryResult.value);
|
|
40
|
+
if (dataResult.isFail()) return Result.fail(BackgroundTaskPersistenceError.from(dataResult.error));
|
|
41
|
+
const { entry } = dataResult.value;
|
|
42
|
+
const updateResult = await this.updateEntryRepository.execute(model, entry);
|
|
43
|
+
if (updateResult.isFail()) return Result.fail(BackgroundTaskPersistenceError.from(updateResult.error));
|
|
44
|
+
const retentionDays = null != entry.values.retentionDays ? entry.values.retentionDays : this.defaultRetentionDays;
|
|
45
|
+
const settings = {
|
|
46
|
+
retentionDays
|
|
47
|
+
};
|
|
48
|
+
return Result.ok(settings);
|
|
49
|
+
} catch (error) {
|
|
50
|
+
return Result.fail(BackgroundTaskPersistenceError.from(error));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const UpdateBackgroundTaskSettingsRepository_UpdateBackgroundTaskSettingsRepository = UpdateBackgroundTaskSettingsRepository.createImplementation({
|
|
55
|
+
implementation: UpdateBackgroundTaskSettingsRepositoryImpl,
|
|
56
|
+
dependencies: [
|
|
57
|
+
GetModelRepository,
|
|
58
|
+
GetBackgroundTaskSettingsRepository,
|
|
59
|
+
GetLatestRevisionByEntryIdRepository,
|
|
60
|
+
UpdateEntryRepository,
|
|
61
|
+
UpdateEntryDataFactory,
|
|
62
|
+
BuildParams
|
|
63
|
+
]
|
|
64
|
+
});
|
|
65
|
+
export { UpdateBackgroundTaskSettingsRepository_UpdateBackgroundTaskSettingsRepository as UpdateBackgroundTaskSettingsRepository };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=UpdateBackgroundTaskSettingsRepository.js.map
|
package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js","sources":["../../../../src/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createCacheKey } from \"@webiny/utils\";\nimport { GetModelRepository } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { GetLatestRevisionByEntryIdRepository } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport { UpdateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { UpdateEntryDataFactory } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { BuildParams } from \"@webiny/api-core/features/buildParams/index.js\";\nimport { GetBackgroundTaskSettingsRepository } from \"~/api/features/GetBackgroundTaskSettings/abstractions.js\";\nimport {\n UpdateBackgroundTaskSettingsRepository as RepositoryAbstraction,\n type IUpdateBackgroundTaskSettingsInput\n} from \"./abstractions.js\";\nimport {\n BackgroundTaskModelNotFoundError,\n BackgroundTaskPersistenceError\n} from \"~/api/domain/errors.js\";\nimport {\n BACKGROUND_TASK_SETTINGS_MODEL_ID,\n BACKGROUND_TASK_DEFAULT_RETENTION_DAYS\n} from \"~/api/domain/constants.js\";\nimport type { IBackgroundTaskSettings } from \"~/api/domain/BackgroundTaskSettings.js\";\n\ninterface BackgroundTaskSettingsValues {\n retentionDays?: number | null;\n}\n\nclass UpdateBackgroundTaskSettingsRepositoryImpl implements RepositoryAbstraction.Interface {\n private readonly defaultRetentionDays: number;\n\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getSettingsRepository: GetBackgroundTaskSettingsRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly updateEntryRepository: UpdateEntryRepository.Interface,\n private readonly updateEntryDataFactory: UpdateEntryDataFactory.Interface,\n buildParams: BuildParams.Interface\n ) {\n this.defaultRetentionDays =\n buildParams.get<number>(\"BackgroundTasks.RetentionDays\") ||\n BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;\n }\n\n async execute(\n input: IUpdateBackgroundTaskSettingsInput\n ): Promise<Result<IBackgroundTaskSettings, RepositoryAbstraction.Error>> {\n try {\n /* Ensure the singleton entry exists (creates if missing). */\n const getResult = await this.getSettingsRepository.execute();\n if (getResult.isFail()) {\n return getResult;\n }\n\n const modelResult = await this.getModelRepository.execute(\n BACKGROUND_TASK_SETTINGS_MODEL_ID\n );\n if (modelResult.isFail()) {\n return Result.fail(\n new BackgroundTaskModelNotFoundError(BACKGROUND_TASK_SETTINGS_MODEL_ID)\n );\n }\n\n const model = modelResult.value;\n const singletonId = createCacheKey(model.modelId);\n const entryId = `${singletonId}#0001`;\n\n const entryResult =\n await this.getLatestRevisionRepository.execute<BackgroundTaskSettingsValues>(\n model,\n { id: entryId }\n );\n\n if (entryResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(entryResult.error));\n }\n\n /* Store null when the value matches the default so the default stays in control. */\n const storedValue =\n input.retentionDays === this.defaultRetentionDays ? null : input.retentionDays;\n\n const dataResult =\n await this.updateEntryDataFactory.create<BackgroundTaskSettingsValues>(\n model,\n {\n values: {\n retentionDays: storedValue\n }\n },\n entryResult.value\n );\n if (dataResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(dataResult.error));\n }\n const { entry } = dataResult.value;\n\n const updateResult = await this.updateEntryRepository.execute(model, entry);\n if (updateResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(updateResult.error));\n }\n\n const retentionDays =\n entry.values.retentionDays != null\n ? entry.values.retentionDays\n : this.defaultRetentionDays;\n\n const settings: IBackgroundTaskSettings = {\n retentionDays\n };\n\n return Result.ok(settings);\n } catch (error) {\n return Result.fail(BackgroundTaskPersistenceError.from(error));\n }\n }\n}\n\nexport const UpdateBackgroundTaskSettingsRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateBackgroundTaskSettingsRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetBackgroundTaskSettingsRepository,\n GetLatestRevisionByEntryIdRepository,\n UpdateEntryRepository,\n UpdateEntryDataFactory,\n BuildParams\n ]\n});\n"],"names":["UpdateBackgroundTaskSettingsRepositoryImpl","getModelRepository","getSettingsRepository","getLatestRevisionRepository","updateEntryRepository","updateEntryDataFactory","buildParams","BACKGROUND_TASK_DEFAULT_RETENTION_DAYS","input","getResult","modelResult","BACKGROUND_TASK_SETTINGS_MODEL_ID","Result","BackgroundTaskModelNotFoundError","model","singletonId","createCacheKey","entryId","entryResult","BackgroundTaskPersistenceError","storedValue","dataResult","entry","updateResult","retentionDays","settings","error","UpdateBackgroundTaskSettingsRepository","RepositoryAbstraction","GetModelRepository","GetBackgroundTaskSettingsRepository","GetLatestRevisionByEntryIdRepository","UpdateEntryRepository","UpdateEntryDataFactory","BuildParams"],"mappings":";;;;;;;;;;;AA0BA,MAAMA;IAGF,YACqBC,kBAAgD,EAChDC,qBAAoE,EACpEC,2BAA2E,EAC3EC,qBAAsD,EACtDC,sBAAwD,EACzEC,WAAkC,CACpC;aANmBL,kBAAkB,GAAlBA;aACAC,qBAAqB,GAArBA;aACAC,2BAA2B,GAA3BA;aACAC,qBAAqB,GAArBA;aACAC,sBAAsB,GAAtBA;QAGjB,IAAI,CAAC,oBAAoB,GACrBC,YAAY,GAAG,CAAS,oCACxBC;IACR;IAEA,MAAM,QACFC,KAAyC,EAC4B;QACrE,IAAI;YAEA,MAAMC,YAAY,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO;YAC1D,IAAIA,UAAU,MAAM,IAChB,OAAOA;YAGX,MAAMC,cAAc,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CACrDC;YAEJ,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CACd,IAAIC,iCAAiCF;YAI7C,MAAMG,QAAQJ,YAAY,KAAK;YAC/B,MAAMK,cAAcC,eAAeF,MAAM,OAAO;YAChD,MAAMG,UAAU,GAAGF,YAAY,KAAK,CAAC;YAErC,MAAMG,cACF,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAC1CJ,OACA;gBAAE,IAAIG;YAAQ;YAGtB,IAAIC,YAAY,MAAM,IAClB,OAAON,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACD,YAAY,KAAK;YAI5E,MAAME,cACFZ,MAAM,aAAa,KAAK,IAAI,CAAC,oBAAoB,GAAG,OAAOA,MAAM,aAAa;YAElF,MAAMa,aACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CACpCP,OACA;gBACI,QAAQ;oBACJ,eAAeM;gBACnB;YACJ,GACAF,YAAY,KAAK;YAEzB,IAAIG,WAAW,MAAM,IACjB,OAAOT,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACE,WAAW,KAAK;YAE3E,MAAM,EAAEC,KAAK,EAAE,GAAGD,WAAW,KAAK;YAElC,MAAME,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACT,OAAOQ;YACrE,IAAIC,aAAa,MAAM,IACnB,OAAOX,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACI,aAAa,KAAK;YAG7E,MAAMC,gBACFF,AAA8B,QAA9BA,MAAM,MAAM,CAAC,aAAa,GACpBA,MAAM,MAAM,CAAC,aAAa,GAC1B,IAAI,CAAC,oBAAoB;YAEnC,MAAMG,WAAoC;gBACtCD;YACJ;YAEA,OAAOZ,OAAO,EAAE,CAACa;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOd,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACO;QAC3D;IACJ;AACJ;AAEO,MAAMC,gFAAyCC,uCAAAA,oBAA0C,CAAC;IAC7F,gBAAgB5B;IAChB,cAAc;QACV6B;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateBackgroundTaskSettingsRepository, UpdateBackgroundTaskSettingsUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import type { IBackgroundTaskSettings } from "../../../api/domain/BackgroundTaskSettings.js";
|
|
4
|
+
import { BackgroundTaskPermissions } from "../../../api/features/BackgroundTaskPermissions/abstractions.js";
|
|
5
|
+
declare class UpdateBackgroundTaskSettingsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private readonly permissions;
|
|
7
|
+
private readonly repository;
|
|
8
|
+
constructor(permissions: BackgroundTaskPermissions.Interface, repository: UpdateBackgroundTaskSettingsRepository.Interface);
|
|
9
|
+
execute(input: UseCaseAbstraction.Input): Promise<Result<IBackgroundTaskSettings, UseCaseAbstraction.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const UpdateBackgroundTaskSettingsUseCase: typeof UpdateBackgroundTaskSettingsUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateBackgroundTaskSettingsUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|