use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AuthorResource {
#[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 = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<models::AuthorStatusType>,
#[serde(rename = "ended", skip_serializing_if = "Option::is_none")]
pub ended: Option<bool>,
#[serde(rename = "authorName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub author_name: Option<Option<String>>,
#[serde(rename = "authorNameLastFirst", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub author_name_last_first: 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>>,
#[serde(rename = "titleSlug", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub title_slug: 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 = "disambiguation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub disambiguation: Option<Option<String>>,
#[serde(rename = "links", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub links: Option<Option<Vec<models::Links>>>,
#[serde(rename = "nextBook", skip_serializing_if = "Option::is_none")]
pub next_book: Option<Box<models::Book>>,
#[serde(rename = "lastBook", skip_serializing_if = "Option::is_none")]
pub last_book: Option<Box<models::Book>>,
#[serde(rename = "images", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub images: Option<Option<Vec<models::MediaCover>>>,
#[serde(rename = "remotePoster", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub remote_poster: 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 = "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 = "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 = "rootFolderPath", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub root_folder_path: Option<Option<String>>,
#[serde(rename = "genres", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub genres: Option<Option<Vec<String>>>,
#[serde(rename = "cleanName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub clean_name: Option<Option<String>>,
#[serde(rename = "sortName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub sort_name: Option<Option<String>>,
#[serde(rename = "sortNameLastFirst", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub sort_name_last_first: Option<Option<String>>,
#[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub tags: Option<Option<Vec<i32>>>,
#[serde(rename = "added", skip_serializing_if = "Option::is_none")]
pub added: Option<String>,
#[serde(rename = "addOptions", skip_serializing_if = "Option::is_none")]
pub add_options: Option<Box<models::AddAuthorOptions>>,
#[serde(rename = "ratings", skip_serializing_if = "Option::is_none")]
pub ratings: Option<Box<models::Ratings>>,
#[serde(rename = "statistics", skip_serializing_if = "Option::is_none")]
pub statistics: Option<Box<models::AuthorStatisticsResource>>,
}
impl AuthorResource {
pub fn new() -> AuthorResource {
AuthorResource {
id: None,
author_metadata_id: None,
status: None,
ended: None,
author_name: None,
author_name_last_first: None,
foreign_author_id: None,
title_slug: None,
overview: None,
disambiguation: None,
links: None,
next_book: None,
last_book: None,
images: None,
remote_poster: None,
path: None,
quality_profile_id: None,
metadata_profile_id: None,
monitored: None,
monitor_new_items: None,
root_folder_path: None,
genres: None,
clean_name: None,
sort_name: None,
sort_name_last_first: None,
tags: None,
added: None,
add_options: None,
ratings: None,
statistics: None,
}
}
}