diff options
Diffstat (limited to 'makima/src/daemon/api/supervisor.rs')
| -rw-r--r-- | makima/src/daemon/api/supervisor.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/makima/src/daemon/api/supervisor.rs b/makima/src/daemon/api/supervisor.rs index 26d786c..bd3aefd 100644 --- a/makima/src/daemon/api/supervisor.rs +++ b/makima/src/daemon/api/supervisor.rs @@ -283,4 +283,29 @@ impl ApiClient { self.put(&format!("/api/v1/contracts/{}", contract_id), &req) .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 + } } |
