import { NextRequest, NextResponse, userAgent, userAgentFromString, } from 'next/server' import prismaClient from '@/lib/prismaClient' import { sendMail } from '@/lib/mail' export async function POST(req: NextRequest) { const ip = req.ip || req.headers.get('x-forwarded-for') const { browser, device, os, isBot, ua } = userAgent(req) // const userAgentString = userAgentFromString(ua) const body = await req.json() try { const result = await prismaClient.supportMessage.create({ data: { ...body, ip, userAgent: ua, }, }) // send email to user await sendMail({ to: body.email, cc: process.env.ADMIN_EMAIL, subject: `Support request submitted: ${body.category}-${result.id}`, html: `
Support request submitted
Thank you for contacting us. We will get back to you soon.
Here is a copy of your message:
Category
${body.category}
Message
${body.message}
Contact Information
Name: ${body.name}
Email: ${body.email}
Phone: ${body.phone || 'N/A'}
`,
})
return NextResponse.json({
message: 'Support request submitted',
})
} catch (error) {
console.error(error)
return NextResponse.json(
{
message: `Support request failed to submit : ${error.message}`,
},
{ status: 400 }
)
}
}