#[derive(sqlx::Type, Debug, Clone)] #[sqlx(type_name = "role", rename_all = "lowercase")] pub enum Role { Staff = 1, AreaManager = 10, Admin = 100, } impl TryFrom for Role { type Error = (); fn try_from(value: u8) -> Result { match value { 1 => Ok(Role::Staff), 10 => Ok(Role::AreaManager), 100 => Ok(Role::Admin), _ => Err(()), } } }