-
+
diff --git a/frontend/src/app/tasks/task-detail-overview/task-detail-overview.component.ts b/frontend/src/app/tasks/task-detail-overview/task-detail-overview.component.ts
index c9bb35b..70061af 100644
--- a/frontend/src/app/tasks/task-detail-overview/task-detail-overview.component.ts
+++ b/frontend/src/app/tasks/task-detail-overview/task-detail-overview.component.ts
@@ -1,7 +1,7 @@
import {Component, OnInit, ViewChild} from '@angular/core';
import {NavigationLink, NavigationLinkListComponent} from "../../navigation-link-list/navigation-link-list.component";
-import {ActivatedRoute} from "@angular/router";
-import {TaskEntityInfo, TaskgroupEntityInfo, TaskgroupService, TaskService} from "../../../api";
+import {ActivatedRoute, Router} from "@angular/router";
+import {ScheduleService, TaskEntityInfo, TaskgroupEntityInfo, TaskgroupService, TaskService} from "../../../api";
import {TaskDashboardComponent} from "../task-dashboard/task-dashboard.component";
import {MatDialog} from "@angular/material/dialog";
import {TaskEditorComponent} from "../task-editor/task-editor.component";
@@ -35,7 +35,9 @@ export class TaskDetailOverviewComponent implements OnInit {
constructor(private activatedRoute: ActivatedRoute,
private taskgroupService: TaskgroupService,
private taskService: TaskService,
- private dialog: MatDialog) {
+ private dialog: MatDialog,
+ private scheduleService: ScheduleService,
+ private router: Router) {
}
ngOnInit(): void {
@@ -80,4 +82,14 @@ export class TaskDetailOverviewComponent implements OnInit {
}
}
+
+ startTaskNow() {
+ if(this.task != undefined) {
+ this.scheduleService.schedulesTaskIDNowPost(this.task.taskID).subscribe({
+ next: resp => {
+ this.router.navigateByUrl('/');
+ }
+ });
+ }
+ }
}
diff --git a/openapi.yaml b/openapi.yaml
index c9af16e..b72835b 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -1372,6 +1372,52 @@ paths:
type: array
items:
$ref: '#/components/schemas/ScheduleInfo'
+ /schedules/{taskID}/now:
+ post:
+ security:
+ - API_TOKEN: []
+ tags:
+ - schedule
+ description: schedule task now
+ summary: schedule task now
+ parameters:
+ - name: taskID
+ in: path
+ description: internal id of task
+ required: true
+ schema:
+ type: number
+ example: 1
+ responses:
+ 200:
+ description: Operation successfull
+ content:
+ application/json:
+ schema:
+ type: object
+ $ref: '#/components/schemas/BasicScheduleEntityInfo'
+ 403:
+ description: No permission
+ content:
+ 'application/json':
+ schema:
+ type: object
+ $ref: "#/components/schemas/SimpleStatusResponse"
+ 404:
+ description: Taskgroup does not exist
+ content:
+ 'application/json':
+ schema:
+ type: object
+ $ref: "#/components/schemas/SimpleStatusResponse"
+ 409:
+ description: Task is already running
+ content:
+ 'application/json':
+ schema:
+ type: object
+ $ref: "#/components/schemas/SimpleStatusResponse"
+
components:
securitySchemes: