From b336329966c9b930e5d8f6e07231c438a78c838e Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Mon, 3 Feb 2025 11:25:13 +0100 Subject: [PATCH] post route to get ids --- src/controller/admin/club/memberController.ts | 19 +++++++++++++++++++ src/routes/admin/club/member.ts | 5 +++++ 2 files changed, 24 insertions(+) diff --git a/src/controller/admin/club/memberController.ts b/src/controller/admin/club/memberController.ts index fb782cc..a5a5a93 100644 --- a/src/controller/admin/club/memberController.ts +++ b/src/controller/admin/club/memberController.ts @@ -73,6 +73,25 @@ export async function getAllMembers(req: Request, res: Response): Promise { }); } +/** + * @description get members by Ids + * @param req {Request} Express req object + * @param res {Response} Express res object + * @returns {Promise<*>} + */ +export async function getMembersByIds(req: Request, res: Response): Promise { + let ids = ((req.query.ids ?? "") as string).split(",").filter((i) => i); + + let [members, total] = await MemberService.getAll({ noLimit: true, ids }); + + res.json({ + members: MemberFactory.mapToBase(members), + total: total, + offset: 0, + count: total, + }); +} + /** * @description get member by id * @param req {Request} Express req object diff --git a/src/routes/admin/club/member.ts b/src/routes/admin/club/member.ts index 66e57aa..5f9d032 100644 --- a/src/routes/admin/club/member.ts +++ b/src/routes/admin/club/member.ts @@ -21,6 +21,7 @@ import { getExecutivePositionByMemberAndRecord, getExecutivePositionsByMember, getMemberById, + getMembersByIds, getMembershipByMemberAndRecord, getMembershipsByMember, getMembershipStatisticsById, @@ -42,6 +43,10 @@ router.get("/", async (req: Request, res: Response) => { await getAllMembers(req, res); }); +router.post("/ids", async (req: Request, res: Response) => { + await getMembersByIds(req, res); +}); + router.get("/:id", async (req: Request, res: Response) => { await getMemberById(req, res); });