From 3589be0a3b5122d9a5229279ab17548c2e7ff2fb Mon Sep 17 00:00:00 2001 From: "Philip (a-0)" <@ph:a-0.me> Date: Sun, 14 Apr 2024 16:13:37 +0200 Subject: [PATCH] Added `SharePermissions`, 'ShareContent` and `Share` types --- ubisync-lib/src/types/mod.rs | 3 +++ ubisync-lib/src/types/share.rs | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 ubisync-lib/src/types/share.rs diff --git a/ubisync-lib/src/types/mod.rs b/ubisync-lib/src/types/mod.rs index 700cca7..5214933 100644 --- a/ubisync-lib/src/types/mod.rs +++ b/ubisync-lib/src/types/mod.rs @@ -31,5 +31,8 @@ pub use pot_id::PotId; mod pot; pub use pot::Pot; +mod share; +pub use share::{ShareContent, SharePermissions, Share}; + mod tag; pub use tag::Tag; diff --git a/ubisync-lib/src/types/share.rs b/ubisync-lib/src/types/share.rs new file mode 100644 index 0000000..e10fff3 --- /dev/null +++ b/ubisync-lib/src/types/share.rs @@ -0,0 +1,22 @@ +use std::collections::HashMap; + +use serde::{Deserialize, Serialize}; + +use super::{FamilyId, PotId}; + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct ShareContent { + pub pots: Vec, +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub enum SharePermissions { + Read, + ReadWrite, + Owner +} +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct Share { + pub content: ShareContent, + pub members: HashMap, +} \ No newline at end of file