feat(network): Support for fetching all Sonarr root folders

This commit is contained in:
2024-11-21 16:37:23 -07:00
parent f4c647342b
commit 16538a3158
18 changed files with 138 additions and 45 deletions
+2 -2
View File
@@ -1,10 +1,10 @@
use strum::IntoEnumIterator;
use crate::models::radarr_models::{
Collection, Credit, MinimumAvailability, Monitor, Movie, MovieHistoryItem, RootFolder,
Collection, Credit, MinimumAvailability, Monitor, Movie, MovieHistoryItem,
};
use crate::models::servarr_data::radarr::radarr_data::RadarrData;
use crate::models::servarr_models::{Indexer, Release};
use crate::models::servarr_models::{Indexer, Release, RootFolder};
use crate::models::stateful_list::StatefulList;
use crate::models::stateful_table::StatefulTable;
use crate::models::{HorizontallyScrollableText, ScrollableText};
@@ -1,12 +1,12 @@
#[cfg(test)]
mod test {
use crate::models::radarr_models::{Collection, MinimumAvailability, Monitor, Movie, RootFolder};
use crate::models::radarr_models::{Collection, MinimumAvailability, Monitor, Movie};
use crate::models::servarr_data::radarr::modals::{
AddMovieModal, EditCollectionModal, EditIndexerModal, EditMovieModal,
};
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
use crate::models::servarr_data::radarr::radarr_data::RadarrData;
use crate::models::servarr_models::{Indexer, IndexerField};
use crate::models::servarr_models::{Indexer, IndexerField, RootFolder};
use crate::models::stateful_table::StatefulTable;
use bimap::BiMap;
use pretty_assertions::{assert_eq, assert_str_eq};
@@ -7,13 +7,13 @@ use crate::app::radarr::radarr_context_clues::{
};
use crate::models::radarr_models::{
AddMovieSearchResult, BlocklistItem, Collection, CollectionMovie, DiskSpace, DownloadRecord,
IndexerSettings, Movie, RootFolder, Task,
IndexerSettings, Movie, Task,
};
use crate::models::servarr_data::radarr::modals::{
AddMovieModal, EditCollectionModal, EditIndexerModal, EditMovieModal, IndexerTestResultModalItem,
MovieDetailsModal,
};
use crate::models::servarr_models::{Indexer, QueueEvent};
use crate::models::servarr_models::{Indexer, QueueEvent, RootFolder};
use crate::models::stateful_list::StatefulList;
use crate::models::stateful_table::StatefulTable;
use crate::models::{
@@ -3,7 +3,7 @@ use chrono::{DateTime, Utc};
use strum::EnumIter;
use crate::models::{
servarr_models::{Indexer, QueueEvent},
servarr_models::{Indexer, QueueEvent, RootFolder},
sonarr_models::{
BlocklistItem, DownloadRecord, IndexerSettings, Season, Series, SonarrHistoryItem,
},
@@ -27,6 +27,7 @@ pub struct SonarrData {
pub logs: StatefulList<HorizontallyScrollableText>,
pub quality_profile_map: BiMap<i64, String>,
pub queued_events: StatefulTable<QueueEvent>,
pub root_folders: StatefulTable<RootFolder>,
pub seasons: StatefulTable<Season>,
pub season_details_modal: Option<SeasonDetailsModal>,
pub series: StatefulTable<Series>,
@@ -46,6 +47,7 @@ impl Default for SonarrData {
logs: StatefulList::default(),
quality_profile_map: BiMap::new(),
queued_events: StatefulTable::default(),
root_folders: StatefulTable::default(),
seasons: StatefulTable::default(),
season_details_modal: None,
series: StatefulTable::default(),
@@ -42,6 +42,7 @@ mod tests {
assert!(sonarr_data.logs.is_empty());
assert!(sonarr_data.quality_profile_map.is_empty());
assert!(sonarr_data.queued_events.is_empty());
assert!(sonarr_data.root_folders.is_empty());
assert!(sonarr_data.seasons.is_empty());
assert!(sonarr_data.season_details_modal.is_none());
assert!(sonarr_data.series.is_empty());