summaryrefslogtreecommitdiff
path: root/makima/src/daemon/tui/views/files.rs
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/daemon/tui/views/files.rs')
-rw-r--r--makima/src/daemon/tui/views/files.rs90
1 files changed, 0 insertions, 90 deletions
diff --git a/makima/src/daemon/tui/views/files.rs b/makima/src/daemon/tui/views/files.rs
deleted file mode 100644
index e21a989..0000000
--- a/makima/src/daemon/tui/views/files.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-//! Files view implementation.
-
-use uuid::Uuid;
-
-use crate::daemon::api::ApiClient;
-use crate::daemon::tui::app::ListItem;
-
-/// Load files from API
-pub async fn load_files(
- client: &ApiClient,
- contract_id: Uuid,
-) -> Result<Vec<ListItem>, Box<dyn std::error::Error>> {
- let result = client.contract_files(contract_id).await?;
-
- // Parse JSON response into ListItem
- let files: Vec<serde_json::Value> = serde_json::from_value(result.0)?;
-
- let items = files
- .into_iter()
- .filter_map(|f| {
- let id_str = f.get("id")?.as_str()?;
- let id = Uuid::parse_str(id_str).ok()?;
-
- Some(ListItem {
- id,
- name: f
- .get("name")
- .and_then(|v| v.as_str())
- .unwrap_or("Unnamed")
- .to_string(),
- status: None,
- description: f
- .get("description")
- .and_then(|v| v.as_str())
- .map(String::from),
- updated_at: f
- .get("updatedAt")
- .and_then(|v| v.as_str())
- .unwrap_or_default()
- .to_string(),
- extra: f,
- })
- })
- .collect();
-
- Ok(items)
-}
-
-/// Get full file details for preview
-pub async fn get_file_preview(
- client: &ApiClient,
- contract_id: Uuid,
- file_id: Uuid,
-) -> Result<String, Box<dyn std::error::Error>> {
- let result = client.contract_file(contract_id, file_id).await?;
- let file: serde_json::Value = result.0;
-
- let name = file
- .get("name")
- .and_then(|v| v.as_str())
- .unwrap_or("Unknown");
- let description = file
- .get("description")
- .and_then(|v| v.as_str())
- .unwrap_or("-");
-
- // Try to get body content
- let body_preview = if let Some(body) = file.get("body") {
- if let Some(body_array) = body.as_array() {
- body_array
- .iter()
- .filter_map(|item| {
- let text = item.get("text").and_then(|v| v.as_str())?;
- Some(text.to_string())
- })
- .take(5)
- .collect::<Vec<_>>()
- .join("\n")
- } else {
- "-".to_string()
- }
- } else {
- "-".to_string()
- };
-
- Ok(format!(
- "Name: {}\nDescription: {}\n\nContent:\n{}",
- name, description, body_preview
- ))
-}