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 Author {
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i32>,
    #[serde(rename = "authorMetadataId", skip_serializing_if = "Option::is_none")]
    pub author_metadata_id: Option<i32>,
    #[serde(rename = "cleanName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub clean_name: Option<Option<String>>,
    #[serde(rename = "monitored", skip_serializing_if = "Option::is_none")]
    pub monitored: Option<bool>,
    #[serde(rename = "monitorNewItems", skip_serializing_if = "Option::is_none")]
    pub monitor_new_items: Option<models::NewItemMonitorTypes>,
    #[serde(rename = "lastInfoSync", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub last_info_sync: Option<Option<String>>,
    #[serde(rename = "path", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub path: Option<Option<String>>,
    #[serde(rename = "rootFolderPath", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub root_folder_path: Option<Option<String>>,
    #[serde(rename = "added", skip_serializing_if = "Option::is_none")]
    pub added: Option<String>,
    #[serde(rename = "qualityProfileId", skip_serializing_if = "Option::is_none")]
    pub quality_profile_id: Option<i32>,
    #[serde(rename = "metadataProfileId", skip_serializing_if = "Option::is_none")]
    pub metadata_profile_id: Option<i32>,
    #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub tags: Option<Option<Vec<i32>>>,
    #[serde(rename = "addOptions", skip_serializing_if = "Option::is_none")]
    pub add_options: Option<Box<models::AddAuthorOptions>>,
    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
    pub metadata: Option<Box<models::AuthorMetadataLazyLoaded>>,
    #[serde(rename = "qualityProfile", skip_serializing_if = "Option::is_none")]
    pub quality_profile: Option<Box<models::QualityProfileLazyLoaded>>,
    #[serde(rename = "metadataProfile", skip_serializing_if = "Option::is_none")]
    pub metadata_profile: Option<Box<models::MetadataProfileLazyLoaded>>,
    #[serde(rename = "books", skip_serializing_if = "Option::is_none")]
    pub books: Option<Box<models::BookListLazyLoaded>>,
    #[serde(rename = "series", skip_serializing_if = "Option::is_none")]
    pub series: Option<Box<models::SeriesListLazyLoaded>>,
    #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub name: Option<Option<String>>,
    #[serde(rename = "foreignAuthorId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub foreign_author_id: Option<Option<String>>,
}

impl Author {
    pub fn new() -> Author {
        Author {
            id: None,
            author_metadata_id: None,
            clean_name: None,
            monitored: None,
            monitor_new_items: None,
            last_info_sync: None,
            path: None,
            root_folder_path: None,
            added: None,
            quality_profile_id: None,
            metadata_profile_id: None,
            tags: None,
            add_options: None,
            metadata: None,
            quality_profile: None,
            metadata_profile: None,
            books: None,
            series: None,
            name: None,
            foreign_author_id: None,
        }
    }
}