diff --git a/crates/lavina-core/src/repo/room.rs b/crates/lavina-core/src/repo/room.rs index f32148c..8d41a79 100644 --- a/crates/lavina-core/src/repo/room.rs +++ b/crates/lavina-core/src/repo/room.rs @@ -7,24 +7,21 @@ impl Storage { #[tracing::instrument(skip(self), name = "Storage::is_room_member")] pub async fn is_room_member(&self, room_id: u32, player_id: u32) -> Result { let mut executor = self.conn.lock().await; - let res: (bool,) = sqlx::query_as( + let res: (u32,) = sqlx::query_as( " - select - exists ( - select - count(*) - from - memberships - where - user_id = ? and room_id = ? - ); + select + count(*) + from + memberships + where + user_id = ? and room_id = ?; ", ) .bind(player_id) .bind(room_id) .fetch_one(&mut *executor) .await?; - Ok(res.0) + Ok(res.0 > 0) } #[tracing::instrument(skip(self), name = "Storage::add_room_member")]