osdm_sys/models/
identification_card.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
17pub struct IdentificationCard {
18 #[serde(rename = "id")]
20 pub id: String,
21 #[serde(rename = "type")]
23 pub r#type: String,
24 #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub name: Option<Option<String>>,
27 #[serde(rename = "nationality", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29 pub nationality: Option<Option<String>>,
30 #[serde(rename = "birthCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub birth_city: Option<Option<String>>,
32 #[serde(rename = "issuingCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34 pub issuing_city: Option<Option<String>>,
35 #[serde(rename = "residenceCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub residence_city: Option<Option<String>>,
37 #[serde(rename = "birthCountryCode", skip_serializing_if = "Option::is_none")]
39 pub birth_country_code: Option<String>,
40 #[serde(rename = "issuingCountryCode", skip_serializing_if = "Option::is_none")]
42 pub issuing_country_code: Option<String>,
43 #[serde(rename = "residenceCountryCode", skip_serializing_if = "Option::is_none")]
45 pub residence_country_code: Option<String>,
46 #[serde(rename = "issuingDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
47 pub issuing_date: Option<Option<String>>,
48 #[serde(rename = "gender", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
49 pub gender: Option<Option<models::Gender>>,
50 #[serde(rename = "expirationDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51 pub expiration_date: Option<Option<String>>,
52}
53
54impl IdentificationCard {
55 pub fn new(id: String, r#type: String) -> IdentificationCard {
57 IdentificationCard {
58 id,
59 r#type,
60 name: None,
61 nationality: None,
62 birth_city: None,
63 issuing_city: None,
64 residence_city: None,
65 birth_country_code: None,
66 issuing_country_code: None,
67 residence_country_code: None,
68 issuing_date: None,
69 gender: None,
70 expiration_date: None,
71 }
72 }
73}
74