import { createInquiry } from "@/lib/api"; import { isValidEmailAddress, isValidFullName, isValidRuPhone, normalizeRuPhone, } from "@/lib/contact-fields"; import { NextResponse } from "next/server"; function asText(value: unknown) { return typeof value === "string" ? value.trim() : ""; } export async function POST(request: Request) { const body = (await request.json()) as Record; const name = asText(body.name ?? body.patientName).replace(/\s+/g, " "); const email = asText(body.email); const phone = normalizeRuPhone(asText(body.phone)); const branchId = asText(body.branchId); const serviceId = asText(body.serviceId) || undefined; const doctorId = asText(body.doctorId) || undefined; if (!isValidFullName(name) || !isValidEmailAddress(email) || !isValidRuPhone(phone) || !branchId || (!serviceId && !doctorId)) { return NextResponse.json({ error: "invalid" }, { status: 400 }); } try { const inquiry = await createInquiry({ name, email, phone, branchId, serviceId, doctorId, }); return NextResponse.json(inquiry); } catch { return NextResponse.json({ error: "unavailable" }, { status: 503 }); } }