diff --git a/server/src/handlers_v2/tasks.rs b/server/src/handlers_v2/tasks.rs index c0cfc7c..e6f2727 100644 --- a/server/src/handlers_v2/tasks.rs +++ b/server/src/handlers_v2/tasks.rs @@ -77,11 +77,10 @@ impl McpTool for DeleteTaskHandler { } for (idx, t) in tasks.iter().enumerate() { - if let Some(pid) = &t.parent_id { - if let Some(&parent_idx) = id_to_index.get(pid.as_str()) { + if let Some(pid) = &t.parent_id + && let Some(&parent_idx) = id_to_index.get(pid.as_str()) { children_map.entry(parent_idx).or_default().push(idx); } - } } let mut to_delete_idx = std::collections::HashSet::new(); @@ -90,11 +89,10 @@ impl McpTool for DeleteTaskHandler { queue.push_back(start_idx); while let Some(curr) = queue.pop_front() { - if to_delete_idx.insert(curr) { - if let Some(children) = children_map.get(&curr) { + if to_delete_idx.insert(curr) + && let Some(children) = children_map.get(&curr) { queue.extend(children.iter().copied()); } - } } } @@ -165,11 +163,10 @@ impl McpTool for UpdateTaskStatusHandler { if !blocked { let mut uncompleted_deps = Vec::new(); for dep_id in &tasks[target_idx].dependencies { - if let Some(dep_task) = tasks.iter().find(|dt| dt.id == *dep_id) { - if dep_task.status != "completed" && dep_task.status != "done" { + if let Some(dep_task) = tasks.iter().find(|dt| dt.id == *dep_id) + && dep_task.status != "completed" && dep_task.status != "done" { uncompleted_deps.push(dep_task.title.as_str()); } - } } if !uncompleted_deps.is_empty() { blocked = true;