import { NextResponse } from 'next/server';
import { getContextToken, getDefaultLanguageId } from '@/lib/shopware-api';

export const dynamic = 'force-dynamic';

export async function GET() {
  let nextHeadersCookies: Record<string, string> = {};
  try {
    // Match the indirect-require pattern shopware-api uses internally
    const dynamicRequire: NodeRequire = (0, eval)('require');
    const nh = dynamicRequire('next/headers');
    const all = nh.cookies().getAll() as Array<{ name: string; value: string }>;
    for (const c of all) nextHeadersCookies[c.name] = c.value;
  } catch (e) {
    nextHeadersCookies = { __error: String(e) };
  }
  const tokenViaApi = getContextToken();
  const defLang = await getDefaultLanguageId().catch((e) => `err:${e?.message}`);
  return NextResponse.json({
    cookies_via_next_headers: nextHeadersCookies,
    getContextToken_result: tokenViaApi,
    getDefaultLanguageId_result: defLang,
  });
}
