use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct IdentificationCard {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub name: Option<Option<String>>,
#[serde(rename = "nationality", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub nationality: Option<Option<String>>,
#[serde(rename = "birthCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub birth_city: Option<Option<String>>,
#[serde(rename = "issuingCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub issuing_city: Option<Option<String>>,
#[serde(rename = "residenceCity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub residence_city: Option<Option<String>>,
#[serde(rename = "birthCountryCode", skip_serializing_if = "Option::is_none")]
pub birth_country_code: Option<String>,
#[serde(rename = "issuingCountryCode", skip_serializing_if = "Option::is_none")]
pub issuing_country_code: Option<String>,
#[serde(rename = "residenceCountryCode", skip_serializing_if = "Option::is_none")]
pub residence_country_code: Option<String>,
#[serde(rename = "issuingDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub issuing_date: Option<Option<String>>,
#[serde(rename = "gender", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub gender: Option<Option<models::Gender>>,
#[serde(rename = "expirationDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<Option<String>>,
}
impl IdentificationCard {
pub fn new(id: String, r#type: String) -> IdentificationCard {
IdentificationCard {
id,
r#type,
name: None,
nationality: None,
birth_city: None,
issuing_city: None,
residence_city: None,
birth_country_code: None,
issuing_country_code: None,
residence_country_code: None,
issuing_date: None,
gender: None,
expiration_date: None,
}
}
}