use serde::Deserialize;
use std::net::SocketAddr;
#[derive(Deserialize, Debug)]
pub struct Config {
pub addr: SocketAddr,
pub log_level: String,
pub opensearch_url: String,
pub jwt_secret: String,
}
impl Config {
pub fn from_env() -> Result<Self, config::ConfigError> {
let cfg = config::Config::builder()
.add_source(config::File::with_name("config").required(false))
.add_source(config::Environment::with_prefix("APP").separator("__"))
.build()?;
cfg.try_deserialize()
}
}