From 156199a2180e15ded5f0935a84550ffab78002eb Mon Sep 17 00:00:00 2001 From: strawberry Date: Fri, 23 Aug 2024 22:16:13 -0400 Subject: [PATCH] add `--no_details` to list banned rooms command Signed-off-by: strawberry --- src/admin/room/moderation.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/admin/room/moderation.rs b/src/admin/room/moderation.rs index a2bc76f7..70d8486b 100644 --- a/src/admin/room/moderation.rs +++ b/src/admin/room/moderation.rs @@ -60,7 +60,12 @@ pub(crate) enum RoomModerationCommand { }, /// - List of all rooms we have banned - ListBannedRooms, + ListBannedRooms { + #[arg(long)] + /// Whether to only output room IDs without supplementary room + /// information + no_details: bool, + }, } #[admin_command] @@ -563,7 +568,7 @@ async fn unban_room(&self, enable_federation: bool, room: Box) -> } #[admin_command] -async fn list_banned_rooms(&self) -> Result { +async fn list_banned_rooms(&self, no_details: bool) -> Result { let rooms = self .services .rooms @@ -589,7 +594,11 @@ async fn list_banned_rooms(&self) -> Result { rooms.len(), rooms .iter() - .map(|(id, members, name)| format!("{id}\tMembers: {members}\tName: {name}")) + .map(|(id, members, name)| if no_details { + format!("{id}") + } else { + format!("{id}\tMembers: {members}\tName: {name}") + }) .collect::>() .join("\n") ); @@ -597,7 +606,7 @@ async fn list_banned_rooms(&self) -> Result { Ok(RoomMessageEventContent::notice_markdown(output_plain)) }, Err(e) => { - error!("Failed to list banned rooms: {}", e); + error!("Failed to list banned rooms: {e}"); Ok(RoomMessageEventContent::text_plain(format!("Unable to list banned rooms: {e}"))) }, }