feat: add api

This commit is contained in:
2025-06-09 16:21:17 +03:00
parent 02415d9231
commit c60a832b8a
4 changed files with 87 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
export async function GET(request: Request) {
return new Response('Heartbeat!', {
status: 200,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
},
});
}

View File

@@ -0,0 +1,55 @@
import nodemailer from 'nodemailer';
type TFormData = {
name: string;
phone: string;
message: string;
form: string;
};
async function sendMail(data: TFormData) {
const { name, phone, message, form } = data;
const formattedBody = `
<html>
<body>
<p>${message}</p>
<p>---</p>
<p>${name}</p>
<p>${phone}</p>
<p>---</p>
<p>${form}</p>
</body>
</html>
`;
const transporter = nodemailer.createTransport({
service: 'gmail', // С помощью этой настройки можно менять тип почты, например gmail
auth: {
user: process.env.MAIL_USER,
pass: process.env.MAIL_PASS,
},
});
return await transporter.sendMail({
from: process.env.MAIL_FROM,
to: process.env.MAIL_TO,
subject: 'Заявка с сайта',
html: formattedBody,
});
}
export async function POST(request: Request) {
try {
const payload = await request.json();
console.log(payload);
} catch (error) {
return new Response(`Api error: ${error}`, {
status: 400,
});
}
return new Response('Success!', {
status: 200,
});
}