fix: route ranking

This commit is contained in:
Zomatree
2025-06-05 23:09:27 +01:00
committed by izzy
parent 1b2c7b2fa1
commit e00603f276
2 changed files with 20 additions and 17 deletions

View File

@@ -12,7 +12,7 @@ use validator::Validate;
/// ///
/// Edit a role by its id. /// Edit a role by its id.
#[openapi(tag = "Server Permissions")] #[openapi(tag = "Server Permissions")]
#[patch("/<target>/roles/<role_id>", data = "<data>")] #[patch("/<target>/roles/<role_id>", data = "<data>", rank = 1)]
pub async fn edit( pub async fn edit(
db: &State<Database>, db: &State<Database>,
user: User, user: User,

View File

@@ -8,7 +8,7 @@ use revolt_models::v0;
/// ///
/// Edit's server role's ranks. /// Edit's server role's ranks.
#[openapi(tag = "Server Permissions")] #[openapi(tag = "Server Permissions")]
#[patch("/<target>/roles/ranks", data = "<data>", rank = 1)] #[patch("/<target>/roles/ranks", data = "<data>")]
pub async fn edit_role_ranks( pub async fn edit_role_ranks(
db: &State<Database>, db: &State<Database>,
user: User, user: User,
@@ -31,6 +31,8 @@ pub async fn edit_role_ranks(
return Err(create_error!(InvalidOperation)) return Err(create_error!(InvalidOperation))
} }
// dont have to check what the user cant modify if they are the server owner
if server.owner != user.id {
let member_top_rank = query.get_member_rank(); let member_top_rank = query.get_member_rank();
// find all roles above the member which we should not be able to reorder // find all roles above the member which we should not be able to reorder
@@ -50,6 +52,7 @@ pub async fn edit_role_ranks(
{ {
return Err(create_error!(NotElevated)) return Err(create_error!(NotElevated))
} }
}
// update the roles which have had their rank changed // update the roles which have had their rank changed
for (role_id, role) in &mut server.roles { for (role_id, role) in &mut server.roles {