feat(models): Added an additional History tab to the mocked tabs for viewing all Sonarr history at once
This commit is contained in:
@@ -4,7 +4,10 @@ use strum::EnumIter;
|
||||
|
||||
use crate::models::{
|
||||
servarr_models::{Indexer, QueueEvent},
|
||||
sonarr_models::{BlocklistItem, DownloadRecord, IndexerSettings, Season, Series},
|
||||
sonarr_models::{
|
||||
BlocklistItem, DownloadRecord, IndexerSettings, Season, Series, SonarrHistoryItem,
|
||||
SonarrHistoryWrapper,
|
||||
},
|
||||
stateful_list::StatefulList,
|
||||
stateful_table::StatefulTable,
|
||||
HorizontallyScrollableText, Route,
|
||||
@@ -19,6 +22,7 @@ mod sonarr_data_tests;
|
||||
pub struct SonarrData {
|
||||
pub blocklist: StatefulTable<BlocklistItem>,
|
||||
pub downloads: StatefulTable<DownloadRecord>,
|
||||
pub history: StatefulTable<SonarrHistoryWrapper>,
|
||||
pub indexers: StatefulTable<Indexer>,
|
||||
pub indexer_settings: Option<IndexerSettings>,
|
||||
pub logs: StatefulList<HorizontallyScrollableText>,
|
||||
@@ -27,6 +31,7 @@ pub struct SonarrData {
|
||||
pub seasons: StatefulTable<Season>,
|
||||
pub season_details_modal: Option<SeasonDetailsModal>,
|
||||
pub series: StatefulTable<Series>,
|
||||
pub series_history: Option<StatefulTable<SonarrHistoryItem>>,
|
||||
pub start_time: DateTime<Utc>,
|
||||
pub version: String,
|
||||
}
|
||||
@@ -36,14 +41,16 @@ impl Default for SonarrData {
|
||||
SonarrData {
|
||||
blocklist: StatefulTable::default(),
|
||||
downloads: StatefulTable::default(),
|
||||
history: StatefulTable::default(),
|
||||
indexers: StatefulTable::default(),
|
||||
indexer_settings: None,
|
||||
logs: StatefulList::default(),
|
||||
quality_profile_map: BiMap::new(),
|
||||
queued_events: StatefulTable::default(),
|
||||
seasons: StatefulTable::default(),
|
||||
series: StatefulTable::default(),
|
||||
season_details_modal: None,
|
||||
series: StatefulTable::default(),
|
||||
series_history: None,
|
||||
start_time: DateTime::default(),
|
||||
version: String::new(),
|
||||
}
|
||||
@@ -53,73 +60,79 @@ impl Default for SonarrData {
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default, EnumIter)]
|
||||
pub enum ActiveSonarrBlock {
|
||||
#[default]
|
||||
Series,
|
||||
UpdateAndScanSeriesPrompt,
|
||||
EditSeriesPrompt,
|
||||
SeriesSortPrompt,
|
||||
SearchSeries,
|
||||
SearchSeriesError,
|
||||
FilterSeries,
|
||||
FilterSeriesError,
|
||||
DeleteSeriesPrompt,
|
||||
DeleteSeriesConfirmPrompt,
|
||||
AutomaticallySearchSeriesPrompt,
|
||||
UpdateAllSeriesPrompt,
|
||||
SeriesDetails,
|
||||
SeriesHistory,
|
||||
HistoryDetails,
|
||||
MarkHistoryItemAsFailurePrompt,
|
||||
MarkHistoryItemAsFailureConfirmPrompt,
|
||||
SearchSeason,
|
||||
SearchSeasonError,
|
||||
AutomaticallySearchSeasonPrompt,
|
||||
SeasonDetails,
|
||||
SeasonHistory,
|
||||
ManualSeasonSearch,
|
||||
ManualSeasonSearchSortPrompt,
|
||||
ManualSeasonSearchConfirmPrompt,
|
||||
DeleteEpisodeFilePrompt,
|
||||
EpisodeDetails,
|
||||
EpisodesSortPrompt,
|
||||
SearchEpisodes,
|
||||
SearchEpisodesError,
|
||||
FilterEpisodes,
|
||||
FilterEpisodesError,
|
||||
AutomaticallySearchEpisodePrompt,
|
||||
EditEpisodePrompt,
|
||||
EpisodeHistory,
|
||||
EpisodeFile,
|
||||
ManualEpisodeSearch,
|
||||
ManualEpisodeSearchSortPrompt,
|
||||
ManualEpisodeSearchConfirmPrompt,
|
||||
AddRootFolderPrompt,
|
||||
AddSeriesAlreadyInLibrary,
|
||||
AddSeriesConfirmPrompt,
|
||||
AddSeriesEmptySearchResults,
|
||||
AddSeriesPrompt,
|
||||
AddSeriesSearchInput,
|
||||
AddSeriesSearchResults,
|
||||
AddSeriesAlreadyInLibrary,
|
||||
AddSeriesEmptySearchResults,
|
||||
AddSeriesConfirmPrompt,
|
||||
Downloads,
|
||||
DeleteDownloadPrompt,
|
||||
AllIndexerSettingsPrompt,
|
||||
AutomaticallySearchEpisodePrompt,
|
||||
AutomaticallySearchSeasonPrompt,
|
||||
AutomaticallySearchSeriesPrompt,
|
||||
Blocklist,
|
||||
BlocklistClearAllItemsPrompt,
|
||||
BlocklistItemDetails,
|
||||
BlocklistSortPrompt,
|
||||
DeleteBlocklistItemPrompt,
|
||||
RootFolders,
|
||||
AddRootFolderPrompt,
|
||||
DeleteRootFolderPrompt,
|
||||
Indexers,
|
||||
DeleteDownloadPrompt,
|
||||
DeleteEpisodeFilePrompt,
|
||||
DeleteIndexerPrompt,
|
||||
DeleteRootFolderPrompt,
|
||||
DeleteSeriesConfirmPrompt,
|
||||
DeleteSeriesPrompt,
|
||||
Downloads,
|
||||
EditEpisodePrompt,
|
||||
EditIndexerPrompt,
|
||||
AllIndexerSettingsPrompt,
|
||||
TestIndexer,
|
||||
TestAllIndexers,
|
||||
EditSeriesPrompt,
|
||||
EpisodeDetails,
|
||||
EpisodeFile,
|
||||
EpisodeHistory,
|
||||
EpisodesSortPrompt,
|
||||
FilterEpisodes,
|
||||
FilterEpisodesError,
|
||||
FilterHistory,
|
||||
FilterHistoryError,
|
||||
FilterSeries,
|
||||
FilterSeriesError,
|
||||
History,
|
||||
HistoryDetails,
|
||||
HistorySortPrompt,
|
||||
Indexers,
|
||||
ManualEpisodeSearch,
|
||||
ManualEpisodeSearchConfirmPrompt,
|
||||
ManualEpisodeSearchSortPrompt,
|
||||
ManualSeasonSearch,
|
||||
ManualSeasonSearchConfirmPrompt,
|
||||
ManualSeasonSearchSortPrompt,
|
||||
MarkHistoryItemAsFailureConfirmPrompt,
|
||||
MarkHistoryItemAsFailurePrompt,
|
||||
RootFolders,
|
||||
SearchEpisodes,
|
||||
SearchEpisodesError,
|
||||
SearchHistory,
|
||||
SearchHistoryError,
|
||||
SearchSeason,
|
||||
SearchSeasonError,
|
||||
SearchSeries,
|
||||
SearchSeriesError,
|
||||
SeasonDetails,
|
||||
SeasonHistory,
|
||||
Series,
|
||||
SeriesDetails,
|
||||
SeriesHistory,
|
||||
SeriesSortPrompt,
|
||||
System,
|
||||
SystemTasks,
|
||||
SystemTaskStartConfirmPrompt,
|
||||
SystemLogs,
|
||||
SystemQueuedEvents,
|
||||
SystemTasks,
|
||||
SystemTaskStartConfirmPrompt,
|
||||
SystemUpdates,
|
||||
TestAllIndexers,
|
||||
TestIndexer,
|
||||
UpdateAllSeriesPrompt,
|
||||
UpdateAndScanSeriesPrompt,
|
||||
}
|
||||
|
||||
impl From<ActiveSonarrBlock> for Route {
|
||||
|
||||
@@ -36,6 +36,7 @@ mod tests {
|
||||
|
||||
assert!(sonarr_data.blocklist.is_empty());
|
||||
assert!(sonarr_data.downloads.is_empty());
|
||||
assert!(sonarr_data.history.is_empty());
|
||||
assert!(sonarr_data.indexers.is_empty());
|
||||
assert!(sonarr_data.indexer_settings.is_none());
|
||||
assert!(sonarr_data.logs.is_empty());
|
||||
@@ -44,6 +45,7 @@ mod tests {
|
||||
assert!(sonarr_data.seasons.is_empty());
|
||||
assert!(sonarr_data.season_details_modal.is_none());
|
||||
assert!(sonarr_data.series.is_empty());
|
||||
assert!(sonarr_data.series_history.is_empty());
|
||||
assert_eq!(sonarr_data.start_time, <DateTime<Utc>>::default());
|
||||
assert!(sonarr_data.version.is_empty());
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@ impl SeriesStatus {
|
||||
|
||||
#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq, Eq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct SonarrEpisodeHistoryResponse {
|
||||
pub struct SonarrHistoryWrapper {
|
||||
pub records: Vec<SonarrHistoryItem>,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user