feat: add roles migration

This commit is contained in:
Zomatree
2025-06-05 22:37:10 +01:00
committed by izzy
parent c526095d4f
commit 1b2c7b2fa1
3 changed files with 42 additions and 6 deletions

View File

@@ -49,6 +49,6 @@ pub fn routes() -> (Vec<Route>, OpenApi) {
permissions_set::set_role_permission,
permissions_set_default::set_default_permissions,
emoji_list::list_emoji,
roles_edit_positions::edit_role_positions
roles_edit_positions::edit_role_ranks
]
}

View File

@@ -8,7 +8,7 @@ use revolt_models::v0;
///
/// Edit's server role's ranks.
#[openapi(tag = "Server Permissions")]
#[patch("/<target>/roles/ranks", data = "<data>")]
#[patch("/<target>/roles/ranks", data = "<data>", rank = 1)]
pub async fn edit_role_ranks(
db: &State<Database>,
user: User,
@@ -36,7 +36,7 @@ pub async fn edit_role_ranks(
// find all roles above the member which we should not be able to reorder
let cant_modify = server.roles.clone()
.into_iter()
.filter(|(_, role)| if let Some(top_rank) = member_top_rank { role.rank >= top_rank } else { true })
.filter(|(_, role)| if let Some(top_rank) = member_top_rank { role.rank <= top_rank } else { true })
.collect::<Vec<_>>();
// check if any roles which we cant reorder have tried to been reordered