From 2e944231a5c29b7b8e45fe938f3e43aebe66ba37 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Thu, 12 Feb 2026 22:53:13 -0500 Subject: [PATCH] Limited most member search inputs to only display active members --- api/src/routes/members.ts | 4 +++- api/src/services/db/memberService.ts | 8 +++++--- ui/src/api/member.ts | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/api/src/routes/members.ts b/api/src/routes/members.ts index be83f25..5bf0f31 100644 --- a/api/src/routes/members.ts +++ b/api/src/routes/members.ts @@ -158,7 +158,9 @@ router.put('/settings', [requireLogin], async (req: Request, res: Response) => { router.get('/lite', [requireLogin], async (req: Request, res: Response) => { try { - let out = await getAllMembersLite(); + let activeOnly = Boolean(req.query.active); + console.log(activeOnly); + let out = await getAllMembersLite(activeOnly); res.status(200).json(out); } catch (error) { logger.error( diff --git a/api/src/services/db/memberService.ts b/api/src/services/db/memberService.ts index 3f80a83..1b97e07 100644 --- a/api/src/services/db/memberService.ts +++ b/api/src/services/db/memberService.ts @@ -170,14 +170,16 @@ export async function getMembersLite(ids: number[]): Promise { return res; } -export async function getAllMembersLite(): Promise { +export async function getAllMembersLite(activeOnly: boolean): Promise { + + const filter = activeOnly ? `\nWHERE member_state = ${MemberState.Member}` : '' const sql = `SELECT m.member_id AS id, m.member_name AS username, m.displayName, u.color FROM view_member_rank_unit_status_latest m - LEFT JOIN units u ON u.name = m.unit;`; - + LEFT JOIN units u ON u.name = m.unit ${filter};`; + console.log(sql); const res: MemberLight[] = await pool.query(sql); return res; } diff --git a/ui/src/api/member.ts b/ui/src/api/member.ts index de9a754..11e9bc0 100644 --- a/ui/src/api/member.ts +++ b/ui/src/api/member.ts @@ -66,8 +66,8 @@ export async function setMemberSettings(settings: memberSettings) { return; } -export async function getAllLightMembers(): Promise { - const response = await fetch(`${addr}/members/lite`, { +export async function getAllLightMembers(activeOnly: boolean = true): Promise { + const response = await fetch(`${addr}/members/lite${activeOnly ? '?active=true' : '?active=false'}`, { credentials: 'include', headers: { "Content-Type": "application/json", -- 2.37.3.windows.1