use super::creation::ApiKeyHandler;
use crate::core::models::ApiKey;
impl ApiKeyHandler {
pub fn has_permission(&self, api_key: &ApiKey, permission: &str) -> bool {
api_key.permissions.contains(&permission.to_string())
|| api_key.permissions.contains(&"*".to_string()) }
pub fn has_any_permission(&self, api_key: &ApiKey, permissions: &[String]) -> bool {
if api_key.permissions.contains(&"*".to_string()) {
return true;
}
permissions
.iter()
.any(|perm| api_key.permissions.contains(perm))
}
pub fn has_all_permissions(&self, api_key: &ApiKey, permissions: &[String]) -> bool {
if api_key.permissions.contains(&"*".to_string()) {
return true;
}
permissions
.iter()
.all(|perm| api_key.permissions.contains(perm))
}
}