From fdfbd4c7c72783747d3a9d8e5c379e72b541e765 Mon Sep 17 00:00:00 2001 From: voidarc Date: Wed, 6 May 2026 20:00:30 +0100 Subject: [PATCH] trying to add score updates --- drizzle/meta/0000_snapshot.json | 605 -------------------------------- drizzle/meta/_journal.json | 13 - scripts/seed.ts | 9 +- src/lib/server/db/schema.ts | 10 +- src/routes/+page.server.ts | 23 +- src/routes/+page.svelte | 4 +- svelte.config.js | 10 +- 7 files changed, 32 insertions(+), 642 deletions(-) delete mode 100644 drizzle/meta/0000_snapshot.json delete mode 100644 drizzle/meta/_journal.json diff --git a/drizzle/meta/0000_snapshot.json b/drizzle/meta/0000_snapshot.json deleted file mode 100644 index 6a6f617..0000000 --- a/drizzle/meta/0000_snapshot.json +++ /dev/null @@ -1,605 +0,0 @@ -{ - "id": "00000000-0000-0000-0000-000000000000", - "prevId": "", - "version": "6", - "dialect": "sqlite", - "tables": { - "divisions": { - "name": "divisions", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "name": { - "autoincrement": false, - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "eventAttributions": { - "name": "eventAttributions", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "eventID": { - "autoincrement": false, - "name": "eventID", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "playerID": { - "autoincrement": false, - "name": "playerID", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "placement": { - "default": 0, - "autoincrement": false, - "name": "placement", - "type": "integer", - "primaryKey": false, - "notNull": true - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": { - "eventAttributions_placement_scoringPresets_placement_fk": { - "name": "eventAttributions_placement_scoringPresets_placement_fk", - "tableFrom": "eventAttributions", - "tableTo": "scoringPresets", - "columnsFrom": [ - "placement" - ], - "columnsTo": [ - "placement" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "eventAttributions_playerID_players_id_fk": { - "name": "eventAttributions_playerID_players_id_fk", - "tableFrom": "eventAttributions", - "tableTo": "players", - "columnsFrom": [ - "playerID" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "eventAttributions_eventID_events_id_fk": { - "name": "eventAttributions_eventID_events_id_fk", - "tableFrom": "eventAttributions", - "tableTo": "events", - "columnsFrom": [ - "eventID" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "events": { - "name": "events", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "name": { - "autoincrement": false, - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "preset": { - "autoincrement": false, - "name": "preset", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "division": { - "autoincrement": false, - "name": "division", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "order": { - "autoincrement": false, - "name": "order", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "state": { - "default": 0, - "autoincrement": false, - "name": "state", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "timeCompleted": { - "autoincrement": false, - "name": "timeCompleted", - "type": "integer", - "primaryKey": false, - "notNull": false - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": { - "events_division_divisions_id_fk": { - "name": "events_division_divisions_id_fk", - "tableFrom": "events", - "tableTo": "divisions", - "columnsFrom": [ - "division" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "events_preset_scoringPresets_preset_fk": { - "name": "events_preset_scoringPresets_preset_fk", - "tableFrom": "events", - "tableTo": "scoringPresets", - "columnsFrom": [ - "preset" - ], - "columnsTo": [ - "preset" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "ledger": { - "name": "ledger", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "timestamp": { - "default": "(unixepoch())", - "autoincrement": false, - "name": "timestamp", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "type": { - "default": "'event'", - "autoincrement": false, - "name": "type", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "event": { - "autoincrement": false, - "name": "event", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "scorer": { - "autoincrement": false, - "name": "scorer", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": { - "ledger_scorer_scorers_id_fk": { - "name": "ledger_scorer_scorers_id_fk", - "tableFrom": "ledger", - "tableTo": "scorers", - "columnsFrom": [ - "scorer" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "ledger_event_events_id_fk": { - "name": "ledger_event_events_id_fk", - "tableFrom": "ledger", - "tableTo": "events", - "columnsFrom": [ - "event" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "ledgerScores": { - "name": "ledgerScores", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "ledgerID": { - "autoincrement": false, - "name": "ledgerID", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "team": { - "autoincrement": false, - "name": "team", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "placement": { - "autoincrement": false, - "name": "placement", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "points": { - "default": 0, - "autoincrement": false, - "name": "points", - "type": "integer", - "primaryKey": false, - "notNull": true - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": { - "ledgerScores_placement_scoringPresets_placement_fk": { - "name": "ledgerScores_placement_scoringPresets_placement_fk", - "tableFrom": "ledgerScores", - "tableTo": "scoringPresets", - "columnsFrom": [ - "placement" - ], - "columnsTo": [ - "placement" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "ledgerScores_team_teams_id_fk": { - "name": "ledgerScores_team_teams_id_fk", - "tableFrom": "ledgerScores", - "tableTo": "teams", - "columnsFrom": [ - "team" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "ledgerScores_ledgerID_ledger_id_fk": { - "name": "ledgerScores_ledgerID_ledger_id_fk", - "tableFrom": "ledgerScores", - "tableTo": "ledger", - "columnsFrom": [ - "ledgerID" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "players": { - "name": "players", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "firstName": { - "autoincrement": false, - "name": "firstName", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "lastName": { - "autoincrement": false, - "name": "lastName", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "team": { - "autoincrement": false, - "name": "team", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "division": { - "autoincrement": false, - "name": "division", - "type": "text", - "primaryKey": false, - "notNull": true - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": { - "players_division_divisions_id_fk": { - "name": "players_division_divisions_id_fk", - "tableFrom": "players", - "tableTo": "divisions", - "columnsFrom": [ - "division" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "players_team_teams_id_fk": { - "name": "players_team_teams_id_fk", - "tableFrom": "players", - "tableTo": "teams", - "columnsFrom": [ - "team" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "scorers": { - "name": "scorers", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "firstName": { - "autoincrement": false, - "name": "firstName", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "lastName": { - "autoincrement": false, - "name": "lastName", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "email": { - "autoincrement": false, - "name": "email", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "password": { - "autoincrement": false, - "name": "password", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "displayName": { - "autoincrement": false, - "name": "displayName", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "role": { - "default": "'scorer'", - "autoincrement": false, - "name": "role", - "type": "text", - "primaryKey": false, - "notNull": true - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "scoringPresets": { - "name": "scoringPresets", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "preset": { - "autoincrement": false, - "name": "preset", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "placement": { - "default": 0, - "autoincrement": false, - "name": "placement", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "points": { - "default": 0, - "autoincrement": false, - "name": "points", - "type": "integer", - "primaryKey": false, - "notNull": true - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "teams": { - "name": "teams", - "columns": { - "id": { - "autoincrement": true, - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true - }, - "name": { - "autoincrement": false, - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "color": { - "default": "'white'", - "autoincrement": false, - "name": "color", - "type": "text", - "primaryKey": false, - "notNull": true - } - }, - "compositePrimaryKeys": {}, - "indexes": {}, - "foreignKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": { - "teamScoresView": { - "columns": { - "id": { - "autoincrement": false, - "name": "id", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "name": { - "autoincrement": false, - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "color": { - "autoincrement": false, - "name": "color", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "totalPoints": { - "autoincrement": false, - "name": "totalPoints", - "type": "numeric", - "primaryKey": false, - "notNull": false - } - }, - "isExisting": false, - "name": "teamScoresView", - "definition": "select \"teams\".\"id\", \"teams\".\"name\", \"teams\".\"color\", sum(\"ledgerScores\".\"points\") as \"totalPoints\" from \"teams\" left join \"ledgerScores\" on \"teams\".\"id\" = \"ledgerScores\".\"team\" group by \"teams\".\"id\"" - } - }, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - } -} \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json deleted file mode 100644 index d928b28..0000000 --- a/drizzle/meta/_journal.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "version": "7", - "dialect": "sqlite", - "entries": [ - { - "idx": 0, - "version": "6", - "when": 1778078709643, - "tag": "0000_broken_weapon_omega", - "breakpoints": true - } - ] -} \ No newline at end of file diff --git a/scripts/seed.ts b/scripts/seed.ts index 7f1df63..d1f136c 100644 --- a/scripts/seed.ts +++ b/scripts/seed.ts @@ -148,23 +148,18 @@ async function seed() { for (const row of eventAttributionsCSV) { const eventId = eventMap.get(row.eventID); const playerId = playerMap.get(row.playerID); - const placement = parseInt(row.placement); if (!eventId) throw new Error(`Event "${row.eventID}" not found`); if (!playerId) throw new Error(`Player "${row.playerID}" not found`); - if (placement <= 0) continue; const result = await db .insert(schema.eventAttributions) .values({ eventID: eventId, - playerID: playerId, - placement + playerID: playerId }) .returning(); - console.log( - ` Inserted attribution: event=${row.eventID}, player=${row.playerID}, placement=${placement}` - ); + console.log(` Inserted attribution: event=${row.eventID}, player=${row.playerID}`); } console.log('\nSeeding complete!'); diff --git a/src/lib/server/db/schema.ts b/src/lib/server/db/schema.ts index 357c4cc..237f2c4 100644 --- a/src/lib/server/db/schema.ts +++ b/src/lib/server/db/schema.ts @@ -19,10 +19,6 @@ export const eventAttributions = sqliteTable('eventAttributions', { .notNull(), playerID: integer('playerID') .references(() => players.id) - .notNull(), - placement: integer('placement') - .references(() => scoringPresets.placement) - .default(0) .notNull() }); @@ -84,8 +80,8 @@ export const ledgerScores = sqliteTable('ledgerScores', { ledgerID: integer('ledgerID') .references(() => ledger.id) .notNull(), - team: integer('team') - .references(() => teams.id) + player: integer('player') + .references(() => players.id) .notNull(), placement: integer('placement').references(() => scoringPresets.placement), points: integer('points').notNull().default(0) @@ -100,6 +96,6 @@ export const teamScoresView = sqliteView('teamScoresView').as((qb) => { totalPoints: sql`sum(${ledgerScores.points})`.mapWith(Number).as('totalPoints') }) .from(teams) - .leftJoin(ledgerScores, eq(teams.id, ledgerScores.team)) + .leftJoin(ledgerScores, eq(teams.id, ledgerScores.player)) .groupBy(teams.id); }); diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index e2b3485..9679719 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -1,13 +1,20 @@ import { db } from '$lib/server/db'; import * as schema from '$lib/server/db/schema'; - -export class House { - name: string = ''; - color: string = 'white'; - points: number = $state(0); -} +import type { Actions } from './$types'; export const load = async () => { + return await getTeams(); +}; + +export const actions = { + addEntry: async (event) => { + console.log('something'); + } +} satisfies Actions; + +let testScore = 0; + +export async function getTeams() { const allTeams = await db.select().from(schema.teamScoresView); console.log(allTeams); return { @@ -15,7 +22,7 @@ export const load = async () => { ...team, name: team.teamName, color: team.teamColor, - points: team.totalPoints || 0 + points: team.totalPoints || testScore })) }; -}; +} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 69d3d7c..2500c2e 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,5 +1,5 @@