From 3b371e92aac97ed59bfee5bddcd9ae6b0be9ef1c Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Thu, 28 Aug 2025 16:50:34 -0400 Subject: [PATCH 1/5] Added function call to update queued song status --- src/managers/commit_manager.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/managers/commit_manager.rs b/src/managers/commit_manager.rs index aebb9c6..ec48318 100644 --- a/src/managers/commit_manager.rs +++ b/src/managers/commit_manager.rs @@ -458,9 +458,14 @@ impl CommitManager { .link_queued_song_to_queued_coverart(token, &queued_song_id, &id) .await { - Ok(_) => { - println!("Queued coverart Id: {id:?}"); - println!("Linked queued song to queued coverart"); + Ok(_) => match up.update_queued_song_status(token, &queued_song_id, "ready").await { + Ok(_) => { + println!("Queued coverart Id: {id:?}"); + println!("Linked queued song to queued coverart"); + } + Err(err) => { + return Err(std::io::Error::other(err.to_string())); + } } Err(err) => { return Err(std::io::Error::other(err.to_string())); -- 2.47.3 From c4a35f7a2946341bd0a5a23a3ea4775d59b38475 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Thu, 28 Aug 2025 16:52:43 -0400 Subject: [PATCH 2/5] Added skeleton method --- src/syncers/upload.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/syncers/upload.rs b/src/syncers/upload.rs index fe2f088..f86136b 100644 --- a/src/syncers/upload.rs +++ b/src/syncers/upload.rs @@ -300,6 +300,10 @@ impl Upload { } } + pub async fn update_queued_song_status(&self, token: &icarus_models::token::AccessToken, queued_song_id: &uuid::Uuid, status: &str) -> Result<(), reqwest::Error> { + Ok(()) + } + fn init_form( &self, song: &icarus_models::song::Song, -- 2.47.3 From d49123bc185f24484410ce5c7bfc7a8bec49d518 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Thu, 28 Aug 2025 16:56:14 -0400 Subject: [PATCH 3/5] Added more code to the method --- src/syncers/upload.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/syncers/upload.rs b/src/syncers/upload.rs index f86136b..bfd4cea 100644 --- a/src/syncers/upload.rs +++ b/src/syncers/upload.rs @@ -301,7 +301,28 @@ impl Upload { } pub async fn update_queued_song_status(&self, token: &icarus_models::token::AccessToken, queued_song_id: &uuid::Uuid, status: &str) -> Result<(), reqwest::Error> { - Ok(()) + let endpoint = String::from("api/v2/song/queue"); + let url = format!("{}/{endpoint}", self.api.url); + + let mut headers = reqwest::header::HeaderMap::new(); + let (auth, auth_val) = syncers::common::auth_header(token).await; + headers.insert(auth, auth_val); + + let payload = serde_json::json!({ + "id": queued_song_id, + "status": status + }); + + let client = reqwest::Client::builder().build().unwrap(); + + match client.patch(url).headers(headers).json(&payload).send().await { + Ok(_) => { + Ok(()) + } + Err(err) => { + Err(err) + } + } } fn init_form( -- 2.47.3 From 93c4712ddacbc7cd8580bd5ff10738da2014f9f6 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Thu, 28 Aug 2025 18:39:43 -0400 Subject: [PATCH 4/5] Got it working --- src/managers/commit_manager.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/managers/commit_manager.rs b/src/managers/commit_manager.rs index ec48318..0b13572 100644 --- a/src/managers/commit_manager.rs +++ b/src/managers/commit_manager.rs @@ -462,6 +462,7 @@ impl CommitManager { Ok(_) => { println!("Queued coverart Id: {id:?}"); println!("Linked queued song to queued coverart"); + println!("Queued status updated"); } Err(err) => { return Err(std::io::Error::other(err.to_string())); -- 2.47.3 From dd245b199934c417c93ad65c70e34c1b82bbc5b1 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Thu, 28 Aug 2025 18:39:51 -0400 Subject: [PATCH 5/5] Code formatting --- src/managers/commit_manager.rs | 7 +++++-- src/syncers/upload.rs | 23 +++++++++++++++-------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/managers/commit_manager.rs b/src/managers/commit_manager.rs index 0b13572..2740d1b 100644 --- a/src/managers/commit_manager.rs +++ b/src/managers/commit_manager.rs @@ -458,7 +458,10 @@ impl CommitManager { .link_queued_song_to_queued_coverart(token, &queued_song_id, &id) .await { - Ok(_) => match up.update_queued_song_status(token, &queued_song_id, "ready").await { + Ok(_) => match up + .update_queued_song_status(token, &queued_song_id, "ready") + .await + { Ok(_) => { println!("Queued coverart Id: {id:?}"); println!("Linked queued song to queued coverart"); @@ -467,7 +470,7 @@ impl CommitManager { Err(err) => { return Err(std::io::Error::other(err.to_string())); } - } + }, Err(err) => { return Err(std::io::Error::other(err.to_string())); } diff --git a/src/syncers/upload.rs b/src/syncers/upload.rs index bfd4cea..a0b6ea8 100644 --- a/src/syncers/upload.rs +++ b/src/syncers/upload.rs @@ -300,7 +300,12 @@ impl Upload { } } - pub async fn update_queued_song_status(&self, token: &icarus_models::token::AccessToken, queued_song_id: &uuid::Uuid, status: &str) -> Result<(), reqwest::Error> { + pub async fn update_queued_song_status( + &self, + token: &icarus_models::token::AccessToken, + queued_song_id: &uuid::Uuid, + status: &str, + ) -> Result<(), reqwest::Error> { let endpoint = String::from("api/v2/song/queue"); let url = format!("{}/{endpoint}", self.api.url); @@ -315,13 +320,15 @@ impl Upload { let client = reqwest::Client::builder().build().unwrap(); - match client.patch(url).headers(headers).json(&payload).send().await { - Ok(_) => { - Ok(()) - } - Err(err) => { - Err(err) - } + match client + .patch(url) + .headers(headers) + .json(&payload) + .send() + .await + { + Ok(_) => Ok(()), + Err(err) => Err(err), } } -- 2.47.3