use super::*; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct OpenPost { } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct ClosedPost { } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub enum PostKind { Open(OpenPost), Closed(ClosedPost), } /// A post #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct Post { owner: user::UserID, kind: PostKind } impl Post { /// The ID of the owning user & session of this post. pub fn owner(&self) -> &user::UserID { &self.owner } }