isbnlib/dto/
edition_request.rs

1use common::entity::DtoReq;
2use serde::{Deserialize, Serialize};
3use uuid::Uuid;
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct EditionRequest {
8    pub id: Option<Uuid>,
9    pub title: Option<String>,
10    pub title_prefix: Option<String>,
11    pub subtitle: Option<String>,
12    pub other_titles: Option<Vec<String>>,
13    pub authors_key: Option<Vec<String>>,
14    pub by_statement: Option<String>,
15    pub publish_date: Option<String>,
16    pub copyright_date: Option<String>,
17    pub edition_name: Option<String>,
18    pub languages: Option<Vec<String>>,
19    pub description: Option<String>,
20    pub notes: Option<String>,
21    pub genres: Option<Vec<String>>,
22    pub table_of_contents: Option<Vec<serde_json::Value>>,
23    pub work_titles: Option<Vec<String>>,
24    pub series: Option<Vec<String>>,
25    pub physical_dimensions: Option<String>,
26    pub physical_format: Option<String>,
27    pub number_of_pages: Option<i32>,
28    pub subjects: Option<Vec<String>>,
29    pub pagination: Option<String>,
30    pub lccn: Option<Vec<String>>,
31    pub ocaid: Option<String>,
32    pub oclc_numbers: Option<Vec<String>>,
33    pub isbn_10: Option<Vec<String>>,
34    pub isbn_13: Option<Vec<String>>,
35    pub dewey_decimal_class: Option<Vec<String>>,
36    pub lc_classifications: Option<Vec<String>>,
37    pub contributions: Option<Vec<String>>,
38    pub publish_places: Option<Vec<String>>,
39    pub publish_country: Option<String>,
40    pub publishers: Option<Vec<String>>,
41    pub distributors: Option<Vec<String>>,
42    pub first_sentence: Option<String>,
43    pub weight: Option<String>,
44    pub location: Option<Vec<String>>,
45    pub scan_on_demand: Option<bool>,
46    pub collections: Option<Vec<String>>,
47    pub uris: Option<Vec<String>>,
48    pub uri_descriptions: Option<Vec<String>>,
49    pub translation_of: Option<String>,
50    pub works_key: Option<Vec<String>>,
51    pub source_records: Option<Vec<String>>,
52    pub translated_from: Option<Vec<String>>,
53    pub scan_records: Option<Vec<String>>,
54    pub volumes: Option<Vec<serde_json::Value>>,
55    pub accompanying_material: Option<String>,
56    pub authors: Option<Vec<Uuid>>,
57    pub works: Option<Vec<Uuid>>,
58    pub revision: Option<i32>,
59    pub key: Option<String>
60}
61
62impl DtoReq for EditionRequest {}