use crate::config::{ConfigManager, SyncTask};
use std::fs;
pub fn find_task_id(config_manager: &ConfigManager, id_or_name: &str) -> Option<String> {
if config_manager.get_task(id_or_name).is_some() {
return Some(id_or_name.to_string());
}
for task in config_manager.get_tasks().values() {
if task.name == id_or_name {
return Some(task.id.clone());
}
}
None
}
pub fn get_task_status(_task: &SyncTask) -> String {
"✅ 就绪".to_string()
}
pub fn remove_task_reports(task_id: &str) -> std::io::Result<()> {
let reports_dir = dirs::data_dir()
.unwrap_or_else(|| std::path::PathBuf::from("."))
.join("disksync")
.join("reports");
if !reports_dir.exists() {
return Ok(());
}
for entry in fs::read_dir(reports_dir)? {
let entry = entry?;
let path = entry.path();
if path.is_file() {
if let Some(file_name) = path.file_name().and_then(|n| n.to_str()) {
if file_name.contains(task_id) {
fs::remove_file(path)?;
}
}
}
}
Ok(())
}