From 3c8b004d6ecb6764cd5bc935aaeaf884040320ab Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Tue, 20 Aug 2024 17:50:24 +0200 Subject: Init --- src/config.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/config.rs (limited to 'src/config.rs') diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 0000000..cbea92e --- /dev/null +++ b/src/config.rs @@ -0,0 +1,23 @@ +use config::ConfigError; +use lazy_static::lazy_static; +use serde::Deserialize; + +#[derive(Deserialize)] +pub struct Configuration { + pub rust_log: String, + pub database_url: String, + pub jwt_secret: String, + pub allowed_host: String, +} + +impl Configuration { + pub fn new() -> Result { + let builder = config::Config::builder().add_source(config::Environment::default()); + + builder.build()?.try_deserialize() + } +} + +lazy_static! { + pub static ref CONFIG: Configuration = Configuration::new().expect("Config can be loaded"); +} -- cgit v1.2.3-18-g5258