Skip to main content

tuwunel_admin/room/
delete.rs

1use ruma::OwnedRoomId;
2use tuwunel_core::{Err, Result};
3
4use crate::admin_command;
5
6#[admin_command]
7pub(super) async fn room_delete(&self, room_id: OwnedRoomId, force: bool) -> Result {
8	if self.services.admin.is_admin_room(&room_id).await {
9		return Err!("Cannot delete admin room");
10	}
11
12	let state_lock = self.services.state.mutex.lock(&room_id).await;
13
14	self.services
15		.delete
16		.delete_room(&room_id, force, state_lock)
17		.await?;
18
19	self.write_str("Successfully deleted the room from our database.")
20		.await?;
21
22	Ok(())
23}