From 73eedf829d789bedba22aa99956beeb43862b444 Mon Sep 17 00:00:00 2001 From: phoenix Date: Thu, 30 Oct 2025 19:36:06 +0000 Subject: [PATCH] icarus_models version bump (#69) Reviewed-on: https://git.kundeng.us/phoenix/songparser/pulls/69 Co-authored-by: phoenix Co-committed-by: phoenix --- Cargo.lock | 6 +++--- Cargo.toml | 4 ++-- src/api.rs | 7 ++----- src/parser/mod.rs | 26 +++++++++++++++++--------- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 76d9fbd..b7380c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -520,8 +520,8 @@ dependencies = [ [[package]] name = "icarus_models" -version = "0.8.3" -source = "git+ssh://git@git.kundeng.us/phoenix/icarus_models.git?tag=v0.8.3#0a27b8ccb1ac40361df8d3131f567f37f06cdc08" +version = "0.9.2" +source = "git+ssh://git@git.kundeng.us/phoenix/icarus_models.git?tag=v0.9.2#05525618514409101c1d6474dafb201386d14a30" dependencies = [ "josekit", "rand", @@ -1322,7 +1322,7 @@ dependencies = [ [[package]] name = "songparser" -version = "0.4.10" +version = "0.4.11" dependencies = [ "futures", "icarus_envy", diff --git a/Cargo.toml b/Cargo.toml index 73c6d5d..9add169 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "songparser" -version = "0.4.10" +version = "0.4.11" edition = "2024" rust-version = "1.90" @@ -14,5 +14,5 @@ time = { version = "0.3.44", features = ["macros", "serde"] } uuid = { version = "1.18.1", features = ["v4", "serde"] } rand = { version = "0.9.2" } icarus_meta = { git = "ssh://git@git.kundeng.us/phoenix/icarus_meta.git", tag = "v0.4.3" } -icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.8.3" } +icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.9.2" } icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.5.0" } diff --git a/src/api.rs b/src/api.rs index 01be8b9..777dad2 100644 --- a/src/api.rs +++ b/src/api.rs @@ -1,5 +1,4 @@ pub mod fetch_next_queue_item { - pub async fn fetch_next_queue_item( app: &crate::config::App, ) -> Result { @@ -12,9 +11,7 @@ pub mod fetch_next_queue_item { } pub mod response { - use serde::{Deserialize, Serialize}; - - #[derive(Debug, Deserialize, Serialize)] + #[derive(Debug, serde::Deserialize, serde::Serialize)] pub struct QueueItem { pub id: uuid::Uuid, pub filename: String, @@ -22,7 +19,7 @@ pub mod fetch_next_queue_item { pub user_id: uuid::Uuid, } - #[derive(Debug, Deserialize, Serialize)] + #[derive(Debug, serde::Deserialize, serde::Serialize)] pub struct SongQueueItem { pub message: String, pub data: Vec, diff --git a/src/parser/mod.rs b/src/parser/mod.rs index 2a3b3b9..8c3220a 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -107,9 +107,10 @@ pub async fn prep_song( let song = icarus_models::song::Song { directory: icarus_envy::environment::get_root_directory().await.value, filename: icarus_models::song::generate_filename( - icarus_models::types::MusicTypes::FlacExtension, + icarus_models::types::MusicType::FlacExtension, true, - ), + ) + .unwrap(), data: song_bytes, ..Default::default() }; @@ -218,17 +219,24 @@ async fn init_queued_coverart( bytes: Vec, ) -> crate::queued_item::QueuedCoverArt { // TODO: Consider separating song and coverart when saving to the filesystem - let covart_type = if file_type == "png" { - icarus_models::types::CoverArtTypes::PngExtension - } else if file_type == "jpeg" { - icarus_models::types::CoverArtTypes::JpegExtension + let covart_type = if file_type == icarus_meta::detection::coverart::constants::PNG_TYPE { + icarus_models::types::CoverArtType::PngExtension + } else if file_type == icarus_meta::detection::coverart::constants::JPEG_TYPE { + icarus_models::types::CoverArtType::JpegExtension + } else if file_type == icarus_meta::detection::coverart::constants::JPG_TYPE { + icarus_models::types::CoverArtType::JpgExtension } else { - // TODO: This doesn't seem right - icarus_models::types::CoverArtTypes::JpgExtension + icarus_models::types::CoverArtType::None }; let coverart = icarus_models::coverart::CoverArt { directory: icarus_envy::environment::get_root_directory().await.value, - filename: icarus_models::coverart::generate_filename(covart_type, true), + filename: match icarus_models::coverart::generate_filename(covart_type, true) { + Ok(filename) => filename, + Err(err) => { + eprintln!("Error generating CoverArt filename: {err:?}"); + panic!("Error initializing queued CoverArt"); + } + }, data: bytes, ..Default::default() };