use std::path::PathBuf;
pub const QUALIFIER: &str = "org";
pub const ORGANIZATION: &str = "holochain";
pub const APPLICATION: &str = "holochain";
pub const KEYS_DIRECTORY: &str = "keys";
pub const N3H_BINARIES_DIRECTORY: &str = "n3h-binaries";
pub const DNA_EXTENSION: &str = "dna.json";
pub fn project_root() -> Option<directories::ProjectDirs> {
directories::ProjectDirs::from(QUALIFIER, ORGANIZATION, APPLICATION)
}
pub fn config_root() -> PathBuf {
project_root()
.map(|dirs| dirs.config_dir().to_owned())
.unwrap_or_else(|| PathBuf::from("/etc").join(APPLICATION))
}
pub fn data_root() -> PathBuf {
project_root()
.map(|dirs| dirs.data_dir().to_owned())
.unwrap_or_else(|| PathBuf::from("/etc").join(APPLICATION))
}
pub fn keys_directory() -> PathBuf {
config_root().join(KEYS_DIRECTORY)
}
pub fn n3h_binaries_directory() -> PathBuf {
data_root().join(N3H_BINARIES_DIRECTORY)
}