isbnlib/dto/
edition_request.rsuse serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct EditionRequest {
pub id: Option<Uuid>,
pub title: Option<String>,
pub title_prefix: Option<String>,
pub subtitle: Option<String>,
pub other_titles: Option<Vec<String>>,
pub authors_key: Option<Vec<String>>,
pub by_statement: Option<String>,
pub publish_date: Option<String>,
pub copyright_date: Option<String>,
pub edition_name: Option<String>,
pub languages: Option<Vec<String>>,
pub description: Option<String>,
pub notes: Option<String>,
pub genres: Option<Vec<String>>,
pub table_of_contents: Option<Vec<serde_json::Value>>,
pub work_titles: Option<Vec<String>>,
pub series: Option<Vec<String>>,
pub physical_dimensions: Option<String>,
pub physical_format: Option<String>,
pub number_of_pages: Option<i32>,
pub subjects: Option<Vec<String>>,
pub pagination: Option<String>,
pub lccn: Option<Vec<String>>,
pub ocaid: Option<String>,
pub oclc_numbers: Option<Vec<String>>,
pub isbn_10: Option<Vec<String>>,
pub isbn_13: Option<Vec<String>>,
pub dewey_decimal_class: Option<Vec<String>>,
pub lc_classifications: Option<Vec<String>>,
pub contributions: Option<Vec<String>>,
pub publish_places: Option<Vec<String>>,
pub publish_country: Option<String>,
pub publishers: Option<Vec<String>>,
pub distributors: Option<Vec<String>>,
pub first_sentence: Option<String>,
pub weight: Option<String>,
pub location: Option<Vec<String>>,
pub scan_on_demand: Option<bool>,
pub collections: Option<Vec<String>>,
pub uris: Option<Vec<String>>,
pub uri_descriptions: Option<Vec<String>>,
pub translation_of: Option<String>,
pub works_key: Option<Vec<String>>,
pub source_records: Option<Vec<String>>,
pub translated_from: Option<Vec<String>>,
pub scan_records: Option<Vec<String>>,
pub volumes: Option<Vec<serde_json::Value>>,
pub accompanying_material: Option<String>,
pub authors: Option<Vec<Uuid>>,
pub works: Option<Vec<Uuid>>,
pub revision: Option<i32>
}