style: cargo clippy & cargo fmt
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/push/publish-docs Pipeline was successful

This commit is contained in:
Radical 2025-07-02 20:47:59 +02:00
parent 19f64d413c
commit e59f7b5a1f
20 changed files with 137 additions and 67 deletions

View file

@ -5,7 +5,12 @@ use diesel_async::RunQueryDsl;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::{error::Error, objects::{Permissions, Role}, schema::guild_members, Conn, Data};
use crate::{
Conn, Data,
error::Error,
objects::{Permissions, Role},
schema::guild_members,
};
use super::{User, load_or_empty};
@ -34,12 +39,16 @@ impl MemberBuilder {
})
}
pub async fn check_permission(&self, data: &Data, permission: Permissions) -> Result<(), Error> {
pub async fn check_permission(
&self,
data: &Data,
permission: Permissions,
) -> Result<(), Error> {
if !self.is_owner {
let roles = Role::fetch_from_member(&data, self.uuid).await?;
let roles = Role::fetch_from_member(data, self.uuid).await?;
let allowed = roles.iter().any(|r| r.permissions & permission as i64 != 0);
if !allowed {
return Err(Error::Forbidden("Not allowed".to_string()))
return Err(Error::Forbidden("Not allowed".to_string()));
}
}