blob: 73b7c3399e45199fde3f27fecf13325e5848a168 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
//! Contracts view implementation.
use uuid::Uuid;
use crate::daemon::api::ApiClient;
use crate::daemon::tui::app::ListItem;
/// Load contracts from API
pub async fn load_contracts(
client: &ApiClient,
) -> Result<Vec<ListItem>, Box<dyn std::error::Error>> {
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
pub async fn get_contract_preview(
_client: &ApiClient,
_contract_id: Uuid,
) -> Result<String, Box<dyn std::error::Error>> {
// TODO: Implement contract preview
Ok("Contract preview not yet implemented".to_string())
}
|