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 74c27e0..e79a9bb 100644 --- a/makima/src/daemon/api/supervisor.rs +++ b/makima/src/daemon/api/supervisor.rs @@ -299,6 +299,31 @@ impl ApiClient { self.delete(&format!("/api/v1/mesh/tasks/{}", task_id)).await } + /// Mark a deliverable as complete. + pub async fn supervisor_mark_deliverable( + &self, + contract_id: Uuid, + deliverable_id: &str, + phase: Option<&str>, + ) -> Result<JsonValue, ApiError> { + #[derive(Serialize)] + #[serde(rename_all = "camelCase")] + struct MarkDeliverableRequest { + deliverable_id: String, + #[serde(skip_serializing_if = "Option::is_none")] + phase: Option<String>, + } + let req = MarkDeliverableRequest { + deliverable_id: deliverable_id.to_string(), + phase: phase.map(|s| s.to_string()), + }; + self.post( + &format!("/api/v1/contracts/{}/deliverables/complete", contract_id), + &req, + ) + .await + } + /// Update a task. pub async fn update_task( &self, |
