readarr 0.1.1

Readarr API docs
Documentation
/*
 * Readarr
 *
 * Readarr API docs
 *
 * The version of the OpenAPI document: v0.4.10.2734
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ParsedTrackInfo {
    #[serde(rename = "title", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub title: Option<Option<String>>,
    #[serde(rename = "cleanTitle", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub clean_title: Option<Option<String>>,
    #[serde(rename = "authors", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub authors: Option<Option<Vec<String>>>,
    #[serde(rename = "authorTitle", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub author_title: Option<Option<String>>,
    #[serde(rename = "bookTitle", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub book_title: Option<Option<String>>,
    #[serde(rename = "seriesTitle", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub series_title: Option<Option<String>>,
    #[serde(rename = "seriesIndex", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub series_index: Option<Option<String>>,
    #[serde(rename = "isbn", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub isbn: Option<Option<String>>,
    #[serde(rename = "asin", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub asin: Option<Option<String>>,
    #[serde(rename = "goodreadsId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub goodreads_id: Option<Option<String>>,
    #[serde(rename = "authorMBId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub author_mbid: Option<Option<String>>,
    #[serde(rename = "bookMBId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub book_mbid: Option<Option<String>>,
    #[serde(rename = "releaseMBId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub release_mbid: Option<Option<String>>,
    #[serde(rename = "recordingMBId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub recording_mbid: Option<Option<String>>,
    #[serde(rename = "trackMBId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub track_mbid: Option<Option<String>>,
    #[serde(rename = "discNumber", skip_serializing_if = "Option::is_none")]
    pub disc_number: Option<i32>,
    #[serde(rename = "discCount", skip_serializing_if = "Option::is_none")]
    pub disc_count: Option<i32>,
    #[serde(rename = "country", skip_serializing_if = "Option::is_none")]
    pub country: Option<Box<models::IsoCountry>>,
    #[serde(rename = "year", skip_serializing_if = "Option::is_none")]
    pub year: Option<i32>,
    #[serde(rename = "publisher", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub publisher: Option<Option<String>>,
    #[serde(rename = "label", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub label: Option<Option<String>>,
    #[serde(rename = "source", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub source: Option<Option<String>>,
    #[serde(rename = "catalogNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub catalog_number: Option<Option<String>>,
    #[serde(rename = "disambiguation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub disambiguation: Option<Option<String>>,
    #[serde(rename = "duration", skip_serializing_if = "Option::is_none")]
    pub duration: Option<String>,
    #[serde(rename = "quality", skip_serializing_if = "Option::is_none")]
    pub quality: Option<Box<models::QualityModel>>,
    #[serde(rename = "mediaInfo", skip_serializing_if = "Option::is_none")]
    pub media_info: Option<Box<models::MediaInfoModel>>,
    #[serde(rename = "trackNumbers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub track_numbers: Option<Option<Vec<i32>>>,
    #[serde(rename = "language", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub language: Option<Option<String>>,
    #[serde(rename = "releaseGroup", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub release_group: Option<Option<String>>,
    #[serde(rename = "releaseHash", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub release_hash: Option<Option<String>>,
}

impl ParsedTrackInfo {
    pub fn new() -> ParsedTrackInfo {
        ParsedTrackInfo {
            title: None,
            clean_title: None,
            authors: None,
            author_title: None,
            book_title: None,
            series_title: None,
            series_index: None,
            isbn: None,
            asin: None,
            goodreads_id: None,
            author_mbid: None,
            book_mbid: None,
            release_mbid: None,
            recording_mbid: None,
            track_mbid: None,
            disc_number: None,
            disc_count: None,
            country: None,
            year: None,
            publisher: None,
            label: None,
            source: None,
            catalog_number: None,
            disambiguation: None,
            duration: None,
            quality: None,
            media_info: None,
            track_numbers: None,
            language: None,
            release_group: None,
            release_hash: None,
        }
    }
}