Skip to main content

tuwunel_admin/user/
deactivate.rs

1use tuwunel_core::{Err, Result};
2
3use super::deactivate_user;
4use crate::{admin_command, utils::parse_existing_local_user_id};
5
6#[admin_command]
7pub(super) async fn deactivate(&self, no_leave_rooms: bool, user_id: String) -> Result {
8	let user_id = parse_existing_local_user_id(self.services, &user_id).await?;
9
10	// don't deactivate the server service account
11	if user_id == self.services.globals.server_user {
12		return Err!("Not allowed to deactivate the server service account.",);
13	}
14
15	deactivate_user(self.services, &user_id, no_leave_rooms).await?;
16
17	write!(self, "User {user_id} has been deactivated").await
18}