import { NextRequest, NextResponse } from "next/server"; import { getDb } from "@/lib/db"; export async function GET() { const sql = getDb(); const rows = await sql(` SELECT p.*, COALESCE(bom.bom_count, 0) as bom_count, COALESCE(bom.total_cost, 0) as total_cost FROM products p LEFT JOIN ( SELECT product_id, COUNT(*) as bom_count, SUM(bi.quantity * c.unit_price) as total_cost FROM bom_items bi JOIN components c ON bi.component_id = c.id GROUP BY product_id ) bom ON p.id = bom.product_id ORDER BY p.updated_at DESC `); return NextResponse.json(rows); } export async function POST(request: NextRequest) { const sql = getDb(); const body = await request.json(); const { name, sku, description, version, status } = body; const rows = await sql( `INSERT INTO products (name, sku, description, version, status) VALUES ($1, $2, $3, $4, $5) RETURNING *`, [name, sku, description || null, version || "1.0", status || "draft"] ); return NextResponse.json(rows[0], { status: 201 }); }