changed structure of registeredEvent endpoint to order players into brackets

This commit is contained in:
2026-05-24 15:18:37 +01:00
parent 32c5d2af7a
commit 21314bbb78

View File

@@ -1,7 +1,8 @@
import { import {
globalEmitter, globalEmitter,
getRegisteredEvents, getRegisteredEvents,
getAllRegisteredEventPlayers getAllRegisteredEventPlayers,
getAllBrackets
} from '$lib/server/eventManager'; } from '$lib/server/eventManager';
import { generateEndpoint } from '$lib/server/endpoint'; import { generateEndpoint } from '$lib/server/endpoint';
@@ -13,6 +14,10 @@ export async function GET() {
let newEvents = await getRegisteredEvents(); let newEvents = await getRegisteredEvents();
let registeredEventList = newEvents['events']; let registeredEventList = newEvents['events'];
// Get all possible brackets from the database
let brackets = await getAllBrackets();
// Initilise the final eventList
let fullEventList: any[] = []; let fullEventList: any[] = [];
// For every event // For every event
@@ -22,17 +27,20 @@ export async function GET() {
// Get all players for the event // Get all players for the event
let registeredPlayers = await getAllRegisteredEventPlayers(event.id); let registeredPlayers = await getAllRegisteredEventPlayers(event.id);
// Some nonsense to extract the players into a better object // Map the players into an [] with structure {id: number, name: string, items: any[]}
let registeredPlayersVec: any[] = []; // So that the players are sorted by bracket for the frontend
for (let player in registeredPlayers.eventPlayers) { const bracketOrder = brackets.brackets.map((category) => {
let currentPlayer = registeredPlayers.eventPlayers[player]; return {
registeredPlayersVec.push(currentPlayer); ...category,
} // Filter the items that match the current bracket name
items: registeredPlayers.eventPlayers.filter((item) => item.bracket === category.name)
};
});
// add registeredPlayers as part of the event object // append the player info to the event object
let eventWithPlayers = { let eventWithPlayers = {
...event, ...event,
registeredPlayers: registeredPlayersVec registeredPlayers: bracketOrder
}; };
// combine all of the events into one array // combine all of the events into one array
fullEventList.push(eventWithPlayers); fullEventList.push(eventWithPlayers);