From 0b8d6e2cc2907de2453a7b887769d45b4153aa13 Mon Sep 17 00:00:00 2001 From: xeovalyte Date: Wed, 26 Feb 2025 15:14:51 +0100 Subject: [PATCH] Added a function to set a member roles to admin --- server/src/util/cli.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/server/src/util/cli.rs b/server/src/util/cli.rs index d356a9c..c5ed4ed 100644 --- a/server/src/util/cli.rs +++ b/server/src/util/cli.rs @@ -17,6 +17,7 @@ struct Cli { enum Commands { Serve, CreateAdminMember, + SetMemberAdmin { relatiecode: String }, } pub async fn parse(pool: PgPool) { @@ -29,6 +30,11 @@ pub async fn parse(pool: PgPool) { Some(Commands::CreateAdminMember) => { create_admin_member(&pool).await.unwrap(); } + Some(Commands::SetMemberAdmin { + relatiecode: member_id, + }) => { + set_member_admin(&pool, member_id).await.unwrap(); + } None => {} } } @@ -54,3 +60,17 @@ pub async fn create_admin_member(pool: &PgPool) -> Result<(), sqlx::Error> { Ok(()) } + +pub async fn set_member_admin(pool: &PgPool, id: &str) -> Result<(), sqlx::Error> { + sqlx::query!( + " + UPDATE ONLY members SET roles = $1 WHERE member_id = $2 + ", + Roles::ADMIN.bits() as i64, + id + ) + .execute(pool) + .await?; + + Ok(()) +}