teecup/054_personal_course_provenance.sql

24 lines
1.4 KiB
MySQL
Raw Permalink Normal View History

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