From 92449aa8077bb7e77872fefa9fdda6e9b5c5cc8e Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Wed, 18 Jun 2025 19:26:01 -0400 Subject: [PATCH 1/4] Reorganizing metadata queue code --- src/callers/metadata.rs | 94 ++++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 44 deletions(-) diff --git a/src/callers/metadata.rs b/src/callers/metadata.rs index 3f8c8e9..3a37dee 100644 --- a/src/callers/metadata.rs +++ b/src/callers/metadata.rs @@ -1,40 +1,43 @@ // TODO: Explicitly make this module target queueing a song's metadata pub mod request { - use serde::{Deserialize, Serialize}; - #[derive(Debug, Default, Deserialize, Serialize, sqlx::FromRow)] - pub struct Request { - pub id: uuid::Uuid, - pub album: String, - pub album_artist: String, - pub artist: String, - pub disc: i32, - pub disc_count: i32, - pub duration: i64, - pub genre: String, - pub title: String, - pub track: i32, - pub track_count: i32, - pub year: i32, - } + pub mod queue_metadata { + use serde::{Deserialize, Serialize}; - impl Request { - pub async fn to_json_value(&self) -> serde_json::Value { - serde_json::json!( - { - "id": &self.id, - "album": &self.album, - "album_artist": &self.album_artist, - "genre": &self.genre, - "year": &self.year, - "track_count": &self.track_count, - "disc_count": &self.disc_count, - "title": &self.title, - "artist": &self.artist, - "disc": &self.disc, - "track": &self.track, - "duration": &self.duration, - }) + #[derive(Debug, Default, Deserialize, Serialize, sqlx::FromRow)] + pub struct Request { + pub song_queue_id: uuid::Uuid, + pub album: String, + pub album_artist: String, + pub artist: String, + pub disc: i32, + pub disc_count: i32, + pub duration: i64, + pub genre: String, + pub title: String, + pub track: i32, + pub track_count: i32, + pub year: i32, + } + + impl Request { + pub async fn to_json_value(&self) -> serde_json::Value { + serde_json::json!( + { + "song_queue_id": &self.song_queue_id, + "album": &self.album, + "album_artist": &self.album_artist, + "genre": &self.genre, + "year": &self.year, + "track_count": &self.track_count, + "disc_count": &self.disc_count, + "title": &self.title, + "artist": &self.artist, + "disc": &self.disc, + "track": &self.track, + "duration": &self.duration, + }) + } } } @@ -50,12 +53,15 @@ pub mod request { } pub mod response { - use serde::{Deserialize, Serialize}; - #[derive(Default, Deserialize, Serialize)] - pub struct Response { - pub message: String, - pub data: Vec, + pub mod queue_metadata { + use serde::{Deserialize, Serialize}; + + #[derive(Default, Deserialize, Serialize)] + pub struct Response { + pub message: String, + pub data: Vec, + } } pub mod fetch_metadata { @@ -203,14 +209,14 @@ pub mod endpoint { pub async fn queue_metadata( axum::Extension(pool): axum::Extension, - Json(payload): Json, - ) -> (StatusCode, Json) { + Json(payload): Json, + ) -> (StatusCode, Json) { let mut results: Vec = Vec::new(); - let mut response = super::response::Response::default(); + let mut response = super::response::queue_metadata::Response::default(); let meta = payload.to_json_value().await; - match super::metadata_queue::insert(&pool, &meta, &payload.id).await { - Ok(id) => { - results.push(id); + match super::metadata_queue::insert(&pool, &meta, &payload.song_queue_id).await { + Ok(metadata_queue_id) => { + results.push(metadata_queue_id); response.data = results; response.message = if response.data.is_empty() { String::from("Error") -- 2.47.3 From 7ff3502cc1904070f0be4de7c52bd2e760f3e8f6 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Wed, 18 Jun 2025 19:36:35 -0400 Subject: [PATCH 2/4] Function name change --- src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 572dd37..35e4727 100644 --- a/src/main.rs +++ b/src/main.rs @@ -327,7 +327,7 @@ mod tests { app: &axum::Router, id: &uuid::Uuid, ) -> Result { - let payload = payload_data(&id).await; + let payload = queue_metadata_payload_data(&id).await; let req = axum::http::Request::builder() .method(axum::http::Method::POST) @@ -600,7 +600,7 @@ mod tests { serde_json::from_slice(&body).unwrap() } - pub async fn payload_data(id: &uuid::Uuid) -> serde_json::Value { + pub async fn queue_metadata_payload_data(id: &uuid::Uuid) -> serde_json::Value { serde_json::json!( { "id": id, -- 2.47.3 From 01e045495b8758980453bcc2e32fc68f5fb1d159 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Wed, 18 Jun 2025 19:38:35 -0400 Subject: [PATCH 3/4] Test payload changes --- src/main.rs | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/main.rs b/src/main.rs index 35e4727..a838081 100644 --- a/src/main.rs +++ b/src/main.rs @@ -327,7 +327,7 @@ mod tests { app: &axum::Router, id: &uuid::Uuid, ) -> Result { - let payload = queue_metadata_payload_data(&id).await; + let payload = payload_data::queue_metadata_payload_data(&id).await; let req = axum::http::Request::builder() .method(axum::http::Method::POST) @@ -600,22 +600,24 @@ mod tests { serde_json::from_slice(&body).unwrap() } - pub async fn queue_metadata_payload_data(id: &uuid::Uuid) -> serde_json::Value { - serde_json::json!( - { - "id": id, - "album" : "Machine Gun: The FillMore East First Show", - "album_artist" : "Jimi Hendrix", - "artist" : "Jimi Hendrix", - "disc" : 1, - "disc_count" : 1, - "duration" : 330, - "genre" : "Psychadelic Rock", - "title" : "Power of Soul", - "track" : 1, - "track_count" : 11, - "year" : 2016 - }) + pub mod payload_data { + pub async fn queue_metadata_payload_data(id: &uuid::Uuid) -> serde_json::Value { + serde_json::json!( + { + "song_queue_id": id, + "album" : "Machine Gun: The FillMore East First Show", + "album_artist" : "Jimi Hendrix", + "artist" : "Jimi Hendrix", + "disc" : 1, + "disc_count" : 1, + "duration" : 330, + "genre" : "Psychadelic Rock", + "title" : "Power of Soul", + "track" : 1, + "track_count" : 11, + "year" : 2016 + }) + } } #[tokio::test] -- 2.47.3 From cf4383fc9aa81eccfd30d3f89d848054c4e05e68 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Wed, 18 Jun 2025 19:43:54 -0400 Subject: [PATCH 4/4] function parameter name change --- src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index a838081..472838c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -325,9 +325,9 @@ mod tests { async fn queue_metadata_req( app: &axum::Router, - id: &uuid::Uuid, + song_queue_id: &uuid::Uuid, ) -> Result { - let payload = payload_data::queue_metadata_payload_data(&id).await; + let payload = payload_data::queue_metadata_payload_data(&song_queue_id).await; let req = axum::http::Request::builder() .method(axum::http::Method::POST) @@ -601,10 +601,10 @@ mod tests { } pub mod payload_data { - pub async fn queue_metadata_payload_data(id: &uuid::Uuid) -> serde_json::Value { + pub async fn queue_metadata_payload_data(song_queue_id: &uuid::Uuid) -> serde_json::Value { serde_json::json!( { - "song_queue_id": id, + "song_queue_id": song_queue_id, "album" : "Machine Gun: The FillMore East First Show", "album_artist" : "Jimi Hendrix", "artist" : "Jimi Hendrix", -- 2.47.3