moved global emitter to new file, streamlined registeredEvents again plus comments

This commit is contained in:
2026-05-26 13:07:38 +01:00
parent 59839d79aa
commit 102af95084
3 changed files with 23 additions and 12 deletions

View File

@@ -1,8 +1,5 @@
import { import { getRegisteredEventsWithPlayers } from '$lib/server/databaseManager';
globalEmitter, import { globalEmitter } from '$lib/server/globalEmitter';
getRegisteredEvents,
getRegisteredEventsWithPlayers
} from '$lib/server/databaseManager';
import { generateEndpoint } from '$lib/server/endpoint'; import { generateEndpoint } from '$lib/server/endpoint';
export async function GET() { export async function GET() {
@@ -10,16 +7,20 @@ export async function GET() {
const endpoint = generateEndpoint(async (enqueue) => { const endpoint = generateEndpoint(async (enqueue) => {
// Get the all the events with the players seperated into brackets // Get the all the events with the players seperated into brackets
let eventList = async () => { let eventList = async () => {
// Get eventList with structure from database
let newEventList = await getRegisteredEventsWithPlayers(); let newEventList = await getRegisteredEventsWithPlayers();
console.log(newEventList);
// send to client
enqueue(newEventList); enqueue(newEventList);
}; };
// Send the eventList to the client when a connection is made // Send the eventList to the client when a connection is made
// TODO make it so that this only happens on an initial post request // TODO make it so that this only happens on an initial post request
eventList(); eventList();
// When the data changes send an update to the client
globalEmitter.on('eventUpdate', eventList); globalEmitter.on('eventUpdate', eventList);
// Simply return the cleanup function here // Return cleanup function to remove listener when it closes
return () => { return () => {
globalEmitter.off('eventUpdate', eventList); globalEmitter.off('eventUpdate', eventList);
}; };
@@ -28,10 +29,18 @@ export async function GET() {
} }
export async function POST({ request }: any) { export async function POST({ request }: any) {
// Decode body
let responseBody = await request.json(); let responseBody = await request.json();
let eventRequested = responseBody.eventId;
let eventList = await getRegisteredEventsWithPlayers(eventRequested); // If there is no request then dont respond
if (!responseBody) {
return new Response(JSON.stringify(eventList)); return new Response('nuh uh');
} else {
// Get requested event
let eventRequested = responseBody.eventId;
// request eventList from database
let eventList = await getRegisteredEventsWithPlayers(eventRequested);
// return eventList to client
return new Response(JSON.stringify(eventList));
}
} }

View File

@@ -1,4 +1,5 @@
import { globalEmitter, getAllRegisteredEventPlayers } from '$lib/server/databaseManager'; import { getAllRegisteredEventPlayers } from '$lib/server/databaseManager';
import { globalEmitter } from '$lib/server/globalEmitter';
import { generateEndpoint } from '$lib/server/endpoint'; import { generateEndpoint } from '$lib/server/endpoint';
// Expose post request // Expose post request

View File

@@ -1,4 +1,5 @@
import { globalEmitter, getTeams } from '$lib/server/databaseManager'; import { getTeams } from '$lib/server/databaseManager';
import { globalEmitter } from '$lib/server/globalEmitter';
import { generateEndpoint } from '$lib/server/endpoint'; import { generateEndpoint } from '$lib/server/endpoint';
// Expose post request // Expose post request