Commit graph

2 commits

Author SHA1 Message Date
93af7c5bef Rangefinder-koordinater for offisielle (TeeOff-koblede) baner
Rangefinder-funksjonalitet fantes til nå kun for GolfAPI-importerte
personlige baner. Offisielle teeoff-koblede baner (org-turneringer OG
frittstående runder spilt på en ekte teeoff-bane) hadde aldri noen
koordinatkilde. Ny migrasjon 079: delte domener (course_poi_type/
location/side) for å unngå duplisert CHECK-vedlikehold på tvers av
tabeller, ny global tabell teeoff_course_coordinate.

Ny delt modul app/target_points.py + resolve_match_course_key() i
hole_history.py (tredje søster til de to eksisterende bane-bro-
funksjonene) -- alle tre kallesteder (frittstående runder, individuell
org-turnering, lag-matchplay) bruker nå samme CourseKey-abstraksjon.
rounds.py sitt eksisterende endepunkt refaktorert til samme mønster --
sideeffekt: frittstående runder på en ekte teeoff-bane får nå også
rangefinder (var alltid tom liste før).

Ny skrive-vei i courses.py (PUT/GET .../coordinates) -- generell,
gjenbrukbar mulighet for å legge inn koordinater på enhver offisiell
bane, ikke en engangsfiks. HoleTargetDistance generalisert (roundId ->
baseUrl) og wiret inn i begge org-turnering-scoringsflytene.

11 nye tester (106/106 backend totalt), full scratch-verifisert
ende-til-ende i nettleser i alle tre flyter inkl. lys/mørk og
selvskjuling, regresjonssjekk av eksisterende GolfAPI-rangefinder
bekreftet uendret oppførsel.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 12:06:47 +02:00
bb087b4437 Spillerens per-hull-historikk på tvers av alle runder/turneringer (ADR-072)
Ny delt app/hole_history.py bygger broen mellom frittstående runders og
org-turneringers to ulike bane-identitetssystemer (teeoff facility+course-id
vs. org-scopet course.external_course_ref, og tilsvarende for GolfAPI) --
custom/håndlagde baner ekskluderes bevisst, ordinære baner telles med fra
begge kilder og slås sammen. Turneringssiden håndterer at spilleren kan ha
spilt i flere organisasjoner via samme N+1-per-org-mønster /auth/me
allerede bruker (player_organizations_for_user, migrasjon 015).

To nye GET .../history-endepunkt (rounds.py og individual_tournaments.py)
returnerer samme kombinerte historikk uansett hvilken side som spør. Nytt
HoleHistoryPanel i hole-stat-inputs.tsx viser et ekspanderbart sammendrag
(antall ganger, snitt slag, GIR%, putter) + enkeltinstanser, lagt til i
ScoringWizard og det nye HoleStatsSheet (ADR-071).

Ingen migrasjon -- ren lesefunksjon oppå migrasjon 075. Se ADR-072/
CHANGELOG for full detalj og verifisering (73 backend-tester, inkl.
integrasjonstest som beviser selve bane-broen på tvers av organisasjoner).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-15 06:51:51 +02:00