import db from "@/lib/db";
import { NextRequest, NextResponse } from "next/server";




export const GET = async (request: NextRequest) => {
    try {

        const mostSoldVariants = await db.orderItems.groupBy({
            by: ['variant_id'],
            _sum: {
                quantity: true
            },
            orderBy: {
                _sum: {
                    quantity: 'desc'
                }
            },
            take: 10
        })

        const variantIds = mostSoldVariants.map(item => item.variant_id)

        const variants = await db.productVariant.findMany({
            where: {
                id: {
                    in: variantIds
                }
            },
            include: {
                variant_images: true,
            }
        })

        return NextResponse.json({variants}, {status: 200});

    }
    catch (error) {

        return new Response("Internal Server Error", { status: 500 });
    }

}

