Compare commits

...
Author SHA1 Message Date
phoenix 904e50f981 Some refactoring
textsender_models PR / Rustfmt (pull_request) Successful in 32s
textsender_models PR / Check (pull_request) Has been cancelled
textsender_models PR / Clippy (pull_request) Has been cancelled
Release Tagging / release (pull_request) Successful in 35s
2026-07-01 22:57:45 -04:00
phoenix 6b84cc42d6 Removing async from functions
textsender_models PR / Rustfmt (pull_request) Successful in 35s
Release Tagging / release (pull_request) Successful in 39s
textsender_models PR / Clippy (pull_request) Successful in 1m23s
textsender_models PR / Check (pull_request) Successful in 1m29s
2026-07-01 22:53:09 -04:00
phoenix b25b651241 bump: textsender_models
textsender_models PR / Rustfmt (pull_request) Successful in 48s
textsender_models PR / Check (pull_request) Successful in 1m2s
Release Tagging / release (pull_request) Successful in 31s
textsender_models PR / Clippy (pull_request) Successful in 1m38s
2026-07-01 22:49:48 -04:00
phoenix cc6e6286c7 Adding test
textsender_models PR / Rustfmt (pull_request) Successful in 1m9s
textsender_models PR / Check (pull_request) Successful in 1m20s
textsender_models PR / Clippy (pull_request) Successful in 1m27s
Release Tagging / release (pull_request) Successful in 34s
2026-07-01 22:47:36 -04:00
5 changed files with 46 additions and 31 deletions
Generated
+1 -1
View File
@@ -1626,7 +1626,7 @@ dependencies = [
[[package]] [[package]]
name = "textsender_models" name = "textsender_models"
version = "0.4.10" version = "0.4.11"
dependencies = [ dependencies = [
"const_format", "const_format",
"dotenvy", "dotenvy",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "textsender_models" name = "textsender_models"
version = "0.4.10" version = "0.4.11"
edition = "2024" edition = "2024"
rust-version = "1.96" rust-version = "1.96"
description = "Models used for the textsender project" description = "Models used for the textsender project"
+5 -6
View File
@@ -20,12 +20,11 @@ impl TwilioConfig {
} }
} }
// TODO: Remove the async at a later point pub fn load_config() -> Result<TwilioConfig, std::io::Error> {
pub async fn load_config() -> Result<TwilioConfig, std::io::Error> { let auth_sid_var = crate::envy::environment::get_env("TWILIO_AUTH_SID");
let auth_sid_var = crate::envy::environment::get_env("TWILIO_AUTH_SID").await; let service_sid_var = crate::envy::environment::get_env("TWILIO_SERVICE_SID");
let service_sid_var = crate::envy::environment::get_env("TWILIO_SERVICE_SID").await; let auth_token_var = crate::envy::environment::get_env("TWILIO_AUTH_TOKEN");
let auth_token_var = crate::envy::environment::get_env("TWILIO_AUTH_TOKEN").await; let phone_number_var = crate::envy::environment::get_env("TWILIO_PHONE_NUMBER");
let phone_number_var = crate::envy::environment::get_env("TWILIO_PHONE_NUMBER").await;
if auth_sid_var.value.is_empty() if auth_sid_var.value.is_empty()
|| service_sid_var.value.is_empty() || service_sid_var.value.is_empty()
+14 -16
View File
@@ -1,6 +1,4 @@
// TODO: Functions does not need to be async pub fn get_db_url() -> crate::envy::EnvVar {
pub async fn get_db_url() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::DB_URL; let key = crate::envy::keys::DB_URL;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -8,7 +6,7 @@ pub async fn get_db_url() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_secret_main_key() -> crate::envy::EnvVar { pub fn get_secret_main_key() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::SECRET_MAIN_KEY; let key = crate::envy::keys::SECRET_MAIN_KEY;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -16,7 +14,7 @@ pub async fn get_secret_main_key() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_service_passphrase() -> crate::envy::EnvVar { pub fn get_service_passphrase() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::SERVICE_PASSPHRASE; let key = crate::envy::keys::SERVICE_PASSPHRASE;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -24,7 +22,7 @@ pub async fn get_service_passphrase() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_secret_key() -> crate::envy::EnvVar { pub fn get_secret_key() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::SECRET_KEY; let key = crate::envy::keys::SECRET_KEY;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -32,7 +30,7 @@ pub async fn get_secret_key() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_root_directory() -> crate::envy::EnvVar { pub fn get_root_directory() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::ROOT_DIRECTORY; let key = crate::envy::keys::ROOT_DIRECTORY;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -40,7 +38,7 @@ pub async fn get_root_directory() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_app_base_api_url() -> crate::envy::EnvVar { pub fn get_app_base_api_url() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::TEXTSENDER_BASE_API_URL; let key = crate::envy::keys::TEXTSENDER_BASE_API_URL;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -48,7 +46,7 @@ pub async fn get_app_base_api_url() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_app_auth_base_api_url() -> crate::envy::EnvVar { pub fn get_app_auth_base_api_url() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::TEXTSENDER_AUTH_BASE_API_URL; let key = crate::envy::keys::TEXTSENDER_AUTH_BASE_API_URL;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -56,7 +54,7 @@ pub async fn get_app_auth_base_api_url() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_app_env() -> crate::envy::EnvVar { pub fn get_app_env() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::APP_ENV; let key = crate::envy::keys::APP_ENV;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -64,14 +62,14 @@ pub async fn get_app_env() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_backend_port() -> crate::envy::EnvVar { pub fn get_backend_port() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::BACKEND_PORT; let key = crate::envy::keys::BACKEND_PORT;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_frontend_url() -> crate::envy::EnvVar { pub fn get_frontend_url() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::FRONTEND_URL; let key = crate::envy::keys::FRONTEND_URL;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -79,7 +77,7 @@ pub async fn get_frontend_url() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_rust_log() -> crate::envy::EnvVar { pub fn get_rust_log() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::RUST_LOG; let key = crate::envy::keys::RUST_LOG;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -87,7 +85,7 @@ pub async fn get_rust_log() -> crate::envy::EnvVar {
crate::envy::init_envvar(key, &value) crate::envy::init_envvar(key, &value)
} }
pub async fn get_allowed_origins() -> crate::envy::EnvVar { pub fn get_allowed_origins() -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let key = crate::envy::keys::ALLOWED_ORIGINS; let key = crate::envy::keys::ALLOWED_ORIGINS;
let value = std::env::var(key).expect(key); let value = std::env::var(key).expect(key);
@@ -98,8 +96,8 @@ pub async fn get_allowed_origins() -> crate::envy::EnvVar {
envvar envvar
} }
/// Get environment not specified in the code /// Get environment not specified in the library
pub async fn get_env(environment: &str) -> crate::envy::EnvVar { pub fn get_env(environment: &str) -> crate::envy::EnvVar {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
let my_error = format!("{environment} {}", crate::envy::keys::error::GENERAL_ERROR); let my_error = format!("{environment} {}", crate::envy::keys::error::GENERAL_ERROR);
let value = std::env::var(environment).expect(&my_error); let value = std::env::var(environment).expect(&my_error);
+25 -7
View File
@@ -20,16 +20,17 @@ pub fn init_envvar(key: &str, value: &str) -> EnvVar {
} }
pub fn init_delimiter(envvar: &mut EnvVar, delimiter: char) { pub fn init_delimiter(envvar: &mut EnvVar, delimiter: char) {
let mut amount_of_delimiters_found: i32 = 0; let amount_of_delimiters_found: i32 = {
let mut count = 0;
for v in envvar.value.chars() { for v in envvar.value.chars() {
if v == delimiter { if v == delimiter {
amount_of_delimiters_found += 1; count += 1;
}
} }
}
count
};
let has_delimiter = amount_of_delimiters_found >= 1; let has_delimiter = amount_of_delimiters_found >= 1;
if has_delimiter { if has_delimiter {
envvar.has_delimiter = has_delimiter; envvar.has_delimiter = has_delimiter;
envvar.delimiter = delimiter; envvar.delimiter = delimiter;
@@ -37,3 +38,20 @@ pub fn init_delimiter(envvar: &mut EnvVar, delimiter: char) {
envvar.has_delimiter = has_delimiter; envvar.has_delimiter = has_delimiter;
} }
} }
#[cfg(test)]
mod tests {
#[test]
fn test_init_delimiter() {
let delimiter: char = ',';
let value = format!("red,green,white,black");
let mut env_var = super::EnvVar {
key: String::from("COLORS"),
value: value.clone(),
..Default::default()
};
super::init_delimiter(&mut env_var, delimiter);
assert_eq!(value, env_var.value, "Colors do not match");
}
}