added the winner to events from database, and then made that available through dbm

This commit is contained in:
2026-05-30 16:14:22 +01:00
parent 95fac2070a
commit 7d16e45e4a
2 changed files with 22 additions and 9 deletions

View File

@@ -11,8 +11,11 @@ export async function getAllInitialInfo() {
}
// Get teams object from database
export async function getTeams() {
const allTeams = await db.select().from(schema.teamScoresView);
export async function getTeams(teamId?: number) {
const allTeams = await db
.select()
.from(schema.teamScoresView)
.where(teamId ? eq(schema.teamScoresView.teamId, teamId) : undefined);
for (let team in allTeams) {
let currentTeam = allTeams[team];
if (!currentTeam.totalPoints) {
@@ -30,21 +33,29 @@ export async function getTeams() {
// Get all registered events from database
export async function getRegisteredEvents(eventId?: number) {
async function getWinnerInfo(teamId: number) {
const teamInfo = await getTeams(teamId);
return teamInfo.teams[0];
}
const allEvents = await db
.select()
.from(schema.registeredEventsView)
// If event id specified, get that event, otherwise get all events
.where(eventId ? eq(schema.registeredEventsView.eventId, eventId) : undefined);
return {
events: allEvents.map((events) => ({
const events = await Promise.all(
allEvents.map(async (events) => ({
id: events.eventId,
name: events.eventName,
division: events.division,
state: events.state,
completed: events.timeCompleted || 0,
resultPreset: events.resultPreset
resultPreset: events.resultPreset,
winner: events.winner ? await getWinnerInfo(events.winner) : 'UNDECIDED'
}))
};
);
return { events };
}
// Get all players with an event id specified