import { createReview, getProductReviews } from "@/lib/headless/providers/medusa-reviews"; function bearer(request: Request): string | null { const header = request.headers.get("authorization") ?? ""; return header.startsWith("Bearer ") ? header.slice(7) : null; } export async function GET(request: Request) { const productId = new URL(request.url).searchParams.get("product_id"); if (!productId) return Response.json({ error: "product_id es obligatorio" }, { status: 400 }); try { return Response.json(await getProductReviews(productId)); } catch { // Backend sin el modulo todavia (o caido): la ficha muestra "sin // reseñas" en vez de romperse. return Response.json({ reviews: [], average: 0, count: 0 }); } } export async function POST(request: Request) { const token = bearer(request); if (!token) return Response.json({ error: "Inicia sesión para dejar una reseña" }, { status: 401 }); const body = await request.json().catch(() => ({})); try { return Response.json(await createReview(token, body), { status: 201 }); } catch (error) { const status = (error as { status?: number }).status ?? 400; return Response.json({ error: (error as Error).message }, { status }); } }