Built motion from commit 47436d59.|2.6.7
[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 _0x6a58=['cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','CompanyId',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','min_id','group','info','Received\x20SIGINT','error','errors','code','message','query','catch','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','sequelize','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','spread','dialTimezone','utcOffset','set','offset','stringify','send','start','binding','socket_timestamp','root','server/files/tmp','keys','includes','header','ContactItemType','findAll','name','_description','writeFileSync','parse','createReadStream','data','rows','find','trim','replace','isValid','isNaN','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','hasOwnProperty','itemTypeId','appendFileSync','emit','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','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()','each','contactId','contactTypeId','orderBy','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','DROP\x20TABLE\x20','finish','affectedRows','contact:import:','exit','complete','argv','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','ListId\x20is\x20mandatory','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','util','moment','ioredis','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','from','join','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','then','length','all','AdditionalPhones','split','push','isNil','CmContactHasItem','findOne','update','create','inserted','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','phone','ListId','createdAt','updatedAt','priority','UserId','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.id\x20=\x20','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','cm_hopper_black','ContactId','ListId\x20=\x20?','toString','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.updatedAt','scheduledat','.CmListId','cm_contacts.createdAt\x20=\x20?'];(function(_0x1888fe,_0x4c86ca){var _0x5cf28b=function(_0x1cb19f){while(--_0x1cb19f){_0x1888fe['push'](_0x1888fe['shift']());}};_0x5cf28b(++_0x4c86ca);}(_0x6a58,0x120));var _0x86a5=function(_0x31e5cb,_0x2f5adf){_0x31e5cb=_0x31e5cb-0x0;var _0x4170df=_0x6a58[_0x31e5cb];return _0x4170df;};'use strict';var fs=require('fs');var path=require(_0x86a5('0x0'));var _=require(_0x86a5('0x1'));var Papa=require('papaparse');var util=require(_0x86a5('0x2'));var BPromise=require('bluebird');var moment=require(_0x86a5('0x3'));var squel=require('squel');var Redis=require(_0x86a5('0x4'));var db=require(_0x86a5('0x5'))['db'];var config=require(_0x86a5('0x6'));var shared=require(_0x86a5('0x7'));var logger=require(_0x86a5('0x8'))('import');config[_0x86a5('0x9')]=_[_0x86a5('0xa')](config['redis'],{'host':_0x86a5('0xb'),'port':0x18eb});var socket=require(_0x86a5('0xc'))(new Redis(config[_0x86a5('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x86a5('0xd')](_0x86a5('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x86a5('0xd')](_0x86a5('0xe'));function isEmail(_0x44c8de){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))*$/[_0x86a5('0xf')](_0x44c8de);}function selectNotIn(_0x3a4b96,_0x4ab550,_0x50d7e6,_0x11acfd,_0x52dc46){return squel[_0x86a5('0x10')]()[_0x86a5('0x11')]('phone')[_0x86a5('0x12')](_0x11acfd)[_0x86a5('0x13')](_0x4ab550,null,_0x4ab550+'.id\x20=\x20'+_0x11acfd+'.'+_0x50d7e6)[_0x86a5('0x14')](_0x11acfd+'.'+_0x50d7e6+_0x86a5('0x15')+_0x3a4b96+'.'+_0x50d7e6)['where'](_0x4ab550+_0x86a5('0x16')+_0x52dc46[_0x86a5('0x13')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0xc8ccdb,_0x80785c){promisesAdditionalPhones=[];return db[_0x86a5('0x17')]['findAll']({'raw':!![],'attributes':['id','AdditionalPhones'],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x86a5('0x18')](function(_0x5c3c99){if(_0x5c3c99!==null){var _0x61d809=[];for(var _0x2a9b90=0x0;_0x2a9b90<_0x5c3c99[_0x86a5('0x19')];_0x2a9b90++){var _0x53b051=_0x5c3c99[_0x2a9b90];_0x61d809['push'](insertAdditionalPhones(_0x53b051));}}Promise[_0x86a5('0x1a')](_0x61d809)[_0x86a5('0x18')](function(){_0xc8ccdb({'val':0x1});});});});}function insertAdditionalPhones(_0x146327){return new Promise(function(_0x130048,_0x3628a2){var _0x5dc885=_0x146327[_0x86a5('0x1b')];var _0x5480b1=_0x5dc885[_0x86a5('0x1c')](';');var _0x47406b=[];orderBy=0x0;for(var _0x7f94ed=0x0;_0x7f94ed<_0x5480b1[_0x86a5('0x19')];_0x7f94ed++){_0x47406b[_0x86a5('0x1d')](splitAdditionalPhone(_0x146327['id'],_0x5480b1[_0x7f94ed]));}Promise[_0x86a5('0x1a')](_0x47406b)[_0x86a5('0x18')](function(){_0x130048({'val':_0x5480b1[_0x86a5('0x19')]});});});}function splitAdditionalPhone(_0x4f510f,_0x48d851){return new Promise(function(_0x1f0af0,_0x39dcde){var _0x54ffc0=_0x48d851['split'](':');var _0x5322d3=_0x54ffc0[0x0];var _0x278715=_0x54ffc0[0x1];if(!_[_0x86a5('0x1e')](_0x278715)){var _0x2ef076=_0x278715['split']('|');var _0x5bd200=[];for(var _0x2a9dee=0x0;_0x2a9dee<_0x2ef076[_0x86a5('0x19')];_0x2a9dee++){if(_0x2ef076[_0x2a9dee]!==''){var _0x41c449=_['filter'](promisesAdditionalPhones,{'contactId':_0x4f510f,'phone':_0x2ef076[_0x2a9dee]});if(_0x41c449[_0x86a5('0x19')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x4f510f,'contactTypeId':_0x5322d3,'phone':_0x2ef076[_0x2a9dee],'orderBy':orderBy});}}}_0x1f0af0({'ok':0x1});}else _0x1f0af0({'res':0x0});});}function createAdditionalPhone(_0xfac7fd,_0x573f65,_0x3d36a6,_0x9ede82){var _0x1447c4='';var _0x19049d='';var _0x3af4a5=_0x3d36a6[_0x86a5('0x1c')]('§');_0x1447c4=_0x3af4a5[0x0];if(_0x3af4a5['length']==0x2)_0x19049d=_0x3af4a5[0x1];return new Promise(function(_0x4fd466,_0xef1c69){return db[_0x86a5('0x1f')][_0x86a5('0x20')]({'where':{'CmContactId':_0xfac7fd,'item':_0x1447c4}})[_0x86a5('0x18')](function(_0x14a4d2){if(_0x14a4d2){return db[_0x86a5('0x1f')][_0x86a5('0x21')]({'ItemTypeId':_0x573f65,'description':_0x19049d,'OrderBy':_0x9ede82},{'where':{'CmContactId':_0xfac7fd,'item':_0x1447c4}})['then'](function(_0x2f06c5){_0x4fd466({'res':'updated'});});}else{return db['CmContactHasItem'][_0x86a5('0x22')]({'CmContactId':_0xfac7fd,'item':_0x1447c4,'description':_0x19049d,'ItemTypeId':_0x573f65,'OrderBy':_0x9ede82,'ItemClass':'PHONE'})[_0x86a5('0x18')](function(_0x394d9a){_0x4fd466({'res':_0x86a5('0x23')});});}});});}function insertCmHopper(_0x16bcf7,_0x1c472e,_0x3fe03e,_0x20a77b,_0x43a3ab){var _0x6586d0=[_0x86a5('0x24'),_0x86a5('0x25'),_0x86a5('0x26'),_0x86a5('0x27'),_0x1c472e+'.'+_0x20a77b,_0x86a5('0x28'),'cm_contacts.updatedAt',_0x86a5('0x29'),_0x86a5('0x2a'),'\x22'+_0x43a3ab+'\x22'];return squel[_0x86a5('0x2b')]()[_0x86a5('0x2c')](_0x86a5('0x2d'))[_0x86a5('0x2e')]([_0x86a5('0x2f'),'scheduledat','ContactId',_0x86a5('0x30'),_0x20a77b,_0x86a5('0x31'),_0x86a5('0x32'),_0x86a5('0x33'),_0x86a5('0x34'),_0x86a5('0x35')],squel['select']()[_0x86a5('0x36')](_0x6586d0)[_0x86a5('0x12')](_0x1c472e)['join'](_0x86a5('0x37'),null,_0x86a5('0x38')+_0x1c472e+'.CmListId')['join'](_0x3fe03e,null,_0x3fe03e+_0x86a5('0x39')+_0x1c472e+'.'+_0x20a77b)[_0x86a5('0x14')](_0x1c472e+_0x86a5('0x3a'),_0x16bcf7)[_0x86a5('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x86a5('0x14')](_0x86a5('0x3b'),selectNotIn(_0x1c472e,_0x3fe03e,_0x20a77b,_0x86a5('0x2d'),[_0x86a5('0x3c'),_0x86a5('0x3d')]))['where'](_0x86a5('0x3b'),selectNotIn(_0x1c472e,_0x3fe03e,_0x20a77b,_0x86a5('0x2d'),[_0x86a5('0x3c')])))['toString']();}function insertCmHopperBlack(_0xa8d2cb,_0x5316b9,_0x4c84a0,_0x5bf4b7){var _0x2d7d5b=[_0x86a5('0x24'),'cm_contacts.id',_0x86a5('0x27'),_0x5316b9+'.'+_0x5bf4b7,_0x86a5('0x28'),'cm_contacts.updatedAt'];return squel[_0x86a5('0x2b')]()[_0x86a5('0x2c')](_0x86a5('0x3e'))[_0x86a5('0x2e')]([_0x86a5('0x2f'),_0x86a5('0x3f'),_0x86a5('0x30'),_0x5bf4b7,_0x86a5('0x31'),_0x86a5('0x32')],squel[_0x86a5('0x10')]()[_0x86a5('0x36')](_0x2d7d5b)[_0x86a5('0x12')](_0x5316b9)[_0x86a5('0x13')]('cm_contacts',null,_0x86a5('0x38')+_0x5316b9+'.CmListId')[_0x86a5('0x13')](_0x4c84a0,null,_0x4c84a0+_0x86a5('0x39')+_0x5316b9+'.'+_0x5bf4b7)[_0x86a5('0x14')](_0x5316b9+_0x86a5('0x3a'),_0xa8d2cb)[_0x86a5('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x86a5('0x14')](_0x86a5('0x3b'),squel['select']()[_0x86a5('0x11')](_0x86a5('0x2f'))[_0x86a5('0x12')](_0x86a5('0x3e'))[_0x86a5('0x14')](_0x86a5('0x40'),_0xa8d2cb)[_0x86a5('0x14')](_0x5bf4b7+_0x86a5('0x15')+_0x5316b9+'.'+_0x5bf4b7)))[_0x86a5('0x41')]();}function insertTzCmHopper(_0x284d9a,_0x1f3bb8,_0x5c8a5b,_0x539752,_0x5bc049,_0x31e041){var _0x5b8fac=[_0x86a5('0x24'),_0x86a5('0x42')+_0x31e041+_0x86a5('0x43'),_0x86a5('0x26'),'cm_contacts.ListId',_0x1f3bb8+'.'+_0x539752,_0x86a5('0x28'),_0x86a5('0x44'),'cm_contacts.priority',_0x86a5('0x2a'),'\x22'+_0x5bc049+'\x22'];var _0x3e1e16=squel[_0x86a5('0x2b')]()[_0x86a5('0x2c')](_0x86a5('0x2d'))[_0x86a5('0x2e')](['phone',_0x86a5('0x45'),_0x86a5('0x3f'),_0x86a5('0x30'),_0x539752,_0x86a5('0x31'),_0x86a5('0x32'),_0x86a5('0x33'),_0x86a5('0x34'),'recallme'],squel['select']()[_0x86a5('0x36')](_0x5b8fac)['from'](_0x1f3bb8)['join'](_0x86a5('0x37'),null,_0x86a5('0x38')+_0x1f3bb8+_0x86a5('0x46'))[_0x86a5('0x13')](_0x5c8a5b,null,_0x5c8a5b+_0x86a5('0x39')+_0x1f3bb8+'.'+_0x539752)['join'](_0x31e041,null,_0x31e041+'.id\x20=\x20'+_0x1f3bb8+'.'+_0x539752)[_0x86a5('0x14')](_0x1f3bb8+_0x86a5('0x3a'),_0x284d9a)[_0x86a5('0x14')](_0x86a5('0x47'),NOW)['where'](_0x86a5('0x3b'),selectNotIn(_0x1f3bb8,_0x5c8a5b,_0x539752,_0x86a5('0x2d'),[_0x86a5('0x3c'),_0x86a5('0x3d')]))[_0x86a5('0x14')](_0x86a5('0x3b'),selectNotIn(_0x1f3bb8,_0x5c8a5b,_0x539752,_0x86a5('0x2d'),[_0x86a5('0x3c')])))['toString']();return _0x3e1e16;}function insertTzCmHopperBlack(_0x3c7cd3,_0x2ea352,_0xdd8752,_0x3e0ff9){var _0x3d1de5=[_0x86a5('0x24'),_0x86a5('0x26'),_0x86a5('0x27'),_0x2ea352+'.'+_0x3e0ff9,_0x86a5('0x28'),'cm_contacts.updatedAt'];return squel['insert']()[_0x86a5('0x2c')](_0x86a5('0x3e'))[_0x86a5('0x2e')]([_0x86a5('0x2f'),_0x86a5('0x3f'),_0x86a5('0x30'),_0x3e0ff9,_0x86a5('0x31'),_0x86a5('0x32')],squel[_0x86a5('0x10')]()[_0x86a5('0x36')](_0x3d1de5)['from'](_0x2ea352)[_0x86a5('0x13')]('cm_contacts',null,_0x86a5('0x38')+_0x2ea352+_0x86a5('0x46'))[_0x86a5('0x13')](_0xdd8752,null,_0xdd8752+'.id\x20=\x20'+_0x2ea352+'.'+_0x3e0ff9)[_0x86a5('0x14')](_0x2ea352+'.CmListId\x20=\x20?',_0x3c7cd3)[_0x86a5('0x14')](_0x86a5('0x47'),NOW)[_0x86a5('0x14')](_0x86a5('0x3b'),squel['select']()[_0x86a5('0x11')]('phone')[_0x86a5('0x12')](_0x86a5('0x3e'))[_0x86a5('0x14')]('ListId\x20=\x20?',_0x3c7cd3)['where'](_0x3e0ff9+_0x86a5('0x15')+_0x2ea352+'.'+_0x3e0ff9)))['toString']();}function insertCmHopperAdditionalPhones(_0x521903){var _0x1b1cdc=[_0x86a5('0x48'),_0x86a5('0x49'),'cm_contact_has_items.OrderBy',_0x86a5('0x4a'),_0x86a5('0x4b')];return squel['insert']()[_0x86a5('0x2c')](_0x86a5('0x4c'))[_0x86a5('0x2e')]([_0x86a5('0x4d'),'phone','OrderBy',_0x86a5('0x31'),'updatedAt'],squel[_0x86a5('0x10')]()['fields'](_0x1b1cdc)['from'](_0x86a5('0x2d'))[_0x86a5('0x13')]('cm_contacts',null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0x86a5('0x13')](_0x86a5('0x4e'),null,_0x86a5('0x4f'))[_0x86a5('0x14')]('cm_hopper.ListId\x20=\x20?',_0x521903)['where'](_0x86a5('0x47'),NOW))[_0x86a5('0x41')]();}function insertCmContact(_0x43f502,_0x80cbf4,_0x82ef2b,_0x581638){var _0x3af5be=_['concat'](_['keys'](_0x581638),[_0x86a5('0x30'),_0x86a5('0x50'),'createdAt','updatedAt']);return squel[_0x86a5('0x2b')]()[_0x86a5('0x2c')]('cm_contacts')[_0x86a5('0x2e')](_0x3af5be,squel[_0x86a5('0x10')]()['fields'](_0x3af5be)[_0x86a5('0x12')](_0x80cbf4)[_0x86a5('0x14')]('('+_0x82ef2b[_0x86a5('0x13')](',')+_0x86a5('0x51'),squel[_0x86a5('0x10')]()[_0x86a5('0x36')](_0x82ef2b)[_0x86a5('0x12')](_0x86a5('0x37'))[_0x86a5('0x14')](_0x86a5('0x40'),_0x43f502)[_0x86a5('0x14')](_0x86a5('0x52')))['where'](_0x86a5('0x53'),squel[_0x86a5('0x10')]()[_0x86a5('0x11')]('MIN(id)',_0x86a5('0x54'))['from'](_0x80cbf4)[_0x86a5('0x55')](_0x82ef2b['join'](','))))[_0x86a5('0x41')]();}function handleStop(){logger[_0x86a5('0x56')](_0x86a5('0x57'));stopped=!![];}function handleUncaughtException(_0x55e284){logger[_0x86a5('0x58')](_0x55e284['message']);process['exit'](0x1);}function handleError(_0x535e27,_0x20cf2c){stats[_0x86a5('0x59')][_0x86a5('0x1d')]({'name':_0x20cf2c[_0x86a5('0x5a')],'message':_0x20cf2c[_0x86a5('0x5b')],'row':_0x535e27});}function handleQuery(_0x1370da){logger['info'](_0x1370da);return db['sequelize'][_0x86a5('0x5c')](_0x1370da)['spread'](function(_0x126700){results[_0x86a5('0x1d')](_0x126700);})[_0x86a5('0x5d')](function(_0x24c264){logger[_0x86a5('0x58')](_0x24c264['message']);});}function updateTzCampaigns(_0x1a8c66){return new Promise(function(_0x113301,_0x18ba3b){var _0x264329=squel[_0x86a5('0x10')]()['fields'](['campaigns.id',_0x86a5('0x5e')])[_0x86a5('0x12')](_0x86a5('0x5f'))['join'](_0x86a5('0x60'),null,_0x86a5('0x61'))[_0x86a5('0x14')](_0x86a5('0x62')+_0x1a8c66);db[_0x86a5('0x63')][_0x86a5('0x5c')](_0x264329['toString']())['spread'](function(_0x22f153){var _0x471928=[];for(var _0x22d864=0x0;_0x22d864<_0x22f153[_0x86a5('0x19')];_0x22d864++){_0x471928[_0x86a5('0x1d')](getTimezoneData(_0x22f153[_0x22d864],tmp_campaigns));}BPromise[_0x86a5('0x1a')](_0x471928)['then'](function(){_0x113301({'val':0x1});});})[_0x86a5('0x5d')](function(_0x4685da){logger[_0x86a5('0x58')](_0x4685da['message']);_0x113301({'val':0x0});});});}function updateTzVoiceQueues(_0x3d956f){return new Promise(function(_0x41d975,_0x1d2271){var _0x346fa6=squel['select']()['fields']([_0x86a5('0x64'),_0x86a5('0x65')])[_0x86a5('0x12')](_0x86a5('0x66'))[_0x86a5('0x13')](_0x86a5('0x67'),null,_0x86a5('0x68'))[_0x86a5('0x14')]('voice_queues_has_cm_lists.CmListId='+_0x3d956f);db[_0x86a5('0x63')]['query'](_0x346fa6[_0x86a5('0x41')]())[_0x86a5('0x69')](function(_0x205637){var _0x3dc6f2=[];for(var _0x37ea8c=0x0;_0x37ea8c<_0x205637[_0x86a5('0x19')];_0x37ea8c++){_0x3dc6f2[_0x86a5('0x1d')](getTimezoneData(_0x205637[_0x37ea8c],tmp_voice_queues));}BPromise['all'](_0x3dc6f2)[_0x86a5('0x18')](function(){_0x41d975({'val':0x1});});})[_0x86a5('0x5d')](function(_0x36ee62){logger[_0x86a5('0x58')](_0x36ee62[_0x86a5('0x5b')]);_0x41d975({'val':0x0});});});}function getTimezoneData(_0x3691f1,_0x35cfcb){return new Promise(function(_0x76b15b,_0x16eebb){var _0x39a1ac=shared['timezones'];var _0x42434b=_0x39a1ac[_0x3691f1[_0x86a5('0x6a')]];if(_[_0x86a5('0x1e')](_0x42434b)){_0x76b15b({'ret':0x1});}else{var _0x2a5853=_0x42434b[_0x86a5('0x6b')];var _0x53743f=squel[_0x86a5('0x2b')]()[_0x86a5('0x2c')](_0x35cfcb)['set']('id',_0x3691f1['id'])[_0x86a5('0x6c')](_0x86a5('0x6d'),_0x2a5853)['set'](_0x86a5('0x6a'),_0x3691f1[_0x86a5('0x6a')])['toString']();return db[_0x86a5('0x63')][_0x86a5('0x5c')](_0x53743f)[_0x86a5('0x69')](function(_0x48ca2d){_0x76b15b({'ret':0x1});})[_0x86a5('0x5d')](function(_0x3687d7){logger[_0x86a5('0x58')](_0x3687d7['message']);_0x16eebb({'ret':0x1});});}});}function handleTZQuery(_0x2317d4){logger['info'](_0x2317d4);return db[_0x86a5('0x63')][_0x86a5('0x5c')](_0x2317d4)[_0x86a5('0x69')](function(_0x13b425){})['catch'](function(_0x373500){logger['error'](_0x373500[_0x86a5('0x5b')]);});}function main(_0x117946,_0x3ea3ef,_0x486337,_0x976770){logger['info']('main',_0x117946,JSON[_0x86a5('0x6e')](_0x3ea3ef));process[_0x86a5('0x6f')](_0x86a5('0x70'));var _0x549304=_0x3ea3ef[_0x86a5('0x71')];var _0x1e3ac7=_['clone'](_0x549304);var _0x2ed37b=_0x3ea3ef[_0x86a5('0x72')];var _0x48068d=path[_0x86a5('0x13')](config[_0x86a5('0x73')],_0x86a5('0x74'),_0x2ed37b+'.csv');hasTZ=_[_0x86a5('0x75')](_0x549304)[_0x86a5('0x76')]('dialTimezone');var _0x59f0d6=_['keys'](_0x549304)[_0x86a5('0x13')]();logger[_0x86a5('0x56')](_0x86a5('0x77'),_0x59f0d6);db[_0x86a5('0x78')][_0x86a5('0x79')]({'raw':!![],'attributes':['id',_0x86a5('0x7a')]})[_0x86a5('0x18')](function(_0x2bfba6){for(var _0x1021b4=0x0;_0x1021b4<_0x2bfba6['length'];_0x1021b4++){if(_0x2bfba6[_0x1021b4][_0x86a5('0x7a')]in _0x549304){contactItemTypes[_0x86a5('0x1d')](_0x2bfba6[_0x1021b4]);delete _0x1e3ac7[_0x2bfba6[_0x1021b4][_0x86a5('0x7a')]];hasAdditionalPhones=!![];}for(var _0x3b2c3a in _0x549304){if(_0x2bfba6[_0x1021b4][_0x86a5('0x7a')]+_0x86a5('0x7b')===_0x3b2c3a){phoneDescriptions[_0x86a5('0x1d')]({'itemTypeId':_0x2bfba6[_0x1021b4]['id'],'description':_0x3b2c3a});delete _0x1e3ac7[_0x3b2c3a];}}}if(hasAdditionalPhones)_0x1e3ac7[_0x86a5('0x1b')]='';var _0x48fa63=_[_0x86a5('0x75')](_0x1e3ac7)[_0x86a5('0x13')]();logger['info']('header',_0x48fa63);fs[_0x86a5('0x7c')](_0x48068d,_0x48fa63+'\x0a');Papa[_0x86a5('0x7d')](fs[_0x86a5('0x7e')](_0x117946),{'header':!![],'skipEmptyLines':!![],'step':function(_0x383dee,_0x13a003){try{for(var _0x4c83b=0x0,_0x2c49b6=[];_0x4c83b<_0x383dee[_0x86a5('0x7f')][_0x86a5('0x19')];_0x4c83b++){stats[_0x86a5('0x80')]+=0x1;if(_0x383dee[_0x86a5('0x59')][_0x4c83b]){handleError(_0x383dee[_0x86a5('0x7f')][_0x4c83b],_0x383dee[_0x86a5('0x59')][_0x4c83b]);}else{var _0x5b9fa4=[];var _0x51cc95=[];var _0x5439c8={};for(var _0x416906 in _0x549304){let _0x5739c4=contactItemTypes[_0x86a5('0x81')](_0x394961=>_0x394961[_0x86a5('0x7a')]===_0x416906);let _0x18db0b=contactItemTypes['find'](_0x445f82=>_0x445f82[_0x86a5('0x7a')]+_0x86a5('0x7b')===_0x416906);if(_[_0x86a5('0x1e')](_0x5739c4)&&_[_0x86a5('0x1e')](_0x18db0b)){if(_0x549304['hasOwnProperty'](_0x416906)){if(_0x383dee[_0x86a5('0x7f')][_0x4c83b][_0x549304[_0x416906]]){var _0x3004cf=_[_0x86a5('0x82')](_0x383dee[_0x86a5('0x7f')][_0x4c83b][_0x549304[_0x416906]][_0x86a5('0x83')](/"/g,'\x27'));switch(_0x416906){case _0x86a5('0x45'):var _0x14983d=moment(_0x3004cf,_0x86a5('0xe'),!![]);if(_0x14983d[_0x86a5('0x84')]()){_0x2c49b6[_0x86a5('0x1d')]('\x22'+_0x3004cf+'\x22');}else{_0x5b9fa4[_0x86a5('0x1d')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x86a5('0x33'):var _0x326ec6=parseInt(_0x3004cf);_0x3004cf=_[_0x86a5('0x85')](_0x326ec6)||_0x326ec6<0x0||_0x326ec6>0x4?_0x976770?0x3:0x2:_0x326ec6;_0x2c49b6[_0x86a5('0x1d')]('\x22'+_0x3004cf+'\x22');break;case _0x86a5('0x34'):var _0x431b07=parseInt(_0x3004cf);if(_[_0x86a5('0x86')](_0x431b07)&&_[_0x86a5('0x76')](_0x486337,_0x431b07)){_0x2c49b6[_0x86a5('0x1d')]('\x22'+_0x431b07+'\x22');}else{_0x5b9fa4[_0x86a5('0x1d')](_0x86a5('0x87'));}break;case _0x86a5('0x88'):if(isEmail(_0x3004cf)){_0x2c49b6['push']('\x22'+_0x3004cf+'\x22');}else{_0x5b9fa4[_0x86a5('0x1d')](_0x86a5('0x89'));}break;case _0x86a5('0x8a'):var _0x170c4e=moment(_0x3004cf,_0x86a5('0x8b'),!![]);if(_0x170c4e[_0x86a5('0x84')]()){_0x2c49b6[_0x86a5('0x1d')]('\x22'+_0x3004cf+'\x22');}else{_0x5b9fa4[_0x86a5('0x1d')](_0x86a5('0x8c'));}break;case _0x86a5('0x6a'):var _0x4c028f=shared['timezones'];var _0x3b7fd0=_0x4c028f[_0x3004cf];if(!_[_0x86a5('0x1e')](_0x3b7fd0)){var _0x375642=_0x3b7fd0[_0x86a5('0x6b')];_0x2c49b6['push']('\x22'+_0x3004cf+'\x22');_0x2c49b6[_0x86a5('0x1d')]('\x22'+_0x375642+'\x22');}break;default:_0x2c49b6['push']('\x22'+_0x3004cf+'\x22');}}else{switch(_0x416906){case _0x86a5('0x8d'):case _0x86a5('0x2f'):_0x5b9fa4[_0x86a5('0x1d')](_0x416906+'\x20not\x20specified');break;default:_0x2c49b6[_0x86a5('0x1d')]('\x22\x22');}}}}else{var _0x47f294='';if(!_[_0x86a5('0x1e')](_0x5739c4)){if(!_0x5439c8[_0x86a5('0x8e')](_0x5739c4['id'])){if(!_[_0x86a5('0x1e')](_0x383dee[_0x86a5('0x7f')][_0x4c83b][_0x549304[_0x416906]])){var _0x3004cf=_[_0x86a5('0x82')](_0x383dee[_0x86a5('0x7f')][_0x4c83b][_0x549304[_0x416906]][_0x86a5('0x83')](/"/g,'\x27'));var _0x405f5e=phoneDescriptions['find'](_0x1ee51a=>_0x1ee51a[_0x86a5('0x8f')]===_0x5739c4['id']);if(!_[_0x86a5('0x1e')](_0x405f5e)){var _0x2e4d77=_[_0x86a5('0x82')](_0x383dee['data'][_0x4c83b][_0x549304[_0x405f5e['description']]][_0x86a5('0x83')](/"/g,'\x27'));if(!_['isNil'](_0x2e4d77))_0x3004cf=_0x3004cf+'§'+_0x2e4d77;}if(_0x47f294=='')_0x47f294=_0x3004cf;else _0x47f294+='|'+_0x3004cf;}_0x51cc95[_0x86a5('0x1d')](_0x5739c4['id']+':'+_0x47f294);_0x5439c8[_0x5739c4['id']]=0x1;}}}}if(hasAdditionalPhones){_0x2c49b6['push']('\x22'+_0x51cc95[_0x86a5('0x13')](';')+'\x22');}if(_0x5b9fa4[_0x86a5('0x19')]){handleError(_0x383dee['data'][_0x4c83b],{'code':'SystemRow','message':_0x5b9fa4[_0x86a5('0x13')]()});}else{fs[_0x86a5('0x90')](_0x48068d,_0x2c49b6[_0x86a5('0x13')]()+'\x0a');}_0x2c49b6=[];}if(!(stats[_0x86a5('0x80')]%0xc8)){socket[_0x86a5('0x91')]('contact:import:'+_0x2ed37b,stats);stats['errors']=[];}}if(stopped){logger[_0x86a5('0x56')](_0x86a5('0x92'));_0x13a003[_0x86a5('0x93')]();}}catch(_0x47983a){handleError(_0x383dee['data'][_0x4c83b],{'code':_0x86a5('0x94'),'message':_0x47983a[_0x86a5('0x5b')]});logger[_0x86a5('0x58')](_0x86a5('0x95'),_0x47983a['message']);}},'complete':function(){try{var _0x5dc86c=[];var _0xcd7872=[];var _0x2b1135=_0x86a5('0x37');if(_0x3ea3ef[_0x86a5('0x96')]&&_0x3ea3ef[_0x86a5('0x96')]['length']){_0x2b1135=_0x86a5('0x97')+_0x2ed37b;_0x5dc86c['push'](_0x86a5('0x98')+_0x2b1135+_0x86a5('0x99'));}tmp_campaigns=_0x86a5('0x9a')+_0x2ed37b;tmp_voice_queues=_0x86a5('0x9b')+_0x2ed37b;_0xcd7872[_0x86a5('0x1d')](_0x86a5('0x98')+tmp_campaigns+_0x86a5('0x9c'));_0xcd7872[_0x86a5('0x1d')](_0x86a5('0x98')+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise['each'](_0xcd7872,handleTZQuery)[_0x86a5('0x18')](function(_0x2503fc){updateTzCampaigns(_0x3ea3ef['ListId'])[_0x86a5('0x18')](function(_0x24ca01){updateTzVoiceQueues(_0x3ea3ef[_0x86a5('0x30')])['then'](function(_0x30bd56){if(hasTZ)_0x48fa63=_0x48fa63['replace'](_0x86a5('0x6a'),'dialTimezone,utcOffset');var _0x2701bb=util['format'](_0x86a5('0x9d'),_0x48068d,_0x2b1135,_0x48fa63,_0x3ea3ef['ListId'],_0x3ea3ef[_0x86a5('0x50')]||null,NOW,NOW);if(_['isNil'](_0x549304[_0x86a5('0x45')])){_0x2701bb+=_0x86a5('0x9e');}_0x5dc86c[_0x86a5('0x1d')](_0x2701bb);if(_0x3ea3ef[_0x86a5('0x96')]&&_0x3ea3ef[_0x86a5('0x96')][_0x86a5('0x19')]){_0x5dc86c['push'](insertCmContact(_0x3ea3ef[_0x86a5('0x30')],_0x2b1135,_0x3ea3ef[_0x86a5('0x96')],_0x549304));_0x5dc86c[_0x86a5('0x1d')]('DROP\x20TABLE\x20'+_0x2b1135+';');}BPromise[_0x86a5('0x9f')](_0x5dc86c,handleQuery)[_0x86a5('0x18')](function(_0xce7a36){BPromise[_0x86a5('0x1a')]([handleAdditionalPhones()])['then'](function(){_0x5dc86c=[];for(var _0x7d7822=0x0;_0x7d7822<promisesAdditionalPhones[_0x86a5('0x19')];_0x7d7822++){if(promisesAdditionalPhones[_0x7d7822][_0x86a5('0x2f')]!='§'){_0x5dc86c['push'](createAdditionalPhone(promisesAdditionalPhones[_0x7d7822][_0x86a5('0xa0')],promisesAdditionalPhones[_0x7d7822][_0x86a5('0xa1')],promisesAdditionalPhones[_0x7d7822][_0x86a5('0x2f')],promisesAdditionalPhones[_0x7d7822][_0x86a5('0xa2')]));}}BPromise[_0x86a5('0x1a')](_0x5dc86c)[_0x86a5('0x18')](function(){_0x5dc86c=[];if(hasTZ){_0x5dc86c[_0x86a5('0x1d')](insertTzCmHopper(_0x3ea3ef['ListId'],_0x86a5('0x67'),_0x86a5('0x66'),_0x86a5('0xa3'),_0x976770,tmp_voice_queues));_0x5dc86c[_0x86a5('0x1d')](insertTzCmHopperBlack(_0x3ea3ef[_0x86a5('0x30')],_0x86a5('0xa4'),'voice_queues','VoiceQueueId'));_0x5dc86c['push'](insertTzCmHopper(_0x3ea3ef[_0x86a5('0x30')],'campaigns_has_cm_lists',_0x86a5('0x5f'),_0x86a5('0xa5'),_0x976770,tmp_campaigns));_0x5dc86c['push'](insertTzCmHopperBlack(_0x3ea3ef[_0x86a5('0x30')],_0x86a5('0xa6'),_0x86a5('0x5f'),'CampaignId'));_0x5dc86c[_0x86a5('0x1d')](insertCmHopperAdditionalPhones(_0x3ea3ef[_0x86a5('0x30')]));}else{_0x5dc86c[_0x86a5('0x1d')](insertCmHopper(_0x3ea3ef[_0x86a5('0x30')],'voice_queues_has_cm_lists',_0x86a5('0x66'),'VoiceQueueId',_0x976770));_0x5dc86c[_0x86a5('0x1d')](insertCmHopperBlack(_0x3ea3ef[_0x86a5('0x30')],_0x86a5('0xa4'),'voice_queues',_0x86a5('0xa3')));_0x5dc86c[_0x86a5('0x1d')](insertCmHopper(_0x3ea3ef[_0x86a5('0x30')],_0x86a5('0x60'),_0x86a5('0x5f'),_0x86a5('0xa5'),_0x976770));_0x5dc86c[_0x86a5('0x1d')](insertCmHopperBlack(_0x3ea3ef[_0x86a5('0x30')],_0x86a5('0xa6'),_0x86a5('0x5f'),_0x86a5('0xa5')));_0x5dc86c['push'](insertCmHopperAdditionalPhones(_0x3ea3ef[_0x86a5('0x30')]));}_0x5dc86c[_0x86a5('0x1d')](_0x86a5('0xa7')+tmp_campaigns+';');_0x5dc86c[_0x86a5('0x1d')](_0x86a5('0xa7')+tmp_voice_queues+';');BPromise[_0x86a5('0x9f')](_0x5dc86c,handleQuery)[_0x86a5('0x18')](function(_0x2d7172){stats[_0x86a5('0xa8')]=!![];stats[_0x86a5('0xa9')]=_0x3ea3ef[_0x86a5('0x96')]&&_0x3ea3ef[_0x86a5('0x96')][_0x86a5('0x19')]?results[0x2][_0x86a5('0xa9')]:results[0x0]['affectedRows'];socket['emit'](_0x86a5('0xaa')+_0x2ed37b,stats);fs['unlink'](_0x117946);fs['unlink'](_0x48068d);process[_0x86a5('0xab')](0x0);})[_0x86a5('0x5d')](function(_0x580632){logger[_0x86a5('0x58')](_0x580632[_0x86a5('0x5b')]);process[_0x86a5('0xab')](0x1);});});});})['catch'](function(_0x62d9af){logger[_0x86a5('0x58')](_0x62d9af[_0x86a5('0x5b')]);process[_0x86a5('0xab')](0x1);});});});});}catch(_0xf171a5){logger['error'](_0x86a5('0xac'),_0xf171a5[_0x86a5('0x5b')]);process['exit'](0x1);}},'error':function(_0x541ffd,_0x2d1f14,_0x5c8527,_0x3e05ff){throw new Error(_0x3e05ff);}});});}function validate(){if(process[_0x86a5('0xad')]&&process[_0x86a5('0xad')][_0x86a5('0x19')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x26a87b=path['join'](config[_0x86a5('0x73')],_0x86a5('0x74'),process['argv'][0x2]);if(!fs['existsSync'](_0x26a87b)){throw new Error(_0x86a5('0xae'));}var _0x274cf7={};try{_0x274cf7=JSON[_0x86a5('0x7d')](process[_0x86a5('0xad')][0x3]);if(!_0x274cf7['binding']){throw new Error(_0x86a5('0xaf'));}if(!_0x274cf7['binding'][_0x86a5('0x2f')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x274cf7['binding'][_0x86a5('0x8d')]){throw new Error('firstName\x20is\x20mandatory');}var _0x26f9de=0x0;if(_0x274cf7['binding'][_0x86a5('0x34')]){_0x26f9de=0x1;}if(!_0x274cf7[_0x86a5('0x30')]){throw new Error(_0x86a5('0xb0'));}}catch(_0x16df1d){throw new Error('body\x20id\x20mandatory');}var _0x18b59e=[];try{_0x18b59e=_['map'](JSON[_0x86a5('0x7d')](process[_0x86a5('0xad')][0x4]),'id');}catch(_0x41f368){logger[_0x86a5('0x56')](_0x86a5('0xb1'));}main(_0x26a87b,_0x274cf7,_0x18b59e,_0x26f9de);}validate();process['on'](_0x86a5('0xb2'),handleStop);process['on'](_0x86a5('0xb3'),handleUncaughtException);