deepr_utils/
fsutil.rs

1use crate::constants;
2use anyhow::Result;
3use directories::UserDirs;
4use std::fs;
5use std::path::{Path, PathBuf};
6
7pub fn get_home_dir() -> PathBuf {
8    let user_dirs = UserDirs::new().expect("Could not resolve user $HOME dir.");
9    let home_dir = user_dirs.home_dir();
10    home_dir.to_path_buf()
11}
12
13pub fn get_config_dir(home_dir: &Path) -> Result<PathBuf> {
14    let config_dir = home_dir.join(constants::AWS_SDK_DEFAULT_CONFIG_PREFIX);
15    if !config_dir.exists() {
16        fs::create_dir_all(&config_dir)?;
17    }
18    Ok(config_dir)
19}
20
21pub fn get_credentials_dir(home_dir: &Path) -> Result<PathBuf> {
22    let credentials_dir = home_dir.join(constants::AWS_SDK_DEFAULT_CREDENTIALS_PREFIX);
23    if !credentials_dir.exists() {
24        fs::create_dir_all(&credentials_dir)?;
25    }
26    Ok(credentials_dir)
27}