fix: Implement std::fmt::Display for Permission to resolve compilation errors
This commit is contained in:
parent
20895c98ff
commit
7d83255051
2 changed files with 14 additions and 100 deletions
|
|
@ -1,9 +1,8 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use strum::{Display, EnumString};
|
||||
use std::fmt;
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Display, EnumString)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
#[strum(serialize_all = "lowercase")]
|
||||
pub enum Permission {
|
||||
Read,
|
||||
Write,
|
||||
|
|
@ -12,6 +11,18 @@ pub enum Permission {
|
|||
Admin,
|
||||
}
|
||||
|
||||
impl fmt::Display for Permission {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
Self::Read => write!(f, "read"),
|
||||
Self::Write => write!(f, "write"),
|
||||
Self::Delete => write!(f, "delete"),
|
||||
Self::Share => write!(f, "share"),
|
||||
Self::Admin => write!(f, "admin"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Permission {
|
||||
pub fn can_read(&self) -> bool {
|
||||
matches!(self, Self::Read | Self::Admin)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue