b914115523023777a31288385840a4e01ff2e91e
[motion2.git] / server / components / import / cm / csv2.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x04ee=['createdAt','priority','UserId','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.id\x20=\x20','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_hopper_black','updatedAt','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','info','Received\x20SIGINT','error','message','exit','errors','sequelize','campaigns.id','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','query','spread','catch','voice_queues.id','voice_queues.dialTimezone','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','utcOffset','set','stringify','send','binding','socket_timestamp','root','server/files/tmp','.csv','keys','includes','ContactItemType','name','_description','header','writeFileSync','parse','createReadStream','data','rows','find','hasOwnProperty','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','\x20not\x20specified','SystemRow','emit','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','CREATE\x20TABLE\x20','each','dialTimezone,utcOffset','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','CompanyId','contactId','contactTypeId','orderBy','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','voice_queues','campaigns','CampaignId','campaigns_has_cm_blacklists','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','ioredis','../../../mysqldb','../../../config/environment/shared','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','select','field','phone','from','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','CmContact','findAll','AdditionalPhones','then','push','all','split','length','isNil','filter','CmContactHasItem','update','updated','PHONE','inserted','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId'];(function(_0x160c73,_0x2ee678){var _0xd9302=function(_0x169454){while(--_0x169454){_0x160c73['push'](_0x160c73['shift']());}};_0xd9302(++_0x2ee678);}(_0x04ee,0x13f));var _0xe04e=function(_0x7123fb,_0x49df42){_0x7123fb=_0x7123fb-0x0;var _0xc6bda4=_0x04ee[_0x7123fb];return _0xc6bda4;};'use strict';var fs=require('fs');var path=require(_0xe04e('0x0'));var _=require(_0xe04e('0x1'));var Papa=require(_0xe04e('0x2'));var util=require(_0xe04e('0x3'));var BPromise=require(_0xe04e('0x4'));var moment=require('moment');var squel=require('squel');var Redis=require(_0xe04e('0x5'));var db=require(_0xe04e('0x6'))['db'];var config=require('../../../config/environment');var shared=require(_0xe04e('0x7'));var logger=require(_0xe04e('0x8'))(_0xe04e('0x9'));config[_0xe04e('0xa')]=_[_0xe04e('0xb')](config[_0xe04e('0xa')],{'host':_0xe04e('0xc'),'port':0x18eb});var socket=require(_0xe04e('0xd'))(new Redis(config[_0xe04e('0xa')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0xe04e('0xe')](_0xe04e('0xf'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x3eeaca){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/['test'](_0x3eeaca);}function selectNotIn(_0x20a712,_0x36e572,_0x157446,_0x265048,_0x5964bf){return squel[_0xe04e('0x10')]()[_0xe04e('0x11')](_0xe04e('0x12'))[_0xe04e('0x13')](_0x265048)['join'](_0x36e572,null,_0x36e572+'.id\x20=\x20'+_0x265048+'.'+_0x157446)[_0xe04e('0x14')](_0x265048+'.'+_0x157446+_0xe04e('0x15')+_0x20a712+'.'+_0x157446)[_0xe04e('0x14')](_0x36e572+_0xe04e('0x16')+_0x5964bf[_0xe04e('0x17')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x203d7d,_0x121470){promisesAdditionalPhones=[];return db[_0xe04e('0x18')][_0xe04e('0x19')]({'raw':!![],'attributes':['id',_0xe04e('0x1a')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0xe04e('0x1b')](function(_0x4d11e6){if(_0x4d11e6!==null){var _0x46bcaa=[];for(var _0x226977=0x0;_0x226977<_0x4d11e6['length'];_0x226977++){var _0x4f39ad=_0x4d11e6[_0x226977];_0x46bcaa[_0xe04e('0x1c')](insertAdditionalPhones(_0x4f39ad));}}Promise[_0xe04e('0x1d')](_0x46bcaa)[_0xe04e('0x1b')](function(){_0x203d7d({'val':0x1});});});});}function insertAdditionalPhones(_0x460f58){return new Promise(function(_0x498e4,_0x4e5fdb){var _0x42f538=_0x460f58[_0xe04e('0x1a')];var _0x489b5a=_0x42f538[_0xe04e('0x1e')](';');var _0x4eb372=[];orderBy=0x0;for(var _0x2fc7e1=0x0;_0x2fc7e1<_0x489b5a['length'];_0x2fc7e1++){_0x4eb372['push'](splitAdditionalPhone(_0x460f58['id'],_0x489b5a[_0x2fc7e1]));}Promise[_0xe04e('0x1d')](_0x4eb372)[_0xe04e('0x1b')](function(){_0x498e4({'val':_0x489b5a[_0xe04e('0x1f')]});});});}function splitAdditionalPhone(_0x392da4,_0x3eda49){return new Promise(function(_0x4c1c13,_0x7720a1){var _0x8c9a54=_0x3eda49['split'](':');var _0x4e8063=_0x8c9a54[0x0];var _0x292a5b=_0x8c9a54[0x1];if(!_[_0xe04e('0x20')](_0x292a5b)){var _0x3fb5ae=_0x292a5b['split']('|');var _0x5c613c=[];for(var _0x2d40af=0x0;_0x2d40af<_0x3fb5ae[_0xe04e('0x1f')];_0x2d40af++){if(_0x3fb5ae[_0x2d40af]!==''){var _0x28674c=_[_0xe04e('0x21')](promisesAdditionalPhones,{'contactId':_0x392da4,'phone':_0x3fb5ae[_0x2d40af]});if(_0x28674c[_0xe04e('0x1f')]==0x0){orderBy++;promisesAdditionalPhones[_0xe04e('0x1c')]({'contactId':_0x392da4,'contactTypeId':_0x4e8063,'phone':_0x3fb5ae[_0x2d40af],'orderBy':orderBy});}}}_0x4c1c13({'ok':0x1});}else _0x4c1c13({'res':0x0});});}function createAdditionalPhone(_0x2bf636,_0xeb46a6,_0x7351f3,_0x33e4bc){var _0x17f08a='';var _0x223b4a='';var _0x229da9=_0x7351f3[_0xe04e('0x1e')]('§');_0x17f08a=_0x229da9[0x0];if(_0x229da9[_0xe04e('0x1f')]==0x2)_0x223b4a=_0x229da9[0x1];return new Promise(function(_0x1038a6,_0x340d19){return db['CmContactHasItem']['findOne']({'where':{'CmContactId':_0x2bf636,'item':_0x17f08a}})[_0xe04e('0x1b')](function(_0x58abc5){if(_0x58abc5){return db[_0xe04e('0x22')][_0xe04e('0x23')]({'ItemTypeId':_0xeb46a6,'description':_0x223b4a,'OrderBy':_0x33e4bc},{'where':{'CmContactId':_0x2bf636,'item':_0x17f08a}})[_0xe04e('0x1b')](function(_0xfc4915){_0x1038a6({'res':_0xe04e('0x24')});});}else{return db[_0xe04e('0x22')]['create']({'CmContactId':_0x2bf636,'item':_0x17f08a,'description':_0x223b4a,'ItemTypeId':_0xeb46a6,'OrderBy':_0x33e4bc,'ItemClass':_0xe04e('0x25')})['then'](function(_0x1d3548){_0x1038a6({'res':_0xe04e('0x26')});});}});});}function insertCmHopper(_0x4cfb98,_0xfd1f4a,_0x1e8180,_0x247042,_0x2d47e0){var _0x49eadd=[_0xe04e('0x27'),'cm_contacts.scheduledat',_0xe04e('0x28'),_0xe04e('0x29'),_0xfd1f4a+'.'+_0x247042,_0xe04e('0x2a'),_0xe04e('0x2b'),_0xe04e('0x2c'),_0xe04e('0x2d'),'\x22'+_0x2d47e0+'\x22'];return squel[_0xe04e('0x2e')]()[_0xe04e('0x2f')](_0xe04e('0x30'))[_0xe04e('0x31')]([_0xe04e('0x12'),_0xe04e('0x32'),_0xe04e('0x33'),_0xe04e('0x34'),_0x247042,_0xe04e('0x35'),'updatedAt',_0xe04e('0x36'),_0xe04e('0x37'),_0xe04e('0x38')],squel[_0xe04e('0x10')]()[_0xe04e('0x39')](_0x49eadd)['from'](_0xfd1f4a)[_0xe04e('0x17')](_0xe04e('0x3a'),null,_0xe04e('0x3b')+_0xfd1f4a+_0xe04e('0x3c'))['join'](_0x1e8180,null,_0x1e8180+_0xe04e('0x3d')+_0xfd1f4a+'.'+_0x247042)['where'](_0xfd1f4a+_0xe04e('0x3e'),_0x4cfb98)['where']('cm_contacts.createdAt\x20=\x20?',NOW)[_0xe04e('0x14')](_0xe04e('0x3f'),selectNotIn(_0xfd1f4a,_0x1e8180,_0x247042,'cm_hopper',[_0xe04e('0x40'),_0xe04e('0x41')]))[_0xe04e('0x14')](_0xe04e('0x3f'),selectNotIn(_0xfd1f4a,_0x1e8180,_0x247042,_0xe04e('0x30'),[_0xe04e('0x40')])))[_0xe04e('0x42')]();}function insertCmHopperBlack(_0x1b9505,_0x30da6e,_0x4d3f97,_0x3b78e8){var _0x303356=['cm_contacts.phone',_0xe04e('0x28'),_0xe04e('0x29'),_0x30da6e+'.'+_0x3b78e8,_0xe04e('0x2a'),_0xe04e('0x2b')];return squel['insert']()['into'](_0xe04e('0x43'))[_0xe04e('0x31')]([_0xe04e('0x12'),_0xe04e('0x33'),_0xe04e('0x34'),_0x3b78e8,_0xe04e('0x35'),_0xe04e('0x44')],squel[_0xe04e('0x10')]()[_0xe04e('0x39')](_0x303356)[_0xe04e('0x13')](_0x30da6e)['join'](_0xe04e('0x3a'),null,_0xe04e('0x3b')+_0x30da6e+_0xe04e('0x3c'))[_0xe04e('0x17')](_0x4d3f97,null,_0x4d3f97+_0xe04e('0x3d')+_0x30da6e+'.'+_0x3b78e8)['where'](_0x30da6e+_0xe04e('0x3e'),_0x1b9505)[_0xe04e('0x14')](_0xe04e('0x45'),NOW)[_0xe04e('0x14')](_0xe04e('0x3f'),squel[_0xe04e('0x10')]()[_0xe04e('0x11')]('phone')[_0xe04e('0x13')]('cm_hopper_black')['where'](_0xe04e('0x46'),_0x1b9505)[_0xe04e('0x14')](_0x3b78e8+_0xe04e('0x15')+_0x30da6e+'.'+_0x3b78e8)))['toString']();}function insertTzCmHopper(_0x264f52,_0x1b1a9d,_0x32028d,_0x3c963a,_0x181575,_0x2d7187){var _0x2e02b0=[_0xe04e('0x27'),_0xe04e('0x47')+_0x2d7187+_0xe04e('0x48'),'cm_contacts.id',_0xe04e('0x29'),_0x1b1a9d+'.'+_0x3c963a,'cm_contacts.createdAt',_0xe04e('0x2b'),_0xe04e('0x2c'),_0xe04e('0x2d'),'\x22'+_0x181575+'\x22'];var _0x58de19=squel[_0xe04e('0x2e')]()[_0xe04e('0x2f')]('cm_hopper')['fromQuery'](['phone','scheduledat',_0xe04e('0x33'),_0xe04e('0x34'),_0x3c963a,_0xe04e('0x35'),'updatedAt',_0xe04e('0x36'),_0xe04e('0x37'),'recallme'],squel[_0xe04e('0x10')]()[_0xe04e('0x39')](_0x2e02b0)[_0xe04e('0x13')](_0x1b1a9d)[_0xe04e('0x17')](_0xe04e('0x3a'),null,_0xe04e('0x3b')+_0x1b1a9d+_0xe04e('0x3c'))[_0xe04e('0x17')](_0x32028d,null,_0x32028d+_0xe04e('0x3d')+_0x1b1a9d+'.'+_0x3c963a)['join'](_0x2d7187,null,_0x2d7187+_0xe04e('0x3d')+_0x1b1a9d+'.'+_0x3c963a)[_0xe04e('0x14')](_0x1b1a9d+'.CmListId\x20=\x20?',_0x264f52)[_0xe04e('0x14')](_0xe04e('0x45'),NOW)['where'](_0xe04e('0x3f'),selectNotIn(_0x1b1a9d,_0x32028d,_0x3c963a,'cm_hopper',[_0xe04e('0x40'),_0xe04e('0x41')]))[_0xe04e('0x14')](_0xe04e('0x3f'),selectNotIn(_0x1b1a9d,_0x32028d,_0x3c963a,'cm_hopper',[_0xe04e('0x40')])))[_0xe04e('0x42')]();return _0x58de19;}function insertTzCmHopperBlack(_0x41ab0b,_0x41f4ad,_0x315eb7,_0x19071e){var _0x9fadf6=[_0xe04e('0x27'),'cm_contacts.id','cm_contacts.ListId',_0x41f4ad+'.'+_0x19071e,'cm_contacts.createdAt',_0xe04e('0x2b')];return squel[_0xe04e('0x2e')]()[_0xe04e('0x2f')](_0xe04e('0x43'))[_0xe04e('0x31')](['phone','ContactId',_0xe04e('0x34'),_0x19071e,_0xe04e('0x35'),_0xe04e('0x44')],squel[_0xe04e('0x10')]()[_0xe04e('0x39')](_0x9fadf6)['from'](_0x41f4ad)['join']('cm_contacts',null,_0xe04e('0x3b')+_0x41f4ad+_0xe04e('0x3c'))[_0xe04e('0x17')](_0x315eb7,null,_0x315eb7+'.id\x20=\x20'+_0x41f4ad+'.'+_0x19071e)[_0xe04e('0x14')](_0x41f4ad+_0xe04e('0x3e'),_0x41ab0b)[_0xe04e('0x14')](_0xe04e('0x45'),NOW)['where'](_0xe04e('0x3f'),squel[_0xe04e('0x10')]()['field'](_0xe04e('0x12'))[_0xe04e('0x13')]('cm_hopper_black')[_0xe04e('0x14')](_0xe04e('0x46'),_0x41ab0b)['where'](_0x19071e+_0xe04e('0x15')+_0x41f4ad+'.'+_0x19071e)))[_0xe04e('0x42')]();}function insertCmHopperAdditionalPhones(_0x12e810){var _0x2fc390=[_0xe04e('0x49'),_0xe04e('0x4a'),_0xe04e('0x4b'),_0xe04e('0x4c'),_0xe04e('0x4d')];return squel[_0xe04e('0x2e')]()[_0xe04e('0x2f')](_0xe04e('0x4e'))[_0xe04e('0x31')](['CmHopperId','phone',_0xe04e('0x4f'),_0xe04e('0x35'),'updatedAt'],squel[_0xe04e('0x10')]()[_0xe04e('0x39')](_0x2fc390)[_0xe04e('0x13')](_0xe04e('0x30'))['join']('cm_contacts',null,_0xe04e('0x50'))['join'](_0xe04e('0x51'),null,_0xe04e('0x52'))[_0xe04e('0x14')](_0xe04e('0x53'),_0x12e810)[_0xe04e('0x14')](_0xe04e('0x45'),NOW))['toString']();}function insertCmContact(_0x3c6e2c,_0x117ba6,_0x23791c,_0x2a8352){var _0x5ace91=_[_0xe04e('0x54')](_['keys'](_0x2a8352),[_0xe04e('0x34'),'CompanyId',_0xe04e('0x35'),_0xe04e('0x44')]);return squel[_0xe04e('0x2e')]()[_0xe04e('0x2f')](_0xe04e('0x3a'))[_0xe04e('0x31')](_0x5ace91,squel[_0xe04e('0x10')]()[_0xe04e('0x39')](_0x5ace91)[_0xe04e('0x13')](_0x117ba6)[_0xe04e('0x14')]('('+_0x23791c[_0xe04e('0x17')](',')+_0xe04e('0x55'),squel[_0xe04e('0x10')]()[_0xe04e('0x39')](_0x23791c)[_0xe04e('0x13')](_0xe04e('0x3a'))[_0xe04e('0x14')](_0xe04e('0x46'),_0x3c6e2c)[_0xe04e('0x14')](_0xe04e('0x56')))[_0xe04e('0x14')](_0xe04e('0x57'),squel[_0xe04e('0x10')]()[_0xe04e('0x11')](_0xe04e('0x58'),'min_id')[_0xe04e('0x13')](_0x117ba6)['group'](_0x23791c[_0xe04e('0x17')](','))))['toString']();}function handleStop(){logger[_0xe04e('0x59')](_0xe04e('0x5a'));stopped=!![];}function handleUncaughtException(_0x45fd72){logger[_0xe04e('0x5b')](_0x45fd72[_0xe04e('0x5c')]);process[_0xe04e('0x5d')](0x1);}function handleError(_0x2c7e79,_0x3783af){stats[_0xe04e('0x5e')][_0xe04e('0x1c')]({'name':_0x3783af['code'],'message':_0x3783af[_0xe04e('0x5c')],'row':_0x2c7e79});}function handleQuery(_0x26bc2a){logger[_0xe04e('0x59')](_0x26bc2a);return db[_0xe04e('0x5f')]['query'](_0x26bc2a)['spread'](function(_0x5a2f18){results[_0xe04e('0x1c')](_0x5a2f18);})['catch'](function(_0x49979d){logger[_0xe04e('0x5b')](_0x49979d[_0xe04e('0x5c')]);});}function updateTzCampaigns(_0x4f8369){return new Promise(function(_0x109acd,_0x5ce8b6){var _0x1a2a2a=squel[_0xe04e('0x10')]()[_0xe04e('0x39')]([_0xe04e('0x60'),'campaigns.dialTimezone'])[_0xe04e('0x13')]('campaigns')[_0xe04e('0x17')](_0xe04e('0x61'),null,_0xe04e('0x62'))['where'](_0xe04e('0x63')+_0x4f8369);db[_0xe04e('0x5f')][_0xe04e('0x64')](_0x1a2a2a[_0xe04e('0x42')]())[_0xe04e('0x65')](function(_0x43ee27){var _0x278b7d=[];for(var _0x4dc559=0x0;_0x4dc559<_0x43ee27[_0xe04e('0x1f')];_0x4dc559++){_0x278b7d[_0xe04e('0x1c')](getTimezoneData(_0x43ee27[_0x4dc559],tmp_campaigns));}BPromise[_0xe04e('0x1d')](_0x278b7d)['then'](function(){_0x109acd({'val':0x1});});})[_0xe04e('0x66')](function(_0xd2aa1a){logger['error'](_0xd2aa1a[_0xe04e('0x5c')]);_0x109acd({'val':0x0});});});}function updateTzVoiceQueues(_0x5771fa){return new Promise(function(_0x293a4e,_0x1af13f){var _0x38bf92=squel['select']()[_0xe04e('0x39')]([_0xe04e('0x67'),_0xe04e('0x68')])['from']('voice_queues')[_0xe04e('0x17')]('voice_queues_has_cm_lists',null,_0xe04e('0x69'))['where']('voice_queues_has_cm_lists.CmListId='+_0x5771fa);db['sequelize'][_0xe04e('0x64')](_0x38bf92['toString']())[_0xe04e('0x65')](function(_0x2eacde){var _0x5f272d=[];for(var _0x226d53=0x0;_0x226d53<_0x2eacde[_0xe04e('0x1f')];_0x226d53++){_0x5f272d['push'](getTimezoneData(_0x2eacde[_0x226d53],tmp_voice_queues));}BPromise[_0xe04e('0x1d')](_0x5f272d)[_0xe04e('0x1b')](function(){_0x293a4e({'val':0x1});});})[_0xe04e('0x66')](function(_0x4c0424){logger[_0xe04e('0x5b')](_0x4c0424[_0xe04e('0x5c')]);_0x293a4e({'val':0x0});});});}function getTimezoneData(_0x3fa344,_0x72c482){return new Promise(function(_0x3fef62,_0x246238){var _0x188e5c=shared[_0xe04e('0x6a')];var _0x5e6070=_0x188e5c[_0x3fa344[_0xe04e('0x6b')]];if(_[_0xe04e('0x20')](_0x5e6070)){_0x3fef62({'ret':0x1});}else{var _0x581dc5=_0x5e6070[_0xe04e('0x6c')];var _0x54c6b1=squel[_0xe04e('0x2e')]()[_0xe04e('0x2f')](_0x72c482)[_0xe04e('0x6d')]('id',_0x3fa344['id'])[_0xe04e('0x6d')]('offset',_0x581dc5)['set'](_0xe04e('0x6b'),_0x3fa344[_0xe04e('0x6b')])['toString']();return db[_0xe04e('0x5f')][_0xe04e('0x64')](_0x54c6b1)['spread'](function(_0x137618){_0x3fef62({'ret':0x1});})[_0xe04e('0x66')](function(_0x36bb6c){logger[_0xe04e('0x5b')](_0x36bb6c['message']);_0x246238({'ret':0x1});});}});}function handleTZQuery(_0x48d69a){logger[_0xe04e('0x59')](_0x48d69a);return db[_0xe04e('0x5f')][_0xe04e('0x64')](_0x48d69a)[_0xe04e('0x65')](function(_0x58d6b5){})['catch'](function(_0x39f3ed){logger[_0xe04e('0x5b')](_0x39f3ed['message']);});}function main(_0x5dfa7f,_0x15d378,_0x3471a5,_0x43f15e){logger[_0xe04e('0x59')]('main',_0x5dfa7f,JSON[_0xe04e('0x6e')](_0x15d378));process[_0xe04e('0x6f')]('start');var _0x50be4c=_0x15d378[_0xe04e('0x70')];var _0x436608=_['clone'](_0x50be4c);var _0x3bf1f4=_0x15d378[_0xe04e('0x71')];var _0xb52722=path[_0xe04e('0x17')](config[_0xe04e('0x72')],_0xe04e('0x73'),_0x3bf1f4+_0xe04e('0x74'));hasTZ=_[_0xe04e('0x75')](_0x50be4c)[_0xe04e('0x76')](_0xe04e('0x6b'));var _0xd5609f=_[_0xe04e('0x75')](_0x50be4c)[_0xe04e('0x17')]();logger['info']('header',_0xd5609f);db[_0xe04e('0x77')][_0xe04e('0x19')]({'raw':!![],'attributes':['id',_0xe04e('0x78')]})[_0xe04e('0x1b')](function(_0x14b01d){for(var _0x10af28=0x0;_0x10af28<_0x14b01d[_0xe04e('0x1f')];_0x10af28++){if(_0x14b01d[_0x10af28][_0xe04e('0x78')]in _0x50be4c){contactItemTypes[_0xe04e('0x1c')](_0x14b01d[_0x10af28]);delete _0x436608[_0x14b01d[_0x10af28][_0xe04e('0x78')]];hasAdditionalPhones=!![];}for(var _0x35c19c in _0x50be4c){if(_0x14b01d[_0x10af28][_0xe04e('0x78')]+_0xe04e('0x79')===_0x35c19c){phoneDescriptions[_0xe04e('0x1c')]({'itemTypeId':_0x14b01d[_0x10af28]['id'],'description':_0x35c19c});delete _0x436608[_0x35c19c];}}}if(hasAdditionalPhones)_0x436608['AdditionalPhones']='';var _0x4b4070=_['keys'](_0x436608)['join']();logger[_0xe04e('0x59')](_0xe04e('0x7a'),_0x4b4070);fs[_0xe04e('0x7b')](_0xb52722,_0x4b4070+'\x0a');Papa[_0xe04e('0x7c')](fs[_0xe04e('0x7d')](_0x5dfa7f),{'header':!![],'skipEmptyLines':!![],'step':function(_0x57ce8b,_0x295dea){try{for(var _0x31ba7b=0x0,_0x11a33e=[];_0x31ba7b<_0x57ce8b[_0xe04e('0x7e')][_0xe04e('0x1f')];_0x31ba7b++){stats[_0xe04e('0x7f')]+=0x1;if(_0x57ce8b[_0xe04e('0x5e')][_0x31ba7b]){handleError(_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b],_0x57ce8b['errors'][_0x31ba7b]);}else{var _0x390d59=[];var _0x85ef84=[];var _0x545a92={};for(var _0x5442cf in _0x50be4c){let _0x3f3220=contactItemTypes[_0xe04e('0x80')](_0x94ebfd=>_0x94ebfd[_0xe04e('0x78')]===_0x5442cf);let _0x3fee28=contactItemTypes[_0xe04e('0x80')](_0x534c4a=>_0x534c4a[_0xe04e('0x78')]+'_description'===_0x5442cf);if(_[_0xe04e('0x20')](_0x3f3220)&&_[_0xe04e('0x20')](_0x3fee28)){if(_0x50be4c[_0xe04e('0x81')](_0x5442cf)){if(_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b][_0x50be4c[_0x5442cf]]){var _0x3b49b8=_[_0xe04e('0x82')](_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b][_0x50be4c[_0x5442cf]][_0xe04e('0x83')](/"/g,'\x27'));switch(_0x5442cf){case'scheduledat':var _0x3e9eff=moment(_0x3b49b8,_0xe04e('0xf'),!![]);if(_0x3e9eff[_0xe04e('0x84')]()){_0x11a33e[_0xe04e('0x1c')]('\x22'+_0x3b49b8+'\x22');}else{_0x390d59[_0xe04e('0x1c')](_0xe04e('0x85'));}break;case _0xe04e('0x36'):var _0x54ac43=parseInt(_0x3b49b8);_0x3b49b8=_[_0xe04e('0x86')](_0x54ac43)||_0x54ac43<0x0||_0x54ac43>0x4?_0x43f15e?0x3:0x2:_0x54ac43;_0x11a33e['push']('\x22'+_0x3b49b8+'\x22');break;case _0xe04e('0x37'):var _0xcc2850=parseInt(_0x3b49b8);if(_[_0xe04e('0x87')](_0xcc2850)&&_[_0xe04e('0x76')](_0x3471a5,_0xcc2850)){_0x11a33e['push']('\x22'+_0xcc2850+'\x22');}else{_0x390d59[_0xe04e('0x1c')](_0xe04e('0x88'));}break;case _0xe04e('0x89'):if(isEmail(_0x3b49b8)){_0x11a33e[_0xe04e('0x1c')]('\x22'+_0x3b49b8+'\x22');}else{_0x390d59[_0xe04e('0x1c')](_0xe04e('0x8a'));}break;case _0xe04e('0x8b'):var _0x492fe3=moment(_0x3b49b8,_0xe04e('0x8c'),!![]);if(_0x492fe3['isValid']()){_0x11a33e['push']('\x22'+_0x3b49b8+'\x22');}else{_0x390d59['push'](_0xe04e('0x8d'));}break;case _0xe04e('0x6b'):var _0x59a4a7=shared[_0xe04e('0x6a')];var _0x5be642=_0x59a4a7[_0x3b49b8];if(!_[_0xe04e('0x20')](_0x5be642)){var _0x12ea95=_0x5be642[_0xe04e('0x6c')];_0x11a33e[_0xe04e('0x1c')]('\x22'+_0x3b49b8+'\x22');_0x11a33e['push']('\x22'+_0x12ea95+'\x22');}break;default:_0x11a33e[_0xe04e('0x1c')]('\x22'+_0x3b49b8+'\x22');}}else{switch(_0x5442cf){case'firstName':case _0xe04e('0x12'):_0x390d59[_0xe04e('0x1c')](_0x5442cf+_0xe04e('0x8e'));break;default:_0x11a33e[_0xe04e('0x1c')]('\x22\x22');}}}}else{var _0x6d5a56='';if(!_[_0xe04e('0x20')](_0x3f3220)){if(!_0x545a92[_0xe04e('0x81')](_0x3f3220['id'])){if(!_[_0xe04e('0x20')](_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b][_0x50be4c[_0x5442cf]])){var _0x3b49b8=_[_0xe04e('0x82')](_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b][_0x50be4c[_0x5442cf]]['replace'](/"/g,'\x27'));var _0x2d2bb1=phoneDescriptions['find'](_0x3785f9=>_0x3785f9['itemTypeId']===_0x3f3220['id']);if(!_[_0xe04e('0x20')](_0x2d2bb1)){var _0xdb0dc4=_[_0xe04e('0x82')](_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b][_0x50be4c[_0x2d2bb1['description']]][_0xe04e('0x83')](/"/g,'\x27'));if(!_['isNil'](_0xdb0dc4))_0x3b49b8=_0x3b49b8+'§'+_0xdb0dc4;}if(_0x6d5a56=='')_0x6d5a56=_0x3b49b8;else _0x6d5a56+='|'+_0x3b49b8;}_0x85ef84[_0xe04e('0x1c')](_0x3f3220['id']+':'+_0x6d5a56);_0x545a92[_0x3f3220['id']]=0x1;}}}}if(hasAdditionalPhones){_0x11a33e['push']('\x22'+_0x85ef84['join'](';')+'\x22');}if(_0x390d59['length']){handleError(_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b],{'code':_0xe04e('0x8f'),'message':_0x390d59['join']()});}else{fs['appendFileSync'](_0xb52722,_0x11a33e[_0xe04e('0x17')]()+'\x0a');}_0x11a33e=[];}if(!(stats['rows']%0xc8)){socket[_0xe04e('0x90')](_0xe04e('0x91')+_0x3bf1f4,stats);stats[_0xe04e('0x5e')]=[];}}if(stopped){logger[_0xe04e('0x59')](_0xe04e('0x92'));_0x295dea[_0xe04e('0x93')]();}}catch(_0x1f0049){handleError(_0x57ce8b[_0xe04e('0x7e')][_0x31ba7b],{'code':_0xe04e('0x94'),'message':_0x1f0049['message']});logger[_0xe04e('0x5b')](_0xe04e('0x95'),_0x1f0049[_0xe04e('0x5c')]);}},'complete':function(){try{var _0x1608fd=[];var _0x53db9a=[];var _0x4b61fb=_0xe04e('0x3a');if(_0x15d378[_0xe04e('0x96')]&&_0x15d378[_0xe04e('0x96')]['length']){_0x4b61fb=_0xe04e('0x97')+_0x3bf1f4;_0x1608fd[_0xe04e('0x1c')]('CREATE\x20TABLE\x20'+_0x4b61fb+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0xe04e('0x98')+_0x3bf1f4;tmp_voice_queues=_0xe04e('0x99')+_0x3bf1f4;_0x53db9a[_0xe04e('0x1c')]('CREATE\x20TABLE\x20'+tmp_campaigns+_0xe04e('0x9a'));_0x53db9a[_0xe04e('0x1c')](_0xe04e('0x9b')+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise[_0xe04e('0x9c')](_0x53db9a,handleTZQuery)[_0xe04e('0x1b')](function(_0x523f5a){updateTzCampaigns(_0x15d378[_0xe04e('0x34')])['then'](function(_0x543383){updateTzVoiceQueues(_0x15d378[_0xe04e('0x34')])[_0xe04e('0x1b')](function(_0x47c477){if(hasTZ)_0x4b4070=_0x4b4070[_0xe04e('0x83')](_0xe04e('0x6b'),_0xe04e('0x9d'));var _0x12ef26=util[_0xe04e('0xe')](_0xe04e('0x9e'),_0xb52722,_0x4b61fb,_0x4b4070,_0x15d378['ListId'],_0x15d378[_0xe04e('0x9f')]||null,NOW,NOW);if(_[_0xe04e('0x20')](_0x50be4c[_0xe04e('0x32')])){_0x12ef26+=',\x20scheduledAt\x20=\x20NOW()';}_0x1608fd[_0xe04e('0x1c')](_0x12ef26);if(_0x15d378[_0xe04e('0x96')]&&_0x15d378[_0xe04e('0x96')][_0xe04e('0x1f')]){_0x1608fd[_0xe04e('0x1c')](insertCmContact(_0x15d378[_0xe04e('0x34')],_0x4b61fb,_0x15d378[_0xe04e('0x96')],_0x50be4c));_0x1608fd[_0xe04e('0x1c')]('DROP\x20TABLE\x20'+_0x4b61fb+';');}BPromise[_0xe04e('0x9c')](_0x1608fd,handleQuery)[_0xe04e('0x1b')](function(_0x3abb17){BPromise[_0xe04e('0x1d')]([handleAdditionalPhones()])[_0xe04e('0x1b')](function(){_0x1608fd=[];for(var _0x239bca=0x0;_0x239bca<promisesAdditionalPhones['length'];_0x239bca++){if(promisesAdditionalPhones[_0x239bca]['phone']!='§'){_0x1608fd[_0xe04e('0x1c')](createAdditionalPhone(promisesAdditionalPhones[_0x239bca][_0xe04e('0xa0')],promisesAdditionalPhones[_0x239bca][_0xe04e('0xa1')],promisesAdditionalPhones[_0x239bca]['phone'],promisesAdditionalPhones[_0x239bca][_0xe04e('0xa2')]));}}BPromise['all'](_0x1608fd)[_0xe04e('0x1b')](function(){_0x1608fd=[];if(hasTZ){_0x1608fd[_0xe04e('0x1c')](insertTzCmHopper(_0x15d378[_0xe04e('0x34')],_0xe04e('0xa3'),'voice_queues',_0xe04e('0xa4'),_0x43f15e,tmp_voice_queues));_0x1608fd['push'](insertTzCmHopperBlack(_0x15d378['ListId'],_0xe04e('0xa5'),_0xe04e('0xa6'),_0xe04e('0xa4')));_0x1608fd['push'](insertTzCmHopper(_0x15d378[_0xe04e('0x34')],_0xe04e('0x61'),_0xe04e('0xa7'),_0xe04e('0xa8'),_0x43f15e,tmp_campaigns));_0x1608fd['push'](insertTzCmHopperBlack(_0x15d378[_0xe04e('0x34')],_0xe04e('0xa9'),_0xe04e('0xa7'),_0xe04e('0xa8')));_0x1608fd['push'](insertCmHopperAdditionalPhones(_0x15d378[_0xe04e('0x34')]));}else{_0x1608fd[_0xe04e('0x1c')](insertCmHopper(_0x15d378[_0xe04e('0x34')],_0xe04e('0xa3'),_0xe04e('0xa6'),_0xe04e('0xa4'),_0x43f15e));_0x1608fd['push'](insertCmHopperBlack(_0x15d378[_0xe04e('0x34')],_0xe04e('0xa5'),'voice_queues',_0xe04e('0xa4')));_0x1608fd[_0xe04e('0x1c')](insertCmHopper(_0x15d378[_0xe04e('0x34')],_0xe04e('0x61'),_0xe04e('0xa7'),_0xe04e('0xa8'),_0x43f15e));_0x1608fd[_0xe04e('0x1c')](insertCmHopperBlack(_0x15d378[_0xe04e('0x34')],_0xe04e('0xa9'),_0xe04e('0xa7'),_0xe04e('0xa8')));_0x1608fd[_0xe04e('0x1c')](insertCmHopperAdditionalPhones(_0x15d378[_0xe04e('0x34')]));}_0x1608fd[_0xe04e('0x1c')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x1608fd[_0xe04e('0x1c')]('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0xe04e('0x9c')](_0x1608fd,handleQuery)[_0xe04e('0x1b')](function(_0x11028f){stats[_0xe04e('0xaa')]=!![];stats[_0xe04e('0xab')]=_0x15d378[_0xe04e('0x96')]&&_0x15d378[_0xe04e('0x96')][_0xe04e('0x1f')]?results[0x2]['affectedRows']:results[0x0][_0xe04e('0xab')];socket['emit'](_0xe04e('0x91')+_0x3bf1f4,stats);fs[_0xe04e('0xac')](_0x5dfa7f);fs[_0xe04e('0xac')](_0xb52722);process['exit'](0x0);})[_0xe04e('0x66')](function(_0x28a0fc){logger[_0xe04e('0x5b')](_0x28a0fc[_0xe04e('0x5c')]);process['exit'](0x1);});});});})[_0xe04e('0x66')](function(_0x3b10fb){logger[_0xe04e('0x5b')](_0x3b10fb['message']);process[_0xe04e('0x5d')](0x1);});});});});}catch(_0x5e8525){logger[_0xe04e('0x5b')](_0xe04e('0xad'),_0x5e8525['message']);process[_0xe04e('0x5d')](0x1);}},'error':function(_0x217845,_0x4fc76a,_0x53d34d,_0x4905ab){throw new Error(_0x4905ab);}});});}function validate(){if(process[_0xe04e('0xae')]&&process['argv'][_0xe04e('0x1f')]<0x4){throw new Error(_0xe04e('0xaf'));}var _0x3503d7=path[_0xe04e('0x17')](config[_0xe04e('0x72')],_0xe04e('0x73'),process[_0xe04e('0xae')][0x2]);if(!fs['existsSync'](_0x3503d7)){throw new Error(_0xe04e('0xb0'));}var _0x525ee8={};try{_0x525ee8=JSON[_0xe04e('0x7c')](process[_0xe04e('0xae')][0x3]);if(!_0x525ee8['binding']){throw new Error(_0xe04e('0xb1'));}if(!_0x525ee8[_0xe04e('0x70')][_0xe04e('0x12')]){throw new Error(_0xe04e('0xb2'));}if(!_0x525ee8['binding']['firstName']){throw new Error(_0xe04e('0xb3'));}var _0x4a2e5d=0x0;if(_0x525ee8['binding'][_0xe04e('0x37')]){_0x4a2e5d=0x1;}if(!_0x525ee8[_0xe04e('0x34')]){throw new Error(_0xe04e('0xb4'));}}catch(_0xa95ca8){throw new Error(_0xe04e('0xb5'));}var _0x2be181=[];try{_0x2be181=_[_0xe04e('0xb6')](JSON[_0xe04e('0x7c')](process[_0xe04e('0xae')][0x4]),'id');}catch(_0x426176){logger[_0xe04e('0x59')](_0xe04e('0xb7'));}main(_0x3503d7,_0x525ee8,_0x2be181,_0x4a2e5d);}validate();process['on'](_0xe04e('0xb8'),handleStop);process['on'](_0xe04e('0xb9'),handleUncaughtException);