import {sameOrigin} from '../../../lib/meshkee/session'; import { tenantApi } from '../../../lib/meshkee/api'; import { validateContact } from '../../../lib/meshkee/contact'; export async function POST(request:Request) { if(!sameOrigin(request))return Response.json({message:'درخواست نامعتبر است.'},{status:403}); if(!request.headers.get('content-type')?.includes('application/json'))return Response.json({message:'فرمت درخواست نامعتبر است.'},{status:415}); const raw=await request.text(); if(raw.length>20000)return Response.json({message:'متن پیام بیش از حد طولانی است.'},{status:413}); let input; try{input=JSON.parse(raw)}catch{return Response.json({message:'درخواست نامعتبر است.'},{status:400})} if(!input||typeof input!=='object'||Array.isArray(input))return Response.json({message:'درخواست نامعتبر است.'},{status:400}); const {data,errors}=validateContact(input); if(Object.keys(errors).length)return Response.json({message:'اطلاعات فرم را بررسی کنید.',errors},{status:400}); try { await tenantApi('/contact-submissions',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(Object.fromEntries(Object.entries(data).filter(([,value])=>value)))}); return Response.json({message:'پیام شما با موفقیت ثبت شد. از ارتباط شما سپاسگزاریم.'},{status:201}); }catch{return Response.json({message:'پیام ارسال نشد. لطفاً دوباره تلاش کنید یا با ما تماس بگیرید.'},{status:502})} }