diff --git a/Cargo.lock b/Cargo.lock index dab90be..5f7e8b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1255,7 +1255,7 @@ dependencies = [ [[package]] name = "songparser" -version = "0.2.2" +version = "0.2.3" dependencies = [ "futures", "icarus_envy", diff --git a/Cargo.toml b/Cargo.toml index 97dae28..0861cc9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "songparser" -version = "0.2.2" +version = "0.2.3" edition = "2024" rust-version = "1.88" diff --git a/src/main.rs b/src/main.rs index 226db68..d2907db 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,8 +25,8 @@ 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, + _coverart, (song_queue_id, song_queue_path), (coverart_queue_id, coverart_queue_path), )) => { @@ -38,12 +38,13 @@ async fn main() -> Result<(), Box> { ) .await { - Ok(_) => {} + Ok(_) => { + // TODO: Cleanup files in local filesystem + } Err(err) => { eprintln!("Error: {err:?}"); } } - // TODO: Cleanup files in local filesystem } Err(err) => { eprintln!("Error: {err:?}"); @@ -73,10 +74,25 @@ async fn wipe_data_from_queues( .json::() .await { - Ok(_resp) => { - println!("Wiped data from song queue"); - Ok(()) - } + Ok(_resp) => match the_rest::wipe_data::coverart_queue::wipe_data( + app_base_url, + coverart_queue_id, + ) + .await + { + Ok(inner_response) => match inner_response + .json::() + .await + { + Ok(_inner_resp) => { + println!("Wiped data from CoverArt queue"); + println!("Resp: {_inner_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())), }, Err(err) => Err(std::io::Error::other(err.to_string())), diff --git a/src/the_rest.rs b/src/the_rest.rs index b5fa85f..c806f0f 100644 --- a/src/the_rest.rs +++ b/src/the_rest.rs @@ -99,4 +99,27 @@ pub mod wipe_data { } } // TODO: Wipe data from queued coverart + pub mod coverart_queue { + pub async fn wipe_data( + base_url: &String, + coverart_queue_id: &uuid::Uuid, + ) -> Result { + let client = reqwest::Client::builder().build()?; + let url = format!("{base_url}/api/v2/coverart/queue/data/wipe"); + let payload = serde_json::json!({ + "coverart_queue_id": coverart_queue_id + }); + let request = client.patch(url).json(&payload); + + request.send().await + } + + pub mod response { + #[derive(Debug, serde::Deserialize, serde::Serialize)] + pub struct Response { + pub message: String, + pub data: Vec, + } + } + } }