// app/api/dx/[...path]/route.ts import { NextResponse } from "next/server"; import { dxGET } from "@/lib/directus"; import { requireBearer } from "@/app/api/_lib/auth"; export const runtime = "nodejs"; export const dynamic = "force-dynamic"; // proxy to Directus; never static // GET /api/dx/? // Proxies to Directus using the user's ma_at, no caching. export async function GET(req: Request, context: any) { try { const bearer = requireBearer(req); // ← pulls ma_at from Cookie const search = new URL(req.url).search || ""; const params = (context?.params ?? {}) as { path?: string[] }; const pathParts = Array.isArray(params.path) ? params.path : []; const p = `/${pathParts.join("/")}${search}`; const json = await dxGET(p, bearer); return NextResponse.json(json, { status: 200 }); } catch (e: any) { const status = e?.status ?? 500; return NextResponse.json( { errors: [{ message: e?.message || "Directus proxy error", detail: e?.detail }] }, { status } ); } }