submit form contactus and start api projects
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { writeFile, readFile } from 'fs/promises';
|
||||
import path from 'path';
|
||||
|
||||
const filePath = path.resolve(process.cwd(), 'contactMessages.json');
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
try {
|
||||
const body = await request.json();
|
||||
console.log(body)
|
||||
const { first_name, last_name, phone, email, message } = body;
|
||||
|
||||
if (!first_name || !last_name || !phone || !email || !message) {
|
||||
return NextResponse.json(
|
||||
{ error: 'مقدار تمامی فیلدها را پر کنید' },
|
||||
{ status: 400 },
|
||||
);
|
||||
}
|
||||
|
||||
let messages = [];
|
||||
try {
|
||||
const fileData = await readFile(filePath, 'utf-8');
|
||||
messages = JSON.parse(fileData);
|
||||
} catch {
|
||||
messages = [];
|
||||
}
|
||||
|
||||
const newMessage = {
|
||||
first_name,
|
||||
last_name,
|
||||
phone,
|
||||
email,
|
||||
message,
|
||||
createdAt: new Date().toISOString(),
|
||||
};
|
||||
|
||||
messages.push(newMessage);
|
||||
|
||||
// Write updated messages back to file
|
||||
await writeFile(filePath, JSON.stringify(messages, null, 2), 'utf-8');
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Your message has been received.',
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
console.log(error)
|
||||
return NextResponse.json(
|
||||
{ error, message: 'مشکلی پیش آمده.' },
|
||||
{ status: 400 },
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user