diff options
| author | soryu <soryu@soryu.co> | 2026-01-26 20:19:30 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-26 20:19:30 +0000 |
| commit | 04e1e8f0dd85d19917ac5ba0b73cba65ebac8976 (patch) | |
| tree | e52537dd2a33c10156f1378ffdc6803bc983482d /makima/src/daemon/api/supervisor.rs | |
| parent | 6328477bc459eca0243b685553dbd75b925fdc8a (diff) | |
| download | soryu-04e1e8f0dd85d19917ac5ba0b73cba65ebac8976.tar.gz soryu-04e1e8f0dd85d19917ac5ba0b73cba65ebac8976.zip | |
Add completion phases
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, |
