From 41b7b78b7487b028cc829131aaeaafca70d0f14e Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 7 Jul 2026 14:50:39 -0400 Subject: [PATCH] Code refactoring --- src/app.rs | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/app.rs b/src/app.rs index 7d840e7..d0e29af 100644 --- a/src/app.rs +++ b/src/app.rs @@ -20,13 +20,13 @@ pub fn load_app() -> Result { let service_passphrase_env = envy::environment::get_env("SERVICE_PASSPHRASE"); let envs = vec![ - api_url_env, - auth_url_env, - service_username_env, - service_passphrase_env, + &api_url_env, + &auth_url_env, + &service_username_env, + &service_passphrase_env, ]; - let check_envs = |vs: &Vec| -> (bool, Option) { + let check_envs = |vs: &Vec<&envy::EnvVar>| -> (bool, Option) { for env in vs { if env.value.is_empty() { return (false, Some(format!("Key {} is not provided", env.key))); @@ -36,19 +36,25 @@ pub fn load_app() -> Result { }; let (envs_valid, reason) = check_envs(&envs); - if envs_valid { + let auth_url: String = auth_url_env.value; + let api_url: String = api_url_env.value; + let service_username: String = service_username_env.value; + let service_passphrase: String = service_passphrase_env.value; match textsender_models::config::auxiliary::load_config() { Ok(twilio_config) => Ok(App { - api_url: envs[0].value.clone(), - auth_url: envs[1].value.clone(), - service_username: envs[2].value.clone(), - service_passphrase: envs[3].value.clone(), + api_url, + auth_url, + service_username, + service_passphrase, twilio_config, }), Err(err) => Err(err), } } else { - Err(std::io::Error::other(reason.unwrap())) + match reason { + Some(reason) => Err(std::io::Error::other(reason)), + None => Err(std::io::Error::other("No reason found")), + } } }