fix: invite email js

pull/89/head
Pierre-Louis Guhur 1 year ago
parent c020228ee9
commit 7a00f404f2

@ -1,12 +1,12 @@
const fs = require("fs"); const fs = require('fs');
const Mailgun = require("mailgun.js"); const Mailgun = require('mailgun.js');
const formData = require("form-data"); // const formData = require('form-data');
const dotenv = require("dotenv"); const dotenv = require('dotenv');
const i18next = require("i18next"); const i18next = require('i18next');
const Backend = require("i18next-chained-backend"); const Backend = require('i18next-chained-backend');
const FSBackend = require("i18next-fs-backend"); const FSBackend = require('i18next-fs-backend');
const HttpApi = require("i18next-http-backend"); const HttpApi = require('i18next-http-backend');
const Handlebars = require("handlebars"); // const Handlebars = require("handlebars");
dotenv.config(); dotenv.config();
const { const {
@ -17,12 +17,12 @@ const {
CONTACT_TO_EMAIL_ADDRESS, CONTACT_TO_EMAIL_ADDRESS,
} = process.env; } = process.env;
const mailgun = new Mailgun(formData); // const mailgun = new Mailgun(formData);
const mg = mailgun.client({ // const mg = mailgun.client({
username: "api", // username: 'api',
key: MAILGUN_API_KEY, // key: MAILGUN_API_KEY,
url: "https://api.eu.mailgun.net", // url: 'https://api.eu.mailgun.net',
}); // });
const success = { const success = {
statusCode: 200, statusCode: 200,
@ -83,30 +83,30 @@ const err = {
// }); // });
// const txtStr = fs.readFileSync(__dirname + "/invite.txt").toString(); // const txtStr = fs.readFileSync(__dirname + "/invite.txt").toString();
const txtStr = { const txtStr = {
en: fs.readFileSync(__dirname + "/invite-en.txt").toString(), en: fs.readFileSync(__dirname + '/invite-en.txt').toString(),
fr: fs.readFileSync(__dirname + "/invite-fr.txt").toString(), fr: fs.readFileSync(__dirname + '/invite-fr.txt').toString(),
}; };
const txtTemplate = { const txtTemplate = {
en: Handlebars.compile(txtStr.en), en: Handlebars.compile(txtStr.en),
fr: Handlebars.compile(txtStr.fr), fr: Handlebars.compile(txtStr.fr),
}; };
const htmlStr = { const htmlStr = {
en: fs.readFileSync(__dirname + "/invite-en.html").toString(), en: fs.readFileSync(__dirname + '/invite-en.html').toString(),
fr: fs.readFileSync(__dirname + "/invite-fr.html").toString(), fr: fs.readFileSync(__dirname + '/invite-fr.html').toString(),
}; };
const htmlTemplate = { const htmlTemplate = {
en: Handlebars.compile(htmlStr.en), en: Handlebars.compile(htmlStr.en),
fr: Handlebars.compile(htmlStr.fr), fr: Handlebars.compile(htmlStr.fr),
}; };
const test = Handlebars.compile("test"); const test = Handlebars.compile('test');
const sendMail = async (event) => { const sendMail = async (event) => {
if (event.httpMethod !== "POST") { if (event.httpMethod !== 'POST') {
return { return {
statusCode: 405, statusCode: 405,
body: "Method Not Allowed", body: 'Method Not Allowed',
headers: { Allow: "POST" }, headers: { Allow: 'POST' },
}; };
} }
@ -114,7 +114,7 @@ const sendMail = async (event) => {
if (!data.recipientVariables || !data.title || !data.locale) { if (!data.recipientVariables || !data.title || !data.locale) {
return { return {
statusCode: 422, statusCode: 422,
body: "Recipient variables and title are required.", body: 'Recipient variables and title are required.',
}; };
} }
@ -130,21 +130,22 @@ const sendMail = async (event) => {
text: txtTemplate.fr(templateData), text: txtTemplate.fr(templateData),
html: htmlTemplate.fr(templateData), html: htmlTemplate.fr(templateData),
subject: data.title, subject: data.title,
"h:Reply-To": "app@mieuxvoter.fr", 'h:Reply-To': 'app@mieuxvoter.fr',
"recipient-variables": JSON.stringify(data.recipientVariables), 'recipient-variables': JSON.stringify(data.recipientVariables),
}; };
const res = mg.messages return true;
.create("mg.app.mieuxvoter.fr", mailgunData) // const res = mg.messages
.then((msg) => { // .create('mg.app.mieuxvoter.fr', mailgunData)
return success; // .then((msg) => {
}) // logs response data // return success;
.catch((err) => { // }) // logs response data
console.log(err); // .catch((err) => {
return success; // console.log(err);
}); // logs any error // return success;
// }); // logs any error
return res; //
// return res;
}; };
exports.handler = sendMail; exports.handler = sendMail;

Loading…
Cancel
Save