librarylib/dto/
author_response.rs

1use chrono::NaiveDateTime;
2use serde::{Deserialize, Serialize};
3use serde_json;
4use uuid::Uuid;
5
6use common::entity::DtoReq;
7
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10#[serde(rename_all = "camelCase")]
11pub struct AuthorResponse {
12    pub id: Uuid,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub key: Option<String>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub name: Option<String>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub eastern_order: Option<bool>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub personal_name: Option<String>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub enumeration: Option<String>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub title: Option<String>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub alternate_names: Option<Vec<String>>,
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub uris: Option<String>,
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub bio: Option<String>,
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub location: Option<String>,
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub birth_date: Option<String>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub death_date: Option<String>,
37    #[serde(skip_serializing_if = "Option::is_none")]
38    pub date: Option<String>,
39    #[serde(skip_serializing_if = "Option::is_none")]
40    pub wikipedia: Option<String>,
41    #[serde(skip_serializing_if = "Option::is_none")]
42    pub links: Option<Vec<serde_json::Value>>,
43    #[serde(skip_serializing_if = "Option::is_none")]
44    pub source_records: Option<Vec<String>>,
45    #[serde(skip_serializing_if = "Option::is_none")]
46    pub created: Option<NaiveDateTime>,
47    #[serde(skip_serializing_if = "Option::is_none")]
48    pub last_modified: Option<NaiveDateTime>,
49    #[serde(skip_serializing_if = "Option::is_none")]
50    pub revision: Option<i32>,
51    #[serde(skip_serializing_if = "Option::is_none")]
52    pub latest_revision: Option<i32>,
53}
54
55impl DtoReq for AuthorResponse {}