9e39c25c4e3faa4e28e7b33b4752f4ae51c5ac1e
[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 _0xe590=['file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','firstName\x20is\x20mandatory','binding','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','import','redis','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','select','field','from','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','CmContact','AdditionalPhones','push','all','then','length','split','isNil','CmContactHasItem','findOne','update','updated','create','PHONE','inserted','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','scheduledat','ListId','createdAt','priority','UserId','recallme','fields','cm_contacts','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22onlyIfOpen\x22','\x22always\x22','toString','fromQuery','ContactId','updatedAt','cm_contacts.ListId\x20=\x20','phone','cm_hopper_black','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.createdAt','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_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','concat','keys','CompanyId',')\x20NOT\x20IN\x20?','MIN(id)','min_id','group','Received\x20SIGINT','error','errors','code','message','info','sequelize','query','spread','catch','campaigns.id','campaigns.dialTimezone','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','voice_queues.id','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','timezones','dialTimezone','utcOffset','set','offset','main','stringify','send','start','clone','socket_timestamp','root','server/files/tmp','.csv','includes','header','ContactItemType','name','_description','writeFileSync','parse','createReadStream','data','rows','find','hasOwnProperty','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','trim','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','duplicates','cm_contacts_','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','CREATE\x20TABLE\x20','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','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',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','each','contactId','contactTypeId','orderBy','VoiceQueueId','campaigns','CampaignId','campaigns_has_cm_blacklists','voice_queues_has_cm_blacklists','finish','affectedRows','unlink','exit','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync'];(function(_0x1c15a4,_0x32948a){var _0x1ae3be=function(_0x459c93){while(--_0x459c93){_0x1c15a4['push'](_0x1c15a4['shift']());}};_0x1ae3be(++_0x32948a);}(_0xe590,0xca));var _0x0e59=function(_0x245277,_0x5b4c4b){_0x245277=_0x245277-0x0;var _0x486c41=_0xe590[_0x245277];return _0x486c41;};'use strict';var fs=require('fs');var path=require(_0x0e59('0x0'));var _=require(_0x0e59('0x1'));var Papa=require(_0x0e59('0x2'));var util=require(_0x0e59('0x3'));var BPromise=require(_0x0e59('0x4'));var moment=require(_0x0e59('0x5'));var squel=require(_0x0e59('0x6'));var Redis=require(_0x0e59('0x7'));var db=require(_0x0e59('0x8'))['db'];var config=require(_0x0e59('0x9'));var shared=require('../../../config/environment/shared');var logger=require(_0x0e59('0xa'))(_0x0e59('0xb'));config[_0x0e59('0xc')]=_['defaults'](config[_0x0e59('0xc')],{'host':'localhost','port':0x18eb});var socket=require(_0x0e59('0xd'))(new Redis(config[_0x0e59('0xc')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x0e59('0xe')](_0x0e59('0xf'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x0e59('0xe')](_0x0e59('0xf'));function isEmail(_0x5ed5cc){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'](_0x5ed5cc);}function selectNotIn(_0x2747bf,_0xe12201,_0x414ab6,_0x3655f5,_0x179b76){return squel[_0x0e59('0x10')]()[_0x0e59('0x11')]('phone')[_0x0e59('0x12')](_0x3655f5)['join'](_0xe12201,null,_0xe12201+_0x0e59('0x13')+_0x3655f5+'.'+_0x414ab6)[_0x0e59('0x14')](_0x3655f5+'.'+_0x414ab6+_0x0e59('0x15')+_0x2747bf+'.'+_0x414ab6)[_0x0e59('0x14')](_0xe12201+_0x0e59('0x16')+_0x179b76[_0x0e59('0x17')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x1c72d4,_0x1a40ea){promisesAdditionalPhones=[];return db[_0x0e59('0x18')]['findAll']({'raw':!![],'attributes':['id',_0x0e59('0x19')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})['then'](function(_0x43fd9a){if(_0x43fd9a!==null){var _0x398601=[];for(var _0x2ddfda=0x0;_0x2ddfda<_0x43fd9a['length'];_0x2ddfda++){var _0x53bf5a=_0x43fd9a[_0x2ddfda];_0x398601[_0x0e59('0x1a')](insertAdditionalPhones(_0x53bf5a));}}Promise[_0x0e59('0x1b')](_0x398601)[_0x0e59('0x1c')](function(){_0x1c72d4({'val':0x1});});});});}function insertAdditionalPhones(_0xf947cf){return new Promise(function(_0x3feea2,_0x202a27){var _0x48a239=_0xf947cf[_0x0e59('0x19')];var _0x348dd0=_0x48a239['split'](';');var _0x2962af=[];orderBy=0x0;for(var _0x28e017=0x0;_0x28e017<_0x348dd0['length'];_0x28e017++){_0x2962af[_0x0e59('0x1a')](splitAdditionalPhone(_0xf947cf['id'],_0x348dd0[_0x28e017]));}Promise['all'](_0x2962af)[_0x0e59('0x1c')](function(){_0x3feea2({'val':_0x348dd0[_0x0e59('0x1d')]});});});}function splitAdditionalPhone(_0x5c436f,_0x513068){return new Promise(function(_0x78aa9f,_0x46bb09){var _0x14fc2a=_0x513068[_0x0e59('0x1e')](':');var _0x465d59=_0x14fc2a[0x0];var _0x25e1c3=_0x14fc2a[0x1];if(!_[_0x0e59('0x1f')](_0x25e1c3)){var _0x541828=_0x25e1c3[_0x0e59('0x1e')]('|');var _0x3e0a9e=[];for(var _0xd6ebdd=0x0;_0xd6ebdd<_0x541828[_0x0e59('0x1d')];_0xd6ebdd++){if(_0x541828[_0xd6ebdd]!==''){var _0x2e60e0=_['filter'](promisesAdditionalPhones,{'contactId':_0x5c436f,'phone':_0x541828[_0xd6ebdd]});if(_0x2e60e0[_0x0e59('0x1d')]==0x0){orderBy++;promisesAdditionalPhones[_0x0e59('0x1a')]({'contactId':_0x5c436f,'contactTypeId':_0x465d59,'phone':_0x541828[_0xd6ebdd],'orderBy':orderBy});}}}_0x78aa9f({'ok':0x1});}else _0x78aa9f({'res':0x0});});}function createAdditionalPhone(_0xc2a851,_0x14bd54,_0x52a926,_0x48834e){var _0x42f438='';var _0x2c4897='';var _0x5ad38f=_0x52a926[_0x0e59('0x1e')]('§');_0x42f438=_0x5ad38f[0x0];if(_0x5ad38f[_0x0e59('0x1d')]==0x2)_0x2c4897=_0x5ad38f[0x1];return new Promise(function(_0x45b38d,_0x3d7df3){return db[_0x0e59('0x20')][_0x0e59('0x21')]({'where':{'CmContactId':_0xc2a851,'item':_0x42f438}})[_0x0e59('0x1c')](function(_0x5d2d51){if(_0x5d2d51){return db[_0x0e59('0x20')][_0x0e59('0x22')]({'ItemTypeId':_0x14bd54,'description':_0x2c4897,'OrderBy':_0x48834e},{'where':{'CmContactId':_0xc2a851,'item':_0x42f438}})[_0x0e59('0x1c')](function(_0x9114b7){_0x45b38d({'res':_0x0e59('0x23')});});}else{return db[_0x0e59('0x20')][_0x0e59('0x24')]({'CmContactId':_0xc2a851,'item':_0x42f438,'description':_0x2c4897,'ItemTypeId':_0x14bd54,'OrderBy':_0x48834e,'ItemClass':_0x0e59('0x25')})[_0x0e59('0x1c')](function(_0x38a235){_0x45b38d({'res':_0x0e59('0x26')});});}});});}function insertCmHopper(_0x317a41,_0x18edfb,_0x32c5da,_0x1fc56b,_0x4c87c0){var _0x462620=[_0x0e59('0x27'),'cm_contacts.scheduledat',_0x0e59('0x28'),_0x0e59('0x29'),_0x18edfb+'.'+_0x1fc56b,'cm_contacts.createdAt',_0x0e59('0x2a'),_0x0e59('0x2b'),_0x0e59('0x2c'),'\x22'+_0x4c87c0+'\x22'];return squel[_0x0e59('0x2d')]()[_0x0e59('0x2e')](_0x0e59('0x2f'))['fromQuery'](['phone',_0x0e59('0x30'),'ContactId',_0x0e59('0x31'),_0x1fc56b,_0x0e59('0x32'),'updatedAt',_0x0e59('0x33'),_0x0e59('0x34'),_0x0e59('0x35')],squel['select']()[_0x0e59('0x36')](_0x462620)['from'](_0x18edfb)[_0x0e59('0x17')](_0x0e59('0x37'),null,'cm_contacts.ListId\x20=\x20'+_0x18edfb+_0x0e59('0x38'))[_0x0e59('0x17')](_0x32c5da,null,_0x32c5da+_0x0e59('0x13')+_0x18edfb+'.'+_0x1fc56b)['where'](_0x18edfb+_0x0e59('0x39'),_0x317a41)['where'](_0x0e59('0x3a'),NOW)[_0x0e59('0x14')](_0x0e59('0x3b'),selectNotIn(_0x18edfb,_0x32c5da,_0x1fc56b,'cm_hopper',['\x22always\x22',_0x0e59('0x3c')]))[_0x0e59('0x14')](_0x0e59('0x3b'),selectNotIn(_0x18edfb,_0x32c5da,_0x1fc56b,_0x0e59('0x2f'),[_0x0e59('0x3d')])))[_0x0e59('0x3e')]();}function insertCmHopperBlack(_0x5c39c6,_0x421654,_0x42956c,_0x191b79){var _0x51c800=[_0x0e59('0x27'),'cm_contacts.id',_0x0e59('0x29'),_0x421654+'.'+_0x191b79,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel['insert']()[_0x0e59('0x2e')]('cm_hopper_black')[_0x0e59('0x3f')](['phone',_0x0e59('0x40'),_0x0e59('0x31'),_0x191b79,_0x0e59('0x32'),_0x0e59('0x41')],squel[_0x0e59('0x10')]()[_0x0e59('0x36')](_0x51c800)[_0x0e59('0x12')](_0x421654)[_0x0e59('0x17')](_0x0e59('0x37'),null,_0x0e59('0x42')+_0x421654+_0x0e59('0x38'))[_0x0e59('0x17')](_0x42956c,null,_0x42956c+_0x0e59('0x13')+_0x421654+'.'+_0x191b79)['where'](_0x421654+_0x0e59('0x39'),_0x5c39c6)[_0x0e59('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0x0e59('0x3b'),squel['select']()['field'](_0x0e59('0x43'))[_0x0e59('0x12')](_0x0e59('0x44'))['where'](_0x0e59('0x45'),_0x5c39c6)[_0x0e59('0x14')](_0x191b79+_0x0e59('0x15')+_0x421654+'.'+_0x191b79)))[_0x0e59('0x3e')]();}function insertTzCmHopper(_0x503fc3,_0x288e1d,_0x31dd97,_0x18117a,_0x23accf,_0x373e66){var _0x4f72a1=[_0x0e59('0x27'),_0x0e59('0x46')+_0x373e66+_0x0e59('0x47'),_0x0e59('0x28'),_0x0e59('0x29'),_0x288e1d+'.'+_0x18117a,_0x0e59('0x48'),_0x0e59('0x2a'),_0x0e59('0x2b'),_0x0e59('0x2c'),'\x22'+_0x23accf+'\x22'];var _0x218407=squel[_0x0e59('0x2d')]()[_0x0e59('0x2e')](_0x0e59('0x2f'))['fromQuery'](['phone',_0x0e59('0x30'),_0x0e59('0x40'),_0x0e59('0x31'),_0x18117a,_0x0e59('0x32'),'updatedAt',_0x0e59('0x33'),_0x0e59('0x34'),_0x0e59('0x35')],squel[_0x0e59('0x10')]()['fields'](_0x4f72a1)['from'](_0x288e1d)[_0x0e59('0x17')](_0x0e59('0x37'),null,_0x0e59('0x42')+_0x288e1d+_0x0e59('0x38'))[_0x0e59('0x17')](_0x31dd97,null,_0x31dd97+'.id\x20=\x20'+_0x288e1d+'.'+_0x18117a)['join'](_0x373e66,null,_0x373e66+'.id\x20=\x20'+_0x288e1d+'.'+_0x18117a)[_0x0e59('0x14')](_0x288e1d+'.CmListId\x20=\x20?',_0x503fc3)[_0x0e59('0x14')](_0x0e59('0x3a'),NOW)[_0x0e59('0x14')](_0x0e59('0x3b'),selectNotIn(_0x288e1d,_0x31dd97,_0x18117a,_0x0e59('0x2f'),[_0x0e59('0x3d'),_0x0e59('0x3c')]))['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x288e1d,_0x31dd97,_0x18117a,_0x0e59('0x2f'),['\x22always\x22'])))['toString']();return _0x218407;}function insertTzCmHopperBlack(_0x3d547c,_0x43263d,_0x5cae16,_0x515f11){var _0x5e1157=[_0x0e59('0x27'),_0x0e59('0x28'),_0x0e59('0x29'),_0x43263d+'.'+_0x515f11,_0x0e59('0x48'),'cm_contacts.updatedAt'];return squel['insert']()[_0x0e59('0x2e')]('cm_hopper_black')[_0x0e59('0x3f')]([_0x0e59('0x43'),_0x0e59('0x40'),_0x0e59('0x31'),_0x515f11,_0x0e59('0x32'),_0x0e59('0x41')],squel[_0x0e59('0x10')]()['fields'](_0x5e1157)[_0x0e59('0x12')](_0x43263d)[_0x0e59('0x17')](_0x0e59('0x37'),null,'cm_contacts.ListId\x20=\x20'+_0x43263d+_0x0e59('0x38'))['join'](_0x5cae16,null,_0x5cae16+_0x0e59('0x13')+_0x43263d+'.'+_0x515f11)[_0x0e59('0x14')](_0x43263d+_0x0e59('0x39'),_0x3d547c)[_0x0e59('0x14')](_0x0e59('0x3a'),NOW)[_0x0e59('0x14')](_0x0e59('0x3b'),squel[_0x0e59('0x10')]()['field']('phone')[_0x0e59('0x12')](_0x0e59('0x44'))[_0x0e59('0x14')](_0x0e59('0x45'),_0x3d547c)[_0x0e59('0x14')](_0x515f11+_0x0e59('0x15')+_0x43263d+'.'+_0x515f11)))[_0x0e59('0x3e')]();}function insertCmHopperAdditionalPhones(_0x5adc15){var _0x1f5096=[_0x0e59('0x49'),_0x0e59('0x4a'),_0x0e59('0x4b'),_0x0e59('0x4c'),_0x0e59('0x4d')];return squel[_0x0e59('0x2d')]()[_0x0e59('0x2e')](_0x0e59('0x4e'))[_0x0e59('0x3f')](['CmHopperId','phone',_0x0e59('0x4f'),_0x0e59('0x32'),'updatedAt'],squel['select']()[_0x0e59('0x36')](_0x1f5096)[_0x0e59('0x12')](_0x0e59('0x2f'))[_0x0e59('0x17')]('cm_contacts',null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')['join'](_0x0e59('0x50'),null,_0x0e59('0x51'))[_0x0e59('0x14')]('cm_hopper.ListId\x20=\x20?',_0x5adc15)[_0x0e59('0x14')](_0x0e59('0x3a'),NOW))[_0x0e59('0x3e')]();}function insertCmContact(_0x3011f3,_0x390ad9,_0x1f22e8,_0x5c98da){var _0x1db516=_[_0x0e59('0x52')](_[_0x0e59('0x53')](_0x5c98da),[_0x0e59('0x31'),_0x0e59('0x54'),_0x0e59('0x32'),_0x0e59('0x41')]);return squel[_0x0e59('0x2d')]()[_0x0e59('0x2e')](_0x0e59('0x37'))[_0x0e59('0x3f')](_0x1db516,squel[_0x0e59('0x10')]()['fields'](_0x1db516)[_0x0e59('0x12')](_0x390ad9)[_0x0e59('0x14')]('('+_0x1f22e8[_0x0e59('0x17')](',')+_0x0e59('0x55'),squel[_0x0e59('0x10')]()[_0x0e59('0x36')](_0x1f22e8)[_0x0e59('0x12')](_0x0e59('0x37'))[_0x0e59('0x14')](_0x0e59('0x45'),_0x3011f3)['where']('deletedAt\x20IS\x20NULL'))[_0x0e59('0x14')]('id\x20IN\x20?',squel[_0x0e59('0x10')]()[_0x0e59('0x11')](_0x0e59('0x56'),_0x0e59('0x57'))[_0x0e59('0x12')](_0x390ad9)[_0x0e59('0x58')](_0x1f22e8[_0x0e59('0x17')](','))))[_0x0e59('0x3e')]();}function handleStop(){logger['info'](_0x0e59('0x59'));stopped=!![];}function handleUncaughtException(_0x2ce88c){logger[_0x0e59('0x5a')](_0x2ce88c['message']);process['exit'](0x1);}function handleError(_0x4a11d5,_0x1f9ed1){stats[_0x0e59('0x5b')]['push']({'name':_0x1f9ed1[_0x0e59('0x5c')],'message':_0x1f9ed1[_0x0e59('0x5d')],'row':_0x4a11d5});}function handleQuery(_0x4b5491){logger[_0x0e59('0x5e')](_0x4b5491);return db[_0x0e59('0x5f')][_0x0e59('0x60')](_0x4b5491)[_0x0e59('0x61')](function(_0x4c4697){results[_0x0e59('0x1a')](_0x4c4697);})[_0x0e59('0x62')](function(_0x4fe998){logger[_0x0e59('0x5a')](_0x4fe998[_0x0e59('0x5d')]);});}function updateTzCampaigns(_0x4e6fd5){return new Promise(function(_0x2c2fc9,_0x10b0d3){var _0x2d5f54=squel['select']()[_0x0e59('0x36')]([_0x0e59('0x63'),_0x0e59('0x64')])[_0x0e59('0x12')]('campaigns')[_0x0e59('0x17')](_0x0e59('0x65'),null,_0x0e59('0x66'))[_0x0e59('0x14')]('campaigns_has_cm_lists.CmListId='+_0x4e6fd5);db[_0x0e59('0x5f')][_0x0e59('0x60')](_0x2d5f54['toString']())[_0x0e59('0x61')](function(_0x5a62a2){var _0x271654=[];for(var _0x1b52ef=0x0;_0x1b52ef<_0x5a62a2['length'];_0x1b52ef++){_0x271654[_0x0e59('0x1a')](getTimezoneData(_0x5a62a2[_0x1b52ef],tmp_campaigns));}BPromise[_0x0e59('0x1b')](_0x271654)[_0x0e59('0x1c')](function(){_0x2c2fc9({'val':0x1});});})[_0x0e59('0x62')](function(_0x4922a1){logger['error'](_0x4922a1[_0x0e59('0x5d')]);_0x2c2fc9({'val':0x0});});});}function updateTzVoiceQueues(_0x21b8c2){return new Promise(function(_0x520f84,_0x4c7aab){var _0x529ef9=squel[_0x0e59('0x10')]()[_0x0e59('0x36')]([_0x0e59('0x67'),'voice_queues.dialTimezone'])[_0x0e59('0x12')](_0x0e59('0x68'))[_0x0e59('0x17')](_0x0e59('0x69'),null,_0x0e59('0x6a'))['where'](_0x0e59('0x6b')+_0x21b8c2);db[_0x0e59('0x5f')][_0x0e59('0x60')](_0x529ef9[_0x0e59('0x3e')]())[_0x0e59('0x61')](function(_0x5ef700){var _0xd52394=[];for(var _0x42e1e4=0x0;_0x42e1e4<_0x5ef700['length'];_0x42e1e4++){_0xd52394[_0x0e59('0x1a')](getTimezoneData(_0x5ef700[_0x42e1e4],tmp_voice_queues));}BPromise[_0x0e59('0x1b')](_0xd52394)[_0x0e59('0x1c')](function(){_0x520f84({'val':0x1});});})[_0x0e59('0x62')](function(_0xc5bf0a){logger[_0x0e59('0x5a')](_0xc5bf0a['message']);_0x520f84({'val':0x0});});});}function getTimezoneData(_0x5cd1e7,_0x4207c5){return new Promise(function(_0x5082d1,_0x259116){var _0xdd9874=shared[_0x0e59('0x6c')];var _0x5e26f9=_0xdd9874[_0x5cd1e7[_0x0e59('0x6d')]];if(_[_0x0e59('0x1f')](_0x5e26f9)){_0x5082d1({'ret':0x1});}else{var _0x434807=_0x5e26f9[_0x0e59('0x6e')];var _0x2030bf=squel[_0x0e59('0x2d')]()['into'](_0x4207c5)['set']('id',_0x5cd1e7['id'])[_0x0e59('0x6f')](_0x0e59('0x70'),_0x434807)[_0x0e59('0x6f')](_0x0e59('0x6d'),_0x5cd1e7[_0x0e59('0x6d')])[_0x0e59('0x3e')]();return db['sequelize'][_0x0e59('0x60')](_0x2030bf)[_0x0e59('0x61')](function(_0x5c143d){_0x5082d1({'ret':0x1});})[_0x0e59('0x62')](function(_0x29d2f3){logger['error'](_0x29d2f3[_0x0e59('0x5d')]);_0x259116({'ret':0x1});});}});}function handleTZQuery(_0x48da26){logger['info'](_0x48da26);return db[_0x0e59('0x5f')]['query'](_0x48da26)['spread'](function(_0x100029){})['catch'](function(_0x4cd1f0){logger[_0x0e59('0x5a')](_0x4cd1f0['message']);});}function main(_0x9de9a4,_0x39f961,_0x351f80,_0x5e8ffd){logger['info'](_0x0e59('0x71'),_0x9de9a4,JSON[_0x0e59('0x72')](_0x39f961));process[_0x0e59('0x73')](_0x0e59('0x74'));var _0x1f702f=_0x39f961['binding'];var _0x37b94e=_[_0x0e59('0x75')](_0x1f702f);var _0x3ce8ec=_0x39f961[_0x0e59('0x76')];var _0x219075=path[_0x0e59('0x17')](config[_0x0e59('0x77')],_0x0e59('0x78'),_0x3ce8ec+_0x0e59('0x79'));hasTZ=_[_0x0e59('0x53')](_0x1f702f)[_0x0e59('0x7a')](_0x0e59('0x6d'));var _0x567c6b=_['keys'](_0x1f702f)[_0x0e59('0x17')]();logger[_0x0e59('0x5e')](_0x0e59('0x7b'),_0x567c6b);db[_0x0e59('0x7c')]['findAll']({'raw':!![],'attributes':['id',_0x0e59('0x7d')]})['then'](function(_0x1bbdc4){for(var _0x219379=0x0;_0x219379<_0x1bbdc4[_0x0e59('0x1d')];_0x219379++){if(_0x1bbdc4[_0x219379][_0x0e59('0x7d')]in _0x1f702f){contactItemTypes[_0x0e59('0x1a')](_0x1bbdc4[_0x219379]);delete _0x37b94e[_0x1bbdc4[_0x219379]['name']];hasAdditionalPhones=!![];}for(var _0x10ed48 in _0x1f702f){if(_0x1bbdc4[_0x219379]['name']+_0x0e59('0x7e')===_0x10ed48){phoneDescriptions[_0x0e59('0x1a')]({'itemTypeId':_0x1bbdc4[_0x219379]['id'],'description':_0x10ed48});delete _0x37b94e[_0x10ed48];}}}if(hasAdditionalPhones)_0x37b94e[_0x0e59('0x19')]='';var _0x17d9fe=_[_0x0e59('0x53')](_0x37b94e)[_0x0e59('0x17')]();logger[_0x0e59('0x5e')]('header',_0x17d9fe);fs[_0x0e59('0x7f')](_0x219075,_0x17d9fe+'\x0a');Papa[_0x0e59('0x80')](fs[_0x0e59('0x81')](_0x9de9a4),{'header':!![],'skipEmptyLines':!![],'step':function(_0x25ec82,_0x12d03f){try{for(var _0x5519bb=0x0,_0x337b04=[];_0x5519bb<_0x25ec82[_0x0e59('0x82')][_0x0e59('0x1d')];_0x5519bb++){stats[_0x0e59('0x83')]+=0x1;if(_0x25ec82[_0x0e59('0x5b')][_0x5519bb]){handleError(_0x25ec82[_0x0e59('0x82')][_0x5519bb],_0x25ec82['errors'][_0x5519bb]);}else{var _0x16e2f9=[];var _0x1ae99c=[];var _0x273abc={};for(var _0x332ada in _0x1f702f){let _0x5613f2=contactItemTypes['find'](_0x47cf3e=>_0x47cf3e[_0x0e59('0x7d')]===_0x332ada);let _0x39f124=contactItemTypes[_0x0e59('0x84')](_0x1bf470=>_0x1bf470['name']+'_description'===_0x332ada);if(_[_0x0e59('0x1f')](_0x5613f2)&&_[_0x0e59('0x1f')](_0x39f124)){if(_0x1f702f[_0x0e59('0x85')](_0x332ada)){if(_0x25ec82[_0x0e59('0x82')][_0x5519bb][_0x1f702f[_0x332ada]]){var _0x439e74=_['trim'](_0x25ec82[_0x0e59('0x82')][_0x5519bb][_0x1f702f[_0x332ada]][_0x0e59('0x86')](/"/g,'\x27'));switch(_0x332ada){case'scheduledat':var _0x32a949=moment(_0x439e74,_0x0e59('0xf'),!![]);if(_0x32a949[_0x0e59('0x87')]()){_0x337b04['push']('\x22'+_0x439e74+'\x22');}else{_0x16e2f9['push'](_0x0e59('0x88'));}break;case _0x0e59('0x33'):var _0x4f97f0=parseInt(_0x439e74);_0x439e74=_['isNaN'](_0x4f97f0)||_0x4f97f0<0x0||_0x4f97f0>0x4?_0x5e8ffd?0x3:0x2:_0x4f97f0;_0x337b04[_0x0e59('0x1a')]('\x22'+_0x439e74+'\x22');break;case _0x0e59('0x34'):var _0x30f830=parseInt(_0x439e74);if(_[_0x0e59('0x89')](_0x30f830)&&_[_0x0e59('0x7a')](_0x351f80,_0x30f830)){_0x337b04[_0x0e59('0x1a')]('\x22'+_0x30f830+'\x22');}else{_0x16e2f9[_0x0e59('0x1a')](_0x0e59('0x8a'));}break;case _0x0e59('0x8b'):if(isEmail(_0x439e74)){_0x337b04['push']('\x22'+_0x439e74+'\x22');}else{_0x16e2f9[_0x0e59('0x1a')](_0x0e59('0x8c'));}break;case _0x0e59('0x8d'):var _0x390a4c=moment(_0x439e74,_0x0e59('0x8e'),!![]);if(_0x390a4c[_0x0e59('0x87')]()){_0x337b04['push']('\x22'+_0x439e74+'\x22');}else{_0x16e2f9[_0x0e59('0x1a')](_0x0e59('0x8f'));}break;case'dialTimezone':var _0x544749=shared[_0x0e59('0x6c')];var _0x3ce692=_0x544749[_0x439e74];if(!_[_0x0e59('0x1f')](_0x3ce692)){var _0x475ab3=_0x3ce692['utcOffset'];_0x337b04[_0x0e59('0x1a')]('\x22'+_0x439e74+'\x22');_0x337b04[_0x0e59('0x1a')]('\x22'+_0x475ab3+'\x22');}break;default:_0x337b04['push']('\x22'+_0x439e74+'\x22');}}else{switch(_0x332ada){case _0x0e59('0x90'):case _0x0e59('0x43'):_0x16e2f9[_0x0e59('0x1a')](_0x332ada+_0x0e59('0x91'));break;default:_0x337b04[_0x0e59('0x1a')]('\x22\x22');}}}}else{var _0x23f3d4='';if(!_[_0x0e59('0x1f')](_0x5613f2)){if(!_0x273abc[_0x0e59('0x85')](_0x5613f2['id'])){if(!_[_0x0e59('0x1f')](_0x25ec82[_0x0e59('0x82')][_0x5519bb][_0x1f702f[_0x332ada]])){var _0x439e74=_[_0x0e59('0x92')](_0x25ec82[_0x0e59('0x82')][_0x5519bb][_0x1f702f[_0x332ada]][_0x0e59('0x86')](/"/g,'\x27'));var _0x507cb1=phoneDescriptions[_0x0e59('0x84')](_0x4b2e58=>_0x4b2e58['itemTypeId']===_0x5613f2['id']);if(!_['isNil'](_0x507cb1)){var _0x4fa5ba=_[_0x0e59('0x92')](_0x25ec82[_0x0e59('0x82')][_0x5519bb][_0x1f702f[_0x507cb1['description']]][_0x0e59('0x86')](/"/g,'\x27'));if(!_[_0x0e59('0x1f')](_0x4fa5ba))_0x439e74=_0x439e74+'§'+_0x4fa5ba;}if(_0x23f3d4=='')_0x23f3d4=_0x439e74;else _0x23f3d4+='|'+_0x439e74;}_0x1ae99c['push'](_0x5613f2['id']+':'+_0x23f3d4);_0x273abc[_0x5613f2['id']]=0x1;}}}}if(hasAdditionalPhones){_0x337b04[_0x0e59('0x1a')]('\x22'+_0x1ae99c[_0x0e59('0x17')](';')+'\x22');}if(_0x16e2f9[_0x0e59('0x1d')]){handleError(_0x25ec82[_0x0e59('0x82')][_0x5519bb],{'code':_0x0e59('0x93'),'message':_0x16e2f9['join']()});}else{fs[_0x0e59('0x94')](_0x219075,_0x337b04[_0x0e59('0x17')]()+'\x0a');}_0x337b04=[];}if(!(stats[_0x0e59('0x83')]%0xc8)){socket[_0x0e59('0x95')](_0x0e59('0x96')+_0x3ce8ec,stats);stats[_0x0e59('0x5b')]=[];}}if(stopped){logger[_0x0e59('0x5e')](_0x0e59('0x97'));_0x12d03f[_0x0e59('0x98')]();}}catch(_0x42e613){handleError(_0x25ec82[_0x0e59('0x82')][_0x5519bb],{'code':_0x0e59('0x99'),'message':_0x42e613[_0x0e59('0x5d')]});logger[_0x0e59('0x5a')]('step',_0x42e613[_0x0e59('0x5d')]);}},'complete':function(){try{var _0x4621c9=[];var _0x25255f=[];var _0x309148=_0x0e59('0x37');if(_0x39f961[_0x0e59('0x9a')]&&_0x39f961[_0x0e59('0x9a')]['length']){_0x309148=_0x0e59('0x9b')+_0x3ce8ec;_0x4621c9[_0x0e59('0x1a')]('CREATE\x20TABLE\x20'+_0x309148+_0x0e59('0x9c'));}tmp_campaigns=_0x0e59('0x9d')+_0x3ce8ec;tmp_voice_queues=_0x0e59('0x9e')+_0x3ce8ec;_0x25255f[_0x0e59('0x1a')](_0x0e59('0x9f')+tmp_campaigns+_0x0e59('0xa0'));_0x25255f[_0x0e59('0x1a')]('CREATE\x20TABLE\x20'+tmp_voice_queues+_0x0e59('0xa0'));BPromise['each'](_0x25255f,handleTZQuery)[_0x0e59('0x1c')](function(_0x4cab0d){updateTzCampaigns(_0x39f961['ListId'])[_0x0e59('0x1c')](function(_0x2e2269){updateTzVoiceQueues(_0x39f961[_0x0e59('0x31')])[_0x0e59('0x1c')](function(_0x19154a){if(hasTZ)_0x17d9fe=_0x17d9fe[_0x0e59('0x86')](_0x0e59('0x6d'),_0x0e59('0xa1'));var _0x2dc6bd=util[_0x0e59('0xe')](_0x0e59('0xa2'),_0x219075,_0x309148,_0x17d9fe,_0x39f961[_0x0e59('0x31')],_0x39f961[_0x0e59('0x54')]||null,NOW,NOW);if(_[_0x0e59('0x1f')](_0x1f702f[_0x0e59('0x30')])){_0x2dc6bd+=_0x0e59('0xa3');}_0x4621c9['push'](_0x2dc6bd);if(_0x39f961[_0x0e59('0x9a')]&&_0x39f961['duplicates'][_0x0e59('0x1d')]){_0x4621c9['push'](insertCmContact(_0x39f961[_0x0e59('0x31')],_0x309148,_0x39f961['duplicates'],_0x1f702f));_0x4621c9['push'](_0x0e59('0xa4')+_0x309148+';');}BPromise[_0x0e59('0xa5')](_0x4621c9,handleQuery)['then'](function(_0x225922){BPromise[_0x0e59('0x1b')]([handleAdditionalPhones()])['then'](function(){_0x4621c9=[];for(var _0xc90131=0x0;_0xc90131<promisesAdditionalPhones[_0x0e59('0x1d')];_0xc90131++){if(promisesAdditionalPhones[_0xc90131][_0x0e59('0x43')]!='§'){_0x4621c9[_0x0e59('0x1a')](createAdditionalPhone(promisesAdditionalPhones[_0xc90131][_0x0e59('0xa6')],promisesAdditionalPhones[_0xc90131][_0x0e59('0xa7')],promisesAdditionalPhones[_0xc90131][_0x0e59('0x43')],promisesAdditionalPhones[_0xc90131][_0x0e59('0xa8')]));}}BPromise[_0x0e59('0x1b')](_0x4621c9)[_0x0e59('0x1c')](function(){_0x4621c9=[];if(hasTZ){_0x4621c9[_0x0e59('0x1a')](insertTzCmHopper(_0x39f961[_0x0e59('0x31')],_0x0e59('0x69'),'voice_queues','VoiceQueueId',_0x5e8ffd,tmp_voice_queues));_0x4621c9[_0x0e59('0x1a')](insertTzCmHopperBlack(_0x39f961[_0x0e59('0x31')],'voice_queues_has_cm_blacklists',_0x0e59('0x68'),_0x0e59('0xa9')));_0x4621c9[_0x0e59('0x1a')](insertTzCmHopper(_0x39f961['ListId'],'campaigns_has_cm_lists',_0x0e59('0xaa'),_0x0e59('0xab'),_0x5e8ffd,tmp_campaigns));_0x4621c9[_0x0e59('0x1a')](insertTzCmHopperBlack(_0x39f961[_0x0e59('0x31')],_0x0e59('0xac'),'campaigns','CampaignId'));_0x4621c9[_0x0e59('0x1a')](insertCmHopperAdditionalPhones(_0x39f961['ListId']));}else{_0x4621c9['push'](insertCmHopper(_0x39f961[_0x0e59('0x31')],'voice_queues_has_cm_lists',_0x0e59('0x68'),_0x0e59('0xa9'),_0x5e8ffd));_0x4621c9[_0x0e59('0x1a')](insertCmHopperBlack(_0x39f961[_0x0e59('0x31')],_0x0e59('0xad'),'voice_queues','VoiceQueueId'));_0x4621c9[_0x0e59('0x1a')](insertCmHopper(_0x39f961[_0x0e59('0x31')],_0x0e59('0x65'),_0x0e59('0xaa'),'CampaignId',_0x5e8ffd));_0x4621c9[_0x0e59('0x1a')](insertCmHopperBlack(_0x39f961[_0x0e59('0x31')],_0x0e59('0xac'),_0x0e59('0xaa'),_0x0e59('0xab')));_0x4621c9[_0x0e59('0x1a')](insertCmHopperAdditionalPhones(_0x39f961[_0x0e59('0x31')]));}_0x4621c9[_0x0e59('0x1a')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x4621c9['push'](_0x0e59('0xa4')+tmp_voice_queues+';');BPromise['each'](_0x4621c9,handleQuery)[_0x0e59('0x1c')](function(_0x208475){stats[_0x0e59('0xae')]=!![];stats[_0x0e59('0xaf')]=_0x39f961[_0x0e59('0x9a')]&&_0x39f961['duplicates']['length']?results[0x2][_0x0e59('0xaf')]:results[0x0][_0x0e59('0xaf')];socket['emit'](_0x0e59('0x96')+_0x3ce8ec,stats);fs[_0x0e59('0xb0')](_0x9de9a4);fs[_0x0e59('0xb0')](_0x219075);process[_0x0e59('0xb1')](0x0);})[_0x0e59('0x62')](function(_0x3ddf83){logger['error'](_0x3ddf83['message']);process[_0x0e59('0xb1')](0x1);});});});})[_0x0e59('0x62')](function(_0x5a4f85){logger['error'](_0x5a4f85[_0x0e59('0x5d')]);process[_0x0e59('0xb1')](0x1);});});});});}catch(_0x5196c3){logger[_0x0e59('0x5a')](_0x0e59('0xb2'),_0x5196c3[_0x0e59('0x5d')]);process[_0x0e59('0xb1')](0x1);}},'error':function(_0x235efc,_0x31b47a,_0x1b8051,_0x489b6f){throw new Error(_0x489b6f);}});});}function validate(){if(process[_0x0e59('0xb3')]&&process[_0x0e59('0xb3')]['length']<0x4){throw new Error(_0x0e59('0xb4'));}var _0x38b812=path[_0x0e59('0x17')](config[_0x0e59('0x77')],'server/files/tmp',process['argv'][0x2]);if(!fs[_0x0e59('0xb5')](_0x38b812)){throw new Error(_0x0e59('0xb6'));}var _0x2dffe6={};try{_0x2dffe6=JSON[_0x0e59('0x80')](process[_0x0e59('0xb3')][0x3]);if(!_0x2dffe6['binding']){throw new Error(_0x0e59('0xb7'));}if(!_0x2dffe6['binding'][_0x0e59('0x43')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x2dffe6['binding'][_0x0e59('0x90')]){throw new Error(_0x0e59('0xb8'));}var _0x4e1f3c=0x0;if(_0x2dffe6[_0x0e59('0xb9')][_0x0e59('0x34')]){_0x4e1f3c=0x1;}if(!_0x2dffe6[_0x0e59('0x31')]){throw new Error(_0x0e59('0xba'));}}catch(_0x726cf2){throw new Error(_0x0e59('0xbb'));}var _0x302dfe=[];try{_0x302dfe=_[_0x0e59('0xbc')](JSON[_0x0e59('0x80')](process[_0x0e59('0xb3')][0x4]),'id');}catch(_0x4810ef){logger[_0x0e59('0x5e')](_0x0e59('0xbd'));}main(_0x38b812,_0x2dffe6,_0x302dfe,_0x4e1f3c);}validate();process['on'](_0x0e59('0xbe'),handleStop);process['on'](_0x0e59('0xbf'),handleUncaughtException);