pub enum ServerError { Database(String), PasswordHash(String), Token(String), } impl ServerError { pub fn kind(&self) -> String { match self { Self::Database(..) => "Database", Self::PasswordHash(..) => "PasswordHash", Self::Token(..) => "Token", } .to_string() } pub fn into_message(self) -> String { match self { Self::Database(msg) => msg, Self::PasswordHash(msg) => msg, Self::Token(msg) => msg, } } }