ct_tracker_lib/projects/
delete.rs1use super::super::ct_fs::default_path;
2use super::errors;
3use super::persistent;
4use super::project_path;
5
6use glob::glob;
7use std::path::PathBuf;
8
9pub fn all(_print_progress: bool) -> errors::CtResult<()> {
11 let time_path = default_path::time_path()?;
12 let paths: Vec<PathBuf> = glob(format!("{}/*.json", time_path.to_str().unwrap()).as_str())
13 .unwrap()
14 .filter(|p| match p {
15 Ok(_) => true,
16 Err(e) => {
17 bunt::eprintln!("{$red}GlobError: {:?}{/$}", e);
18 false
19 }
20 })
21 .map(|p| p.unwrap())
22 .collect();
23 for p in paths {
24 std::fs::remove_file(p)?;
35 }
36 persistent::clear_store()?;
37 Ok(())
38}
39
40pub fn named(name: &str) -> errors::CtResult<()> {
41 std::fs::remove_file(project_path(name)?)?;
42 persistent::delete_stored_if(name)?;
43 Ok(())
44}