teecup/034_session_scorecard_invitations.sql

14 lines
823 B
MySQL
Raw Permalink Normal View History

Update Todos Undersøk kode-kontekst for alle tre byggeoppgavene Avklar åpne designspørsmål med bruker Bygg: flytte spiller mellom lag (backend + frontend) Bygg: individuell rangering i turnering (backend + frontend) Bygg: midlertidige spillere + etter-runde-e-post (backend + frontend) Typesjekket produksjonsbuild av frontend Scratch-verifiser alt tre + full regresjon Browser-verifiser alt tre (Chrome DevTools) Oppdater CLAUDE.md/FEATURE_BACKLOG.md/ARCHITECTURE_DECISIONS.md Rull ut mot ekte systemer (med bekreftelse) Alle tre er live. Oppsummert: Flytte spiller mellom lag — ny "Flytt til {annet lag}"-handling i lag-oversikten, atomisk, blokkert hvis spilleren allerede er lagt til i en match. Individuell rangering per økt — ny brutto/netto/poeng-rangering for singles/fourball-slagspill-økter, ved siden av det eksisterende lag-poeng-leaderboardet, lenket fra blind draw-skjermen. Midlertidige spillere: etter-runde-e-post — ny knapp som sender scorekort + ekte innloggingslenke til spillere uten konto, med dobbel-utsendingssperre. Alt verifisert grundig: 54/54 nye scratch-sjekker + full regresjon (5+28+19 eksisterende sjekker), typesjekket produksjonsbuild, og en fullstendig gjennomgang i ekte nettleser (Chrome DevTools) av alle tre — ingen konsollfeil. Migrasjon 034 kjørt mot ekte database, begge containere redeployet, teeoff.no upåvirket. Samtidig rettet jeg opp noen steder der FEATURE_BACKLOG.md/ARCHITECTURE_DECISIONS.md hadde blitt hengende etter den faktiske, allerede leverte tilstanden (ADR-039-utrulling, PWA-offline-browsertesting).
2026-07-28 20:56:08 +02:00
-- =====================================================================
-- TeeCup — midlertidige spillere: etter-runde scorekort + innloggings-
-- invitasjon, økt-nivå (migrasjon 034, FEATURE_BACKLOG.md "Midlertidige
-- spillere + automatisk etter-runde-invitasjon", avklart 2026-07-28)
-- =====================================================================
-- Dobbel-utsending-sperre: en rad her ER allerede "denne deltakeren i
-- denne matchen har fått sin scorekort-e-post" -- samme "tilstedeværelse/
-- tidsstempel = skjedd"-mønster som resten av skjemaet (round.started_at
-- m.fl.), ikke en egen tabell siden match_participant allerede er nøyaktig
-- (økt, spiller)-koblingen vi trenger å spore mot.
\set ON_ERROR_STOP on
ALTER TABLE match_participant ADD COLUMN invitation_sent_at timestamptz;