use user_is_local and server_is_ours more, remove few double filters
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
e7505a4b20
commit
76c5942b4f
11 changed files with 47 additions and 50 deletions
|
@ -19,7 +19,7 @@ use ruma::{
|
|||
};
|
||||
use tracing::{error, warn};
|
||||
|
||||
use crate::{service::appservice::RegistrationInfo, services, Error, Result};
|
||||
use crate::{service::appservice::RegistrationInfo, services, utils::user_id::user_is_local, Error, Result};
|
||||
|
||||
mod data;
|
||||
|
||||
|
@ -43,7 +43,7 @@ impl Service {
|
|||
// TODO: use futures to update remote profiles without blocking the membership
|
||||
// update
|
||||
#[allow(clippy::collapsible_if)]
|
||||
if user_id.server_name() != services().globals.server_name() {
|
||||
if !user_is_local(user_id) {
|
||||
if !services().users.exists(user_id)? {
|
||||
services().users.create(user_id, None)?;
|
||||
}
|
||||
|
|
|
@ -41,7 +41,9 @@ use crate::{
|
|||
appservice::NamespaceRegex,
|
||||
pdu::{EventHash, PduBuilder},
|
||||
},
|
||||
services, utils, Error, PduEvent, Result,
|
||||
services,
|
||||
utils::{self, server_name::server_is_ours},
|
||||
Error, PduEvent, Result,
|
||||
};
|
||||
|
||||
#[derive(Hash, PartialEq, Eq, Clone, Copy, Debug)]
|
||||
|
@ -852,8 +854,7 @@ impl Service {
|
|||
.state_cache
|
||||
.room_members(room_id)
|
||||
.filter_map(Result::ok)
|
||||
.filter(|m| m.server_name() == server_name)
|
||||
.filter(|m| m != target)
|
||||
.filter(|m| server_is_ours(m.server_name()) && m != target)
|
||||
.count();
|
||||
if count < 2 {
|
||||
warn!("Last admin cannot leave from admins room");
|
||||
|
@ -878,8 +879,7 @@ impl Service {
|
|||
.state_cache
|
||||
.room_members(room_id)
|
||||
.filter_map(Result::ok)
|
||||
.filter(|m| m.server_name() == server_name)
|
||||
.filter(|m| m != target)
|
||||
.filter(|m| server_is_ours(m.server_name()) && m != target)
|
||||
.count();
|
||||
if count < 2 {
|
||||
warn!("Last admin cannot be banned in admins room");
|
||||
|
@ -1059,8 +1059,9 @@ impl Service {
|
|||
.state_cache
|
||||
.room_servers(room_id)
|
||||
.filter_map(Result::ok)
|
||||
.filter(|server| services().globals.trusted_servers().contains(server))
|
||||
.filter(|server| server != services().globals.server_name()),
|
||||
.filter(|server_name| {
|
||||
services().globals.trusted_servers().contains(server_name) && !server_is_ours(server_name)
|
||||
}),
|
||||
);
|
||||
|
||||
// add server names from room aliases on the room ID
|
||||
|
@ -1071,16 +1072,16 @@ impl Service {
|
|||
.collect::<Result<Vec<_>, _>>();
|
||||
if let Ok(aliases) = &room_aliases {
|
||||
for alias in aliases {
|
||||
if alias.server_name() != services().globals.server_name() {
|
||||
if !server_is_ours(alias.server_name()) {
|
||||
servers.push(alias.server_name().to_owned());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add room ID server name for backfill server
|
||||
if let Some(server) = room_id.server_name() {
|
||||
if server != services().globals.server_name() {
|
||||
servers.push(server.to_owned());
|
||||
if let Some(server_name) = room_id.server_name() {
|
||||
if !server_is_ours(server_name) {
|
||||
servers.push(server_name.to_owned());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1102,7 +1103,7 @@ impl Service {
|
|||
.iter()
|
||||
.filter(|(_, level)| **level > power_levels.users_default)
|
||||
.map(|(user_id, _)| user_id.server_name())
|
||||
.filter(|server| server != &services().globals.server_name())
|
||||
.filter(|server_name| !server_is_ours(server_name))
|
||||
.map(ToOwned::to_owned),
|
||||
);
|
||||
|
||||
|
@ -1110,7 +1111,7 @@ impl Service {
|
|||
if let Some(server_index) = servers
|
||||
.clone()
|
||||
.into_iter()
|
||||
.position(|server| server == services().globals.server_name())
|
||||
.position(|server_name| server_is_ours(&server_name))
|
||||
{
|
||||
servers.remove(server_index);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ use ruma::{
|
|||
use tokio::sync::Mutex;
|
||||
use tracing::warn;
|
||||
|
||||
use crate::{services, Config, Error, Result};
|
||||
use crate::{services, utils::server_name::server_is_ours, Config, Error, Result};
|
||||
|
||||
mod appservice;
|
||||
mod data;
|
||||
|
@ -93,7 +93,7 @@ impl Service {
|
|||
.state_cache
|
||||
.room_servers(room_id)
|
||||
.filter_map(Result::ok)
|
||||
.filter(|server| &**server != services().globals.server_name());
|
||||
.filter(|server_name| !server_is_ours(server_name));
|
||||
|
||||
self.send_pdu_servers(servers, pdu_id)
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ impl Service {
|
|||
.state_cache
|
||||
.room_servers(room_id)
|
||||
.filter_map(Result::ok)
|
||||
.filter(|server| &**server != services().globals.server_name());
|
||||
.filter(|server_name| !server_is_ours(server_name));
|
||||
|
||||
self.send_edu_servers(servers, serialized)
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ impl Service {
|
|||
.state_cache
|
||||
.room_servers(room_id)
|
||||
.filter_map(Result::ok)
|
||||
.filter(|server| &**server != services().globals.server_name());
|
||||
.filter(|server_name| !server_is_ours(server_name));
|
||||
|
||||
self.flush_servers(servers)
|
||||
}
|
||||
|
|
|
@ -293,7 +293,7 @@ fn select_edus_presence(
|
|||
for (user_id, count, presence_bytes) in services().presence.presence_since(since) {
|
||||
*max_edu_count = cmp::max(count, *max_edu_count);
|
||||
|
||||
if user_id.server_name() != services().globals.server_name() {
|
||||
if !user_is_local(&user_id) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -341,7 +341,7 @@ fn select_edus_receipts(
|
|||
let (user_id, count, read_receipt) = r?;
|
||||
*max_edu_count = cmp::max(count, *max_edu_count);
|
||||
|
||||
if user_id.server_name() != services().globals.server_name() {
|
||||
if !user_is_local(&user_id) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue