changed structure of registeredEvent endpoint to order players into brackets
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user