import { NextResponse } from "next/server";

import prismadb from "@/lib/prisma";

const corsHeaders = {
  "Access-Control-Allow-Origin": "*",
  "Access-Control-Allow-Methods": "GET, OPTIONS",
  "Access-Control-Allow-Headers": "Content-Type, Authorization",
};

export async function OPTIONS() {
  return NextResponse.json({}, { headers: corsHeaders });
}

export async function GET(
  req: Request,
  { params }: { params: { orderId: string } }
) {
  try {

    if (!params.orderId) {
      return new NextResponse("Commande requise", { status: 400, headers: corsHeaders });
    }

    const order = await prismadb.order.findUnique({
      where: {
        id: params.orderId,
      },
      include: {
        orderItems: true,
        statusHistory: {
          include: {
            status: true
          }
        }
      }
    });

    return NextResponse.json(order, { headers: corsHeaders });
  } catch (error) {
    console.log('[ORDER_GET]', error);
    return new NextResponse("Internal error", { status: 500, headers: corsHeaders })
  }
};