Add config deserialization
Co-authored-by: Elias Schriefer
This commit is contained in:
22
src/main.rs
22
src/main.rs
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user