use crate::constants;
use anyhow::Result;
use directories::UserDirs;
use std::fs;
use std::path::{Path, PathBuf};
pub fn get_home_dir() -> PathBuf {
let user_dirs = UserDirs::new().expect("Could not resolve user $HOME dir.");
let home_dir = user_dirs.home_dir();
home_dir.to_path_buf()
}
pub fn get_config_dir(home_dir: &Path) -> Result<PathBuf> {
let config_dir = home_dir.join(constants::AWS_SDK_DEFAULT_CONFIG_PREFIX);
if !config_dir.exists() {
fs::create_dir_all(&config_dir)?;
}
Ok(config_dir)
}
pub fn get_credentials_dir(home_dir: &Path) -> Result<PathBuf> {
let credentials_dir = home_dir.join(constants::AWS_SDK_DEFAULT_CREDENTIALS_PREFIX);
if !credentials_dir.exists() {
fs::create_dir_all(&credentials_dir)?;
}
Ok(credentials_dir)
}