import { NextResponse } from "next/server"; import { auth } from "@/src/auth"; import { rimuoviArticoloDaMacchina } from "@/src/lib/artMacchineParti"; interface RouteParams { params: Promise<{ idmacchina: string; idart: string }>; } export async function DELETE(request: Request, { params }: RouteParams) { const session = await auth(); if (!session?.user) { return NextResponse.json({ error: "Non autorizzato" }, { status: 401 }); } const { idmacchina, idart } = await params; const macchinaId = parseInt(idmacchina, 10); const articoloId = parseInt(idart, 10); if (isNaN(macchinaId) || isNaN(articoloId)) { return NextResponse.json({ error: "ID non validi" }, { status: 400 }); } try { const body = await request.json(); const { quantita, opzione } = body; if (!quantita || quantita <= 0) { return NextResponse.json( { error: "Quantità non valida" }, { status: 400 } ); } if (!opzione || !["carico", "elimina"].includes(opzione)) { return NextResponse.json( { error: "Opzione non valida (carico o elimina)" }, { status: 400 } ); } const result = await rimuoviArticoloDaMacchina( articoloId, macchinaId, quantita, opzione, session.user.email || session.user.name || "unknown" ); return NextResponse.json(result); } catch (error) { console.error("[API art-macchine-parti/:idmacchina/:idart] Errore DELETE:", error); const message = error instanceof Error ? error.message : "Errore nella rimozione"; return NextResponse.json({ error: message }, { status: 500 }); } }