require('../connections/mysql-server'); const express = require('express'); const router = express.Router(); const bodyParser = require('body-parser'); router.use(bodyParser.urlencoded({ extended: true })); router.use(bodyParser.json()); var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport({ //service: 'gmail', host: "email-ssl.com.br", port: 465, secure: true, auth: { //user: 'trocasenhamyrobot@gmail.com', //pass: 'trocasenhamyrobot2021', //user: 'iyrconline@myrobot.com.br', //pass: 'iyrcMyrobot@2255', //user: 'myrobotschool@gmail.com', //pass: 'myrobot2020**==', user: 'staff@myrobot.com.br', pass: 'stAff66**' } }); var routes = function () { router.post('/send', (req, res) => { EnviarEmail(req.body.to, req.body.subject, req.body.text, function(Sucesso) { res.send(Sucesso); }); }); function EnviarEmail(Email, Assunto, Texto, callback) { var mailOptions = { from: 'MyRobot School ', to: Email, subject: Assunto, html: Texto, /*attachments: [{ // Basta incluir esta chave e listar os anexos filename: 'boleto.pdf', // O nome que aparecerá nos anexos path: 'servidor/boletos/boleto_gerado1234.pdf' // O arquivo será lido neste local ao ser enviado }]*/ }; transporter.sendMail(mailOptions, function (error, info) { if (error) { console.log(error); callback(false); } else { console.log('Email sent to: ' + mailOptions.to + ' - ' + info.response); callback(true); } }); } router.get('/getRequest/:encript', (req, res) => { encript = req.params.encript; execSQLQuery(`SELECT * FROM requestpass WHERE encript = '${encript}'`, res, req.originalUrl); }) router.get('/getReqNotExpired/:idusers/:email/:db', (req, res) => { id = req.params.idusers; email = req.params.email; db = req.params.db; execSQLQuery(` SELECT * FROM requestpass WHERE registration = '${id}' AND email = '${email}' AND db = '${db}'`, res, req.originalUrl ); }) router.post('/insert', (req, res) => { const idrequestpass = req.body.idrequestpass; const registration = req.body.registration; const email = req.body.email; const encript = req.body.encript; const db = req.body.db; const expired = req.body.expired; execSQLQuery(` INSERT INTO requestpass( registration, email, encript, db, expired ) VALUES ( ${registration}, '${email}', '${encript}', '${db}', ${expired} )`, res, req.originalUrl ); }) router.patch('/update', (req, res) => { const idrequestpass = req.body.idrequestpass; const registration = req.body.registration; const email = req.body.email; const encript = req.body.encript; const db = req.body.db; const expired = req.body.expired; execSQLQuery(` UPDATE requestpass SET registration = ${registration}, email = '${email}', encript = '${encript}', db = '${db}', expired = ${expired} WHERE idrequestpass = ${idrequestpass}`, res, req.originalUrl ); }) router.patch('/expired', (req, res) => { const idrequestpass = req.body.idrequestpass; const expired = req.body.expired; execSQLQuery(` UPDATE requestpass SET expired = ${expired} WHERE idrequestpass = ${idrequestpass}`, res, req.originalUrl ); }) router.post('/insertLeadsSite', (req, res) => { const idleadseventos = parseInt(req.body.idleadseventos); const idunits = parseInt(req.body.idunits); const nome = req.body.nome; let telefone = req.body.telefone; let email = req.body.email; const horario = req.body.horario; const formacontato = req.body.forma; const contato = req.body.contato; if(formacontato === "WhatsApp") { telefone = contato; req.body.telefone = telefone; } else if(formacontato === "Email") { email = contato; req.body.email = email; } mysqlConnection.query(`insert into leadssite (idleadseventos, idunits, nome, telefone, email, horario) values (?, ?, ?, ?, ?, ?);`, [idleadseventos, idunits, nome, telefone, email, horario], function (error, response, fields) { mysqlConnection.query(`select un.unityname, un.manager, un.email, le.descricao, le.idleadseventos from units un inner join leadseventos le on le.idleadseventos = ${idleadseventos} where un.idunits = ${idunits};`, function (error, InfoUnidade, fields) { const Assunto = InfoUnidade[0]['descricao']; const Texto = MontaEmailCaptacaoLeadsSite(InfoUnidade[0], req.body); EnviarEmail(InfoUnidade[0]['email'], Assunto, Texto, function(Sucesso) { const EmailInterno = "joao.pedro@makereducacao.com.br"; EnviarEmail(EmailInterno, Assunto, Texto, function(Sucesso2) { res.send(Sucesso); }); }); }); }); }); function MontaEmailCaptacaoLeadsSite(DadosEvento, DadosLead) { let TextoEmail = ""; switch (DadosEvento.idleadseventos) { case 1: let Contato = DadosLead.contato; let BotaoContato = ""; let OldContato = Contato; if(DadosLead.forma === "WhatsApp") { Contato = Contato.replace("(" , "").replace(")","").replace(" ","").replace("-",""); BotaoContato = `
Entrar em contato
`; } else if (DadosLead.forma === "Email") { BotaoContato = `
Entrar em contato
` } TextoEmail = `
Nova visita agendada!

Nome: ${DadosLead.nome}
Horario: ${DadosLead.horario}
Forma de contato: ${DadosLead.forma}
Contato: ${OldContato}
${BotaoContato}
`; break; case 2: TextoEmail = `
Novo lead captado!

Nome: ${DadosLead.nome}
Telefone: ${DadosLead.telefone}
Email: ${DadosLead.email}
`; break; } return TextoEmail; } return router; } module.exports = routes;