1use super::*;
2use rbp_core::ID;
3use rbp_core::Unique;
4
5#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7pub enum User {
8 Anon(Lurker),
9 Auth(Member),
10}
11
12impl User {
13 pub fn id(&self) -> Option<ID<Member>> {
14 match self {
15 Self::Auth(m) => Some(m.id()),
16 Self::Anon(_) => None,
17 }
18 }
19}
20
21impl From<Lurker> for User {
22 fn from(lurker: Lurker) -> Self {
23 Self::Anon(lurker)
24 }
25}
26
27impl From<Member> for User {
28 fn from(member: Member) -> Self {
29 Self::Auth(member)
30 }
31}