fix list_rooms admin command filters
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
b64a235165
commit
ee1580e480
1 changed files with 7 additions and 3 deletions
|
@ -6,7 +6,7 @@ use crate::{admin_command, get_room_info, PAGE_SIZE};
|
|||
|
||||
#[admin_command]
|
||||
pub(super) async fn list_rooms(
|
||||
&self, page: Option<usize>, _exclude_disabled: bool, _exclude_banned: bool, no_details: bool,
|
||||
&self, page: Option<usize>, exclude_disabled: bool, exclude_banned: bool, no_details: bool,
|
||||
) -> Result<RoomMessageEventContent> {
|
||||
// TODO: i know there's a way to do this with clap, but i can't seem to find it
|
||||
let page = page.unwrap_or(1);
|
||||
|
@ -15,8 +15,12 @@ pub(super) async fn list_rooms(
|
|||
.rooms
|
||||
.metadata
|
||||
.iter_ids()
|
||||
//.filter(|room_id| async { !exclude_disabled || !self.services.rooms.metadata.is_disabled(room_id).await })
|
||||
//.filter(|room_id| async { !exclude_banned || !self.services.rooms.metadata.is_banned(room_id).await })
|
||||
.filter_map(|room_id| async move {
|
||||
(!exclude_disabled || !self.services.rooms.metadata.is_disabled(room_id).await).then_some(room_id)
|
||||
})
|
||||
.filter_map(|room_id| async move {
|
||||
(!exclude_banned || !self.services.rooms.metadata.is_banned(room_id).await).then_some(room_id)
|
||||
})
|
||||
.then(|room_id| get_room_info(self.services, room_id))
|
||||
.collect::<Vec<_>>()
|
||||
.await;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue