use std::path::PathBuf;
use crate::common::get_data_home;
const HOME_BASE_DIR: &str = "home/";
const USER_SECRETS_DIR: &str = ".local/state/signstar/secrets/";
const PLAINTEXT_SECRETS_EXTENSION: &str = "txt";
const SYSTEMD_CREDS_SECRETS_EXTENSION: &str = "creds";
pub fn get_home_base_dir_path() -> PathBuf {
get_data_home().join(PathBuf::from(HOME_BASE_DIR))
}
pub fn get_relative_user_secrets_dir() -> PathBuf {
PathBuf::from(USER_SECRETS_DIR)
}
pub fn get_user_secrets_dir(system_user: &str) -> PathBuf {
get_home_base_dir_path()
.join(PathBuf::from(system_user))
.join(get_relative_user_secrets_dir())
}
pub fn get_plaintext_secret_file(system_user: &str, backend_user: &str) -> PathBuf {
get_user_secrets_dir(system_user).join(PathBuf::from(
[backend_user, ".", PLAINTEXT_SECRETS_EXTENSION].concat(),
))
}
pub fn get_systemd_creds_secret_file(system_user: &str, backend_user: &str) -> PathBuf {
get_user_secrets_dir(system_user).join(PathBuf::from(
[backend_user, ".", SYSTEMD_CREDS_SECRETS_EXTENSION].concat(),
))
}