userlib/jsonb/
user_files.rs

1use chrono::NaiveDateTime;
2use common::file_utils::permission::Permission;
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5use chrono::naive::serde::ts_milliseconds;
6
7#[derive(Serialize, Deserialize, Debug, Clone, Default)]
8#[serde(rename_all = "camelCase")]
9pub struct UserFiles {
10    pub official_photo: Option<UserFile>,
11    pub driver_license: Option<UserFile>,
12    pub birth_certificate: Option<UserFile>,
13    pub passport: Option<UserFile>,
14    pub visa: Option<UserFile>,
15    pub court_documents: Option<Vec<UserFile>>,
16    pub agreements: Option<Vec<UserFile>>,
17    pub other: Option<Vec<UserFile>>,
18}
19
20#[derive(Serialize, Deserialize, Debug, Clone)]
21#[serde(rename_all = "camelCase")]
22pub struct UserFile {
23    pub id: Option<Uuid>,
24    pub comment: Option<String>,
25    pub path: String,
26    pub additional_paths: Option<Vec<String>>,
27    #[serde(with = "ts_milliseconds")]
28    pub updt: NaiveDateTime,
29    pub updu: Uuid,
30    pub permissions: Permission
31}