From 1534bb6d8f88d83c1ce9c89d007af04dcc3291f1 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 2 Feb 2025 00:25:45 +0100 Subject: node visibility --- common/src/lib.rs | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'common/src/lib.rs') diff --git a/common/src/lib.rs b/common/src/lib.rs index 9d22eec..46d543d 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -27,10 +27,11 @@ pub struct NodeID(pub [u8; 32]); #[derive(Debug, Clone, Deserialize, Serialize, Default, Encode, Decode)] pub struct Node { + #[serde(default)] pub slug: String, #[serde(default)] pub parents: BTreeSet, - pub kind: Option, + pub kind: NodeKind, pub poster: Option, pub backdrop: Option, pub title: Option, @@ -47,6 +48,8 @@ pub struct Node { pub people: BTreeMap>, #[serde(default)] pub external_ids: BTreeMap, + #[serde(default)] + pub visibility: Visibility, } #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone, Encode, Decode)] @@ -96,10 +99,33 @@ pub enum PeopleGroup { CreatedBy, } +#[derive( + Debug, + Clone, + Copy, + Deserialize, + Serialize, + PartialEq, + Eq, + PartialOrd, + Ord, + Encode, + Decode, + Default, +)] +#[serde(rename_all = "snake_case")] +pub enum Visibility { + Hidden, + Reduced, + #[default] + Visible, +} + #[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq, Eq, Default, Encode, Decode)] #[serde(rename_all = "snake_case")] pub enum NodeKind { #[default] + Unknown, Movie, Video, Music, -- cgit v1.2.3-70-g09d2