@spotinst/spinnaker-deck
Version:
Spinnaker-Deck service, forked with support to Spotinst
30 lines (24 loc) • 824 B
text/typescript
import { REST } from 'core/api/ApiService';
import { DebugWindow } from 'core/utils/consoleDebug';
import { ITask } from '../domain';
import { TaskReader } from './task.read.service';
import { ITaskCommand } from './taskExecutor';
export interface ITaskCreateResult {
ref: string;
}
export class TaskWriter {
public static postTaskCommand(taskCommand: ITaskCommand): PromiseLike<ITaskCreateResult> {
return REST('/tasks').post(taskCommand);
}
public static cancelTask(taskId: string): PromiseLike<ITask> {
return REST('/tasks')
.path(taskId, 'cancel')
.put()
.then(() =>
TaskReader.getTask(taskId).then((task) =>
TaskReader.waitUntilTaskMatches(task, (updatedTask) => updatedTask.status === 'CANCELED'),
),
);
}
}
DebugWindow.TaskWriter = TaskWriter;