fix: route ranking
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user