From 130e7cc25ea3e5d7eec58c3059f3f1a9b892a59f Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 10 Oct 2025 16:34:22 -0400 Subject: [PATCH 1/5] icarus_envy version bump --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c793376..f89edee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -786,8 +786,8 @@ dependencies = [ [[package]] name = "icarus_envy" -version = "0.3.5" -source = "git+ssh://git@git.kundeng.us/phoenix/icarus_envy.git?tag=v0.3.5-main-86c5050c7b-006#86c5050c7bd5164bc6e773fc404195023f7f7aaa" +version = "0.4.1" +source = "git+ssh://git@git.kundeng.us/phoenix/icarus_envy.git?tag=v0.4.1-main-8f0d123db5-006#8f0d123db51b18e9cc4ab5bd39a474ba99bd39c3" dependencies = [ "const_format", "dotenvy", diff --git a/Cargo.toml b/Cargo.toml index 081b602..d8995d0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ josekit = { version = "0.10.3" } utoipa = { version = "5.4.0", features = ["axum_extras"] } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.5.6" } -icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.3.5-main-86c5050c7b-006" } +icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.4.1-main-8f0d123db5-006" } [dev-dependencies] http-body-util = { version = "0.1.3" } -- 2.43.0 From a89415178d7cad95ec1988c58ac883d3bf4b7a42 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 10 Oct 2025 16:45:23 -0400 Subject: [PATCH 2/5] icarus_envy related changes --- src/callers/login.rs | 6 +++--- src/lib.rs | 2 +- src/main.rs | 15 ++++++++++----- src/token_stuff/mod.rs | 2 +- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/callers/login.rs b/src/callers/login.rs index 5772d86..396fff6 100644 --- a/src/callers/login.rs +++ b/src/callers/login.rs @@ -96,7 +96,7 @@ pub mod endpoint { Ok(user) => { if hashing::verify_password(&payload.password, user.password.clone()).unwrap() { // Create token - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; let (token_literal, duration) = token_stuff::create_token(&key, &user.id).unwrap(); @@ -155,7 +155,7 @@ pub mod endpoint { match repo::service::valid_passphrase(&pool, &payload.passphrase).await { Ok((id, _passphrase, _date_created)) => { - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; let (token_literal, duration) = token_stuff::create_service_token(&key, &id).unwrap(); @@ -207,7 +207,7 @@ pub mod endpoint { axum::Json, ) { let mut response = response::refresh_token::Response::default(); - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; if token_stuff::verify_token(&key, &payload.access_token) { let token_type = token_stuff::get_token_type(&key, &payload.access_token).unwrap(); diff --git a/src/lib.rs b/src/lib.rs index 75c5de2..19c66a2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,7 +16,7 @@ pub mod db { use crate::connection_settings; pub async fn create_pool() -> Result { - let database_url = icarus_envy::environment::get_db_url().await; + let database_url = icarus_envy::environment::get_db_url().await.value; println!("Database url: {database_url}"); PgPoolOptions::new() diff --git a/src/main.rs b/src/main.rs index 0a290b1..d228321 100644 --- a/src/main.rs +++ b/src/main.rs @@ -66,11 +66,16 @@ mod init { match std::env::var(icarus_envy::keys::APP_ENV).as_deref() { Ok("production") => { let allowed_origins_env = icarus_envy::environment::get_allowed_origins().await; - let allowed_origins: Vec = allowed_origins_env - .split(",") - .map(|s| s.parse::().unwrap()) - .collect(); - cors.allow_origin(allowed_origins) + match icarus_envy::utility::delimitize(&allowed_origins_env) { + Ok(alwd) => { + let allowed_origins: Vec = alwd.into_iter().map(|s| s.parse::().unwrap()).collect(); + cors.allow_origin(allowed_origins) + } + Err(err) => { + eprintln!("Could not parse out allowed origins from env: Error: {err:?}"); + std::process::exit(-1); + } + } } _ => { // Development (default): Allow localhost origins diff --git a/src/token_stuff/mod.rs b/src/token_stuff/mod.rs index 64e4429..d260352 100644 --- a/src/token_stuff/mod.rs +++ b/src/token_stuff/mod.rs @@ -124,7 +124,7 @@ mod tests { #[test] fn test_tokenize() { let rt = tokio::runtime::Runtime::new().unwrap(); - let special_key = rt.block_on(icarus_envy::environment::get_secret_key()); + let special_key = rt.block_on(icarus_envy::environment::get_secret_key()).value; let id = uuid::Uuid::new_v4(); match create_token(&special_key, &id) { Ok((token, _duration)) => { -- 2.43.0 From 8a9bcce8f26b16ea626cd843c9995f1a94891341 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 10 Oct 2025 16:45:36 -0400 Subject: [PATCH 3/5] Code formatting --- src/main.rs | 9 +++++++-- src/token_stuff/mod.rs | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index d228321..4efe1b2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -68,11 +68,16 @@ mod init { let allowed_origins_env = icarus_envy::environment::get_allowed_origins().await; match icarus_envy::utility::delimitize(&allowed_origins_env) { Ok(alwd) => { - let allowed_origins: Vec = alwd.into_iter().map(|s| s.parse::().unwrap()).collect(); + let allowed_origins: Vec = alwd + .into_iter() + .map(|s| s.parse::().unwrap()) + .collect(); cors.allow_origin(allowed_origins) } Err(err) => { - eprintln!("Could not parse out allowed origins from env: Error: {err:?}"); + eprintln!( + "Could not parse out allowed origins from env: Error: {err:?}" + ); std::process::exit(-1); } } diff --git a/src/token_stuff/mod.rs b/src/token_stuff/mod.rs index d260352..b6a6f9a 100644 --- a/src/token_stuff/mod.rs +++ b/src/token_stuff/mod.rs @@ -124,7 +124,9 @@ mod tests { #[test] fn test_tokenize() { let rt = tokio::runtime::Runtime::new().unwrap(); - let special_key = rt.block_on(icarus_envy::environment::get_secret_key()).value; + let special_key = rt + .block_on(icarus_envy::environment::get_secret_key()) + .value; let id = uuid::Uuid::new_v4(); match create_token(&special_key, &id) { Ok((token, _duration)) => { -- 2.43.0 From 7881a865aeeeb2cbe927d251937e62eb12402797 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 10 Oct 2025 16:46:08 -0400 Subject: [PATCH 4/5] Version bump --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f89edee..0af7646 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -759,7 +759,7 @@ dependencies = [ [[package]] name = "icarus_auth" -version = "0.5.1" +version = "0.5.2" dependencies = [ "argon2", "axum", diff --git a/Cargo.toml b/Cargo.toml index d8995d0..4de6d42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus_auth" -version = "0.5.1" +version = "0.5.2" edition = "2024" rust-version = "1.88" -- 2.43.0 From 750d77fe4d9e7e0bb8d01beb004dcfdaa59d9a9c Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 10 Oct 2025 16:49:24 -0400 Subject: [PATCH 5/5] Fixed tests --- src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 4efe1b2..8e3db29 100644 --- a/src/main.rs +++ b/src/main.rs @@ -158,7 +158,7 @@ mod tests { pub const LIMIT: usize = 6; pub async fn get_pool() -> Result { - let tm_db_url = icarus_envy::environment::get_db_url().await; + let tm_db_url = icarus_envy::environment::get_db_url().await.value; let tm_options = sqlx::postgres::PgConnectOptions::from_str(&tm_db_url).unwrap(); sqlx::PgPool::connect_with(tm_options).await } @@ -171,7 +171,7 @@ mod tests { } pub async fn connect_to_db(db_name: &str) -> Result { - let db_url = icarus_envy::environment::get_db_url().await; + let db_url = icarus_envy::environment::get_db_url().await.value; let options = sqlx::postgres::PgConnectOptions::from_str(&db_url)?.database(db_name); sqlx::PgPool::connect_with(options).await } @@ -198,7 +198,7 @@ mod tests { } pub async fn get_database_name() -> Result> { - let database_url = icarus_envy::environment::get_db_url().await; + let database_url = icarus_envy::environment::get_db_url().await.value; let parsed_url = url::Url::parse(&database_url)?; if parsed_url.scheme() == "postgres" || parsed_url.scheme() == "postgresql" { @@ -501,7 +501,7 @@ mod tests { let app = init::routes().await.layer(axum::Extension(pool)); let id = uuid::Uuid::parse_str("22f9c775-cce9-457a-a147-9dafbb801f61").unwrap(); - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; match icarus_auth::token_stuff::create_service_token(&key, &id) { Ok((token, _expire)) => { -- 2.43.0