import { NextResponse } from "next/server";
import { prisma } from "@/lib/prisma";
import { z } from "zod";
import { sendSponsorInquiryEmail } from "@/lib/send-sponsor-inquiry-email";

const schema = z.object({
  name: z.string().min(2),
  email: z.string().email(),
  company: z.string().optional(),
  phone: z.string().optional(),
  message: z.string().optional(),
});

export async function POST(req: Request) {
  try {
    const data = schema.parse(await req.json());
    await prisma.sponsorInquiry.create({ data });
    await sendSponsorInquiryEmail({
      name: data.name,
      email: data.email,
      company: data.company,
      phone: data.phone,
      message: data.message,
    });
    return NextResponse.json({ ok: true });
  } catch (e) {
    if (e instanceof z.ZodError) {
      return NextResponse.json({ error: e.flatten() }, { status: 400 });
    }
    if (e instanceof Error) {
      return NextResponse.json({ error: e.message || "Erro ao enviar" }, { status: 500 });
    }
    return NextResponse.json({ error: "Erro ao enviar" }, { status: 500 });
  }
}
