feat(models): Stubbed out the necessary ActiveSonarrBlocks for the UI mockup

This commit is contained in:
2024-11-20 13:12:08 -07:00
parent a711c3d16c
commit 9d782af020
5 changed files with 101 additions and 16 deletions
-2
View File
@@ -9,8 +9,6 @@ pub struct EpisodeDetailsModal {
pub audio_details: String,
pub video_details: String,
// pub episode_history: StatefulTable<MovieHistoryItem>,
// pub episode_cast: StatefulTable<Credit>,
// pub episode_crew: StatefulTable<Credit>,
pub episode_releases: StatefulTable<Release>,
}
+65 -6
View File
@@ -52,15 +52,74 @@ impl Default for SonarrData {
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default, EnumIter)]
pub enum ActiveSonarrBlock {
Blocklist,
BlocklistSortPrompt,
Episodes,
EpisodesSortPrompt,
Seasons,
SeasonsSortPrompt,
#[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,
AddSeriesPrompt,
AddSeriesSearchInput,
AddSeriesSearchResults,
AddSeriesAlreadyInLibrary,
AddSeriesEmptySearchResults,
AddSeriesConfirmPrompt,
Downloads,
DeleteDownloadPrompt,
Blocklist,
BlocklistClearAllItemsPrompt,
BlocklistItemDetails,
BlocklistSortPrompt,
DeleteBlocklistItemPrompt,
RootFolders,
AddRootFolderPrompt,
DeleteRootFolderPrompt,
Indexers,
DeleteIndexerPrompt,
EditIndexerPrompt,
AllIndexerSettingsPrompt,
TestIndexer,
TestAllIndexers,
System,
SystemTasks,
SystemTaskStartConfirmPrompt,
SystemLogs,
SystemQueuedEvents,
SystemUpdates,
}
impl From<ActiveSonarrBlock> for Route {
+1 -1
View File
@@ -114,7 +114,7 @@ pub struct IndexerField {
pub value: Option<Value>,
}
#[derive(Serialize, Deserialize, Default, Hash, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
pub struct Language {
pub name: String,
}
+31 -3
View File
@@ -68,7 +68,7 @@ pub struct DownloadsResponse {
pub records: Vec<DownloadRecord>,
}
#[derive(Default, Serialize, Deserialize, Hash, Debug, Clone, PartialEq, Eq)]
#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct Episode {
#[serde(deserialize_with = "super::from_i64")]
@@ -97,7 +97,7 @@ impl Display for Episode {
}
}
#[derive(Default, Serialize, Deserialize, Hash, Debug, Clone, PartialEq, Eq)]
#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EpisodeFile {
pub relative_path: String,
@@ -124,7 +124,7 @@ pub struct IndexerSettings {
pub rss_sync_interval: i64,
}
#[derive(Serialize, Deserialize, Derivative, Hash, Debug, Clone, PartialEq, Eq)]
#[derive(Serialize, Deserialize, Derivative, Debug, Clone, PartialEq, Eq)]
#[derivative(Default)]
#[serde(rename_all = "camelCase")]
pub struct MediaInfo {
@@ -304,6 +304,34 @@ impl SeriesStatus {
}
}
#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SonarrEpisodeHistoryResponse {
pub records: Vec<SonarrHistoryItem>,
}
#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SonarrHistoryData {
pub dropped_path: String,
pub imported_path: String,
}
#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SonarrHistoryItem {
#[serde(deserialize_with = "super::from_i64")]
pub id: i64,
pub source_title: HorizontallyScrollableText,
#[serde(deserialize_with = "super::from_i64")]
pub episode_id: i64,
pub quality: QualityWrapper,
pub languages: Vec<Language>,
pub date: DateTime<Utc>,
pub event_type: String,
pub data: SonarrHistoryData,
}
#[derive(Clone, Serialize, Deserialize, Debug, PartialEq, Eq)]
#[serde(untagged)]
#[allow(clippy::large_enum_variant)]