From 350bd9c0be2c577b4c6d3bf456b2400edc78d245 Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Thu, 21 Apr 2022 18:16:09 +0100 Subject: [PATCH] feat: add parameter to skip offline users on fetch --- src/routes/servers/member_fetch_all.rs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/routes/servers/member_fetch_all.rs b/src/routes/servers/member_fetch_all.rs index 449c3034..aa397a13 100644 --- a/src/routes/servers/member_fetch_all.rs +++ b/src/routes/servers/member_fetch_all.rs @@ -6,7 +6,14 @@ use revolt_quark::{ }; use rocket::serde::json::Json; -use serde::Serialize; +use serde::{Deserialize, Serialize}; + +/// # Query Parameters +#[derive(Deserialize, JsonSchema, FromForm)] +pub struct OptionsFetchAllMembers { + /// Whether to exclude offline users + exclude_offline: Option, +} /// # Member List /// @@ -23,8 +30,13 @@ pub struct AllMemberResponse { /// /// Fetch all server members. #[openapi(tag = "Server Members")] -#[get("//members")] -pub async fn req(db: &Db, user: User, target: Ref) -> Result> { +#[get("//members?")] +pub async fn req( + db: &Db, + user: User, + target: Ref, + options: OptionsFetchAllMembers, +) -> Result> { let server = target.as_server(db).await?; perms(&user).server(&server).calc(db).await?; @@ -50,5 +62,12 @@ pub async fn req(db: &Db, user: User, target: Ref) -> Result