Skip to content
This repository has been archived by the owner on Nov 23, 2022. It is now read-only.

Commit

Permalink
Merge pull request #59 from jay3332/patch-4
Browse files Browse the repository at this point in the history
Add user objects to IdentifyAccepted
  • Loading branch information
hydrostaticcog authored Nov 15, 2021
2 parents 4c144d6 + 800b089 commit 9b34ca7
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions ferrischat_ws/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -363,23 +363,32 @@ pub async fn handle_ws_connection(
},
flags: ferrischat_common::types::GuildFlags::empty(),
members: {
let resp = sqlx::query!("SELECT * FROM members WHERE guild_id = $1", x.id.clone())
let resp = sqlx::query!(
"SELECT m.*, u.name AS name, u.discriminator AS discriminator, u.flags AS flags FROM members m CROSS JOIN LATERAL (SELECT * FROM users u WHERE id = m.user_id) AS u WHERE guild_id = $1",
x.id.clone()
)
.fetch_all(db)
.await;

Some(match resp {
Ok(resp) => resp
.iter()
.filter_map(|x| {
let user_id = x.user_id
.with_scale(0)
.into_bigint_and_exponent()
.0
.to_u128()?;
Some(ferrischat_common::types::Member {
user_id: Some(
x.user_id
.with_scale(0)
.into_bigint_and_exponent()
.0
.to_u128()?,
),
user: None,
user_id: Some(user_id),
user: Some(ferrischat_common::types::User {
id: user_id,
name: x.name.clone(),
avatar: None,
guilds: None,
flags: ferrischat_common::types::UserFlags::from_bits_truncate(x.flags),
discriminator: x.discriminator,
}),
guild_id: x.guild_id.with_scale(0).into_bigint_and_exponent().0.to_u128(),
guild: None,
})
Expand Down

0 comments on commit 9b34ca7

Please sign in to comment.