Add config deserialization

Co-authored-by: Elias Schriefer
This commit is contained in:
2021-06-08 13:57:04 +00:00
parent 9b4246a078
commit b04b61adbd
3 changed files with 34 additions and 1 deletions

View File

@@ -1,15 +1,35 @@
use structopt::StructOpt;
use std::path::PathBuf;
use serde::Deserialize;
const DEFAULT_DATABASE_PATH: &'static str = "/var/lib/noise-server/noise-server.sqlite";
#[derive(Debug, StructOpt)]
struct Options {
#[structopt(short, long, default_value = "/etc/noise-server/config.toml")]
config: PathBuf,
#[structopt(short, long, default_value = "/var/lib/noise-server/noise-server.sqlite")]
#[structopt(short, long, default_value = DEFAULT_DATABASE_PATH)]
database_path: PathBuf,
}
#[derive(Debug, Deserialize)]
#[serde(default)]
struct Config {
database_path: PathBuf,
}
impl Default for Config {
fn default() -> Self {
Config {
database_path: DEFAULT_DATABASE_PATH.into(),
}
}
}
fn main() {
let options = Options::from_args();
#[cfg(debug_assertions)]
println!("{:?}", options);
}