优化: R-PD-10 commands err_str helper 统一错误格式化(87 处)
mod.rs 加 pub fn err_str<E: ToString>,commands/ 10 文件 87 处 .map_err(|e| e.to_string()) → .map_err(err_str),残留 0(10 处复杂表达式 e 用于 format!/anyhow 保留)。行为零变化,统一入口为未来加日志/分类留点。批5,cargo workspace 0
This commit is contained in:
@@ -12,7 +12,7 @@ use df_storage::models::{KnowledgeEventRecord, KnowledgeRecord};
|
||||
use crate::state::{AppState, KnowledgeConfig};
|
||||
|
||||
use super::knowledge_timeline::KnowledgeTimeline;
|
||||
use super::now_millis;
|
||||
use super::{err_str, now_millis};
|
||||
use serde::Serialize;
|
||||
|
||||
/// 创建知识入参
|
||||
@@ -76,10 +76,10 @@ pub async fn knowledge_list(
|
||||
) -> Result<Vec<KnowledgeRecord>, String> {
|
||||
match status {
|
||||
// 显式查 archived 时原样返回(含归档项)
|
||||
Some(s) if s == "archived" => state.knowledge.list_by_status("archived").await.map_err(|e| e.to_string()),
|
||||
Some(s) => state.knowledge.list_by_status(&s).await.map_err(|e| e.to_string()),
|
||||
Some(s) if s == "archived" => state.knowledge.list_by_status("archived").await.map_err(err_str),
|
||||
Some(s) => state.knowledge.list_by_status(&s).await.map_err(err_str),
|
||||
// 默认:列出非 archived 的全部(单查询 status != 'archived')
|
||||
None => state.knowledge.list_non_archived().await.map_err(|e| e.to_string()),
|
||||
None => state.knowledge.list_non_archived().await.map_err(err_str),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ pub async fn knowledge_get(
|
||||
.knowledge
|
||||
.get_by_id(&id)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?
|
||||
.map_err(err_str)?
|
||||
.ok_or_else(|| format!("知识不存在: {id}"))
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ pub async fn knowledge_search(
|
||||
.knowledge
|
||||
.search(&input.query, input.kind.as_deref(), limit)
|
||||
.await
|
||||
.map_err(|e| e.to_string())
|
||||
.map_err(err_str)
|
||||
}
|
||||
|
||||
/// 创建知识(始终 candidate 状态) — MCP create tool
|
||||
@@ -138,7 +138,7 @@ pub async fn knowledge_create(
|
||||
.knowledge
|
||||
.insert(record.clone())
|
||||
.await
|
||||
.map_err(|e| e.to_string())?;
|
||||
.map_err(err_str)?;
|
||||
// 生命线:手动录入产生(fire-and-forget)
|
||||
KnowledgeTimeline::new(&state.db)
|
||||
.record_created(&record.id, "manual")
|
||||
@@ -161,7 +161,7 @@ pub async fn knowledge_update_status(
|
||||
.knowledge
|
||||
.get_by_id(&id)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?
|
||||
.map_err(err_str)?
|
||||
.ok_or_else(|| format!("知识不存在: {id}"))?;
|
||||
|
||||
let old_status = record.status.clone();
|
||||
@@ -179,7 +179,7 @@ pub async fn knowledge_update_status(
|
||||
.knowledge
|
||||
.update_full(&updated)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?;
|
||||
.map_err(err_str)?;
|
||||
|
||||
// 生命线:状态变更(fire-and-forget;to=published=审核通过,to=archived=归档)
|
||||
KnowledgeTimeline::new(&state.db)
|
||||
@@ -205,7 +205,7 @@ pub async fn knowledge_record_reuse(
|
||||
.knowledge
|
||||
.increment_reuse_count(&id)
|
||||
.await
|
||||
.map_err(|e| e.to_string())
|
||||
.map_err(err_str)
|
||||
}
|
||||
|
||||
/// 审核收件箱 — 列出 candidate(按 confidence 语义排序)
|
||||
@@ -217,7 +217,7 @@ pub async fn knowledge_list_candidates(
|
||||
.knowledge
|
||||
.list_by_status("candidate")
|
||||
.await
|
||||
.map_err(|e| e.to_string())
|
||||
.map_err(err_str)
|
||||
}
|
||||
|
||||
/// 归档(软删除) — UPDATE status='archived'
|
||||
@@ -300,13 +300,13 @@ pub async fn knowledge_get_detail(
|
||||
.knowledge
|
||||
.get_by_id(&id)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?
|
||||
.map_err(err_str)?
|
||||
.ok_or_else(|| format!("知识不存在: {id}"))?;
|
||||
let events = state
|
||||
.knowledge_events
|
||||
.list_by_knowledge(&id)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?;
|
||||
.map_err(err_str)?;
|
||||
Ok(KnowledgeDetailPayload { knowledge, events })
|
||||
}
|
||||
|
||||
@@ -321,7 +321,7 @@ pub async fn knowledge_update(
|
||||
.knowledge
|
||||
.get_by_id(&id)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?
|
||||
.map_err(err_str)?
|
||||
.ok_or_else(|| format!("知识不存在: {id}"))?;
|
||||
if let Some(v) = input.title {
|
||||
record.title = v;
|
||||
@@ -344,7 +344,7 @@ pub async fn knowledge_update(
|
||||
.knowledge
|
||||
.update_full(&record)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?;
|
||||
.map_err(err_str)?;
|
||||
Ok(record)
|
||||
}
|
||||
|
||||
@@ -363,13 +363,13 @@ pub async fn knowledge_events(
|
||||
.knowledge_events
|
||||
.list_by_knowledge_type(&knowledge_id, &et, limit)
|
||||
.await
|
||||
.map_err(|e| e.to_string())
|
||||
.map_err(err_str)
|
||||
}
|
||||
None => state
|
||||
.knowledge_events
|
||||
.list_by_knowledge(&knowledge_id)
|
||||
.await
|
||||
.map_err(|e| e.to_string()),
|
||||
.map_err(err_str),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user