use config::{Config, Environment, File};
use serde::de::DeserializeOwned;
pub fn get_settings<T: DeserializeOwned>(prefix: String) -> T {
let mut settings = Config::default();
settings
.merge(File::with_name("Settings").required(false))
.expect("Failed to parse settings file")
.merge(Environment::with_prefix(&prefix))
.expect("Failed to parse settings env");
settings.try_into().expect("Invalid settings")
}