summaryrefslogtreecommitdiff
path: root/makima/src/daemon/tui/views/contracts.rs
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-20 16:45:34 +0000
committersoryu <soryu@soryu.co>2026-01-20 16:45:34 +0000
commitc6c69af39b29276920b07e0d220f7016335f1019 (patch)
tree13a4b58b00f67076b532933b9f8f208122d54bf9 /makima/src/daemon/tui/views/contracts.rs
parent36233b7cb834223878aa075bb379846eb6d7bb05 (diff)
parenta3ecb076a4f83f9c33fc3e4ad64af72c81b3ffd0 (diff)
downloadsoryu-makima/contract-lifecycle-cleanup.tar.gz
soryu-makima/contract-lifecycle-cleanup.zip
Merge lifecycle improvementsmakima/contract-lifecycle-cleanup
Resolved conflict in supervisor.rs by keeping both: - supervisor_complete and supervisor_resume_contract methods (lifecycle management) - delete_task and update_task methods (task management) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/daemon/tui/views/contracts.rs')
-rw-r--r--makima/src/daemon/tui/views/contracts.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/makima/src/daemon/tui/views/contracts.rs b/makima/src/daemon/tui/views/contracts.rs
index e2219b7..73b7c33 100644
--- a/makima/src/daemon/tui/views/contracts.rs
+++ b/makima/src/daemon/tui/views/contracts.rs
@@ -7,11 +7,19 @@ use crate::daemon::tui::app::ListItem;
/// Load contracts from API
pub async fn load_contracts(
- _client: &ApiClient,
+ client: &ApiClient,
) -> Result<Vec<ListItem>, Box<dyn std::error::Error>> {
- // TODO: Implement listing all contracts
- // This would require a new API endpoint
- Ok(Vec::new())
+ let result = client.list_contracts().await?;
+
+ // Response is { "contracts": [...], "total": N }
+ let contracts = result
+ .0
+ .get("contracts")
+ .and_then(|v| v.as_array())
+ .map(|arr| arr.iter().filter_map(ListItem::from_contract).collect())
+ .unwrap_or_default();
+
+ Ok(contracts)
}
/// Get full contract details for preview