userlib/jsonb/
user_files.rs1use 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}