import { NextResponse } from 'next/server';

export const dynamic = 'force-dynamic';

const BACKEND_URL = process.env.BACKEND_URL || 'http://localhost:3000';

/**
 * Hero-prop proxy (Truth-Everywhere Part 2, item 5) — forwards to the Express
 * /api/hero-prop, which reads the pre-graded snapshot for the largest
 * |model - consensus| gap among A/B grades (the read where VYNDR disagrees most
 * with the market). Empty slate → most recent real graded read. Any failure →
 * { available: false } so the card HIDES; there is NO hand-written fallback
 * (the old static Jokic card is gone).
 */
export async function GET(req: Request) {
  try {
    const upstream = await fetch(`${BACKEND_URL}/api/hero-prop`, {
      method: 'GET',
      headers: { Accept: 'application/json', ...(req.headers.get('authorization') ? { Authorization: req.headers.get('authorization')! } : {}) },
      cache: 'no-store',
    });
    const data = await upstream.json().catch(() => ({ available: false }));
    return NextResponse.json(data, {
      status: 200,
      headers: { 'Cache-Control': 'public, s-maxage=300, stale-while-revalidate=60' },
    });
  } catch {
    return NextResponse.json({ available: false }, { status: 200 });
  }
}
