ct_tracker_lib/
projects.rs1use std::path::PathBuf;
2
3use super::ct_fs::default_path as dp;
4use super::errors;
5
6pub mod persistent;
7
8pub mod delete;
9pub mod list;
10pub mod project_frame;
11pub mod stop;
12pub use project_frame::ProjectFrame;
13pub mod project;
14pub use project::Project;
15
16pub(crate) fn project_path(name: &str) -> errors::CtResult<PathBuf> {
17 let mut path = dp::time_path()?;
18 path.push(format!("{}{}", name, ".json"));
19 Ok(path)
20}
21
22pub fn has(name: &str) -> errors::CtResult<bool> {
23 let path = project_path(name)?;
24 Ok(path.exists())
27}