use std::string::String;
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum Permission {
Admin,
Select,
Insert,
Update,
Delete,
Create,
Drop,
}
impl Permission {
pub fn from_str(s: &str) -> Option<Self> {
match s.to_uppercase().as_str() {
"ADMIN" => Some(Permission::Admin),
"SELECT" => Some(Permission::Select),
"INSERT" => Some(Permission::Insert),
"UPDATE" => Some(Permission::Update),
"DELETE" => Some(Permission::Delete),
"CREATE" => Some(Permission::Create),
"DROP" => Some(Permission::Drop),
_ => None,
}
}
pub fn to_string(&self) -> String {
match self {
Permission::Admin => "ADMIN".to_string(),
Permission::Select => "SELECT".to_string(),
Permission::Insert => "INSERT".to_string(),
Permission::Update => "UPDATE".to_string(),
Permission::Delete => "DELETE".to_string(),
Permission::Create => "CREATE".to_string(),
Permission::Drop => "DROP".to_string(),
}
}
}