diff --git a/src/api/v1/members/uuid/mod.rs b/src/api/v1/members/uuid/mod.rs index 42a4418..7c39bff 100644 --- a/src/api/v1/members/uuid/mod.rs +++ b/src/api/v1/members/uuid/mod.rs @@ -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::KickMember) + .check_permission(&app_state, Permissions::ManageMember) .await?; member.delete(&mut conn).await?; diff --git a/src/objects/member.rs b/src/objects/member.rs index dc35e08..621097d 100644 --- a/src/objects/member.rs +++ b/src/objects/member.rs @@ -195,9 +195,6 @@ 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) diff --git a/src/objects/role.rs b/src/objects/role.rs index 4a4009b..7b078e5 100644 --- a/src/objects/role.rs +++ b/src/objects/role.rs @@ -176,10 +176,8 @@ pub enum Permissions { ManageGuild = 32, /// Lets users change member settings (nickname, etc) ManageMember = 64, - /// Lets users ban members + /// Lets user ban members BanMember = 128, - /// Lets users kick members - KickMember = 256, } impl Permissions { @@ -193,7 +191,6 @@ impl Permissions { Self::ManageGuild, Self::ManageMember, Self::BanMember, - Self::KickMember, ]; all_perms