tuwunel_admin/room/alias/
remove.rs1use tuwunel_core::{Result, err};
2
3use super::parse_alias_from_localpart;
4use crate::admin_command;
5
6#[admin_command]
7pub(super) async fn alias_remove(&self, room_alias_localpart: String) -> Result {
8 let room_alias = parse_alias_from_localpart(self.services, &room_alias_localpart)?;
9
10 let id = self
11 .services
12 .alias
13 .resolve_local_alias(&room_alias)
14 .await
15 .map_err(|_| err!("Alias isn't in use."))?;
16
17 self.services
18 .alias
19 .remove_alias(&room_alias)
20 .await
21 .map_err(|err| err!("Failed to remove alias: {err}"))?;
22
23 write!(self, "Removed alias from {id}").await
24}