Compare commits
8 commits
Author | SHA1 | Date | |
---|---|---|---|
d64dc92b99 | |||
a1857a1939 | |||
bf5cc600b9 | |||
|
ac5ca90974 | ||
|
e074ca89f9 | ||
|
c725d13ca8 | ||
|
9e5d2daeab | ||
|
71d44f6c21 |
3 changed files with 8 additions and 2 deletions
|
@ -53,7 +53,7 @@ pub async fn delete(
|
|||
let deleter = Member::check_membership(&mut conn, uuid, member.guild_uuid).await?;
|
||||
|
||||
deleter
|
||||
.check_permission(&app_state, Permissions::ManageMember)
|
||||
.check_permission(&app_state, Permissions::KickMember)
|
||||
.await?;
|
||||
|
||||
member.delete(&mut conn).await?;
|
||||
|
|
|
@ -195,6 +195,9 @@ impl Member {
|
|||
}
|
||||
|
||||
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)
|
||||
.filter(guild_members::uuid.eq(self.uuid))
|
||||
.execute(conn)
|
||||
|
|
|
@ -176,8 +176,10 @@ pub enum Permissions {
|
|||
ManageGuild = 32,
|
||||
/// Lets users change member settings (nickname, etc)
|
||||
ManageMember = 64,
|
||||
/// Lets user ban members
|
||||
/// Lets users ban members
|
||||
BanMember = 128,
|
||||
/// Lets users kick members
|
||||
KickMember = 256,
|
||||
}
|
||||
|
||||
impl Permissions {
|
||||
|
@ -191,6 +193,7 @@ impl Permissions {
|
|||
Self::ManageGuild,
|
||||
Self::ManageMember,
|
||||
Self::BanMember,
|
||||
Self::KickMember,
|
||||
];
|
||||
|
||||
all_perms
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue