#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct Image { pub url: String, pub layout: String, pub width: Option, pub height: Option, pub blurhash: Option, } #[derive(Debug, Clone, Default, serde::Serialize, serde::Deserialize)] pub struct ImageSet { pub low: Option, pub medium: Option, pub high: Option, pub backdrop: Option, pub logo: Option, } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct LinkedId { pub source: String, pub id: String } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct MediaCard { pub id: String, pub title: String, pub kind: Option, pub images: Option, pub original_title: Option, pub tagline: Option, pub year: Option, pub score: Option, pub genres: Vec, pub status: Option, pub content_rating: Option, pub url: Option, pub ids: Vec, pub extra: Vec<(String, String)>, } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct CategoryLink { pub id: String, pub title: String, pub subtitle: Option, pub image: Option } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct HomeSection { pub id: String, pub title: String, pub subtitle: Option, pub items: Vec, pub next_page: Option, pub layout: String, pub show_rank: bool, pub categories: Vec, pub extra: Vec<(String, String)>, } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct PagedResult { pub items: Vec, pub categories: Vec, pub next_page: Option } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct SearchFilters { pub kind: Option, pub page_token: Option, pub fast_match: bool } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct Episode { pub id: String, pub title: String, pub number: Option, pub season: Option, pub images: Option, pub description: Option, pub released: Option, pub score: Option, pub url: Option, pub tags: Vec, pub extra: Vec<(String, String)>, } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct Season { pub id: String, pub title: String, pub number: Option, pub year: Option, pub episodes: Vec, } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct Person { pub id: String, pub name: String, pub image: Option, pub role: Option, pub url: Option } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct MediaInfo { pub id: String, pub title: String, pub kind: String, pub images: Option, pub original_title: Option, pub description: Option, pub score: Option, pub scored_by: Option, pub year: Option, pub release_date: Option, pub genres: Vec, pub tags: Vec, pub status: Option, pub content_rating: Option, pub seasons: Vec, pub cast: Vec, pub crew: Vec, pub runtime_minutes: Option, pub trailer_url: Option, pub ids: Vec, pub studio: Option, pub country: Option, pub language: Option, pub url: Option, pub extra: Vec<(String, String)>, }