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>
23 lines
1.4 KiB
SQL
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;
|