use directories::BaseDirs;
use crate::todos::Todo;
pub fn read_from_file() -> Result<Vec<Todo>, Box<dyn std::error::Error>> {
let path = BaseDirs::new().unwrap().config_dir().join("rtodo/db.json");
let td_str = std::fs::read_to_string(path)?;
let todos: Vec<Todo> = serde_json::from_str(&td_str)?;
Ok(todos)
}
pub fn write_to_file(todos: &Vec<Todo>) -> Result<(), Box<dyn std::error::Error>> {
let path = BaseDirs::new().unwrap().config_dir().join("rtodo");
if !path.exists() {
std::fs::create_dir(&path)?;
}
std::fs::write(path.join("db.json"), serde_json::to_string(&todos)?)?;
Ok(())
}