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_local_user_id};
5
6#[admin_command]
7pub(super) async fn deactivate(&self, no_leave_rooms: bool, user_id: String) -> Result {
8	// Validate user id
9	let user_id = parse_local_user_id(self.services, &user_id)?;
10
11	// don't deactivate the server service account
12	if user_id == self.services.globals.server_user {
13		return Err!("Not allowed to deactivate the server service account.",);
14	}
15
16	deactivate_user(self.services, &user_id, no_leave_rooms).await?;
17
18	write!(self, "User {user_id} has been deactivated").await
19}