feat(network): Support for testing all Sonarr indexers at once

This commit is contained in:
2024-11-22 17:35:36 -07:00
parent 68830a8789
commit 6896fcc134
14 changed files with 207 additions and 22 deletions
+1
View File
@@ -1,2 +1,3 @@
pub mod modals;
pub mod radarr;
pub mod sonarr;
+8
View File
@@ -0,0 +1,8 @@
use crate::models::HorizontallyScrollableText;
#[derive(Default, Clone, Eq, PartialEq, Debug)]
pub struct IndexerTestResultModalItem {
pub name: String,
pub is_valid: bool,
pub validation_failures: HorizontallyScrollableText,
}
-7
View File
@@ -291,10 +291,3 @@ impl From<&RadarrData<'_>> for EditCollectionModal {
edit_collection_modal
}
}
#[derive(Default, Clone, Eq, PartialEq, Debug)]
pub struct IndexerTestResultModalItem {
pub name: String,
pub is_valid: bool,
pub validation_failures: HorizontallyScrollableText,
}
@@ -9,9 +9,9 @@ use crate::models::radarr_models::{
AddMovieSearchResult, BlocklistItem, Collection, CollectionMovie, DownloadRecord,
IndexerSettings, Movie, RadarrTask,
};
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
use crate::models::servarr_data::radarr::modals::{
AddMovieModal, EditCollectionModal, EditIndexerModal, EditMovieModal, IndexerTestResultModalItem,
MovieDetailsModal,
AddMovieModal, EditCollectionModal, EditIndexerModal, EditMovieModal, MovieDetailsModal,
};
use crate::models::servarr_models::{DiskSpace, Indexer, QueueEvent, RootFolder};
use crate::models::stateful_list::StatefulList;
@@ -3,6 +3,7 @@ use chrono::{DateTime, Utc};
use strum::EnumIter;
use crate::models::{
servarr_data::modals::IndexerTestResultModalItem,
servarr_models::{DiskSpace, Indexer, QueueEvent, RootFolder},
sonarr_models::{
BlocklistItem, DownloadRecord, IndexerSettings, Season, Series, SonarrHistoryItem, SonarrTask,
@@ -26,6 +27,7 @@ pub struct SonarrData {
pub history: StatefulTable<SonarrHistoryItem>,
pub indexers: StatefulTable<Indexer>,
pub indexer_settings: Option<IndexerSettings>,
pub indexer_test_all_results: Option<StatefulTable<IndexerTestResultModalItem>>,
pub indexer_test_error: Option<String>,
pub logs: StatefulList<HorizontallyScrollableText>,
pub quality_profile_map: BiMap<i64, String>,
@@ -53,6 +55,7 @@ impl Default for SonarrData {
indexers: StatefulTable::default(),
indexer_settings: None,
indexer_test_error: None,
indexer_test_all_results: None,
logs: StatefulList::default(),
quality_profile_map: BiMap::new(),
queued_events: StatefulTable::default(),
@@ -42,6 +42,7 @@ mod tests {
assert!(sonarr_data.indexers.is_empty());
assert!(sonarr_data.indexer_settings.is_none());
assert!(sonarr_data.indexer_test_error.is_none());
assert!(sonarr_data.indexer_test_all_results.is_none());
assert!(sonarr_data.logs.is_empty());
assert!(sonarr_data.quality_profile_map.is_empty());
assert!(sonarr_data.queued_events.is_empty());