From a3217da24734b3913d45b0dbb4dc7e925aaa2dc2 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 15 Jul 2025 14:40:27 -0400 Subject: [PATCH 1/7] Add code to create CoverArt --- src/the_rest.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/the_rest.rs b/src/the_rest.rs index 8afffe7..e319262 100644 --- a/src/the_rest.rs +++ b/src/the_rest.rs @@ -45,5 +45,32 @@ pub mod create_song { } // TODO: Create coverart +pub mod create_coverart { + + pub async fn create(base_url: &String, song_id: &uuid::Uuid, coverart_queue_id: &uuid::Uuid) -> Result { + let client = reqwest::Client::builder().build()?; + let url = format!("{base_url}/api/v2/coverart"); + let payload = get_payload(song_id, coverart_queue_id); + let request = client.post(url).json(&payload); + + request.send().await + } + + fn get_payload(song_id: &uuid::Uuid, coverart_queue_id: &uuid::Uuid) -> serde_json::Value { + serde_json::json!({ + "song_id": &song_id, + "coverart_queue_id": &coverart_queue_id, + }) + } + + pub mod response { + #[derive(Debug, serde::Deserialize, serde::Serialize)] + pub struct Response { + pub message: String, + pub data: Vec, + } + } +} + // TODO: Wipe data from queued song // TODO: Wipe data from queued coverart -- 2.43.0 From a8c98cb9ab7b173db8c04cd27b07d1a0570ccca7 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 15 Jul 2025 14:40:46 -0400 Subject: [PATCH 2/7] Calling the_rest::create_coverart::create() --- src/main.rs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7bb1141..7c1e294 100644 --- a/src/main.rs +++ b/src/main.rs @@ -111,15 +111,21 @@ async fn some_work( println!("Response: {resp:?}"); let song = &resp.data[0]; - let url = format!("{app_base_url}/api/v2/coverart"); - let payload = serde_json::json!({ - "song_id": &song.id, - "coverart_queue_id": &coverart_queue_id, - }); - println!("Payload: {payload:?}"); - println!("Url: {url:?}"); - // println!("Response json: {:?}", response.text().await); - Ok(()) + match the_rest::create_coverart::create(app_base_url, &song.id, &coverart_queue_id).await { + Ok(response) => match response.json::().await { + Ok(resp) => { + println!("CoverArt sent and successfully parsed response"); + println!("json: {resp:?}"); + Ok(()) + } + Err(err) => { + Err(std::io::Error::other(err.to_string())) + } + } + Err(err) => { + Err(std::io::Error::other(err.to_string())) + } + } } Err(err) => Err(std::io::Error::other(err.to_string())), }, -- 2.43.0 From 9e3f533865397bdffdea1a5edab9bf4dbfaa8a4f Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 15 Jul 2025 14:53:16 -0400 Subject: [PATCH 3/7] Updated icarus_models --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b8911f2..ce223dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -518,8 +518,8 @@ dependencies = [ [[package]] name = "icarus_models" -version = "0.5.0" -source = "git+ssh://git@git.kundeng.us/phoenix/icarus_models.git?tag=v0.5.0-devel-7958b89abc-111#7958b89abc56bc9262015b3e201ea2906cc8a9ff" +version = "0.4.5" +source = "git+ssh://git@git.kundeng.us/phoenix/icarus_models.git?tag=v0.4.5-devel-655d05dabb-111#655d05dabbdadb9b28940564a1eb82470aa4f166" dependencies = [ "rand", "serde", diff --git a/Cargo.toml b/Cargo.toml index b568463..578ad47 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,5 +14,5 @@ time = { version = "0.3.41", features = ["macros", "serde"] } uuid = { version = "1.17.0", features = ["v4", "serde"] } rand = { version = "0.9.1" } icarus_meta = { git = "ssh://git@git.kundeng.us/phoenix/icarus_meta.git", tag = "v0.3.0-devel-f4b71de969-680" } -icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.5.0-devel-7958b89abc-111" } +icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.4.5-devel-655d05dabb-111" } icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.3.0-devel-d73fba9899-006" } -- 2.43.0 From 4fee3ff1a673d8070a2df3f9581400b99ea2dcd0 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 15 Jul 2025 15:06:13 -0400 Subject: [PATCH 4/7] Changed return type of function --- src/main.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7c1e294..e9ff4ca 100644 --- a/src/main.rs +++ b/src/main.rs @@ -69,7 +69,7 @@ async fn is_queue_empty( async fn some_work( app_base_url: &String, song_queue_id: &uuid::Uuid, -) -> Result<(), std::io::Error> { +) -> Result<(icarus_models::song::Song, icarus_models::coverart::CoverArt, (uuid::Uuid, String), (uuid::Uuid, String)), std::io::Error> { match prep_song(app_base_url, song_queue_id).await { Ok((song_queue_path, coverart_queue_path, metadata, coverart_queue_id)) => { match apply_metadata(&song_queue_path, &coverart_queue_path, &metadata).await { @@ -116,7 +116,8 @@ async fn some_work( Ok(resp) => { println!("CoverArt sent and successfully parsed response"); println!("json: {resp:?}"); - Ok(()) + let coverart = &resp.data[0]; + Ok((song.clone(), coverart.clone(), (metadata.song_queue_id, song_queue_path), (coverart_queue_id, coverart_queue_path))) } Err(err) => { Err(std::io::Error::other(err.to_string())) -- 2.43.0 From abade4af1e93a324a0e88611d779b99389042bd7 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 15 Jul 2025 15:08:22 -0400 Subject: [PATCH 5/7] Added TODO --- src/main.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index e9ff4ca..a173c56 100644 --- a/src/main.rs +++ b/src/main.rs @@ -24,7 +24,10 @@ async fn main() -> Result<(), Box> { // TODO: Do something with the result later match some_work(&app_base_url, &song_queue_id).await { - Ok(_) => {} + Ok((song, coverart, (song_queue_id, song_queue_path), (coverart_queue_id, coverart_queue_path))) => { + // TODO: Wipe data from song and coverart queues + // TODO: Cleanup files in local filesystem + } Err(err) => { eprintln!("Error: {err:?}"); } -- 2.43.0 From c454f7a9af3da9d3040c6577e29cb16546ea530e Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 15 Jul 2025 15:09:22 -0400 Subject: [PATCH 6/7] Code formatting --- src/main.rs | 17 +++++++++++++++-- src/the_rest.rs | 6 +++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index a173c56..2cd73d2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -24,7 +24,12 @@ async fn main() -> Result<(), Box> { // TODO: Do something with the result later match some_work(&app_base_url, &song_queue_id).await { - Ok((song, coverart, (song_queue_id, song_queue_path), (coverart_queue_id, coverart_queue_path))) => { + Ok(( + song, + coverart, + (song_queue_id, song_queue_path), + (coverart_queue_id, coverart_queue_path), + )) => { // TODO: Wipe data from song and coverart queues // TODO: Cleanup files in local filesystem } @@ -72,7 +77,15 @@ async fn is_queue_empty( async fn some_work( app_base_url: &String, song_queue_id: &uuid::Uuid, -) -> Result<(icarus_models::song::Song, icarus_models::coverart::CoverArt, (uuid::Uuid, String), (uuid::Uuid, String)), std::io::Error> { +) -> Result< + ( + icarus_models::song::Song, + icarus_models::coverart::CoverArt, + (uuid::Uuid, String), + (uuid::Uuid, String), + ), + std::io::Error, +> { match prep_song(app_base_url, song_queue_id).await { Ok((song_queue_path, coverart_queue_path, metadata, coverart_queue_id)) => { match apply_metadata(&song_queue_path, &coverart_queue_path, &metadata).await { diff --git a/src/the_rest.rs b/src/the_rest.rs index e319262..8b12392 100644 --- a/src/the_rest.rs +++ b/src/the_rest.rs @@ -47,7 +47,11 @@ pub mod create_song { // TODO: Create coverart pub mod create_coverart { - pub async fn create(base_url: &String, song_id: &uuid::Uuid, coverart_queue_id: &uuid::Uuid) -> Result { + pub async fn create( + base_url: &String, + song_id: &uuid::Uuid, + coverart_queue_id: &uuid::Uuid, + ) -> Result { let client = reqwest::Client::builder().build()?; let url = format!("{base_url}/api/v2/coverart"); let payload = get_payload(song_id, coverart_queue_id); -- 2.43.0 From 39c9aa4d54bf48f5df7c84ea7ffba2ae210c7087 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 15 Jul 2025 15:11:38 -0400 Subject: [PATCH 7/7] Version bump --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ce223dd..68cd5b2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1255,7 +1255,7 @@ dependencies = [ [[package]] name = "songparser" -version = "0.2.0" +version = "0.2.1" dependencies = [ "futures", "icarus_envy", diff --git a/Cargo.toml b/Cargo.toml index 578ad47..14cc263 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "songparser" -version = "0.2.0" +version = "0.2.1" edition = "2024" rust-version = "1.88" -- 2.43.0