use serde::Deserialize;
use crate::types::{JobId, Reuid};
#[derive(Debug, Deserialize)]
pub struct UserDataResponse {
pub data: UserData,
pub reuid: Option<ReuId>,
}
#[derive(Debug, Deserialize)]
pub struct UserData {
pub comparison_value: f64,
pub pass_data: String,
pub job_id: JobId,
pub profile: Option<Profile>,
}
#[derive(Debug, Deserialize)]
pub struct Profile {
pub common_data: CommonData,
pub doc_data: DocData,
pub contacts: Option<Contacts>,
pub address: Option<Address>,
}
#[derive(Debug, Deserialize)]
pub struct CommonData {
pub first_name: String,
pub middle_name: Option<String>,
pub last_name: String,
pub first_name_en: Option<String>,
pub last_name_en: Option<String>,
pub pinfl: String,
pub gender: String,
pub birth_place: String,
pub birth_country: Option<String>,
pub birth_country_id: Option<String>,
pub birth_country_id_cbu: Option<String>,
pub birth_date: String,
pub nationality: String,
pub nationality_id: Option<String>,
pub nationality_id_cbu: Option<String>,
pub citizenship: String,
pub citizenship_id: Option<String>,
pub citizenship_id_cbu: Option<String>,
pub sdk_hash: String,
pub last_update_pass_data: String,
pub last_update_address: String,
}
#[derive(Debug, Deserialize)]
pub struct DocData {
pub pass_data: String,
pub issued_by: String,
pub issued_by_id: String,
pub issued_date: String,
pub expiry_date: String,
pub doc_type: String,
pub doc_type_id: String,
pub doc_type_id_cbu: String,
}
#[derive(Debug, Deserialize)]
pub struct Contacts {
pub phone: Option<String>,
pub email: Option<String>,
}
#[derive(Debug, Deserialize)]
pub struct Address {
pub permanent_address: Option<String>,
pub temporary_address: Option<String>,
pub permanent_registration: Option<PermanentRegistration>,
pub temporary_registration: Option<TemporaryRegistration>,
}
#[derive(Debug, Deserialize)]
pub struct PermanentRegistration {
pub mfy: Option<String>,
pub mfy_id: Option<String>,
pub region: String,
pub address: Option<String>,
pub country: String,
pub cadastre: Option<String>,
pub district: Option<String>,
pub region_id: String,
pub country_id: String,
pub district_id: String,
pub region_id_cbu: String,
pub country_id_cbu: String,
pub district_id_cbu: String,
pub registration_date: String,
}
#[derive(Debug, Deserialize)]
pub struct TemporaryRegistration {
pub mfy: Option<String>,
pub mfy_id: Option<String>,
pub region: String,
pub address: Option<String>,
pub cadastre: String,
pub district: Option<String>,
pub date_from: Option<String>,
pub date_till: String,
pub region_id: String,
pub district_id: String,
pub region_id_cbu: String,
pub district_id_cbu: String,
}
#[derive(Debug, Deserialize)]
pub struct ReuId {
pub expires_at: i64,
pub value: Reuid,
}