diff --git a/src/lib/mail.ts b/src/lib/mail.ts index de4a30c..a1b8e03 100644 --- a/src/lib/mail.ts +++ b/src/lib/mail.ts @@ -1,6 +1,10 @@ +import { writeFile } from "fs"; import nodemailer from "nodemailer"; import SMTPTransport from "nodemailer/lib/smtp-transport"; +import mjml from "./mjml" + + let mailAccount = { user: process.env.MAILUSER + "@mail." + process.env.DOMAIN, pass: process.env.MAILPASSWORD }; let transporter = nodemailer.createTransport( @@ -47,4 +51,14 @@ const sendMail = async (from: string, to: string, subject: string, text?: string }); }; +const verificationMail = async (to: string, ) => { + const message = mjml.getTemplate("emailVerification") + + //TODO: replace handlebars with code + //TODO: Implement verification codes + //TODO: Write endpoints to verify codes + + sendMail(mailAccount.user,to,"Verify Email",undefined,message); +} + export default { sendMail, mailAccount }; diff --git a/src/lib/mjml.ts b/src/lib/mjml.ts index 2a6cd02..29fb6b0 100644 --- a/src/lib/mjml.ts +++ b/src/lib/mjml.ts @@ -8,16 +8,24 @@ const compileTemplates = () => { fs.readdir(template_folder, (err, files) => { if (err) console.log(err); - files.forEach(file => { + files.forEach((file) => { + if (path.extname(file) !== ".mjml") return; - if(path.extname(file) !== ".mjml") return; - + let content = fs.readFileSync(template_folder + files); + let mjmlres = mjml(content.toString()); - let content = fs.readFileSync(template_folder + files) - let mjmlres = mjml(content.toString()); - - let hbs = template_folder + file.replace(".mjml",".hbs"); - fs.writeFileSync(hbs,mjmlres.html); - }) + let hbs = template_folder + file.replace(".mjml", ".hbs"); + fs.writeFileSync(hbs, mjmlres.html); + }); }); }; + +compileTemplates(); // This will compile all templates when this file is first included + +const getTemplate = (name: string): string => { + let file = ""; + file = fs.readFileSync(path.join(template_folder, name, ".hbs")).toString(); + return file; +}; + +export default { getTemplate };