aiagentdlafirm/app/api/contact/route.ts
Adrian Miesikowski 3ea0779852 first commit
2026-02-10 13:34:41 +01:00

35 lines
1.1 KiB
TypeScript

import { NextResponse } from "next/server";
import { readFileSync, writeFileSync } from "fs";
import { resolve } from "path";
const SUBMISSIONS_PATH = resolve(process.cwd(), "data/submissions.json");
export async function POST(request: Request) {
try {
const { name, email, message } = await request.json();
if (!name || !email || !message) {
return NextResponse.json({ error: "All fields are required" }, { status: 400 });
}
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailRegex.test(email)) {
return NextResponse.json({ error: "Invalid email" }, { status: 400 });
}
const submissions = JSON.parse(readFileSync(SUBMISSIONS_PATH, "utf-8"));
submissions.push({
name,
email,
message,
createdAt: new Date().toISOString(),
});
writeFileSync(SUBMISSIONS_PATH, JSON.stringify(submissions, null, 2), "utf-8");
return NextResponse.json({ success: true }, { status: 200 });
} catch (err) {
console.error("Contact form error:", err);
return NextResponse.json({ error: "Server error" }, { status: 500 });
}
}