use backbone_auth::middleware::AuthContext;
pub trait AuthContextExt {
fn has_permission(&self, permission: &str) -> bool;
fn has_role(&self, role: &str) -> bool;
fn has_all_roles(&self, roles: &[&str]) -> bool;
}
impl AuthContextExt for AuthContext {
fn has_permission(&self, permission: &str) -> bool {
self.permissions.iter().any(|p| p == permission)
}
fn has_role(&self, role: &str) -> bool {
self.roles.iter().any(|r| r == role)
}
fn has_all_roles(&self, roles: &[&str]) -> bool {
roles.iter().all(|required| self.roles.iter().any(|r| r == required))
}
}