import { NextRequest, NextResponse } from "next/server"; import { getDb } from "@/lib/db"; export async function PUT( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { const sql = getDb(); const { id } = await params; const body = await request.json(); const { part_number, name, description, category_id, manufacturer, package_type, unit_price, stock_quantity, min_stock_level, datasheet_url, supplier, supplier_part_number, shelf_location, is_internal, customer_supplied, customer_id: cust_id, specs, } = body; const rows = await sql( `UPDATE components SET part_number = $1, name = $2, description = $3, category_id = $4, manufacturer = $5, package_type = $6, unit_price = $7, stock_quantity = $8, min_stock_level = $9, datasheet_url = $10, supplier = $11, supplier_part_number = $12, shelf_location = $13, is_internal = $14, customer_supplied = $15, customer_id = $16, specs = $17, updated_at = NOW() WHERE id = $18 RETURNING *`, [ part_number, name, description || null, category_id || null, manufacturer || null, package_type || null, unit_price || 0, stock_quantity || 0, min_stock_level || 0, datasheet_url || null, supplier || null, supplier_part_number || null, shelf_location || null, is_internal ?? false, customer_supplied ?? false, customer_supplied ? (cust_id || null) : null, JSON.stringify(specs || {}), Number(id), ] ); if (rows.length === 0) { return NextResponse.json({ error: "Component not found" }, { status: 404 }); } return NextResponse.json(rows[0]); } export async function DELETE( _request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { const sql = getDb(); const { id } = await params; await sql(`DELETE FROM components WHERE id = $1`, [Number(id)]); return NextResponse.json({ success: true }); }