Built motion from commit 598073ad.|2.5.44
[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 _0x4f6a=['firstName','\x20not\x20specified','SystemRow','emit','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','format','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','VoiceQueueId','CampaignId','campaigns_has_cm_blacklists','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','each','finish','affectedRows','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','server/files/tmp','existsSync','parse','binding','binding\x20doesn\x27t\x20exists','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/logger','defaults','redis','localhost','socket.io-emitter','YYYY-MM-DD\x20HH:mm:ss','test','field','phone','from','.id\x20=\x20','where','\x20=\x20','join','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','updatedAt','priority','UserId','recallme','select','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.id','cm_contacts.updatedAt','createdAt','cm_hopper_black','\x20=\x20?','toString','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','ListId\x20=\x20?','concat',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','MIN(id)','min_id','group','info','Received\x20SIGINT','error','message','exit','errors','push','query','spread','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','sequelize','length','then','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','all','timezones','dialTimezone','isNil','utcOffset','set','offset','main','stringify','send','start','socket_timestamp','root','keys','header',',utcOffset','createReadStream','data','rows','hasOwnProperty','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','agent\x20not\x20exists','email\x20wrong\x20format','YYYY-MM-DD'];(function(_0x577367,_0x147ab0){var _0x2d6c75=function(_0x37df30){while(--_0x37df30){_0x577367['push'](_0x577367['shift']());}};_0x2d6c75(++_0x147ab0);}(_0x4f6a,0xc1));var _0xa4f6=function(_0x15ed84,_0x589521){_0x15ed84=_0x15ed84-0x0;var _0x426d2b=_0x4f6a[_0x15ed84];return _0x426d2b;};'use strict';var fs=require('fs');var path=require(_0xa4f6('0x0'));var _=require(_0xa4f6('0x1'));var Papa=require(_0xa4f6('0x2'));var util=require(_0xa4f6('0x3'));var BPromise=require(_0xa4f6('0x4'));var moment=require(_0xa4f6('0x5'));var squel=require(_0xa4f6('0x6'));var Redis=require(_0xa4f6('0x7'));var db=require(_0xa4f6('0x8'))['db'];var config=require('../../../config/environment');var shared=require('../../../config/environment/shared');var logger=require(_0xa4f6('0x9'))('import');config['redis']=_[_0xa4f6('0xa')](config[_0xa4f6('0xb')],{'host':_0xa4f6('0xc'),'port':0x18eb});var socket=require(_0xa4f6('0xd'))(new Redis(config[_0xa4f6('0xb')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()['format'](_0xa4f6('0xe'));function isEmail(_0x30d1d1){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))*$/[_0xa4f6('0xf')](_0x30d1d1);}function selectNotIn(_0x1d7f2e,_0x3ff335,_0x360604,_0x4046e7,_0x1e5610){return squel['select']()[_0xa4f6('0x10')](_0xa4f6('0x11'))[_0xa4f6('0x12')](_0x4046e7)['join'](_0x3ff335,null,_0x3ff335+_0xa4f6('0x13')+_0x4046e7+'.'+_0x360604)[_0xa4f6('0x14')](_0x4046e7+'.'+_0x360604+_0xa4f6('0x15')+_0x1d7f2e+'.'+_0x360604)[_0xa4f6('0x14')](_0x3ff335+'.dialCheckDuplicateType\x20IN\x20('+_0x1e5610[_0xa4f6('0x16')]()+')');}function insertCmHopper(_0x55b94d,_0xbf42ac,_0x422761,_0x107c3b,_0x4d8871){var _0x260dcc=[_0xa4f6('0x17'),_0xa4f6('0x18'),'cm_contacts.id',_0xa4f6('0x19'),_0xbf42ac+'.'+_0x107c3b,_0xa4f6('0x1a'),'cm_contacts.updatedAt',_0xa4f6('0x1b'),_0xa4f6('0x1c'),'\x22'+_0x4d8871+'\x22'];return squel[_0xa4f6('0x1d')]()[_0xa4f6('0x1e')](_0xa4f6('0x1f'))[_0xa4f6('0x20')]([_0xa4f6('0x11'),_0xa4f6('0x21'),_0xa4f6('0x22'),_0xa4f6('0x23'),_0x107c3b,'createdAt',_0xa4f6('0x24'),_0xa4f6('0x25'),_0xa4f6('0x26'),_0xa4f6('0x27')],squel[_0xa4f6('0x28')]()[_0xa4f6('0x29')](_0x260dcc)[_0xa4f6('0x12')](_0xbf42ac)[_0xa4f6('0x16')](_0xa4f6('0x2a'),null,_0xa4f6('0x2b')+_0xbf42ac+_0xa4f6('0x2c'))['join'](_0x422761,null,_0x422761+_0xa4f6('0x13')+_0xbf42ac+'.'+_0x107c3b)[_0xa4f6('0x14')](_0xbf42ac+_0xa4f6('0x2d'),_0x55b94d)['where'](_0xa4f6('0x2e'),NOW)['where'](_0xa4f6('0x2f'),selectNotIn(_0xbf42ac,_0x422761,_0x107c3b,_0xa4f6('0x1f'),[_0xa4f6('0x30'),_0xa4f6('0x31')]))['where'](_0xa4f6('0x2f'),selectNotIn(_0xbf42ac,_0x422761,_0x107c3b,_0xa4f6('0x1f'),[_0xa4f6('0x30')])))['toString']();}function insertCmHopperBlack(_0x581660,_0x32f92f,_0x5d9a41,_0x4ede41){var _0x13a249=[_0xa4f6('0x17'),_0xa4f6('0x32'),_0xa4f6('0x19'),_0x32f92f+'.'+_0x4ede41,_0xa4f6('0x1a'),_0xa4f6('0x33')];return squel[_0xa4f6('0x1d')]()['into']('cm_hopper_black')[_0xa4f6('0x20')]([_0xa4f6('0x11'),_0xa4f6('0x22'),'ListId',_0x4ede41,_0xa4f6('0x34'),_0xa4f6('0x24')],squel[_0xa4f6('0x28')]()[_0xa4f6('0x29')](_0x13a249)[_0xa4f6('0x12')](_0x32f92f)['join'](_0xa4f6('0x2a'),null,_0xa4f6('0x2b')+_0x32f92f+'.CmListId')[_0xa4f6('0x16')](_0x5d9a41,null,_0x5d9a41+_0xa4f6('0x13')+_0x32f92f+'.'+_0x4ede41)[_0xa4f6('0x14')](_0x32f92f+_0xa4f6('0x2d'),_0x581660)[_0xa4f6('0x14')](_0xa4f6('0x2e'),NOW)[_0xa4f6('0x14')](_0xa4f6('0x2f'),squel[_0xa4f6('0x28')]()[_0xa4f6('0x10')](_0xa4f6('0x11'))[_0xa4f6('0x12')](_0xa4f6('0x35'))[_0xa4f6('0x14')]('ListId\x20=\x20?',_0x581660)['where'](_0x4ede41+_0xa4f6('0x36'),_0x32f92f+'.'+_0x4ede41)))[_0xa4f6('0x37')]();}function insertTzCmHopper(_0x22138c,_0xeb56a2,_0x7acc67,_0x5d95a0,_0x4a7f79,_0xcd2035){var _0x4fdbd6=[_0xa4f6('0x17'),_0xa4f6('0x38')+_0xcd2035+_0xa4f6('0x39'),_0xa4f6('0x32'),_0xa4f6('0x19'),_0xeb56a2+'.'+_0x5d95a0,_0xa4f6('0x1a'),_0xa4f6('0x33'),_0xa4f6('0x1b'),_0xa4f6('0x1c'),'\x22'+_0x4a7f79+'\x22'];var _0x207ba2=squel['insert']()[_0xa4f6('0x1e')]('cm_hopper')[_0xa4f6('0x20')]([_0xa4f6('0x11'),_0xa4f6('0x21'),'ContactId','ListId',_0x5d95a0,_0xa4f6('0x34'),_0xa4f6('0x24'),_0xa4f6('0x25'),_0xa4f6('0x26'),_0xa4f6('0x27')],squel[_0xa4f6('0x28')]()[_0xa4f6('0x29')](_0x4fdbd6)[_0xa4f6('0x12')](_0xeb56a2)['join'](_0xa4f6('0x2a'),null,_0xa4f6('0x2b')+_0xeb56a2+_0xa4f6('0x2c'))[_0xa4f6('0x16')](_0x7acc67,null,_0x7acc67+_0xa4f6('0x13')+_0xeb56a2+'.'+_0x5d95a0)[_0xa4f6('0x16')](_0xcd2035,null,_0xcd2035+'.id\x20=\x20'+_0xeb56a2+'.'+_0x5d95a0)['where'](_0xeb56a2+_0xa4f6('0x2d'),_0x22138c)[_0xa4f6('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0xa4f6('0x2f'),selectNotIn(_0xeb56a2,_0x7acc67,_0x5d95a0,_0xa4f6('0x1f'),[_0xa4f6('0x30'),'\x22onlyIfOpen\x22']))[_0xa4f6('0x14')](_0xa4f6('0x2f'),selectNotIn(_0xeb56a2,_0x7acc67,_0x5d95a0,_0xa4f6('0x1f'),[_0xa4f6('0x30')])))[_0xa4f6('0x37')]();return _0x207ba2;}function insertTzCmHopperBlack(_0x18c3c4,_0x3e088f,_0x3d0a1d,_0x6daa10){var _0x24f1fb=[_0xa4f6('0x17'),_0xa4f6('0x32'),_0xa4f6('0x19'),_0x3e088f+'.'+_0x6daa10,_0xa4f6('0x1a'),_0xa4f6('0x33')];return squel['insert']()[_0xa4f6('0x1e')]('cm_hopper_black')[_0xa4f6('0x20')]([_0xa4f6('0x11'),_0xa4f6('0x22'),_0xa4f6('0x23'),_0x6daa10,_0xa4f6('0x34'),'updatedAt'],squel['select']()['fields'](_0x24f1fb)['from'](_0x3e088f)['join'](_0xa4f6('0x2a'),null,'cm_contacts.ListId\x20=\x20'+_0x3e088f+_0xa4f6('0x2c'))['join'](_0x3d0a1d,null,_0x3d0a1d+_0xa4f6('0x13')+_0x3e088f+'.'+_0x6daa10)['where'](_0x3e088f+_0xa4f6('0x2d'),_0x18c3c4)[_0xa4f6('0x14')](_0xa4f6('0x2e'),NOW)['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0xa4f6('0x28')]()[_0xa4f6('0x10')](_0xa4f6('0x11'))[_0xa4f6('0x12')](_0xa4f6('0x35'))['where'](_0xa4f6('0x3a'),_0x18c3c4)[_0xa4f6('0x14')](_0x6daa10+_0xa4f6('0x36'),_0x3e088f+'.'+_0x6daa10)))['toString']();}function insertCmContact(_0x3666bd,_0xab4935,_0x57eeda,_0x155e92){var _0x1342e6=_[_0xa4f6('0x3b')](_['keys'](_0x155e92),[_0xa4f6('0x23'),'CompanyId',_0xa4f6('0x34'),_0xa4f6('0x24')]);return squel[_0xa4f6('0x1d')]()['into'](_0xa4f6('0x2a'))[_0xa4f6('0x20')](_0x1342e6,squel[_0xa4f6('0x28')]()[_0xa4f6('0x29')](_0x1342e6)[_0xa4f6('0x12')](_0xab4935)[_0xa4f6('0x14')]('('+_0x57eeda['join'](',')+_0xa4f6('0x3c'),squel[_0xa4f6('0x28')]()[_0xa4f6('0x29')](_0x57eeda)['from']('cm_contacts')[_0xa4f6('0x14')](_0xa4f6('0x3a'),_0x3666bd)['where'](_0xa4f6('0x3d')))[_0xa4f6('0x14')]('id\x20IN\x20?',squel[_0xa4f6('0x28')]()[_0xa4f6('0x10')](_0xa4f6('0x3e'),_0xa4f6('0x3f'))['from'](_0xab4935)[_0xa4f6('0x40')](_0x57eeda['join'](','))))[_0xa4f6('0x37')]();}function handleStop(){logger[_0xa4f6('0x41')](_0xa4f6('0x42'));stopped=!![];}function handleUncaughtException(_0x487a0b){logger[_0xa4f6('0x43')](_0x487a0b[_0xa4f6('0x44')]);process[_0xa4f6('0x45')](0x1);}function handleError(_0x49f690,_0x4687df){stats[_0xa4f6('0x46')][_0xa4f6('0x47')]({'name':_0x4687df['code'],'message':_0x4687df[_0xa4f6('0x44')],'row':_0x49f690});}function handleQuery(_0x2e0d34){logger['info'](_0x2e0d34);return db['sequelize'][_0xa4f6('0x48')](_0x2e0d34)[_0xa4f6('0x49')](function(_0x1ec1a9){results['push'](_0x1ec1a9);})[_0xa4f6('0x4a')](function(_0x34c739){logger[_0xa4f6('0x43')](_0x34c739['message']);});}function updateTzCampaigns(_0x44b5fe){return new Promise(function(_0x40ac37,_0x50bade){var _0x2e6f72=squel[_0xa4f6('0x28')]()[_0xa4f6('0x29')]([_0xa4f6('0x4b'),_0xa4f6('0x4c')])[_0xa4f6('0x12')](_0xa4f6('0x4d'))['join']('campaigns_has_cm_lists',null,_0xa4f6('0x4e'))['where'](_0xa4f6('0x4f')+_0x44b5fe);db[_0xa4f6('0x50')][_0xa4f6('0x48')](_0x2e6f72[_0xa4f6('0x37')]())['spread'](function(_0x227262){var _0x1aada4=[];for(var _0x41391d=0x0;_0x41391d<_0x227262[_0xa4f6('0x51')];_0x41391d++){_0x1aada4[_0xa4f6('0x47')](getTimezoneData(_0x227262[_0x41391d],tmp_campaigns));}BPromise['all'](_0x1aada4)[_0xa4f6('0x52')](function(){_0x40ac37({'val':0x1});});})['catch'](function(_0xe54b35){logger['error'](_0xe54b35[_0xa4f6('0x44')]);_0x40ac37({'val':0x0});});});}function updateTzVoiceQueues(_0x48201a){return new Promise(function(_0x16f904,_0x2dfe8d){var _0x2ad7e4=squel['select']()[_0xa4f6('0x29')]([_0xa4f6('0x53'),_0xa4f6('0x54')])[_0xa4f6('0x12')](_0xa4f6('0x55'))[_0xa4f6('0x16')](_0xa4f6('0x56'),null,_0xa4f6('0x57'))[_0xa4f6('0x14')]('voice_queues_has_cm_lists.CmListId='+_0x48201a);db['sequelize'][_0xa4f6('0x48')](_0x2ad7e4[_0xa4f6('0x37')]())[_0xa4f6('0x49')](function(_0x13d29f){var _0x5c32ee=[];for(var _0x4ebf79=0x0;_0x4ebf79<_0x13d29f[_0xa4f6('0x51')];_0x4ebf79++){_0x5c32ee[_0xa4f6('0x47')](getTimezoneData(_0x13d29f[_0x4ebf79],tmp_voice_queues));}BPromise[_0xa4f6('0x58')](_0x5c32ee)[_0xa4f6('0x52')](function(){_0x16f904({'val':0x1});});})[_0xa4f6('0x4a')](function(_0x57fd76){logger['error'](_0x57fd76['message']);_0x16f904({'val':0x0});});});}function getTimezoneData(_0x50e1f8,_0x4f68fa){return new Promise(function(_0x154e58,_0xb08ddc){var _0x5c2aee=shared[_0xa4f6('0x59')];var _0x41f993=_0x5c2aee[_0x50e1f8[_0xa4f6('0x5a')]];if(_[_0xa4f6('0x5b')](_0x41f993)){_0x154e58({'ret':0x1});}else{var _0x5783b9=_0x41f993[_0xa4f6('0x5c')];var _0x56bb79=squel['insert']()[_0xa4f6('0x1e')](_0x4f68fa)[_0xa4f6('0x5d')]('id',_0x50e1f8['id'])[_0xa4f6('0x5d')](_0xa4f6('0x5e'),_0x5783b9)[_0xa4f6('0x5d')]('dialTimezone',_0x50e1f8[_0xa4f6('0x5a')])['toString']();return db[_0xa4f6('0x50')]['query'](_0x56bb79)[_0xa4f6('0x49')](function(_0x362ee4){_0x154e58({'ret':0x1});})[_0xa4f6('0x4a')](function(_0x1363e3){logger['error'](_0x1363e3[_0xa4f6('0x44')]);_0xb08ddc({'ret':0x1});});}});}function handleTZQuery(_0x430e87){logger['info'](_0x430e87);return db[_0xa4f6('0x50')][_0xa4f6('0x48')](_0x430e87)[_0xa4f6('0x49')](function(_0x5bbe62){})[_0xa4f6('0x4a')](function(_0x5f1bbb){logger[_0xa4f6('0x43')](_0x5f1bbb[_0xa4f6('0x44')]);});}function main(_0x566b86,_0x1397e6,_0x2cd1f8,_0x28663a){logger[_0xa4f6('0x41')](_0xa4f6('0x5f'),_0x566b86,JSON[_0xa4f6('0x60')](_0x1397e6));process[_0xa4f6('0x61')](_0xa4f6('0x62'));var _0x53c6aa=_0x1397e6['binding'];var _0x1009fe=_0x1397e6[_0xa4f6('0x63')];var _0x32cc08=path[_0xa4f6('0x16')](config[_0xa4f6('0x64')],'server/files/tmp',_0x1009fe+'.csv');hasTZ=_[_0xa4f6('0x65')](_0x53c6aa)['includes']('dialTimezone');var _0x415455=_[_0xa4f6('0x65')](_0x53c6aa)[_0xa4f6('0x16')]();logger[_0xa4f6('0x41')](_0xa4f6('0x66'),_0x415455);if(hasTZ)_0x415455+=_0xa4f6('0x67');fs['writeFileSync'](_0x32cc08,_0x415455+'\x0a');Papa['parse'](fs[_0xa4f6('0x68')](_0x566b86),{'header':!![],'skipEmptyLines':!![],'step':function(_0x3a30c4,_0x51ea30){try{for(var _0x5cfb34=0x0,_0x8be3bb=[];_0x5cfb34<_0x3a30c4[_0xa4f6('0x69')][_0xa4f6('0x51')];_0x5cfb34++){stats[_0xa4f6('0x6a')]+=0x1;if(_0x3a30c4['errors'][_0x5cfb34]){handleError(_0x3a30c4['data'][_0x5cfb34],_0x3a30c4[_0xa4f6('0x46')][_0x5cfb34]);}else{var _0x21b84b=[];for(var _0x537091 in _0x53c6aa){if(_0x53c6aa[_0xa4f6('0x6b')](_0x537091)){if(_0x3a30c4[_0xa4f6('0x69')][_0x5cfb34][_0x53c6aa[_0x537091]]){var _0x9ffef=_[_0xa4f6('0x6c')](_0x3a30c4[_0xa4f6('0x69')][_0x5cfb34][_0x53c6aa[_0x537091]][_0xa4f6('0x6d')](/"/g,'\x27'));switch(_0x537091){case _0xa4f6('0x21'):var _0x1a7c11=moment(_0x9ffef,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x1a7c11[_0xa4f6('0x6e')]()){_0x8be3bb[_0xa4f6('0x47')]('\x22'+_0x9ffef+'\x22');}else{_0x21b84b[_0xa4f6('0x47')](_0xa4f6('0x6f'));}break;case _0xa4f6('0x25'):var _0x2ab7fb=parseInt(_0x9ffef);_0x9ffef=_[_0xa4f6('0x70')](_0x2ab7fb)||_0x2ab7fb<0x0||_0x2ab7fb>0x4?_0x28663a?0x3:0x2:_0x2ab7fb;_0x8be3bb['push']('\x22'+_0x9ffef+'\x22');break;case _0xa4f6('0x26'):var _0x5aefd2=parseInt(_0x9ffef);if(_[_0xa4f6('0x71')](_0x5aefd2)&&_['includes'](_0x2cd1f8,_0x5aefd2)){_0x8be3bb[_0xa4f6('0x47')]('\x22'+_0x5aefd2+'\x22');}else{_0x21b84b[_0xa4f6('0x47')](_0xa4f6('0x72'));}break;case'email':if(isEmail(_0x9ffef)){_0x8be3bb[_0xa4f6('0x47')]('\x22'+_0x9ffef+'\x22');}else{_0x21b84b[_0xa4f6('0x47')](_0xa4f6('0x73'));}break;case'dateOfBirth':var _0x5892a2=moment(_0x9ffef,_0xa4f6('0x74'),!![]);if(_0x5892a2[_0xa4f6('0x6e')]()){_0x8be3bb[_0xa4f6('0x47')]('\x22'+_0x9ffef+'\x22');}else{_0x21b84b['push']('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0xa4f6('0x5a'):var _0x3ae634=shared[_0xa4f6('0x59')];var _0x147f2e=_0x3ae634[_0x9ffef];if(!_[_0xa4f6('0x5b')](_0x147f2e)){var _0x4ce722=_0x147f2e[_0xa4f6('0x5c')];_0x8be3bb[_0xa4f6('0x47')]('\x22'+_0x9ffef+'\x22');_0x8be3bb[_0xa4f6('0x47')]('\x22'+_0x4ce722+'\x22');}break;default:_0x8be3bb[_0xa4f6('0x47')]('\x22'+_0x9ffef+'\x22');}}else{switch(_0x537091){case _0xa4f6('0x75'):case _0xa4f6('0x11'):_0x21b84b[_0xa4f6('0x47')](_0x537091+_0xa4f6('0x76'));break;default:_0x8be3bb[_0xa4f6('0x47')]('\x22\x22');}}}}if(_0x21b84b[_0xa4f6('0x51')]){handleError(_0x3a30c4[_0xa4f6('0x69')][_0x5cfb34],{'code':_0xa4f6('0x77'),'message':_0x21b84b['join']()});}else{fs['appendFileSync'](_0x32cc08,_0x8be3bb[_0xa4f6('0x16')]()+'\x0a');}_0x8be3bb=[];}if(!(stats[_0xa4f6('0x6a')]%0xc8)){socket[_0xa4f6('0x78')](_0xa4f6('0x79')+_0x1009fe,stats);stats[_0xa4f6('0x46')]=[];}}if(stopped){logger['info'](_0xa4f6('0x7a'));_0x51ea30[_0xa4f6('0x7b')]();}}catch(_0x75acbb){handleError(_0x3a30c4[_0xa4f6('0x69')][_0x5cfb34],{'code':_0xa4f6('0x7c'),'message':_0x75acbb[_0xa4f6('0x44')]});logger[_0xa4f6('0x43')](_0xa4f6('0x7d'),_0x75acbb[_0xa4f6('0x44')]);}},'complete':function(){try{var _0x1b2338=[];var _0x2175f1=[];var _0x6dd393=_0xa4f6('0x2a');if(_0x1397e6[_0xa4f6('0x7e')]&&_0x1397e6[_0xa4f6('0x7e')][_0xa4f6('0x51')]){_0x6dd393=_0xa4f6('0x7f')+_0x1009fe;_0x1b2338[_0xa4f6('0x47')](_0xa4f6('0x80')+_0x6dd393+_0xa4f6('0x81'));}tmp_campaigns='campaigns_'+_0x1009fe;tmp_voice_queues='voice_queues_'+_0x1009fe;_0x2175f1[_0xa4f6('0x47')](_0xa4f6('0x80')+tmp_campaigns+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');_0x2175f1[_0xa4f6('0x47')](_0xa4f6('0x80')+tmp_voice_queues+_0xa4f6('0x82'));BPromise['each'](_0x2175f1,handleTZQuery)['then'](function(_0x238440){updateTzCampaigns(_0x1397e6[_0xa4f6('0x23')])[_0xa4f6('0x52')](function(_0x16b394){updateTzVoiceQueues(_0x1397e6[_0xa4f6('0x23')])[_0xa4f6('0x52')](function(_0x46c0d2){var _0x457560=util[_0xa4f6('0x83')](_0xa4f6('0x84'),_0x32cc08,_0x6dd393,_0x415455,_0x1397e6['ListId'],_0x1397e6['CompanyId']||null,NOW,NOW);if(_[_0xa4f6('0x5b')](_0x53c6aa[_0xa4f6('0x21')])){_0x457560+=_0xa4f6('0x85');}_0x1b2338['push'](_0x457560);if(_0x1397e6[_0xa4f6('0x7e')]&&_0x1397e6[_0xa4f6('0x7e')]['length']){_0x1b2338[_0xa4f6('0x47')](insertCmContact(_0x1397e6['ListId'],_0x6dd393,_0x1397e6[_0xa4f6('0x7e')],_0x53c6aa));_0x1b2338[_0xa4f6('0x47')](_0xa4f6('0x86')+_0x6dd393+';');}if(hasTZ){_0x1b2338[_0xa4f6('0x47')](insertTzCmHopper(_0x1397e6[_0xa4f6('0x23')],_0xa4f6('0x56'),_0xa4f6('0x55'),_0xa4f6('0x87'),_0x28663a,tmp_voice_queues));_0x1b2338[_0xa4f6('0x47')](insertTzCmHopperBlack(_0x1397e6['ListId'],'voice_queues_has_cm_blacklists','voice_queues','VoiceQueueId'));_0x1b2338[_0xa4f6('0x47')](insertTzCmHopper(_0x1397e6[_0xa4f6('0x23')],'campaigns_has_cm_lists',_0xa4f6('0x4d'),_0xa4f6('0x88'),_0x28663a,tmp_campaigns));_0x1b2338[_0xa4f6('0x47')](insertTzCmHopperBlack(_0x1397e6[_0xa4f6('0x23')],_0xa4f6('0x89'),_0xa4f6('0x4d'),_0xa4f6('0x88')));}else{_0x1b2338[_0xa4f6('0x47')](insertCmHopper(_0x1397e6[_0xa4f6('0x23')],_0xa4f6('0x56'),_0xa4f6('0x55'),_0xa4f6('0x87'),_0x28663a));_0x1b2338[_0xa4f6('0x47')](insertCmHopperBlack(_0x1397e6[_0xa4f6('0x23')],_0xa4f6('0x8a'),_0xa4f6('0x55'),'VoiceQueueId'));_0x1b2338[_0xa4f6('0x47')](insertCmHopper(_0x1397e6['ListId'],_0xa4f6('0x8b'),'campaigns',_0xa4f6('0x88'),_0x28663a));_0x1b2338[_0xa4f6('0x47')](insertCmHopperBlack(_0x1397e6[_0xa4f6('0x23')],_0xa4f6('0x89'),'campaigns','CampaignId'));}_0x1b2338[_0xa4f6('0x47')](_0xa4f6('0x86')+tmp_campaigns+';');_0x1b2338[_0xa4f6('0x47')]('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0xa4f6('0x8c')](_0x1b2338,handleQuery)[_0xa4f6('0x52')](function(_0xe6a30d){stats[_0xa4f6('0x8d')]=!![];stats[_0xa4f6('0x8e')]=_0x1397e6[_0xa4f6('0x7e')]&&_0x1397e6[_0xa4f6('0x7e')][_0xa4f6('0x51')]?results[0x2][_0xa4f6('0x8e')]:results[0x0][_0xa4f6('0x8e')];socket[_0xa4f6('0x78')](_0xa4f6('0x79')+_0x1009fe,stats);fs['unlink'](_0x566b86);fs['unlink'](_0x32cc08);process['exit'](0x0);})[_0xa4f6('0x4a')](function(_0x5715bb){logger[_0xa4f6('0x43')](_0x5715bb[_0xa4f6('0x44')]);process[_0xa4f6('0x45')](0x1);});});});});}catch(_0x252157){logger[_0xa4f6('0x43')]('complete',_0x252157[_0xa4f6('0x44')]);process[_0xa4f6('0x45')](0x1);}},'error':function(_0x3d70ec,_0x1ad67a,_0x551096,_0x494d71){throw new Error(_0x494d71);}});}function validate(){if(process[_0xa4f6('0x8f')]&&process[_0xa4f6('0x8f')][_0xa4f6('0x51')]<0x4){throw new Error(_0xa4f6('0x90'));}var _0x403cdf=path[_0xa4f6('0x16')](config[_0xa4f6('0x64')],_0xa4f6('0x91'),process[_0xa4f6('0x8f')][0x2]);if(!fs[_0xa4f6('0x92')](_0x403cdf)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x1cc43c={};try{_0x1cc43c=JSON[_0xa4f6('0x93')](process[_0xa4f6('0x8f')][0x3]);if(!_0x1cc43c[_0xa4f6('0x94')]){throw new Error(_0xa4f6('0x95'));}if(!_0x1cc43c['binding'][_0xa4f6('0x11')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x1cc43c[_0xa4f6('0x94')]['firstName']){throw new Error(_0xa4f6('0x96'));}var _0x53ee46=0x0;if(_0x1cc43c[_0xa4f6('0x94')][_0xa4f6('0x26')]){_0x53ee46=0x1;}if(!_0x1cc43c['ListId']){throw new Error(_0xa4f6('0x97'));}}catch(_0x11328a){throw new Error(_0xa4f6('0x98'));}var _0xe89ef0=[];try{_0xe89ef0=_['map'](JSON[_0xa4f6('0x93')](process[_0xa4f6('0x8f')][0x4]),'id');}catch(_0x5c8713){logger[_0xa4f6('0x41')]('No\x20agent\x20available');}main(_0x403cdf,_0x1cc43c,_0xe89ef0,_0x53ee46);}validate();process['on'](_0xa4f6('0x99'),handleStop);process['on'](_0xa4f6('0x9a'),handleUncaughtException);