fix(radarr): Send the parameters alongside the DownloadRelease event when publishing to the networking channel

This commit is contained in:
2024-12-17 15:56:58 -07:00
parent f5614995c7
commit 4afde8b750
6 changed files with 120 additions and 105 deletions
@@ -6,7 +6,7 @@ use crate::event::Key;
use crate::handle_table_events;
use crate::handlers::table_handler::TableHandlingConfig;
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
use crate::models::radarr_models::{Credit, MovieHistoryItem, RadarrRelease};
use crate::models::radarr_models::{Credit, MovieHistoryItem, RadarrRelease, RadarrReleaseDownloadBody};
use crate::models::servarr_data::radarr::radarr_data::{
ActiveRadarrBlock, EDIT_MOVIE_SELECTION_BLOCKS, MOVIE_DETAILS_BLOCKS,
};
@@ -79,6 +79,32 @@ impl<'a, 'b> MovieDetailsHandler<'a, 'b> {
.movie_crew,
Credit
);
fn build_radarr_release_download_body(&self) -> RadarrReleaseDownloadBody {
let movie_id = self.app.data.radarr_data.movies.current_selection().id;
let (guid, indexer_id) = {
let RadarrRelease {
guid,
indexer_id,
..
} = self.app
.data
.radarr_data
.movie_details_modal
.as_ref()
.unwrap()
.movie_releases
.current_selection();
(guid.clone(), *indexer_id)
};
RadarrReleaseDownloadBody {
guid,
indexer_id,
movie_id,
}
}
}
impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for MovieDetailsHandler<'a, 'b> {
@@ -260,7 +286,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for MovieDetailsHandler<
ActiveRadarrBlock::ManualSearchConfirmPrompt => {
if self.app.data.radarr_data.prompt_confirm {
self.app.data.radarr_data.prompt_confirm_action =
Some(RadarrEvent::DownloadRelease(None));
Some(RadarrEvent::DownloadRelease(self.build_radarr_release_download_body()));
}
self.app.pop_navigation_stack();
@@ -345,7 +371,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for MovieDetailsHandler<
}
ActiveRadarrBlock::ManualSearchConfirmPrompt if key == DEFAULT_KEYBINDINGS.confirm.key => {
self.app.data.radarr_data.prompt_confirm = true;
self.app.data.radarr_data.prompt_confirm_action = Some(RadarrEvent::DownloadRelease(None));
self.app.data.radarr_data.prompt_confirm_action = Some(RadarrEvent::DownloadRelease(self.build_radarr_release_download_body()));
self.app.pop_navigation_stack();
}