use std::collections::BTreeMap;
use serde::{Deserialize, Serialize};
use super::{Episode, ParsedSearchResult, PullState};
fn default_relocate_season() -> bool {
true
}
#[derive(Serialize, Deserialize, Clone)]
pub struct Series {
pub name: String,
pub profile: String,
pub max_days_old: Option<u64>,
pub relocate: Option<String>,
#[serde(default = "default_relocate_season")]
pub relocate_season: bool,
}
#[derive(Serialize, Deserialize, Clone)]
pub struct SeriesStatus {
#[serde(flatten)]
pub series: Series,
pub seasons: BTreeMap<u32, SeasonStatus>,
}
#[derive(Default, Serialize, Deserialize, Clone)]
pub struct SeasonStatus {
pub episodes: BTreeMap<Episode, EpisodeStatus>,
}
#[derive(Serialize, Deserialize, Clone)]
pub struct EpisodeStatus {
pub state: PullState,
pub source: ParsedSearchResult,
}