import { NextRequest, NextResponse } from "next/server";
import { writeFile } from "fs/promises";
import path from "path";

export async function POST(req: NextRequest) {
  const formData = await req.formData();
  const file = formData.get("foto") as File | null;
  if (!file) return NextResponse.json({ ok: false, erro: "Nenhuma foto." });

  const allowed = ["image/jpeg", "image/png", "image/webp", "image/gif"];
  if (!allowed.includes(file.type)) return NextResponse.json({ ok: false, erro: "Formato inválido." });
  if (file.size > 5 * 1024 * 1024) return NextResponse.json({ ok: false, erro: "Máximo 5MB." });

  const ext = file.name.split(".").pop() || "jpg";
  const filename = `preso_${Date.now()}_${Math.random().toString(36).slice(2, 6)}.${ext}`;
  const dest = path.join(process.cwd(), "public", "uploads", filename);

  const buffer = Buffer.from(await file.arrayBuffer());
  await writeFile(dest, buffer);

  return NextResponse.json({ ok: true, path: `/uploads/${filename}` });
}
