teecup/app
Erol Haagenrud 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
..
routers Rangefinder-koordinater for offisielle (TeeOff-koblede) baner 2026-08-17 12:06:47 +02:00
__init__.py Utgangspunktet 2026-07-16 07:26:04 +02:00
account_merge.py Kontosammenslåing, selvbetjent (ADR-080, "Del 2" av flere e-postadresser) 2026-08-17 07:56:41 +02:00
auth.py Kontosammenslåing, selvbetjent (ADR-080, "Del 2" av flere e-postadresser) 2026-08-17 07:56:41 +02:00
blind_draw.py Update Todos 2026-07-19 22:51:07 +02:00
config.py Avstand til mål via GolfAPI.io (Tjøme) + statistikk-graf-finpuss 2026-08-12 21:39:13 +02:00
db.py Før kommunikasjon med V0 2026-07-17 21:40:42 +02:00
email.py Kontosammenslåing, selvbetjent (ADR-080, "Del 2" av flere e-postadresser) 2026-08-17 07:56:41 +02:00
errors.py Før kommunikasjon med V0 2026-07-17 21:40:42 +02:00
golfapi_cache.py Per-deltaker-fullføring av runder + scorekort på e-post; Larvik/Nesbyen via GolfAPI 2026-08-13 21:24:25 +02:00
golfapi_client.py Avstand til mål via GolfAPI.io (Tjøme) + statistikk-graf-finpuss 2026-08-12 21:39:13 +02:00
handicap.py All eight new turneringsformater have backend + engine complete and scratch-verified — Chapman, Nassau, Københavner, Bingo Bango Bongo, Flaggturnering, Shamble, Money Ball, and High-low-high. Built and tested one format at a time (engine tests → migration → API wiring → scratch verification) exactly per the approved plan: 2026-07-30 14:54:11 +02:00
hole_history.py Rangefinder-koordinater for offisielle (TeeOff-koblede) baner 2026-08-17 12:06:47 +02:00
main.py Kontosammenslåing, selvbetjent (ADR-080, "Del 2" av flere e-postadresser) 2026-08-17 07:56:41 +02:00
push.py Update Todos 2026-07-28 22:34:16 +02:00
rate_limit.py 13-årsgrense — håndhevet server-side (eneste vei inn i appen, ADR-051) og med umiddelbar rød feilmelding klientside i begge profil-skjemaer. Testet på nøyaktig dagsgrensen. 2026-08-10 07:00:11 +02:00
realtime.py Live. Kort oppsummert: spillere ser nå i sanntid når noen registrerer en score, endrer en medspiller, eller fullfører runden — samme lette WebSocket-mønster som "Følg live" på turneringer. Ingen migrasjon, teeoff.no upåvirket, verifisert med en ekte WebSocket-klient (ikke bare REST) at kringkastingen faktisk fungerer begge veier. 2026-07-26 08:49:37 +02:00
requirements-dev.txt Automatisert backend-testinfrastruktur: RLS, versjonssjekk, aldersgrense 2026-08-10 22:25:02 +02:00
requirements.txt Update Todos 2026-07-28 22:34:16 +02:00
storage.py Før redesign 2026-08-07 22:02:56 +02:00
target_points.py Rangefinder-koordinater for offisielle (TeeOff-koblede) baner 2026-08-17 12:06:47 +02:00
team_authz.py Begge implementert, browserverifisert og live: 2026-07-30 09:36:52 +02:00
teeoff_client.py Bygget, og verifisert grundig mot ekte infrastruktur — inkludert et ekte kall mot teeoff_api (søkte opp «Borregaard», importerte Borregaard Golfklubb sin 18-hulls hovedbane med alle hull, 4 tee-farger × kjønn, ratinger, og opprettet faktisk en økt med den importerte banen). Duplikat-import ble korrekt avvist (409), kryss-org-isolasjon holder, test_isolation.sql 12/12. 2026-07-18 12:44:05 +02:00