import { NextResponse } from "next/server";
import { prisma } from "@/lib/prisma";
import { z } from "zod";
import { sendContactMessageEmail } from "@/lib/send-contact-message-email";

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

export async function POST(req: Request) {
  try {
    const data = schema.parse(await req.json());
    await prisma.contactMessage.create({ data });
    await sendContactMessageEmail({
      name: data.name,
      email: data.email,
      sector: data.sector,
      message: data.message,
    });
    return NextResponse.json({ ok: true });
  } catch (e) {
    if (e instanceof z.ZodError) {
      return NextResponse.json({ error: "Dados inválidos" }, { status: 400 });
    }
    return NextResponse.json({ error: "Erro ao enviar" }, { status: 500 });
  }
}
