diff --git a/src/models/radarr_models.rs b/src/models/radarr_models.rs index cd93cca..94acd47 100644 --- a/src/models/radarr_models.rs +++ b/src/models/radarr_models.rs @@ -458,6 +458,7 @@ pub struct Release { pub struct ReleaseDownloadBody { pub guid: String, pub indexer_id: u64, + pub movie_id: u64, } #[derive(Default, PartialEq, Eq, Clone, Copy, Debug, EnumIter, Display)] diff --git a/src/network/radarr_network.rs b/src/network/radarr_network.rs index 36fd519..bc7d3ac 100644 --- a/src/network/radarr_network.rs +++ b/src/network/radarr_network.rs @@ -443,6 +443,7 @@ impl<'a, 'b> Network<'a, 'b> { } async fn download_release(&mut self) { + let (movie_id, _) = self.extract_movie_id().await; let (guid, title, indexer_id) = { let app = self.app.lock().await; let Release { @@ -457,7 +458,11 @@ impl<'a, 'b> Network<'a, 'b> { info!("Downloading release: {}", title); - let download_release_body = ReleaseDownloadBody { guid, indexer_id }; + let download_release_body = ReleaseDownloadBody { + guid, + indexer_id, + movie_id, + }; let request_props = self .radarr_request_props_from( diff --git a/src/network/radarr_network_tests.rs b/src/network/radarr_network_tests.rs index d7da0cd..6255e2a 100644 --- a/src/network/radarr_network_tests.rs +++ b/src/network/radarr_network_tests.rs @@ -1805,7 +1805,8 @@ mod test { RequestMethod::Post, Some(json!({ "guid": "1234", - "indexerId": 2 + "indexerId": 2, + "movieId": 1 })), None, RadarrEvent::DownloadRelease.resource(), @@ -1818,6 +1819,13 @@ mod test { .radarr_data .movie_releases .set_items(vec![release()]); + app_arc + .lock() + .await + .data + .radarr_data + .movies + .set_items(vec![movie()]); let mut network = Network::new(&app_arc, CancellationToken::new()); network