mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-25 08:00:59 +00:00
fix: revoke tokens on demotions of superadmins
This commit is contained in:
@@ -1364,6 +1364,7 @@ async fn update_user(
|
||||
require_super_admin(&db, &authed.email).await?;
|
||||
let mut tx = db.begin().await?;
|
||||
|
||||
let mut revoke_tokens = false;
|
||||
if let Some(sa) = eu.is_super_admin {
|
||||
sqlx::query_scalar!(
|
||||
"UPDATE password SET super_admin = $1 WHERE email = $2",
|
||||
@@ -1372,6 +1373,7 @@ async fn update_user(
|
||||
)
|
||||
.execute(&mut *tx)
|
||||
.await?;
|
||||
revoke_tokens = true;
|
||||
}
|
||||
|
||||
if let Some(dv) = eu.is_devops {
|
||||
@@ -1382,6 +1384,13 @@ async fn update_user(
|
||||
)
|
||||
.execute(&mut *tx)
|
||||
.await?;
|
||||
revoke_tokens = true;
|
||||
}
|
||||
|
||||
if revoke_tokens {
|
||||
sqlx::query!("DELETE FROM token WHERE email = $1", &email_to_update)
|
||||
.execute(&mut *tx)
|
||||
.await?;
|
||||
}
|
||||
|
||||
if let Some(n) = eu.name {
|
||||
|
||||
Reference in New Issue
Block a user