1
0
This commit is contained in:
syui 2025-06-08 12:03:58 +09:00
parent 2e55e6ce09
commit d0623e3282
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56

View File

@ -1,5 +1,5 @@
use config::{Config, ConfigError, Environment, File};
use serde::Deserialize;
use serde::{Deserialize, Deserializer};
use std::path::PathBuf;
#[derive(Debug, Clone, Deserialize)]
@ -32,6 +32,7 @@ pub struct Settings {
pub card_master_url: String,
// File paths
#[serde(deserialize_with = "deserialize_pathbuf")]
pub config_dir: PathBuf,
}
@ -74,7 +75,7 @@ impl Settings {
.set_default("card_master_url", "https://git.syui.ai/ai/ai/raw/branch/main/ai.json")?;
// Load from config file if it exists
let config_file = config_dir.join("config.toml");
let config_file = config_dir.join("config.json");
if config_file.exists() {
builder = builder.add_source(File::from(config_file));
}
@ -125,3 +126,11 @@ impl GachaConfig {
]
}
}
fn deserialize_pathbuf<'de, D>(deserializer: D) -> Result<PathBuf, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
Ok(PathBuf::from(s))
}