| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct ImageData { |
| pub url: String, |
| pub layout: String, |
| pub width: u32, |
| pub height: u32, |
| pub blurhash: Option<String>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct ImageSetData { |
| pub low: Option<ImageData>, |
| pub medium: Option<ImageData>, |
| pub high: Option<ImageData>, |
| pub backdrop: Option<ImageData>, |
| pub logo: Option<ImageData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct LinkedIdData { |
| pub source: String, |
| pub id: String, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct AttrData { |
| pub key: String, |
| pub value: String, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct MediaCardData { |
| pub id: String, |
| pub title: String, |
| pub kind: u8, |
| pub images: Option<ImageSetData>, |
| pub original_title: Option<String>, |
| pub tagline: Option<String>, |
| pub year: Option<String>, |
| pub score: u32, |
| pub genres: Vec<String>, |
| pub status: u8, |
| pub content_rating: Option<String>, |
| pub url: Option<String>, |
| pub ids: Vec<LinkedIdData>, |
| pub extra: Vec<AttrData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct CategoryLinkData { |
| pub id: String, |
| pub title: String, |
| pub subtitle: Option<String>, |
| pub image: Option<ImageData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct HomeSectionData { |
| pub id: String, |
| pub title: String, |
| pub subtitle: Option<String>, |
| pub items: Vec<MediaCardData>, |
| pub next_page: Option<String>, |
| pub layout: Option<String>, |
| pub show_rank: bool, |
| pub categories: Vec<CategoryLinkData>, |
| pub extra: Vec<AttrData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct EpisodeData { |
| pub id: String, |
| pub title: String, |
| pub number: f64, |
| pub season: f64, |
| pub images: Option<ImageSetData>, |
| pub description: Option<String>, |
| pub released: Option<String>, |
| pub score: u32, |
| pub url: Option<String>, |
| pub tags: Vec<String>, |
| pub extra: Vec<AttrData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct SeasonData { |
| pub id: String, |
| pub title: String, |
| pub number: f64, |
| pub year: u32, |
| pub episodes: Vec<EpisodeData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct PersonData { |
| pub id: String, |
| pub name: String, |
| pub image: Option<ImageSetData>, |
| pub role: Option<String>, |
| pub url: Option<String>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct MediaInfoData { |
| pub id: String, |
| pub title: String, |
| pub kind: u8, |
| pub images: Option<ImageSetData>, |
| pub original_title: Option<String>, |
| pub description: Option<String>, |
| pub score: u32, |
| pub scored_by: u64, |
| pub year: Option<String>, |
| pub release_date: Option<String>, |
| pub genres: Vec<String>, |
| pub tags: Vec<String>, |
| pub status: u8, |
| pub content_rating: Option<String>, |
| pub seasons: Vec<SeasonData>, |
| pub cast: Vec<PersonData>, |
| pub crew: Vec<PersonData>, |
| pub runtime_minutes: u32, |
| pub trailer_url: Option<String>, |
| pub ids: Vec<LinkedIdData>, |
| pub studio: Option<String>, |
| pub country: Option<String>, |
| pub language: Option<String>, |
| pub url: Option<String>, |
| pub extra: Vec<AttrData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct VideoResolutionData { |
| pub width: u32, |
| pub height: u32, |
| pub hdr: bool, |
| pub label: Option<String>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct VideoTrackData { |
| pub resolution: Option<VideoResolutionData>, |
| pub url: String, |
| pub mime_type: Option<String>, |
| pub bitrate: u64, |
| pub codecs: Option<String>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct SubtitleTrackData { |
| pub label: Option<String>, |
| pub url: String, |
| pub language: Option<String>, |
| pub format: Option<String>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct ServerData { |
| pub id: String, |
| pub label: Option<String>, |
| pub url: Option<String>, |
| pub priority: u8, |
| pub extra: Vec<AttrData>, |
| } |
|
|
| |
| #[derive(Debug, Clone, Default)] |
| pub struct StreamSourceData { |
| pub id: String, |
| pub label: Option<String>, |
| pub format: u8, |
| pub manifest_url: Option<String>, |
| pub videos: Vec<VideoTrackData>, |
| pub subtitles: Vec<SubtitleTrackData>, |
| pub headers: Vec<AttrData>, |
| pub extra: Vec<AttrData>, |
| } |
|
|