From 035984f1256895afa1e3168b020064b87d325485 Mon Sep 17 00:00:00 2001 From: MangoSwirl Date: Sat, 27 Jun 2026 22:09:22 -0700 Subject: [PATCH 1/2] add participation flag to tournament response based on user team number --- src/handler/manager/getTournaments.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/handler/manager/getTournaments.ts b/src/handler/manager/getTournaments.ts index 3d0459ff..ac951d6c 100644 --- a/src/handler/manager/getTournaments.ts +++ b/src/handler/manager/getTournaments.ts @@ -213,6 +213,7 @@ export const getTournaments = async ( } else { count = (await prismaClient.tournament.findMany({})).length; } + let teamTournamentKeys = new Set(); if (req.user.teamNumber) { const teamTournaments = await prismaClient.teamMatchData.groupBy({ by: ["tournamentKey"], @@ -220,9 +221,12 @@ export const getTournaments = async ( teamNumber: req.user.teamNumber, }, }); + teamTournamentKeys = new Set( + teamTournaments.map((obj) => obj.tournamentKey), + ); const presentTeamTournaments = []; for (let i = 0; i < rows.length; i++) { - if (teamTournaments.some((obj) => obj.tournamentKey === rows[i].key)) { + if (teamTournamentKeys.has(rows[i].key)) { presentTeamTournaments.push(rows[i]); rows.splice(i, 1); i--; @@ -230,6 +234,12 @@ export const getTournaments = async ( } rows = presentTeamTournaments.concat(rows); } + if (req.query.filter == undefined) { + rows = rows.map((row) => ({ + ...row, + isParticipant: teamTournamentKeys.has(row.key), + })); + } res.status(200).send({ tournaments: rows, count: count }); } catch (error) { console.error(error); From 5d12ebf783ed2517efaaa63d23e3dbf133756008 Mon Sep 17 00:00:00 2001 From: MangoSwirl Date: Mon, 29 Jun 2026 18:38:06 -0700 Subject: [PATCH 2/2] Remove check for undefined filter for participation status --- src/handler/manager/getTournaments.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/handler/manager/getTournaments.ts b/src/handler/manager/getTournaments.ts index ac951d6c..2e562d52 100644 --- a/src/handler/manager/getTournaments.ts +++ b/src/handler/manager/getTournaments.ts @@ -5,7 +5,7 @@ import { AuthenticatedRequest } from "../../lib/middleware/requireAuth.js"; export const getTournaments = async ( req: AuthenticatedRequest, - res: Response, + res: Response ): Promise => { try { let rows = await prismaClient.tournament.findMany({ @@ -222,7 +222,7 @@ export const getTournaments = async ( }, }); teamTournamentKeys = new Set( - teamTournaments.map((obj) => obj.tournamentKey), + teamTournaments.map((obj) => obj.tournamentKey) ); const presentTeamTournaments = []; for (let i = 0; i < rows.length; i++) { @@ -234,12 +234,12 @@ export const getTournaments = async ( } rows = presentTeamTournaments.concat(rows); } - if (req.query.filter == undefined) { - rows = rows.map((row) => ({ - ...row, - isParticipant: teamTournamentKeys.has(row.key), - })); - } + + rows = rows.map((row) => ({ + ...row, + isParticipant: teamTournamentKeys.has(row.key), + })); + res.status(200).send({ tournaments: rows, count: count }); } catch (error) { console.error(error);