From ae4a77f5dd41af366d389eea757d5dc516e0877a Mon Sep 17 00:00:00 2001 From: Stan Runge Date: Thu, 26 Mar 2026 15:50:50 +0100 Subject: [PATCH] fix: svelte check --- src/lib/server/validation.test.ts | 8 ++++---- src/lib/server/validation.ts | 13 +++++++++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/lib/server/validation.test.ts b/src/lib/server/validation.test.ts index 4175b76..1e55ef9 100644 --- a/src/lib/server/validation.test.ts +++ b/src/lib/server/validation.test.ts @@ -184,7 +184,7 @@ describe('submitScoreSchema', () => { test('accepts valid score submission', () => { const valid = { matchGameId: uuid1, - scores: [{ participantId: uuid2, score: 1000000 }] + scores: [{ playerId: uuid2, score: 1000000 }] }; expect(submitScoreSchema.parse(valid)).toBeTruthy(); }); @@ -193,7 +193,7 @@ describe('submitScoreSchema', () => { expect(() => submitScoreSchema.parse({ matchGameId: uuid1, - scores: [{ participantId: uuid2, score: -1 }] + scores: [{ playerId: uuid2, score: -1 }] }) ).toThrow(); }); @@ -204,7 +204,7 @@ describe('submitScoreSchema', () => { test('rejects scores array over 16 entries', () => { const scores = Array.from({ length: 17 }, (_, i) => ({ - participantId: `550e8400-e29b-41d4-a716-4466554400${String(i).padStart(2, '0')}`, + playerId: `550e8400-e29b-41d4-a716-4466554400${String(i).padStart(2, '0')}`, score: 100 })); expect(() => submitScoreSchema.parse({ matchGameId: uuid1, scores })).toThrow(); @@ -214,7 +214,7 @@ describe('submitScoreSchema', () => { expect(() => submitScoreSchema.parse({ matchGameId: 'bad', - scores: [{ participantId: uuid2, score: 100 }] + scores: [{ playerId: uuid2, score: 100 }] }) ).toThrow(); }); diff --git a/src/lib/server/validation.ts b/src/lib/server/validation.ts index 222804e..093db61 100644 --- a/src/lib/server/validation.ts +++ b/src/lib/server/validation.ts @@ -40,8 +40,17 @@ export const createInviteSchema = z.object({ // ── Score submission ── const scoreEntrySchema = z.object({ - participantId: z.string().uuid(), - score: z.number().int().min(0) + playerId: z.string().uuid(), + score: z.number().int().min(0), + accuracy: z.number().min(0).max(100).optional(), + maxCombo: z.number().int().min(0).optional(), + count300: z.number().int().min(0).optional(), + count100: z.number().int().min(0).optional(), + count50: z.number().int().min(0).optional(), + countMiss: z.number().int().min(0).optional(), + mods: z.array(z.string()).optional(), + passed: z.boolean().optional(), + pp: z.number().min(0).nullable().optional() }); export const submitScoreSchema = z.object({