teecup/071_flag_map_visibility.sql
Erol Haagenrud 25bdabe3ea Flaggturnering: GPS-flaggplanting (Del A) + kartoversikt (Del B)
Del A (ADR-066, migrasjon 069/070, allerede rullet ut mot teecup_db):
"Plant flagget" via GPS, med en interaktiv "Hullet du ut?"-bekreftelse
før posisjonen registreres, pluss full runde 2+-scoreføring for
spillere som fullfører 18 hull med slag igjen. Ny, isolert overflow-
tabell (rører ikke delt round_hole/tournament_round_hole). Bygget for
både frittstående runder og org-individuelle turneringer. UI-sheeten
er en Claude-skrevet V0-eksport (zip 11).

Del B (ADR-067, migrasjon 071, klar for utrulling): av/på-bryter
(standard AV) for en satellittkartoversikt over ALLE deltakeres
plantede flagg, lap 1 skilt fra lap 2+ med farge+tekstbadge. Frittstående
runder får full tilskuerstøtte (/watch/[id]); org-individuelle
turneringer er bevisst avgrenset til medlemmer/deltakere, siden ingen
offentlig spectator-side finnes for det turneringsformatet ennå.

Se ARCHITECTURE_DECISIONS.md (ADR-066/067) og CHANGELOG.md (punkt 82/83)
for full begrunnelse og verifiseringslogg.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-14 10:38:54 +02:00

21 lines
1.1 KiB
SQL

-- =====================================================================
-- TeeCup — Flaggturnering: kartoversikt-bryter (migrasjon 071, "Del B",
-- se ARCHITECTURE_DECISIONS.md ADR-067 for full begrunnelse).
--
-- Én boolean per hjem, standard AV (samme "skjult til avslørt"-prinsipp
-- som visibility_mode/blind draw) -- ingen, verken medspillere eller
-- tilskuere, ser andres flagg før eieren (frittstående) eller et
-- org-medlem (org-turnering) eksplisitt slår den på. En spiller ser
-- alltid SITT EGET flagg uansett bryter-status (håndtert i app-laget,
-- se app/routers/rounds.py::_build_flag_map og
-- app/routers/individual_tournaments.py::get_flag_map).
--
-- Endres via eksisterende PATCH-endepunkter (PATCH /rounds/{id} eier-only,
-- PATCH /orgs/{id}/tournaments/{id} ethvert org-medlem) -- ingen nye
-- skrive-endepunkter, kun nye felt på eksisterende modeller.
-- =====================================================================
\set ON_ERROR_STOP on
ALTER TABLE round ADD COLUMN flag_map_visible boolean NOT NULL DEFAULT false;
ALTER TABLE tournament ADD COLUMN flag_map_visible boolean NOT NULL DEFAULT false;