Compare commits

..

8 commits

Author SHA1 Message Date
d64dc92b99 Merge branch 'wip/ban'
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/push/publish-docs Pipeline was successful
2025-07-25 00:31:34 +02:00
a1857a1939 Merge pull request 'Check if you are trying to kick owner' (#38) from wip/kick into main
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/push/publish-docs Pipeline was successful
Reviewed-on: #38
Reviewed-by: Radical <radical@radical.fun>
2025-07-23 12:59:34 +00:00
bf5cc600b9 Merge branch 'main' into wip/kick
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful
ci/woodpecker/pull_request_closed/build-and-publish Pipeline was successful
2025-07-23 09:10:40 +00:00
BAaboe
ac5ca90974 fix: self not member
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful
2025-07-23 02:03:06 +02:00
BAaboe
e074ca89f9 feat: idiot proofing
Some checks failed
ci/woodpecker/push/build-and-publish Pipeline failed
ci/woodpecker/pr/build-and-publish Pipeline failed
2025-07-23 01:50:55 +02:00
BAaboe
c725d13ca8 feat: kick permission
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful
2025-07-23 01:35:28 +02:00
BAaboe
9e5d2daeab fix: fixed error error
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful
2025-07-23 01:07:41 +02:00
BAaboe
71d44f6c21 fix: Can not kick owner
Some checks failed
ci/woodpecker/push/build-and-publish Pipeline failed
2025-07-23 00:58:51 +02:00
3 changed files with 8 additions and 2 deletions

View file

@ -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?;

View file

@ -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)

View file

@ -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