userlib/jsonb/
visa_info.rs1use chrono::NaiveDateTime;
2use common::utils::serialize_option_naive_date;
3use postgres_types::{FromSql, ToSql};
4use serde::{Deserialize, Serialize};
5
6#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, FromSql, ToSql)]
7#[serde(rename_all = "camelCase")]
8pub struct VisaInfo {
9 #[serde(skip_serializing_if = "Option::is_none")]
10 pub visa_number: Option<String>,
11 #[serde(default)]
12 #[serde(with = "serialize_option_naive_date")]
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub from_date: Option<NaiveDateTime>,
15 #[serde(default)]
16 #[serde(with = "serialize_option_naive_date")]
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub to_date: Option<NaiveDateTime>,
19 #[serde(skip_serializing_if = "Option::is_none")]
20 pub conditions: Option<Vec<String>>,
21}