import { NextResponse } from "next/server";
import { getDbPool } from "@/db";
import { getSession } from "@/lib/auth";

export const runtime = "nodejs";
export const dynamic = "force-dynamic";

export async function GET() {
  try {
    const session = await getSession();
    if (!session) return NextResponse.json({ error: "Não autenticado." }, { status: 401 });
    if (session.role.startsWith("client_")) return NextResponse.json({ error: "A lixeira é exclusiva da operação Capital." }, { status: 403 });
    const [rows] = await getDbPool().execute(
      `SELECT external_id, vehicle_type, plate, vehicle_description, risk_score, trashed_at, trashed_by, tenant_id
       FROM inspections WHERE status = 'trashed' ORDER BY trashed_at DESC`,
    );
    return NextResponse.json({ items: rows });
  } catch (error) {
    console.error("Erro ao consultar lixeira", error);
    const code = (error as { code?: string }).code;
    if (code === "ER_BAD_FIELD_ERROR" || code === "WARN_DATA_TRUNCATED") return NextResponse.json({ error: "A lixeira ainda não foi instalada no banco.", hint: "Execute a migration 011_inspection_trash.sql." }, { status: 503 });
    return NextResponse.json({ error: "Não foi possível carregar a lixeira." }, { status: 500 });
  }
}
