Underveis fant og fikset jeg et reelt hull: round_participant manglet kolonner for selve rating-tallene (kun tee-navnet var lagret) — løst med migrasjon 021, kjørt mot ekte database sammen med resten. Bygget og rullet ut: app/routers/rounds.py — opprett/liste/hent/slett runde, legg til/fjern gjestedeltakere, registrer statistikk hull for hull, og en fullfør-endepunkt som kjører hele kjeden (Adjusted Gross Score → Score Differential → tellende-vurdering). 26 scratch-sjekker grønt, pluss en egen test mot den ekte kjørende teeoff-tjenesten som bekreftet at live-oppslaget fungerer nøyaktig som tiltenkt (ingen bane-kopi skrives noe sted). Begge migrasjoner + ny kode er nå live mot ekte teecup_db/teecup_api. teeoff.no upåvirket. Jeg la også inn /rounds og /personal-courses i frontendens proxy-oppsett proaktivt, siden prosjektet har blitt bitt av glemte proxy-ruter før — ikke deployet ennå, tas med neste gang frontend faktisk bygges. Notatet om slaglengde-måling og avstand-til-punkter-på-banen er lagret i CLAUDE.md og FEATURE_BACKLOG.md, med en tydelig flagget avhengighet: dette krever geografiske/GPS-data som ingen nåværende kilde (verken teeoff eller den nye banekatalogen) har.
35 lines
1.8 KiB
JavaScript
35 lines
1.8 KiB
JavaScript
// API-et proxyes server-side under samme opprinnelse (ingen CORS, cookien
|
|
// fungerer uendret) -- se ADR-009/015. TEECUP_API_ORIGIN peker mot en lokal
|
|
// backend i dev; i prod peker den mot teecup_api på det delte Docker-nettverket.
|
|
const API_ORIGIN = process.env.TEECUP_API_ORIGIN || "http://localhost:8000"
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
output: "standalone",
|
|
images: {
|
|
unoptimized: true,
|
|
},
|
|
// MERK (funnet 2026-07-19, se FEATURE_BACKLOG.md): en plain array her gir
|
|
// implisitt "afterFiles"-semantikk -- statiske filer/sider sjekkes FØR
|
|
// disse rewrites, men DYNAMISKE Next.js-sider (app/x/[id]/page.tsx)
|
|
// sjekkes ETTER. En frontend-SIDE må derfor ALDRI nestes direkte under
|
|
// et av prefiksene under (f.eks. /orgs/[id]/members) -- rewrite-regelen
|
|
// vinner presedens og siden blir uoppnåelig (rå API-404 i stedet).
|
|
// Legg nye frontend-sider et sted UTENFOR disse prefiksene (se
|
|
// app/organizations/[id]/members for eksempelet dette ble rettet på).
|
|
async rewrites() {
|
|
return [
|
|
{ source: "/auth/:path*", destination: `${API_ORIGIN}/auth/:path*` },
|
|
{ source: "/orgs/:path*", destination: `${API_ORIGIN}/orgs/:path*` },
|
|
{ source: "/public/:path*", destination: `${API_ORIGIN}/public/:path*` },
|
|
{ source: "/superadmin/:path*", destination: `${API_ORIGIN}/superadmin/:path*` },
|
|
{ source: "/rounds/:path*", destination: `${API_ORIGIN}/rounds/:path*` },
|
|
{ source: "/rounds", destination: `${API_ORIGIN}/rounds` },
|
|
{ source: "/personal-courses/:path*", destination: `${API_ORIGIN}/personal-courses/:path*` },
|
|
{ source: "/personal-courses", destination: `${API_ORIGIN}/personal-courses` },
|
|
{ source: "/health", destination: `${API_ORIGIN}/health` },
|
|
]
|
|
},
|
|
}
|
|
|
|
export default nextConfig
|