Persist app state (#21)

This commit is contained in:
Jens K.
2024-12-22 18:56:55 +01:00
committed by GitHub
parent 2cf411e2ae
commit c9b444e91a
12 changed files with 336 additions and 112 deletions

View File

@@ -5,18 +5,20 @@ use std::fs;
use std::path::PathBuf;
pub struct Config {
pub log_dir: PathBuf,
pub data_dir: PathBuf,
}
impl Config {
pub fn init() -> Result<Self> {
let log_dir = get_default_state_dir()?.join("logs");
fs::create_dir_all(&log_dir)?;
let data_dir = get_default_state_dir()?.join("data");
fs::create_dir_all(&data_dir)?;
Ok(Self { log_dir })
Ok(Self { log_dir, data_dir })
}
}
// fn new
pub fn get_project_dir() -> Result<ProjectDirs> {
let dirs = ProjectDirs::from("", "", APP_NAME)
.ok_or_else(|| eyre!("Failed to get project directories"))?;