This commit is contained in:
David Arranz 2024-09-27 19:04:07 +02:00
parent 95ea44c5a5
commit 5f09521200

View File

@ -1,7 +1,8 @@
"use strict";
const eventInscriptionService = require("./events_inscriptions.service");
const marketing = require("../../helpers/hubspot.helper"); // <--- HUBSPOT
const marketingHubspot = require("../../helpers/hubspot.helper"); // <--- HUBSPOT
const marketingSendinBlue = require("../../helpers/sendinblue.helper"); //<--- SendInBlue
////////////////////////////////////////////////////////////////////
// dataInscription {incription:{...}, event:{...}, reservation:{...}, user:{...}}
@ -80,35 +81,57 @@ async function _addMember(inscriptionDTO) {
console.debug(">>>> _addMember", inscriptionDTO.email);
console.debug(">>>> event_marketing_list", inscriptionDTO.event_marketing_list);
// console.debug(member);
return new Promise(function (resolve, reject) {
//if (!inscriptionDTO.event_marketing_list) {
// || !member.validated) {
//resolve(inscriptionDTO);
//} else {
/**
* HUBSPOT
*/
marketing
.addMemberToList(inscriptionDTO.event_marketing_list, inscriptionDTO)
.then(function (result) {
resolve(result.ID);
})
.catch(function (error) {
console.log('error>>>>>', error);
reject(error);
});
//}
const hubSpot = new Promise((resolve, reject) => {
marketingHubspot
.addMemberToList(inscriptionDTO.event_marketing_list, inscriptionDTO)
.then(function (result) {
resolve(result.ID);
})
.catch(function (error) {
console.log('error>>>>>', error);
reject(error);
});
});
const sendinBlue = new Promise((resolve, reject) => {
if (!inscriptionDTO.event_marketing_list) {
// || !member.validated) {
resolve(inscriptionDTO);
} else {
marketingSendinBlue
.addMemberToList(inscriptionDTO.event_marketing_list, inscriptionDTO)
.then(function (result) {
resolve(result.ID);
})
.catch(function (error) {
console.log('error>>>>>', error);
reject(error);
});
}
});
return Promise.all(hubSpot, sendinBlue);
}
async function _deleteMember(idLista, email, inscription = undefined) {
console.debug("Elimino miembro de la lista de marketing>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<", email, idLista);
return new Promise(function (resolve, reject) {
resolve(marketing.deleteMemberFromList(idLista, email, inscription));
const hubSpot = new Promise((resolve, reject) => {
resolve(marketingHubspot.deleteMemberFromList(idLista, email, inscription));
});
const sendinBlue = new Promise((resolve, reject) => {
return new Promise(function (resolve, reject) {
if (!idLista || !email) {
resolve();
} else {
resolve(marketingSendinBlue.deleteMemberFromList(idLista, email));
}
});
});
return Promise.all(hubSpot, sendinBlue);
}
async function addMarketingList(dataUser, dataInscription) {