fix: make users foreign when fetching member list

This commit is contained in:
Paul Makles
2022-02-21 13:01:53 +00:00
parent 2580cec272
commit d7be1db755
2 changed files with 14 additions and 4 deletions

5
Cargo.lock generated
View File

@@ -2818,9 +2818,9 @@ dependencies = [
[[package]]
name = "redis-kiss"
version = "0.1.1"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14427aa42349c94ed30548390a0946773dbfd757a66cf76394fb02e5406f18f6"
checksum = "0d4f2f48fb776a308331c4a1ecb3a7b7b99f4d46c6beb2fc03db2da0f63fcad6"
dependencies = [
"bincode",
"lazy_static",
@@ -2983,6 +2983,7 @@ version = "0.1.0"
dependencies = [
"async-std",
"async-trait",
"bincode",
"bitfield",
"bson 2.1.0",
"dotenv",

View File

@@ -1,4 +1,4 @@
use revolt_quark::{models::User, perms, Db, Error, Ref, Result};
use revolt_quark::{models::User, perms, presence::presence_filter_online, Db, Error, Ref, Result};
use rocket::serde::json::Value;
@@ -21,7 +21,16 @@ pub async fn req(db: &Db, user: User, target: Ref) -> Result<Value> {
user_ids.push(member.id.user.clone());
}
let users = db.fetch_users(&user_ids).await?;
let online_ids = presence_filter_online(&user_ids).await;
let users = db
.fetch_users(&user_ids)
.await?
.into_iter()
.map(|mut user| {
user.online = Some(online_ids.contains(&user.id));
user.foreign()
})
.collect::<Vec<User>>();
Ok(json!({
"members": members,