bkbh/src/types/account.rs
Bianca Fürstenau c1e63fa761 Break build
2025-03-07 16:10:06 +01:00

39 lines
No EOL
797 B
Rust

use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
#[cfg_attr(features = "dep:sqlx", derive(sqlx::Type))]
pub enum Account {
Sumpf,
Heinersyndikat,
}
impl TryFrom<&str> for Account {
type Error = ();
fn try_from(s: &str) -> Result<Self, Self::Error> {
match s {
"sumpf" => Ok(Account::Sumpf),
"hs" => Ok(Account::Heinersyndikat),
_ => Err(()),
}
}
}
impl Into<String> for &Account {
fn into(self) -> String {
String::from(match *self {
Account::Sumpf => "sumpf",
Account::Heinersyndikat => "hs",
})
}
}
impl std::fmt::Display for Account {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match *self {
Account::Sumpf => "Sumpf",
Account::Heinersyndikat => "Heinersyndikat",
}
.fmt(f)
}
}