refactor: Fix errors in admin/room/

This commit is contained in:
Ginger
2026-04-28 09:16:56 -04:00
parent 54fefb421b
commit 7f06a61242
5 changed files with 12 additions and 17 deletions
+2 -2
View File
@@ -3,7 +3,7 @@ use std::fmt::Write;
use clap::Subcommand; use clap::Subcommand;
use conduwuit::{Err, Result}; use conduwuit::{Err, Result};
use futures::StreamExt; use futures::StreamExt;
use ruma::{OwnedRoomAliasId, OwnedRoomId}; use ruma::{OwnedRoomAliasId, OwnedRoomId, RoomAliasId};
use crate::Context; use crate::Context;
@@ -52,7 +52,7 @@ pub(super) async fn process(command: RoomAliasCommand, context: &Context<'_>) ->
| RoomAliasCommand::Which { ref room_alias_localpart } => { | RoomAliasCommand::Which { ref room_alias_localpart } => {
let room_alias_str = let room_alias_str =
format!("#{}:{}", room_alias_localpart, services.globals.server_name()); format!("#{}:{}", room_alias_localpart, services.globals.server_name());
let room_alias = match OwnedRoomAliasId::parse(room_alias_str) { let room_alias = match RoomAliasId::parse(room_alias_str) {
| Ok(alias) => alias, | Ok(alias) => alias,
| Err(err) => { | Err(err) => {
return Err!("Failed to parse alias: {err}"); return Err!("Failed to parse alias: {err}");
+3 -3
View File
@@ -22,14 +22,14 @@ pub(super) async fn list_rooms(
.metadata .metadata
.iter_ids() .iter_ids()
.filter_map(|room_id| async move { .filter_map(|room_id| async move {
(!exclude_disabled || !self.services.rooms.metadata.is_disabled(room_id).await) (!exclude_disabled || !self.services.rooms.metadata.is_disabled(&room_id).await)
.then_some(room_id) .then_some(room_id)
}) })
.filter_map(|room_id| async move { .filter_map(|room_id| async move {
(!exclude_banned || !self.services.rooms.metadata.is_banned(room_id).await) (!exclude_banned || !self.services.rooms.metadata.is_banned(&room_id).await)
.then_some(room_id) .then_some(room_id)
}) })
.then(|room_id| get_room_info(self.services, room_id)) .then(async |room_id| get_room_info(self.services, &room_id).await)
.then(|(room_id, total_members, name)| async move { .then(|(room_id, total_members, name)| async move {
let local_members: Vec<_> = self let local_members: Vec<_> = self
.services .services
+1 -1
View File
@@ -43,7 +43,7 @@ pub(super) async fn process(command: RoomDirectoryCommand, context: &Context<'_>
.rooms .rooms
.directory .directory
.public_rooms() .public_rooms()
.then(|room_id| get_room_info(services, room_id)) .then(async |room_id| get_room_info(services, &room_id).await)
.collect() .collect()
.await; .await;
-1
View File
@@ -46,7 +46,6 @@ async fn list_joined_members(&self, room_id: OwnedRoomId, local_only: bool) -> R
.then(|| self.services.globals.user_is_local(user_id)) .then(|| self.services.globals.user_is_local(user_id))
.unwrap_or(true) .unwrap_or(true)
}) })
.map(ToOwned::to_owned)
.filter_map(|user_id| async move { .filter_map(|user_id| async move {
Some(( Some((
self.services self.services
+6 -10
View File
@@ -89,7 +89,7 @@ async fn ban_room(&self, room: OwnedRoomOrAliasId) -> Result {
locally, if not using get_alias_helper to fetch room ID remotely" locally, if not using get_alias_helper to fetch room ID remotely"
); );
match self.services.rooms.alias.resolve_alias(room_alias).await { match self.services.rooms.alias.resolve_alias(&room_alias).await {
| Ok((room_id, servers)) => { | Ok((room_id, servers)) => {
debug!( debug!(
%room_id, %room_id,
@@ -116,7 +116,6 @@ async fn ban_room(&self, room: OwnedRoomOrAliasId) -> Result {
.rooms .rooms
.state_cache .state_cache
.room_members(&room_id) .room_members(&room_id)
.map(ToOwned::to_owned)
.ready_filter(|user| self.services.globals.user_is_local(user)) .ready_filter(|user| self.services.globals.user_is_local(user))
.boxed(); .boxed();
@@ -140,7 +139,6 @@ async fn ban_room(&self, room: OwnedRoomOrAliasId) -> Result {
.rooms .rooms
.alias .alias
.local_aliases_for_room(&room_id) .local_aliases_for_room(&room_id)
.map(ToOwned::to_owned)
.for_each(|local_alias| async move { .for_each(|local_alias| async move {
self.services self.services
.rooms .rooms
@@ -215,7 +213,7 @@ async fn ban_list_of_rooms(&self) -> Result {
.services .services
.rooms .rooms
.alias .alias
.resolve_local_alias(room_alias) .resolve_local_alias(&room_alias)
.await .await
{ {
| Ok(room_id) => room_id, | Ok(room_id) => room_id,
@@ -229,7 +227,7 @@ async fn ban_list_of_rooms(&self) -> Result {
.services .services
.rooms .rooms
.alias .alias
.resolve_alias(room_alias) .resolve_alias(&room_alias)
.await .await
{ {
| Ok((room_id, servers)) => { | Ok((room_id, servers)) => {
@@ -284,7 +282,6 @@ async fn ban_list_of_rooms(&self) -> Result {
.rooms .rooms
.state_cache .state_cache
.room_members(&room_id) .room_members(&room_id)
.map(ToOwned::to_owned)
.ready_filter(|user| self.services.globals.user_is_local(user)) .ready_filter(|user| self.services.globals.user_is_local(user))
.boxed(); .boxed();
@@ -309,7 +306,6 @@ async fn ban_list_of_rooms(&self) -> Result {
.rooms .rooms
.alias .alias
.local_aliases_for_room(&room_id) .local_aliases_for_room(&room_id)
.map(ToOwned::to_owned)
.for_each(|local_alias| async move { .for_each(|local_alias| async move {
self.services self.services
.rooms .rooms
@@ -348,7 +344,7 @@ async fn unban_room(&self, room: OwnedRoomOrAliasId) -> Result {
}; };
debug!("Room specified is a room ID, unbanning room ID"); debug!("Room specified is a room ID, unbanning room ID");
self.services.rooms.metadata.ban_room(room_id, false); self.services.rooms.metadata.ban_room(&room_id, false);
room_id.to_owned() room_id.to_owned()
} else if room.is_room_alias_id() { } else if room.is_room_alias_id() {
@@ -372,7 +368,7 @@ async fn unban_room(&self, room: OwnedRoomOrAliasId) -> Result {
.services .services
.rooms .rooms
.alias .alias
.resolve_local_alias(room_alias) .resolve_local_alias(&room_alias)
.await .await
{ {
| Ok(room_id) => room_id, | Ok(room_id) => room_id,
@@ -382,7 +378,7 @@ async fn unban_room(&self, room: OwnedRoomOrAliasId) -> Result {
room ID over federation" room ID over federation"
); );
match self.services.rooms.alias.resolve_alias(room_alias).await { match self.services.rooms.alias.resolve_alias(&room_alias).await {
| Ok((room_id, servers)) => { | Ok((room_id, servers)) => {
debug!( debug!(
%room_id, %room_id,