//dependencias const path = require('path'); const schedule = require('node-schedule'); const ejs = require('ejs'); //modelos const {SMS} = require("../models/SMS"); const {Push} = require("../models/Push"); const {Email} = require("../models/Email"); const MassMailer = require("../models/MassMailer"); const MassPusher = require("../models/MassPusher"); const MassSMSER = require("../models/MassSMSER"); const sendSMS = (req,res)=>{ const error = SMS.validate(req.body); if(error && error.error) return res.status(400).json(error.error.details[0]); new MassSMSER(req.body.phoneNumbers,new SMS(req.body.message)) res.status(200).send("SMS Sent Ok"); } const sendEmail = async (req,res)=>{ const error = Email.validate(req.body); if(error && error.error) return res.status(400).json(error.error.details[0]); //decode base64 let decodedBase64HTML=null; let emailMessage=null; try { if(req.body.messageType === "html"){ decodedBase64HTML = Buffer.from(req.body.html, 'base64'); decodedBase64HTML = await ejs.renderFile(path.resolve("src/views/layouts/iMaliMailTemplate.ejs"), { content: decodedBase64HTML }); } else emailMessage = req.body.message; } catch (error) { return res.send(error,500); } new MassMailer(req.body.to,new Email(req.body.from,req.body.subject,emailMessage,decodedBase64HTML,req.body.attachments));//send mass emails res.status(200).send('Mail Sent Ok.'); } const sendPush = (req,res)=>{ const error = Push.validate(req.body); if(error && error.error) return res.status(400).json(error.error.details[0]); new MassPusher(req.body.to,new Push(req.body.subject,req.body.message)) res.status(200).send('Push Sent Ok.'); } module.exports={sendPush,sendEmail,sendSMS}