summaryrefslogtreecommitdiff
path: root/makima/src/daemon/api/supervisor.rs
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/daemon/api/supervisor.rs')
-rw-r--r--makima/src/daemon/api/supervisor.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/makima/src/daemon/api/supervisor.rs b/makima/src/daemon/api/supervisor.rs
index 1dc699e..9614cfc 100644
--- a/makima/src/daemon/api/supervisor.rs
+++ b/makima/src/daemon/api/supervisor.rs
@@ -248,4 +248,29 @@ impl ApiClient {
self.get(&format!("/api/v1/mesh/tasks/{}/output", task_id))
.await
}
+
+ /// Delete a task.
+ pub async fn delete_task(&self, task_id: Uuid) -> Result<(), ApiError> {
+ self.delete(&format!("/api/v1/mesh/tasks/{}", task_id)).await
+ }
+
+ /// Update a task.
+ pub async fn update_task(
+ &self,
+ task_id: Uuid,
+ name: Option<String>,
+ plan: Option<String>,
+ ) -> Result<JsonValue, ApiError> {
+ #[derive(Serialize)]
+ #[serde(rename_all = "camelCase")]
+ struct UpdateTaskRequest {
+ #[serde(skip_serializing_if = "Option::is_none")]
+ name: Option<String>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ plan: Option<String>,
+ }
+ let req = UpdateTaskRequest { name, plan };
+ self.put(&format!("/api/v1/mesh/tasks/{}", task_id), &req)
+ .await
+ }
}