feat(network): Support for deleting a series from Sonarr

This commit is contained in:
2024-11-23 12:42:11 -07:00
parent 374819b4f3
commit cac54c5447
5 changed files with 164 additions and 7 deletions
@@ -20,7 +20,9 @@ use super::modals::SeasonDetailsModal;
mod sonarr_data_tests;
pub struct SonarrData {
pub add_list_exclusion: bool,
pub blocklist: StatefulTable<BlocklistItem>,
pub delete_series_files: bool,
pub downloads: StatefulTable<DownloadRecord>,
pub disk_space_vec: Vec<DiskSpace>,
pub edit_root_folder: Option<HorizontallyScrollableText>,
@@ -44,11 +46,20 @@ pub struct SonarrData {
pub version: String,
}
impl SonarrData {
pub fn reset_delete_series_preferences(&mut self) {
self.delete_series_files = false;
self.add_list_exclusion = false;
}
}
impl Default for SonarrData {
fn default() -> SonarrData {
SonarrData {
add_list_exclusion: false,
blocklist: StatefulTable::default(),
downloads: StatefulTable::default(),
delete_series_files: false,
disk_space_vec: Vec::new(),
edit_root_folder: None,
history: StatefulTable::default(),
@@ -97,6 +108,8 @@ pub enum ActiveSonarrBlock {
DeleteRootFolderPrompt,
DeleteSeriesConfirmPrompt,
DeleteSeriesPrompt,
DeleteSeriesToggleAddListExclusion,
DeleteSeriesToggleDeleteFile,
Downloads,
EditEpisodePrompt,
EditIndexerPrompt,
@@ -30,11 +30,27 @@ mod tests {
);
}
#[test]
fn test_reset_delete_series_preferences() {
let mut sonarr_data = SonarrData {
add_list_exclusion: true,
delete_series_files: true,
..SonarrData::default()
};
sonarr_data.reset_delete_series_preferences();
assert!(!sonarr_data.delete_series_files);
assert!(!sonarr_data.add_list_exclusion);
}
#[test]
fn test_sonarr_data_defaults() {
let sonarr_data = SonarrData::default();
assert!(!sonarr_data.add_list_exclusion);
assert!(sonarr_data.blocklist.is_empty());
assert!(!sonarr_data.delete_series_files);
assert!(sonarr_data.downloads.is_empty());
assert!(sonarr_data.disk_space_vec.is_empty());
assert!(sonarr_data.edit_root_folder.is_none());