feat: add api
This commit is contained in:
9
src/app/api/heartbeat/route.ts
Normal file
9
src/app/api/heartbeat/route.ts
Normal 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',
|
||||
},
|
||||
});
|
||||
}
|
||||
55
src/app/api/sendform/route.ts
Normal file
55
src/app/api/sendform/route.ts
Normal 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,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user