From 3beef739a4ccdaacdcdc6c02936cd0fd3d31d550 Mon Sep 17 00:00:00 2001 From: Patryk Hegenberg Date: Thu, 9 May 2024 16:03:15 +0200 Subject: [PATCH] refactor(cli): add an own config.rs file for the config logic --- caesar-cli/src/cli/args.rs | 2 +- caesar-cli/src/config.rs | 20 ++++++++++++++++++++ caesar-cli/src/main.rs | 21 +-------------------- 3 files changed, 22 insertions(+), 21 deletions(-) create mode 100644 caesar-cli/src/config.rs diff --git a/caesar-cli/src/cli/args.rs b/caesar-cli/src/cli/args.rs index d5b90dd..5c114fa 100644 --- a/caesar-cli/src/cli/args.rs +++ b/caesar-cli/src/cli/args.rs @@ -5,7 +5,7 @@ use clap::{Parser, Subcommand}; use std::{env, sync::Arc}; use tracing::debug; -use crate::GLOBAL_CONFIG; +use crate::config::GLOBAL_CONFIG; #[derive(Parser, Debug)] #[command(version = env!("CARGO_PKG_VERSION"), about = "Send and receive files securely")] diff --git a/caesar-cli/src/config.rs b/caesar-cli/src/config.rs new file mode 100644 index 0000000..8904a54 --- /dev/null +++ b/caesar-cli/src/config.rs @@ -0,0 +1,20 @@ +use lazy_static::lazy_static; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Serialize, Deserialize, PartialEq, Eq)] +pub struct CaesarConfig { + pub app_environment: String, + pub app_host: String, + pub app_port: String, + pub app_origin: String, + pub app_relay: String, + pub rust_log: String, +} + +lazy_static! { + pub static ref GLOBAL_CONFIG: CaesarConfig = { + let cfg: CaesarConfig = confy::load("caesar", "caesar") + .expect("Konfigurationsdatei konnte nicht geladen werden"); + cfg + }; +} diff --git a/caesar-cli/src/main.rs b/caesar-cli/src/main.rs index 3077379..cb57124 100644 --- a/caesar-cli/src/main.rs +++ b/caesar-cli/src/main.rs @@ -1,29 +1,10 @@ use crate::cli::args::Args; use dotenvy::dotenv; -use lazy_static::lazy_static; -use serde::{self, Deserialize, Serialize}; use tracing::error; use tracing_subscriber::filter::EnvFilter; mod cli; - -#[derive(Debug, Default, Serialize, Deserialize, PartialEq, Eq)] -struct CaesarConfig { - app_environment: String, - app_host: String, - app_port: String, - app_origin: String, - app_relay: String, - rust_log: String, -} - -lazy_static! { - static ref GLOBAL_CONFIG: CaesarConfig = { - let cfg: CaesarConfig = confy::load("caesar", "caesar") - .expect("Konfigurationsdatei konnte nicht geladen werden"); - cfg - }; -} +mod config; #[tokio::main] async fn main() -> Result<(), Box> {