const async = require("async");
const triggerSMS = require("../services/sms.service");
class MassSMSER{
constructor(listOfNumbers,smsData){
this.smsData=smsData;
this.success_numbers=[];
this.failure_numbers=[];
this.invokeOperation(listOfNumbers);
}
invokeOperation = (listOfNumbers) => {
async.each(listOfNumbers,this.sendMassPush,(err,info)=>{
if(err)
console.log(this.failure_numbers,'errors');
else
console.log(this.success_numbers,'success');
});
}
sendMassPush = (phoneNumber, callback) =>{
this.smsData.To = phoneNumber;
async.waterfall([
(callback)=>{
triggerSMS(this.smsData)
.then(()=>{
this.success_numbers.push(phoneNumber);
callback();
})
.catch(()=>{
this.failure_numbers.push(phoneNumber);
callback();
})
}
],
function (){
callback();
})
}
}
module.exports = MassSMSER;