teecup/034_session_scorecard_invitations.sql
Erol Haagenrud d6c1a38318 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

13 lines
823 B
SQL

-- =====================================================================
-- 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;