Compare commits
No commits in common. "main" and "wip/ban" have entirely different histories.
3 changed files with 2 additions and 8 deletions
|
@ -53,7 +53,7 @@ pub async fn delete(
|
||||||
let deleter = Member::check_membership(&mut conn, uuid, member.guild_uuid).await?;
|
let deleter = Member::check_membership(&mut conn, uuid, member.guild_uuid).await?;
|
||||||
|
|
||||||
deleter
|
deleter
|
||||||
.check_permission(&app_state, Permissions::KickMember)
|
.check_permission(&app_state, Permissions::ManageMember)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
member.delete(&mut conn).await?;
|
member.delete(&mut conn).await?;
|
||||||
|
|
|
@ -195,9 +195,6 @@ impl Member {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn delete(self, conn: &mut Conn) -> Result<(), Error> {
|
pub async fn delete(self, conn: &mut Conn) -> Result<(), Error> {
|
||||||
if self.is_owner {
|
|
||||||
return Err(Error::Forbidden("Can not kick owner".to_string()))
|
|
||||||
}
|
|
||||||
delete(guild_members::table)
|
delete(guild_members::table)
|
||||||
.filter(guild_members::uuid.eq(self.uuid))
|
.filter(guild_members::uuid.eq(self.uuid))
|
||||||
.execute(conn)
|
.execute(conn)
|
||||||
|
|
|
@ -176,10 +176,8 @@ pub enum Permissions {
|
||||||
ManageGuild = 32,
|
ManageGuild = 32,
|
||||||
/// Lets users change member settings (nickname, etc)
|
/// Lets users change member settings (nickname, etc)
|
||||||
ManageMember = 64,
|
ManageMember = 64,
|
||||||
/// Lets users ban members
|
/// Lets user ban members
|
||||||
BanMember = 128,
|
BanMember = 128,
|
||||||
/// Lets users kick members
|
|
||||||
KickMember = 256,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Permissions {
|
impl Permissions {
|
||||||
|
@ -193,7 +191,6 @@ impl Permissions {
|
||||||
Self::ManageGuild,
|
Self::ManageGuild,
|
||||||
Self::ManageMember,
|
Self::ManageMember,
|
||||||
Self::BanMember,
|
Self::BanMember,
|
||||||
Self::KickMember,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
all_perms
|
all_perms
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue