From 6293a4287c544c4a2bcb35cb8f71d3ed3b55f74d Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Fri, 10 Oct 2025 16:57:11 -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 85333b8..fcdcc87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -872,8 +872,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 5a52206..8cd1fdf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ utoipa = { version = "5.4.0", features = ["axum_extras"] } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } icarus_meta = { git = "ssh://git@git.kundeng.us/phoenix/icarus_meta.git", tag = "v0.3.0" } 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] common-multipart-rfc7578 = { version = "0.7.0" } -- 2.47.3 From c9997514b585182430835857742d0332f3560dd9 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Fri, 10 Oct 2025 18:58:22 -0400 Subject: [PATCH 2/5] icarus_envy related changes --- src/auth.rs | 2 +- src/callers/coverart.rs | 2 +- src/callers/song.rs | 2 +- src/main.rs | 15 +++++++++++++-- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/auth.rs b/src/auth.rs index f3bf405..6f9da6c 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -95,7 +95,7 @@ pub async fn auth( (StatusCode::UNAUTHORIZED, Json(json_error)) })?; - let secret_key = icarus_envy::environment::get_secret_main_key().await; + let secret_key = icarus_envy::environment::get_secret_main_key().await.value; let mut validation = Validation::new(jsonwebtoken::Algorithm::HS256); validation.set_audience(&["icarus"]); // Must match exactly what's in the token diff --git a/src/callers/coverart.rs b/src/callers/coverart.rs index b386c1b..3aea352 100644 --- a/src/callers/coverart.rs +++ b/src/callers/coverart.rs @@ -702,7 +702,7 @@ pub mod endpoint { let song_id = payload.song_id; match crate::callers::song::song_db::get_song(&pool, &song_id).await { Ok(song) => { - let directory = icarus_envy::environment::get_root_directory().await; + let directory = icarus_envy::environment::get_root_directory().await.value; let dir = std::path::Path::new(&directory); // TODO: Make this random and the file extension should not be hard coded diff --git a/src/callers/song.rs b/src/callers/song.rs index 2051fda..1929e69 100644 --- a/src/callers/song.rs +++ b/src/callers/song.rs @@ -1209,7 +1209,7 @@ pub mod endpoint { let mut song = payload.to_song(); song.filename = song.generate_filename(icarus_models::types::MusicTypes::FlacExtension, true); - song.directory = icarus_envy::environment::get_root_directory().await; + song.directory = icarus_envy::environment::get_root_directory().await.value; match song_queue::get_data(&pool, &payload.song_queue_id).await { Ok(data) => { diff --git a/src/main.rs b/src/main.rs index 1e39cdd..66a472b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,7 +10,7 @@ pub mod db { } 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() @@ -82,11 +82,22 @@ pub mod init { Ok("production") => { // In production, allow only your specific, trusted origins 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(|a| a.parse::().unwrap()).collect(); + cors.allow_origin(allowed_origins) + } + Err(err) => { + eprintln!("Error getting allowed origins: Error: {err:?}"); + std::process::exit(-1); + } + } } _ => { // Development (default): Allow localhost origins -- 2.47.3 From c5bc2bae9f19b10f0c72b835778b41bae1602192 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Fri, 10 Oct 2025 18:58:34 -0400 Subject: [PATCH 3/5] Code formatting --- src/main.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 66a472b..517e0ab 100644 --- a/src/main.rs +++ b/src/main.rs @@ -90,7 +90,10 @@ pub mod init { */ match icarus_envy::utility::delimitize(&allowed_origins_env) { Ok(alwd) => { - let allowed_origins: Vec = alwd.into_iter().map(|a| a.parse::().unwrap()).collect(); + let allowed_origins: Vec = alwd + .into_iter() + .map(|a| a.parse::().unwrap()) + .collect(); cors.allow_origin(allowed_origins) } Err(err) => { -- 2.47.3 From 7e9204e1fe0177ae7ebe341dc6102e4ad35396fa Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Fri, 10 Oct 2025 19:00:43 -0400 Subject: [PATCH 4/5] Code cleanup --- src/auth.rs | 5 ----- src/main.rs | 6 ------ 2 files changed, 11 deletions(-) diff --git a/src/auth.rs b/src/auth.rs index 6f9da6c..6950308 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -1,6 +1,3 @@ -// use std::collections::BTreeMap; -// use std::sync::Arc; - use axum::{ Json, http::{Request, StatusCode}, @@ -10,9 +7,7 @@ use axum::{ use axum_extra::extract::cookie::CookieJar; use jsonwebtoken::{DecodingKey, Validation, decode}; use serde::{Deserialize, Serialize}; -// use serde_json::{json, Value}; use thiserror::Error; -// use time::OffsetDateTime; fn deserialize_i64_from_f64<'de, D>(deserializer: D) -> Result where diff --git a/src/main.rs b/src/main.rs index 517e0ab..a373fb0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -82,12 +82,6 @@ pub mod init { Ok("production") => { // In production, allow only your specific, trusted origins 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(); - */ match icarus_envy::utility::delimitize(&allowed_origins_env) { Ok(alwd) => { let allowed_origins: Vec = alwd -- 2.47.3 From c1df5e54c6ec6d617ab1331b78152aade630b3c2 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Fri, 10 Oct 2025 19:01:15 -0400 Subject: [PATCH 5/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 fcdcc87..55709a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -840,7 +840,7 @@ dependencies = [ [[package]] name = "icarus" -version = "0.2.1" +version = "0.2.2" dependencies = [ "axum", "axum-extra", diff --git a/Cargo.toml b/Cargo.toml index 8cd1fdf..48a7d2e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus" -version = "0.2.1" +version = "0.2.2" edition = "2024" rust-version = "1.88" -- 2.47.3