import nodemailer from 'nodemailer'
import prisma from '../utils/db'
export default defineEventHandler(async (event) => {
const body = await readBody(event)
if (!body.name || !body.phone) {
throw createError({
statusCode: 400,
statusMessage: 'Имя и телефон обязательны для заполнения',
})
}
const user = await prisma.user.create({
data: {
name: body.name,
phone: body.phone,
service: body.service || null,
comment: body.comment || null,
route: body.route || null,
},
})
try {
const transporter = nodemailer.createTransport({
host: 'smtp.yandex.ru',
port: 465,
secure: true,
auth: {
user: process.env.SMTP_USER,
pass: process.env.SMTP_APP_PASSWORD,
},
})
await transporter.sendMail({
from: `"Rental Concierge" <${process.env.SMTP_USER}>`,
to: 'info@rental-concierge.com',
subject: 'Новая заявка',
html: `
ID заявки: ${user.id}
Имя: ${body.name}
Телефон: ${body.phone}
Услуга: ${body.service || 'Не указано'}
Комментарий: ${body.comment || 'Нет комментария'}
Route: ${body.route || 'Не указано'}
Дата создания: ${user.createdAt.toLocaleString('ru-RU')}
`,
})
}
catch (error) {
console.error('Ошибка отправки email:', error)
}
return {
ok: true,
userId: user.id,
}
})