docslib/model/
share.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::collections::HashMap;
use chrono::NaiveDateTime;
use common::enums::module::Module;
use serde::Deserialize;
use serde::Serialize;
use uuid::Uuid;
#[derive(Serialize, Deserialize, Default, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct SharePermission {
    pub file : String,
    pub date : Option<NaiveDateTime>,
    pub permission : String,
    pub entity : String,
    pub entity_id : Uuid,
   // pub project : String
}

#[derive(Serialize, Deserialize, Default, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct UserFiles {
    pub user_id : Uuid,
    pub files : Vec<SharePermission>

}
#[derive(Serialize, Deserialize, Default, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Share {
    pub projects : HashMap<Module,Vec<UserFiles>>
}