diff --git a/crates/app/src/routes/pages/communities.rs b/crates/app/src/routes/pages/communities.rs index 934db0a..b8dea2e 100644 --- a/crates/app/src/routes/pages/communities.rs +++ b/crates/app/src/routes/pages/communities.rs @@ -454,7 +454,7 @@ pub async fn members_request( // ... let list = match data .0 - .get_memberships_by_community(community.id, 12, props.page) + .get_memberships_by_community(community.id, community.owner, 12, props.page) .await { Ok(p) => match data.0.fill_users(p).await { diff --git a/crates/core/src/database/memberships.rs b/crates/core/src/database/memberships.rs index 265d35f..2de3690 100644 --- a/crates/core/src/database/memberships.rs +++ b/crates/core/src/database/memberships.rs @@ -107,6 +107,7 @@ impl DataManager { pub async fn get_memberships_by_community( &self, community: usize, + community_owner: usize, // the owner is always shown at the top of the first page batch: usize, page: usize, ) -> Result> { @@ -118,9 +119,10 @@ impl DataManager { let res = query_rows!( &conn, // 33 = banned, 65 = pending membership - "SELECT * FROM memberships WHERE community = $1 AND NOT role = 33 AND NOT role = 65 ORDER BY created DESC LIMIT $2 OFFSET $3", + "SELECT * FROM memberships WHERE community = $1 AND NOT owner = $2 AND NOT role = 33 AND NOT role = 65 ORDER BY created DESC LIMIT $3 OFFSET $4", &[ &(community as i64), + &(community_owner as i64), &(batch as i64), &((page * batch) as i64) ],