added ledger view (thanks opencode)
This commit is contained in:
@@ -155,34 +155,27 @@ async function seed() {
|
||||
const dbEventTypes = await db.select().from(schema.eventTypes);
|
||||
const eventTypeMap = new Map(dbEventTypes.map((et) => [et.name, et.id]));
|
||||
|
||||
// Seed registered events
|
||||
// Seed registered events (auto-generated from event types × divisions, ordered by division then event type)
|
||||
const eventNameMap = new Map<string, number>();
|
||||
const registeredEventsCSV = readCSV('registeredEvents.csv');
|
||||
|
||||
for (const row of registeredEventsCSV) {
|
||||
const eventTypeId = eventTypeMap.get(row.event_type);
|
||||
const teamId = teamMap.get(row.winner);
|
||||
const divisionId = divisionMap.get(row.division);
|
||||
for (const division of dbDivisions) {
|
||||
for (const eventType of dbEventTypes) {
|
||||
const [inserted] = await db
|
||||
.insert(schema.registeredEvents)
|
||||
.values({
|
||||
eventType: eventType.id,
|
||||
division: division.id,
|
||||
state: 0,
|
||||
timeCompleted: null,
|
||||
teamWinner: null
|
||||
})
|
||||
.returning();
|
||||
console.log(
|
||||
` → Registered Event [id:${inserted.id}]: ${eventType.name} | ${division.name}`
|
||||
);
|
||||
|
||||
if (!eventTypeId) throw new Error(`Event Type "${row.event_type}" not found`);
|
||||
if (!divisionId) throw new Error(`Division "${row.division}" not found`);
|
||||
|
||||
const [inserted] = await db
|
||||
.insert(schema.registeredEvents)
|
||||
.values({
|
||||
eventType: eventTypeId,
|
||||
division: divisionId,
|
||||
state: row.event_state || 0,
|
||||
timeCompleted: row.time_completed || null,
|
||||
teamWinner: teamId || null
|
||||
})
|
||||
.returning();
|
||||
console.log(
|
||||
` → Registered Event [id:${inserted.id}]: ${row.event_type} | ${row.division}, winner: ${teamId}, ${row.winner}`
|
||||
);
|
||||
|
||||
// Map event name|division to the generated event ID
|
||||
eventNameMap.set(`${row.event_type}|${row.division}`, inserted.id);
|
||||
eventNameMap.set(`${eventType.name}|${division.name}`, inserted.id);
|
||||
}
|
||||
}
|
||||
|
||||
// Seed registered players (linking players to events)
|
||||
|
||||
Reference in New Issue
Block a user