forked from jmug/stoatchat
Add member_count to /invites/:id
This commit is contained in:
@@ -425,4 +425,19 @@ impl Server {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn get_member_count(id: &str) -> Result<i64> {
|
||||||
|
Ok(get_collection("server_members")
|
||||||
|
.count_documents(
|
||||||
|
doc! {
|
||||||
|
"_id.server": id
|
||||||
|
},
|
||||||
|
None,
|
||||||
|
)
|
||||||
|
.await
|
||||||
|
.map_err(|_| Error::DatabaseError {
|
||||||
|
operation: "count_documents",
|
||||||
|
with: "server_members",
|
||||||
|
})?)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ pub enum InviteResponse {
|
|||||||
user_name: String,
|
user_name: String,
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
user_avatar: Option<File>,
|
user_avatar: Option<File>,
|
||||||
|
member_count: i64,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,6 +42,7 @@ pub async fn req(target: Ref) -> Result<JsonValue> {
|
|||||||
let server = Ref::from_unchecked(server).fetch_server().await?;
|
let server = Ref::from_unchecked(server).fetch_server().await?;
|
||||||
|
|
||||||
Ok(json!(InviteResponse::Server {
|
Ok(json!(InviteResponse::Server {
|
||||||
|
member_count: Server::get_member_count(&server.id).await?,
|
||||||
server_id: server.id,
|
server_id: server.id,
|
||||||
server_name: server.name,
|
server_name: server.name,
|
||||||
server_icon: server.icon,
|
server_icon: server.icon,
|
||||||
|
|||||||
Reference in New Issue
Block a user