init prysma
This commit is contained in:
@@ -1,30 +1,58 @@
|
||||
import nodemailer from 'nodemailer'
|
||||
import prisma from '../utils/db'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const body = await readBody(event)
|
||||
|
||||
const transporter = nodemailer.createTransport({
|
||||
host: 'smtp.yandex.ru',
|
||||
port: 465,
|
||||
secure: true,
|
||||
auth: {
|
||||
user: process.env.SMTP_USER,
|
||||
pass: process.env.SMTP_APP_PASSWORD,
|
||||
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,
|
||||
},
|
||||
})
|
||||
|
||||
await transporter.sendMail({
|
||||
from: `"Rental Concierge" <${process.env.SMTP_USER}>`,
|
||||
to: 'info@rental-concierge.com',
|
||||
subject: 'Новая заявка',
|
||||
html: `
|
||||
<b>Имя:</b> ${body.name}<br>
|
||||
<b>Телефон:</b> ${body.phone}<br>
|
||||
<b>Услуга:</b> ${body.service}<br>
|
||||
<b>Комментарий:</b> ${body.comment}<br>
|
||||
<b>Route:</b> ${body.route}
|
||||
`,
|
||||
})
|
||||
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,
|
||||
},
|
||||
})
|
||||
|
||||
return { ok: true }
|
||||
await transporter.sendMail({
|
||||
from: `"Rental Concierge" <${process.env.SMTP_USER}>`,
|
||||
to: 'info@rental-concierge.com',
|
||||
subject: 'Новая заявка',
|
||||
html: `
|
||||
<b>ID заявки:</b> ${user.id}<br>
|
||||
<b>Имя:</b> ${body.name}<br>
|
||||
<b>Телефон:</b> ${body.phone}<br>
|
||||
<b>Услуга:</b> ${body.service || 'Не указано'}<br>
|
||||
<b>Комментарий:</b> ${body.comment || 'Нет комментария'}<br>
|
||||
<b>Route:</b> ${body.route || 'Не указано'}<br>
|
||||
<b>Дата создания:</b> ${user.createdAt.toLocaleString('ru-RU')}
|
||||
`,
|
||||
})
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Ошибка отправки email:', error)
|
||||
}
|
||||
|
||||
return {
|
||||
ok: true,
|
||||
userId: user.id,
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user