use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EditionResource {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "bookId", skip_serializing_if = "Option::is_none")]
pub book_id: Option<i32>,
#[serde(rename = "foreignEditionId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub foreign_edition_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 = "isbn13", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub isbn13: 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 = "title", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub title: Option<Option<String>>,
#[serde(rename = "language", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub language: 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 = "format", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub format: Option<Option<String>>,
#[serde(rename = "isEbook", skip_serializing_if = "Option::is_none")]
pub is_ebook: Option<bool>,
#[serde(rename = "disambiguation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub disambiguation: Option<Option<String>>,
#[serde(rename = "publisher", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub publisher: Option<Option<String>>,
#[serde(rename = "pageCount", skip_serializing_if = "Option::is_none")]
pub page_count: Option<i32>,
#[serde(rename = "releaseDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub release_date: Option<Option<String>>,
#[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 = "links", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub links: Option<Option<Vec<models::Links>>>,
#[serde(rename = "ratings", skip_serializing_if = "Option::is_none")]
pub ratings: Option<Box<models::Ratings>>,
#[serde(rename = "monitored", skip_serializing_if = "Option::is_none")]
pub monitored: Option<bool>,
#[serde(rename = "manualAdd", skip_serializing_if = "Option::is_none")]
pub manual_add: Option<bool>,
#[serde(rename = "remoteCover", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub remote_cover: Option<Option<String>>,
}
impl EditionResource {
pub fn new() -> EditionResource {
EditionResource {
id: None,
book_id: None,
foreign_edition_id: None,
title_slug: None,
isbn13: None,
asin: None,
title: None,
language: None,
overview: None,
format: None,
is_ebook: None,
disambiguation: None,
publisher: None,
page_count: None,
release_date: None,
images: None,
links: None,
ratings: None,
monitored: None,
manual_add: None,
remote_cover: None,
}
}
}