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,
}
#[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>>
}