app2-api/helpers/mail.helper.js

201 lines
5.4 KiB
JavaScript
Raw Normal View History

2019-08-13 18:00:27 +00:00
const mailjet_public = "c9cbd50d7f4afe487e56949f95cb28a0";
const mailjet_private = "f8b77ee8e7b1181d94f07905d90e18c6";
const mailjet_from_email = "info@loquedeverdadimporta.org";
const mailjet_from_name = "Fundación Lo Que De Verdad Importa";
/**
* Enviar un email
* @param {number} data.to - Email destino
* @param {number} data.name - Nombre del contacto destino
* @param {number} data.subject - Asunto
* @param {number} data.text - Cuerpo del mensaje en texto plano
* @param {number} data.html - Cuerpo del mensaje en HTML
* @return {Promise}
*
*/
2019-08-29 18:08:22 +00:00
function send(header, body) {
const params = Object.assign(
{
"From": {
"Email": mailjet_from_email,
"Name": mailjet_from_name
},
"To": [{
"Email": header.to,
"Name": header.name
}],
"Subject": header.subject,
},
2019-10-15 11:26:05 +00:00
(!header.bcc) ? {} : {
"Bcc": [{
"Email": header.bcc,
"Name": header.bccName
}]
},
body,
2019-08-29 18:08:22 +00:00
);
2019-10-15 11:26:05 +00:00
//console.log('PARAAAAAAAAAAAAAAAAAAAAMSSS MAILLL>', params);
2019-08-13 18:00:27 +00:00
const mailjet = require('node-mailjet')
.connect(mailjet_public, mailjet_private)
const request = mailjet
.post("send", { 'version': 'v3.1' })
.request({
2019-08-29 18:08:22 +00:00
"Messages": [params]
2019-08-13 18:00:27 +00:00
})
request
.then((result) => {
2019-09-02 11:54:10 +00:00
console.log('EEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNVIO correo>>>>');
2019-09-02 11:57:58 +00:00
console.log(result.body);
2019-08-13 18:00:27 +00:00
return result;
})
.catch((error) => {
2019-09-02 11:57:58 +00:00
console.log(error.statusCode);
console.log(error);
2019-08-13 18:00:27 +00:00
return error;
})
2019-08-29 18:08:22 +00:00
};
/**
* Enviar un email con entrada
* @header
* @param {number} data.to - Email destino
* @param {number} data.name - Nombre del contacto destino
* @param {number} data.subject - Asunto
* @values
* @param {number} data.tipoEntrada
* @param {number} data.qrCode
* @return {Promise}
*
*/
function sendTicket(header, values) {
const body = {
2019-08-30 10:03:56 +00:00
"TemplateID": 980158,
2019-08-29 18:08:22 +00:00
"TemplateLanguage": true,
"TemplateErrorDeliver": true,
"TemplateErrorReporting": {
"Email": "info@rodax-software.com",
"Name": "Air traffic control"
},
"Variables": {
"tipoEntrada": values.tipoEntrada,
"descriptionEntrada": values.descriptionEntrada,
"qrCode": values.qrCode,
"codeTicket": values.codeTicket,
"eventName": values.eventName,
2019-09-20 15:58:46 +00:00
"dateEvent": values.dateEvent,
2019-08-29 18:08:22 +00:00
"dateInscription": values.dateInscription,
2019-09-02 12:03:01 +00:00
"color": (values.color)? values.color : 'gray',
2019-09-20 15:58:46 +00:00
"nameInscription": header.name,
2019-08-29 18:08:22 +00:00
}
};
return send(header, body);
};
2019-08-30 10:03:56 +00:00
function sendListaEspera(header, values) {
const body = {
"TemplateID": 980163,
"TemplateLanguage": true,
"TemplateErrorDeliver": true,
"TemplateErrorReporting": {
"Email": "info@rodax-software.com",
"Name": "Air traffic control"
},
"Variables": {
"tipoEntrada": values.tipoEntrada,
"eventName": values.eventName,
2019-09-20 15:58:46 +00:00
"dateEvent": values.dateEvent,
2019-08-30 10:03:56 +00:00
"dateInscription": values.dateInscription,
2019-09-02 12:03:01 +00:00
"color": (values.color) ? values.color : 'gray',
2019-09-20 15:58:46 +00:00
"nameInscription": header.name,
2019-08-30 10:03:56 +00:00
}
};
return send(header, body);
};
2019-10-15 11:26:05 +00:00
function sendReservationCode(header, values) {
const body = {
"TemplateID": 1041673,
"TemplateLanguage": true,
"TemplateErrorDeliver": true,
"TemplateErrorReporting": {
"Email": "info@rodax-software.com",
"Name": "Air traffic control"
},
"Variables": {
"entityName": values.entityName,
"eventName": values.eventName,
"dateEvent": values.dateEvent,
"reservationCode": values.reservationCode,
"reservationDescription": (values.reservationDescription) ? values.reservationDescription : '-',
}
};
return send(header, body);
};
2019-09-13 11:49:22 +00:00
function sendCancelacion(header, values) {
const body = {
"TemplateID": 978886,
"TemplateLanguage": true,
"TemplateErrorDeliver": true,
"TemplateErrorReporting": {
"Email": "info@rodax-software.com",
"Name": "Air traffic control"
},
"Variables": {
"tipoEntrada": values.tipoEntrada,
"eventName": values.eventName,
2019-09-20 15:58:46 +00:00
"dateEvent": values.dateEvent,
2019-09-13 11:49:22 +00:00
"dateInscription": values.dateInscription,
"color": (values.color) ? values.color : 'gray',
2019-09-20 15:58:46 +00:00
"nameInscription": header.name,
2019-09-13 11:49:22 +00:00
}
};
return send(header, body);
};
2019-08-29 18:08:22 +00:00
/**
* Enviar un email
* @header
* @param {number} data.to - Email destino
* @param {number} data.name - Nombre del contacto destino
* @param {number} data.subject - Asunto
* @subjectAnBody
* @param {number} data.text - Cuerpo del mensaje en texto plano
* @param {number} data.html - Cuerpo del mensaje en HTML
* @return {Promise}
*
*/
function sendMail(header, values) {
const body = {
"TextPart": values.text,
"HTMLPart": values.html,
};
return send(header, body);
};
2019-08-13 18:00:27 +00:00
2019-08-29 18:08:22 +00:00
module.exports = {
sendMail,
2019-08-30 10:03:56 +00:00
sendTicket,
sendListaEspera,
2019-09-13 11:49:22 +00:00
sendCancelacion,
2019-10-15 11:26:05 +00:00
sendReservationCode,
2019-08-30 10:03:56 +00:00
2019-08-29 18:08:22 +00:00
};