diff --git a/Cargo.lock b/Cargo.lock index 85333b8..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", @@ -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..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" @@ -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" } diff --git a/src/auth.rs b/src/auth.rs index f3bf405..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 @@ -95,7 +90,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..a373fb0 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,19 @@ 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