修复: status→enum + type alias(SMELL-P1-6)
This commit is contained in:
@@ -88,7 +88,7 @@ impl MentionResolver for ProjectResolver {
|
||||
ref_id: id.clone(),
|
||||
})?;
|
||||
// status: String → ProjectStatus(未知字符串按 Planning 兜底,不阻断注入)
|
||||
let status = ProjectStatus::from_db_str(&record.status).unwrap_or(ProjectStatus::Planning);
|
||||
let status = ProjectStatus::from_db_str(record.status.as_str()).unwrap_or(ProjectStatus::Planning);
|
||||
// path 脱敏:None(未绑定)保持 None;Some 则按 locality 脱敏包 newtype
|
||||
let path = record
|
||||
.path
|
||||
@@ -113,7 +113,7 @@ impl MentionResolver for ProjectResolver {
|
||||
}).await {
|
||||
if !tasks.is_empty() {
|
||||
let mut task_lines: Vec<String> = tasks.iter().map(|t| {
|
||||
format!(" - {} ({})", t.title, t.status)
|
||||
format!(" - {} ({})", t.title, t.status.as_str())
|
||||
}).collect();
|
||||
task_lines.insert(0, format!("进行中任务({}):", tasks.len()));
|
||||
lines.push(task_lines.join("\n"));
|
||||
@@ -126,9 +126,9 @@ impl MentionResolver for ProjectResolver {
|
||||
..Default::default()
|
||||
}).await {
|
||||
let related: Vec<_> = ideas.iter()
|
||||
.filter(|i| i.status == "pending_review")
|
||||
.filter(|i| i.status.as_str() == "pending_review")
|
||||
.take(3)
|
||||
.map(|i| format!(" - {} ({})", i.title, i.status))
|
||||
.map(|i| format!(" - {} ({})", i.title, i.status.as_str()))
|
||||
.collect();
|
||||
if !related.is_empty() {
|
||||
let mut idea_lines = vec![format!("待评估灵感({}):", related.len())];
|
||||
@@ -189,7 +189,7 @@ impl MentionResolver for TaskResolver {
|
||||
kind: "task".to_string(),
|
||||
ref_id: id.clone(),
|
||||
})?;
|
||||
let status = TaskStatus::from_db_str(&task.status).unwrap_or(TaskStatus::Todo);
|
||||
let status = TaskStatus::from_db_str(task.status.as_str()).unwrap_or(TaskStatus::Todo);
|
||||
// join project_name:project_id 取 ProjectRecord.name;失败/无对应 None(非错误)
|
||||
let project_name = {
|
||||
let project_repo = ProjectRepo::new(&self.db);
|
||||
@@ -253,7 +253,7 @@ impl MentionResolver for IdeaResolver {
|
||||
kind: "idea".to_string(),
|
||||
ref_id: id.clone(),
|
||||
})?;
|
||||
let status = IdeaStatus::from_db_str(&record.status).unwrap_or(IdeaStatus::Draft);
|
||||
let status = IdeaStatus::from_db_str(record.status.as_str()).unwrap_or(IdeaStatus::Draft);
|
||||
Ok(Augmentation::Idea {
|
||||
id: record.id,
|
||||
title: record.title,
|
||||
|
||||
Reference in New Issue
Block a user