had opencode clean up all my nonsense comments too

This commit is contained in:
2026-06-29 15:11:53 +01:00
parent 3be0033a32
commit 201821d53c
21 changed files with 77 additions and 163 deletions

View File

@@ -5,31 +5,26 @@ import * as schema from '$lib/server/db/schema';
import { getRegisteredEvents } from '$lib/server/databaseManager';
export async function POST({ request }: any) {
// Decode body
let responseBody = await request.json();
// If there is no request then dont respond
if (!responseBody) {
return new Error('nuh uh');
} else {
console.log(JSON.stringify(responseBody));
if (responseBody.eventId) {
// Get the event
let eventData = await getRegisteredEvents(responseBody.eventId);
// If the event hasnt started or ended
if (eventData.events[0].state != 1) {
return new Error();
}
let scoringPreset = eventData.events[0].scoringPreset;
// make a new main ledger entry
// Create ledger entry to record this scoring event
let newLedgerEntry = await db
.insert(schema.mainLedger)
.values({ registeredEvent: responseBody.eventId })
.returning();
// get the id so i can use it in the sub ledgers
let ledgerEntryId = newLedgerEntry[0].id;
function getPoints(
@@ -44,30 +39,24 @@ export async function POST({ request }: any) {
);
}
// Create a Map to collect total scores per team
// Accumulate scores per team, then batch insert
const teamScores = new Map<any, number>();
// for every bracket
for (let bracket in responseBody.brackets) {
// for every player
for (let player in responseBody.brackets[bracket].players) {
// variable fun
let currentPlayer = responseBody.brackets[bracket].players[player];
let currentPlayerTeam = currentPlayer.teamId;
let currentPlayerPosition = currentPlayer.position;
// If they put in a score / result
if (currentPlayerPosition > 0) {
let score = getPoints(scoringPreset, currentPlayerPosition);
// If their score is in the preset and they put in a score
if (currentPlayer.scores.length > 0) {
if (score > 0) {
// Accumulate points for this team instead of inserting right away
const currentTeamScore = teamScores.get(currentPlayerTeam) || 0;
teamScores.set(currentPlayerTeam, currentTeamScore + score);
}
// PLACEMENT LOGIC (Left untouched)
// Update player placement in the database
let newPlayerPlacement = await db
.update(schema.registeredPlayers)
.set({ placement: currentPlayerPosition })
@@ -79,7 +68,7 @@ export async function POST({ request }: any) {
}
}
// After calculating all player scores, batch insert team scores into the ledger
// Batch insert team scores into the ledger
if (teamScores.size > 0) {
const ledgerEntries = Array.from(teamScores.entries()).map(([teamID, points]) => ({
ledgerID: ledgerEntryId,
@@ -91,7 +80,7 @@ export async function POST({ request }: any) {
console.log(newScores);
}
// 2. Determine the winner right here using the same Map data
// Determine the winning team from accumulated scores
let highestScore = -1;
let winningTeamId = null;
@@ -112,9 +101,7 @@ export async function POST({ request }: any) {
}
}
// Update the frontends
globalEmitter.emit('scoreUpdate');
// Return a response because
return new Response('coolsies');
}
}