userlib/jsonb/
visa_info.rs

1use 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}