tuwunel_admin/query/users/iter_users.rs
1use futures::stream::StreamExt;
2use ruma::OwnedUserId;
3use tuwunel_core::{Result, utils::ReadyExt};
4
5use crate::admin_command;
6
7#[admin_command]
8pub(super) async fn iter_users(&self, historical: bool) -> Result {
9 let query = self
10 .services
11 .users
12 .stream()
13 .ready_filter(|user_id| !historical || user_id.is_historical())
14 .map(Into::into)
15 .collect::<Vec<OwnedUserId>>();
16
17 self.write_timed_query(query).await
18}