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