sonarr-api-rs 3.0.0

Rust API wrapper for Sonarr
Documentation
/*
 * Sonarr
 *
 * Sonarr API docs - The v3 API docs apply to both v3 and v4 versions of Sonarr. Some functionality may only be available in v4 of the Sonarr application.
 *
 * The version of the OpenAPI document: 3.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EpisodeResource {
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i32>,
    #[serde(rename = "seriesId", skip_serializing_if = "Option::is_none")]
    pub series_id: Option<i32>,
    #[serde(rename = "tvdbId", skip_serializing_if = "Option::is_none")]
    pub tvdb_id: Option<i32>,
    #[serde(rename = "episodeFileId", skip_serializing_if = "Option::is_none")]
    pub episode_file_id: Option<i32>,
    #[serde(rename = "seasonNumber", skip_serializing_if = "Option::is_none")]
    pub season_number: Option<i32>,
    #[serde(rename = "episodeNumber", skip_serializing_if = "Option::is_none")]
    pub episode_number: Option<i32>,
    #[serde(rename = "title", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub title: Option<Option<String>>,
    #[serde(rename = "airDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub air_date: Option<Option<String>>,
    #[serde(rename = "airDateUtc", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub air_date_utc: Option<Option<String>>,
    #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
    pub runtime: Option<i32>,
    #[serde(rename = "finaleType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub finale_type: Option<Option<String>>,
    #[serde(rename = "overview", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub overview: Option<Option<String>>,
    #[serde(rename = "episodeFile", skip_serializing_if = "Option::is_none")]
    pub episode_file: Option<Box<models::EpisodeFileResource>>,
    #[serde(rename = "hasFile", skip_serializing_if = "Option::is_none")]
    pub has_file: Option<bool>,
    #[serde(rename = "monitored", skip_serializing_if = "Option::is_none")]
    pub monitored: Option<bool>,
    #[serde(rename = "absoluteEpisodeNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub absolute_episode_number: Option<Option<i32>>,
    #[serde(rename = "sceneAbsoluteEpisodeNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub scene_absolute_episode_number: Option<Option<i32>>,
    #[serde(rename = "sceneEpisodeNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub scene_episode_number: Option<Option<i32>>,
    #[serde(rename = "sceneSeasonNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub scene_season_number: Option<Option<i32>>,
    #[serde(rename = "unverifiedSceneNumbering", skip_serializing_if = "Option::is_none")]
    pub unverified_scene_numbering: Option<bool>,
    #[serde(rename = "endTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub end_time: Option<Option<String>>,
    #[serde(rename = "grabDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub grab_date: Option<Option<String>>,
    #[serde(rename = "series", skip_serializing_if = "Option::is_none")]
    pub series: Option<Box<models::SeriesResource>>,
    #[serde(rename = "images", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub images: Option<Option<Vec<models::MediaCover>>>,
}

impl EpisodeResource {
    pub fn new() -> EpisodeResource {
        EpisodeResource {
            id: None,
            series_id: None,
            tvdb_id: None,
            episode_file_id: None,
            season_number: None,
            episode_number: None,
            title: None,
            air_date: None,
            air_date_utc: None,
            runtime: None,
            finale_type: None,
            overview: None,
            episode_file: None,
            has_file: None,
            monitored: None,
            absolute_episode_number: None,
            scene_absolute_episode_number: None,
            scene_episode_number: None,
            scene_season_number: None,
            unverified_scene_numbering: None,
            end_time: None,
            grab_date: None,
            series: None,
            images: None,
        }
    }
}