From c9997514b585182430835857742d0332f3560dd9 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Fri, 10 Oct 2025 18:58:22 -0400 Subject: [PATCH] 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