From 5f09521200f33e7db14fdfbe52ec3b648ff70701 Mon Sep 17 00:00:00 2001 From: David Arranz Date: Fri, 27 Sep 2024 19:04:07 +0200 Subject: [PATCH] . --- modules/events/marketing_list.service.js | 69 ++++++++++++++++-------- 1 file changed, 46 insertions(+), 23 deletions(-) diff --git a/modules/events/marketing_list.service.js b/modules/events/marketing_list.service.js index ffa1420..56935e9 100644 --- a/modules/events/marketing_list.service.js +++ b/modules/events/marketing_list.service.js @@ -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) {