init prysma

This commit is contained in:
alsaze
2025-12-09 22:46:24 +03:00
parent 2fdeeb3520
commit e9144bd78c
20 changed files with 3470 additions and 33 deletions

View File

@@ -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,
}
})