use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DeviceType {
#[serde(rename = "BROWSER")]
Browser,
#[serde(rename = "DESKTOP")]
Desktop,
#[serde(rename = "LAPTOP")]
Laptop,
#[serde(rename = "MOBILE")]
Mobile,
#[serde(rename = "OTHER")]
Other,
#[serde(rename = "SERVER")]
Server,
#[serde(rename = "TABLET")]
Tablet,
#[serde(rename = "TV")]
Tv,
#[serde(rename = "UNKNOWN")]
Unknown,
}
impl std::fmt::Display for DeviceType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Browser => write!(f, "BROWSER"),
Self::Desktop => write!(f, "DESKTOP"),
Self::Laptop => write!(f, "LAPTOP"),
Self::Mobile => write!(f, "MOBILE"),
Self::Other => write!(f, "OTHER"),
Self::Server => write!(f, "SERVER"),
Self::Tablet => write!(f, "TABLET"),
Self::Tv => write!(f, "TV"),
Self::Unknown => write!(f, "UNKNOWN"),
}
}
}
impl Default for DeviceType {
fn default() -> DeviceType {
Self::Browser
}
}