use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum UserStatus {
#[serde(rename = "active")]
Active,
#[serde(rename = "ask me")]
AskMe,
#[serde(rename = "busy")]
Busy,
#[serde(rename = "join me")]
JoinMe,
#[serde(rename = "offline")]
Offline,
}
impl std::fmt::Display for UserStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Active => write!(f, "active"),
Self::AskMe => write!(f, "ask me"),
Self::Busy => write!(f, "busy"),
Self::JoinMe => write!(f, "join me"),
Self::Offline => write!(f, "offline"),
}
}
}
impl Default for UserStatus {
fn default() -> UserStatus {
Self::Active
}
}