teecup/054_personal_course_provenance.sql
Erol Haagenrud aee1662de2 Fiks turneringsoppsett-rekkefølge, koble til TeeOff-import, og bygg delt bane-mal-bibliotek
Klasser vises nå etter bane-/rundeoppsett (var meningsløst å velge
standardutslag før banen fantes). TeeOff-import koblet inn i
individuelle turneringer. Ny mal-basert baneoppretting i
turneringsmodulen (fra bunnen av / TeeOff / offentlig custom-bane),
med personal_course gjenbrukt som et delt, plattform-omfattende
bane-bibliotek på tvers av org- og single-runde-modulen (ADR-042,
migrasjon 054).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 11:34:28 +02:00

23 lines
1.4 KiB
SQL

-- Bane-mal-bibliotek, del II (2026-08-04) -- brukeren oppdaget at
-- turneringsmodulen manglet TeeOff-import for individuelle turneringer OG at
-- "opprett manuell bane" der bare var et bart navnefelt (ingen hull/utslag-
-- skjema fantes). Løsningen: la BEGGE moduler (turnering + single-runde)
-- tilby "bruk en eksisterende bane som mal" -- enten fra TeeOff eller fra en
-- annen bruker/organisasjons offentlige custom-bane -- som forhåndsutfyller
-- et redigerbart hull/utslag-skjema før lagring.
--
-- personal_course (020_personal_rounds.sql) er, til tross for navnet,
-- ALLEREDE et globalt, plattform-omfattende bibliotek -- GET /personal-
-- courses søker på tvers av ALLE brukeres baner uten eier- eller org-
-- filtrering (rounds.py:142-149). Bekreftet med bruker: dette biblioteket
-- er nettopp det "offentlige" stedet begge moduler skal dele -- ingen ny
-- tabell trengs, kun denne ene kolonnen for opphav/attribusjon når en bane
-- er en redigert kopi ("fork") av en annen.
--
-- Eierskaps-håndhevelse for de nye endre-/dupliser-/slette-endepunktene
-- (rounds.py) skjer i APPLIKASJONSLAGET (created_by_user_id ==
-- innlogget bruker), IKKE via RLS -- personal_course har aldri vært
-- org-scopet eller RLS-dekket (bevisst, siden opprettelsen i migrasjon 020),
-- og det er ingen grunn til å endre det prinsippet nå.
ALTER TABLE personal_course
ADD COLUMN forked_from_id uuid REFERENCES personal_course (id) ON DELETE SET NULL;