isbnlib/dto/
edition_request.rs1use 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 {}