Built motion from commit 0900f080.|2.5.45
[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 _0x42d0=['cm_hopper_black','from','cm_contacts.ListId\x20=\x20','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.id','cm_contacts.UserId','UserId','concat','CompanyId','deletedAt\x20IS\x20NULL','id\x20IN\x20?','min_id','group','info','Received\x20SIGINT','error','message','exit','push','code','sequelize','spread','catch','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','query','length','all','then','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','dialTimezone','isNil','utcOffset','set','offset','stringify','send','start','binding','socket_timestamp','root','server/files/tmp','.csv','includes','keys','header',',utcOffset','writeFileSync','parse','data','rows','errors','hasOwnProperty','trim','replace','isNaN','isNumber','dateOfBirth','YYYY-MM-DD','isValid','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','\x20not\x20specified','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','SystemError','duplicates','cm_contacts_','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','CREATE\x20TABLE\x20','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','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','finish','affectedRows','unlink','complete','argv','existsSync','file\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','moment','squel','ioredis','../../../config/environment/shared','../../../config/logger','import','defaults','redis','localhost','YYYY-MM-DD\x20HH:mm:ss','test','select','field','phone','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','recallme','fields','cm_contacts','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_contacts.phone'];(function(_0x118758,_0x58232a){var _0x429d4b=function(_0x49dc87){while(--_0x49dc87){_0x118758['push'](_0x118758['shift']());}};_0x429d4b(++_0x58232a);}(_0x42d0,0x68));var _0x042d=function(_0x3cf5a3,_0x5a4492){_0x3cf5a3=_0x3cf5a3-0x0;var _0x39ba2d=_0x42d0[_0x3cf5a3];return _0x39ba2d;};'use strict';var fs=require('fs');var path=require(_0x042d('0x0'));var _=require(_0x042d('0x1'));var Papa=require(_0x042d('0x2'));var util=require(_0x042d('0x3'));var BPromise=require(_0x042d('0x4'));var moment=require(_0x042d('0x5'));var squel=require(_0x042d('0x6'));var Redis=require(_0x042d('0x7'));var db=require('../../../mysqldb')['db'];var config=require('../../../config/environment');var shared=require(_0x042d('0x8'));var logger=require(_0x042d('0x9'))(_0x042d('0xa'));config['redis']=_[_0x042d('0xb')](config[_0x042d('0xc')],{'host':_0x042d('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x042d('0xc')]));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'](_0x042d('0xe'));function isEmail(_0x3b0816){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))*$/[_0x042d('0xf')](_0x3b0816);}function selectNotIn(_0x389274,_0x3bb376,_0x51dbd2,_0x412b14,_0x20214e){return squel[_0x042d('0x10')]()[_0x042d('0x11')](_0x042d('0x12'))['from'](_0x412b14)[_0x042d('0x13')](_0x3bb376,null,_0x3bb376+_0x042d('0x14')+_0x412b14+'.'+_0x51dbd2)[_0x042d('0x15')](_0x412b14+'.'+_0x51dbd2+_0x042d('0x16')+_0x389274+'.'+_0x51dbd2)['where'](_0x3bb376+_0x042d('0x17')+_0x20214e[_0x042d('0x13')]()+')');}function insertCmHopper(_0x9927d7,_0x3895a4,_0xe348ae,_0x4a0b26,_0x1758d2){var _0xcebe3f=['cm_contacts.phone',_0x042d('0x18'),'cm_contacts.id',_0x042d('0x19'),_0x3895a4+'.'+_0x4a0b26,_0x042d('0x1a'),_0x042d('0x1b'),_0x042d('0x1c'),'cm_contacts.UserId','\x22'+_0x1758d2+'\x22'];return squel[_0x042d('0x1d')]()[_0x042d('0x1e')](_0x042d('0x1f'))[_0x042d('0x20')](['phone',_0x042d('0x21'),_0x042d('0x22'),_0x042d('0x23'),_0x4a0b26,_0x042d('0x24'),_0x042d('0x25'),_0x042d('0x26'),'UserId',_0x042d('0x27')],squel[_0x042d('0x10')]()[_0x042d('0x28')](_0xcebe3f)['from'](_0x3895a4)[_0x042d('0x13')](_0x042d('0x29'),null,'cm_contacts.ListId\x20=\x20'+_0x3895a4+_0x042d('0x2a'))[_0x042d('0x13')](_0xe348ae,null,_0xe348ae+_0x042d('0x14')+_0x3895a4+'.'+_0x4a0b26)[_0x042d('0x15')](_0x3895a4+_0x042d('0x2b'),_0x9927d7)[_0x042d('0x15')](_0x042d('0x2c'),NOW)[_0x042d('0x15')](_0x042d('0x2d'),selectNotIn(_0x3895a4,_0xe348ae,_0x4a0b26,'cm_hopper',[_0x042d('0x2e'),_0x042d('0x2f')]))[_0x042d('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x3895a4,_0xe348ae,_0x4a0b26,_0x042d('0x1f'),['\x22always\x22'])))[_0x042d('0x30')]();}function insertCmHopperBlack(_0x3f1324,_0x59ec7f,_0x10484e,_0x196ade){var _0x1543d7=[_0x042d('0x31'),'cm_contacts.id',_0x042d('0x19'),_0x59ec7f+'.'+_0x196ade,_0x042d('0x1a'),_0x042d('0x1b')];return squel[_0x042d('0x1d')]()['into'](_0x042d('0x32'))[_0x042d('0x20')]([_0x042d('0x12'),_0x042d('0x22'),_0x042d('0x23'),_0x196ade,_0x042d('0x24'),'updatedAt'],squel[_0x042d('0x10')]()['fields'](_0x1543d7)[_0x042d('0x33')](_0x59ec7f)[_0x042d('0x13')]('cm_contacts',null,_0x042d('0x34')+_0x59ec7f+_0x042d('0x2a'))[_0x042d('0x13')](_0x10484e,null,_0x10484e+_0x042d('0x14')+_0x59ec7f+'.'+_0x196ade)[_0x042d('0x15')](_0x59ec7f+_0x042d('0x2b'),_0x3f1324)['where'](_0x042d('0x2c'),NOW)[_0x042d('0x15')](_0x042d('0x2d'),squel['select']()[_0x042d('0x11')](_0x042d('0x12'))[_0x042d('0x33')]('cm_hopper_black')[_0x042d('0x15')](_0x042d('0x35'),_0x3f1324)[_0x042d('0x15')](_0x196ade+'\x20=\x20?',_0x59ec7f+'.'+_0x196ade)))[_0x042d('0x30')]();}function insertTzCmHopper(_0x11523e,_0x3bd898,_0x26639c,_0x174e13,_0x3964d3,_0xa8d00a){var _0x15d1df=[_0x042d('0x31'),_0x042d('0x36')+_0xa8d00a+_0x042d('0x37'),_0x042d('0x38'),'cm_contacts.ListId',_0x3bd898+'.'+_0x174e13,_0x042d('0x1a'),_0x042d('0x1b'),_0x042d('0x1c'),_0x042d('0x39'),'\x22'+_0x3964d3+'\x22'];var _0x1b4a5e=squel['insert']()[_0x042d('0x1e')](_0x042d('0x1f'))['fromQuery'](['phone',_0x042d('0x21'),_0x042d('0x22'),'ListId',_0x174e13,_0x042d('0x24'),_0x042d('0x25'),_0x042d('0x26'),_0x042d('0x3a'),_0x042d('0x27')],squel[_0x042d('0x10')]()[_0x042d('0x28')](_0x15d1df)[_0x042d('0x33')](_0x3bd898)[_0x042d('0x13')](_0x042d('0x29'),null,_0x042d('0x34')+_0x3bd898+_0x042d('0x2a'))[_0x042d('0x13')](_0x26639c,null,_0x26639c+_0x042d('0x14')+_0x3bd898+'.'+_0x174e13)[_0x042d('0x13')](_0xa8d00a,null,_0xa8d00a+'.id\x20=\x20'+_0x3bd898+'.'+_0x174e13)[_0x042d('0x15')](_0x3bd898+_0x042d('0x2b'),_0x11523e)[_0x042d('0x15')](_0x042d('0x2c'),NOW)[_0x042d('0x15')](_0x042d('0x2d'),selectNotIn(_0x3bd898,_0x26639c,_0x174e13,_0x042d('0x1f'),[_0x042d('0x2e'),_0x042d('0x2f')]))[_0x042d('0x15')](_0x042d('0x2d'),selectNotIn(_0x3bd898,_0x26639c,_0x174e13,'cm_hopper',['\x22always\x22'])))[_0x042d('0x30')]();return _0x1b4a5e;}function insertTzCmHopperBlack(_0x4437e8,_0x2d6527,_0x5c14b2,_0x2a4e7a){var _0x5c8d9d=[_0x042d('0x31'),_0x042d('0x38'),'cm_contacts.ListId',_0x2d6527+'.'+_0x2a4e7a,'cm_contacts.createdAt',_0x042d('0x1b')];return squel['insert']()[_0x042d('0x1e')](_0x042d('0x32'))[_0x042d('0x20')]([_0x042d('0x12'),_0x042d('0x22'),_0x042d('0x23'),_0x2a4e7a,_0x042d('0x24'),_0x042d('0x25')],squel[_0x042d('0x10')]()[_0x042d('0x28')](_0x5c8d9d)['from'](_0x2d6527)[_0x042d('0x13')]('cm_contacts',null,_0x042d('0x34')+_0x2d6527+_0x042d('0x2a'))[_0x042d('0x13')](_0x5c14b2,null,_0x5c14b2+_0x042d('0x14')+_0x2d6527+'.'+_0x2a4e7a)[_0x042d('0x15')](_0x2d6527+_0x042d('0x2b'),_0x4437e8)[_0x042d('0x15')](_0x042d('0x2c'),NOW)['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x042d('0x10')]()[_0x042d('0x11')]('phone')['from']('cm_hopper_black')[_0x042d('0x15')](_0x042d('0x35'),_0x4437e8)[_0x042d('0x15')](_0x2a4e7a+'\x20=\x20?',_0x2d6527+'.'+_0x2a4e7a)))[_0x042d('0x30')]();}function insertCmContact(_0x13f38a,_0x525682,_0x202a1b,_0x3e0b4e){var _0xe7cd1b=_[_0x042d('0x3b')](_['keys'](_0x3e0b4e),['ListId',_0x042d('0x3c'),'createdAt',_0x042d('0x25')]);return squel['insert']()[_0x042d('0x1e')](_0x042d('0x29'))[_0x042d('0x20')](_0xe7cd1b,squel['select']()[_0x042d('0x28')](_0xe7cd1b)[_0x042d('0x33')](_0x525682)[_0x042d('0x15')]('('+_0x202a1b[_0x042d('0x13')](',')+')\x20NOT\x20IN\x20?',squel['select']()['fields'](_0x202a1b)['from'](_0x042d('0x29'))['where'](_0x042d('0x35'),_0x13f38a)[_0x042d('0x15')](_0x042d('0x3d')))[_0x042d('0x15')](_0x042d('0x3e'),squel['select']()[_0x042d('0x11')]('MIN(id)',_0x042d('0x3f'))[_0x042d('0x33')](_0x525682)[_0x042d('0x40')](_0x202a1b[_0x042d('0x13')](','))))[_0x042d('0x30')]();}function handleStop(){logger[_0x042d('0x41')](_0x042d('0x42'));stopped=!![];}function handleUncaughtException(_0x20392c){logger[_0x042d('0x43')](_0x20392c[_0x042d('0x44')]);process[_0x042d('0x45')](0x1);}function handleError(_0x4cf44f,_0x2d6a11){stats['errors'][_0x042d('0x46')]({'name':_0x2d6a11[_0x042d('0x47')],'message':_0x2d6a11[_0x042d('0x44')],'row':_0x4cf44f});}function handleQuery(_0x4bf94a){logger[_0x042d('0x41')](_0x4bf94a);return db[_0x042d('0x48')]['query'](_0x4bf94a)[_0x042d('0x49')](function(_0x17a691){results['push'](_0x17a691);})[_0x042d('0x4a')](function(_0x4d4a22){logger['error'](_0x4d4a22[_0x042d('0x44')]);});}function updateTzCampaigns(_0x35445e){return new Promise(function(_0xd2bcf3,_0x59debb){var _0x418903=squel[_0x042d('0x10')]()[_0x042d('0x28')](['campaigns.id',_0x042d('0x4b')])[_0x042d('0x33')](_0x042d('0x4c'))[_0x042d('0x13')](_0x042d('0x4d'),null,_0x042d('0x4e'))[_0x042d('0x15')]('campaigns_has_cm_lists.CmListId='+_0x35445e);db[_0x042d('0x48')][_0x042d('0x4f')](_0x418903[_0x042d('0x30')]())[_0x042d('0x49')](function(_0x37ac86){var _0x53ca23=[];for(var _0x157df1=0x0;_0x157df1<_0x37ac86[_0x042d('0x50')];_0x157df1++){_0x53ca23[_0x042d('0x46')](getTimezoneData(_0x37ac86[_0x157df1],tmp_campaigns));}BPromise[_0x042d('0x51')](_0x53ca23)[_0x042d('0x52')](function(){_0xd2bcf3({'val':0x1});});})['catch'](function(_0x468228){logger[_0x042d('0x43')](_0x468228[_0x042d('0x44')]);_0xd2bcf3({'val':0x0});});});}function updateTzVoiceQueues(_0x346c0a){return new Promise(function(_0x5076bb,_0x2a8537){var _0x9b9bd3=squel[_0x042d('0x10')]()['fields']([_0x042d('0x53'),_0x042d('0x54')])[_0x042d('0x33')](_0x042d('0x55'))[_0x042d('0x13')](_0x042d('0x56'),null,_0x042d('0x57'))[_0x042d('0x15')]('voice_queues_has_cm_lists.CmListId='+_0x346c0a);db[_0x042d('0x48')][_0x042d('0x4f')](_0x9b9bd3['toString']())[_0x042d('0x49')](function(_0x3b11c2){var _0x4af79e=[];for(var _0x252608=0x0;_0x252608<_0x3b11c2[_0x042d('0x50')];_0x252608++){_0x4af79e[_0x042d('0x46')](getTimezoneData(_0x3b11c2[_0x252608],tmp_voice_queues));}BPromise[_0x042d('0x51')](_0x4af79e)[_0x042d('0x52')](function(){_0x5076bb({'val':0x1});});})[_0x042d('0x4a')](function(_0x5cfc1a){logger[_0x042d('0x43')](_0x5cfc1a[_0x042d('0x44')]);_0x5076bb({'val':0x0});});});}function getTimezoneData(_0x542a1f,_0x30d6e7){return new Promise(function(_0x2a27c1,_0x452b9b){var _0xe31703=shared['timezones'];var _0x57d3c6=_0xe31703[_0x542a1f[_0x042d('0x58')]];if(_[_0x042d('0x59')](_0x57d3c6)){_0x2a27c1({'ret':0x1});}else{var _0x51d7c7=_0x57d3c6[_0x042d('0x5a')];var _0x4e1674=squel[_0x042d('0x1d')]()[_0x042d('0x1e')](_0x30d6e7)[_0x042d('0x5b')]('id',_0x542a1f['id'])[_0x042d('0x5b')](_0x042d('0x5c'),_0x51d7c7)[_0x042d('0x5b')]('dialTimezone',_0x542a1f[_0x042d('0x58')])[_0x042d('0x30')]();return db[_0x042d('0x48')][_0x042d('0x4f')](_0x4e1674)[_0x042d('0x49')](function(_0x237125){_0x2a27c1({'ret':0x1});})['catch'](function(_0x62436c){logger[_0x042d('0x43')](_0x62436c['message']);_0x452b9b({'ret':0x1});});}});}function handleTZQuery(_0x1ae8d8){logger['info'](_0x1ae8d8);return db[_0x042d('0x48')][_0x042d('0x4f')](_0x1ae8d8)[_0x042d('0x49')](function(_0x6699fd){})[_0x042d('0x4a')](function(_0x58a48f){logger[_0x042d('0x43')](_0x58a48f['message']);});}function main(_0x12176f,_0x3a47ed,_0x53507c,_0x82365b){logger[_0x042d('0x41')]('main',_0x12176f,JSON[_0x042d('0x5d')](_0x3a47ed));process[_0x042d('0x5e')](_0x042d('0x5f'));var _0x10ceac=_0x3a47ed[_0x042d('0x60')];var _0x2df637=_0x3a47ed[_0x042d('0x61')];var _0x1c647c=path[_0x042d('0x13')](config[_0x042d('0x62')],_0x042d('0x63'),_0x2df637+_0x042d('0x64'));hasTZ=_['keys'](_0x10ceac)[_0x042d('0x65')](_0x042d('0x58'));var _0x22b6e9=_[_0x042d('0x66')](_0x10ceac)[_0x042d('0x13')]();logger['info'](_0x042d('0x67'),_0x22b6e9);if(hasTZ)_0x22b6e9+=_0x042d('0x68');fs[_0x042d('0x69')](_0x1c647c,_0x22b6e9+'\x0a');Papa[_0x042d('0x6a')](fs['createReadStream'](_0x12176f),{'header':!![],'skipEmptyLines':!![],'step':function(_0x2de919,_0x4a0f3a){try{for(var _0x14880f=0x0,_0x30ff33=[];_0x14880f<_0x2de919[_0x042d('0x6b')][_0x042d('0x50')];_0x14880f++){stats[_0x042d('0x6c')]+=0x1;if(_0x2de919[_0x042d('0x6d')][_0x14880f]){handleError(_0x2de919['data'][_0x14880f],_0x2de919[_0x042d('0x6d')][_0x14880f]);}else{var _0x472484=[];for(var _0x4e4132 in _0x10ceac){if(_0x10ceac[_0x042d('0x6e')](_0x4e4132)){if(_0x2de919[_0x042d('0x6b')][_0x14880f][_0x10ceac[_0x4e4132]]){var _0x537b09=_[_0x042d('0x6f')](_0x2de919[_0x042d('0x6b')][_0x14880f][_0x10ceac[_0x4e4132]][_0x042d('0x70')](/"/g,'\x27'));switch(_0x4e4132){case _0x042d('0x21'):var _0x1f8360=moment(_0x537b09,_0x042d('0xe'),!![]);if(_0x1f8360['isValid']()){_0x30ff33[_0x042d('0x46')]('\x22'+_0x537b09+'\x22');}else{_0x472484[_0x042d('0x46')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case'priority':var _0x27e393=parseInt(_0x537b09);_0x537b09=_[_0x042d('0x71')](_0x27e393)||_0x27e393<0x0||_0x27e393>0x4?_0x82365b?0x3:0x2:_0x27e393;_0x30ff33[_0x042d('0x46')]('\x22'+_0x537b09+'\x22');break;case _0x042d('0x3a'):var _0x35a3f4=parseInt(_0x537b09);if(_[_0x042d('0x72')](_0x35a3f4)&&_[_0x042d('0x65')](_0x53507c,_0x35a3f4)){_0x30ff33[_0x042d('0x46')]('\x22'+_0x35a3f4+'\x22');}else{_0x472484[_0x042d('0x46')]('agent\x20not\x20exists');}break;case'email':if(isEmail(_0x537b09)){_0x30ff33[_0x042d('0x46')]('\x22'+_0x537b09+'\x22');}else{_0x472484[_0x042d('0x46')]('email\x20wrong\x20format');}break;case _0x042d('0x73'):var _0x51b904=moment(_0x537b09,_0x042d('0x74'),!![]);if(_0x51b904[_0x042d('0x75')]()){_0x30ff33[_0x042d('0x46')]('\x22'+_0x537b09+'\x22');}else{_0x472484[_0x042d('0x46')](_0x042d('0x76'));}break;case _0x042d('0x58'):var _0x24ff27=shared['timezones'];var _0x510b82=_0x24ff27[_0x537b09];if(!_[_0x042d('0x59')](_0x510b82)){var _0x493451=_0x510b82[_0x042d('0x5a')];_0x30ff33['push']('\x22'+_0x537b09+'\x22');_0x30ff33[_0x042d('0x46')]('\x22'+_0x493451+'\x22');}break;default:_0x30ff33['push']('\x22'+_0x537b09+'\x22');}}else{switch(_0x4e4132){case'firstName':case _0x042d('0x12'):_0x472484[_0x042d('0x46')](_0x4e4132+_0x042d('0x77'));break;default:_0x30ff33[_0x042d('0x46')]('\x22\x22');}}}}if(_0x472484[_0x042d('0x50')]){handleError(_0x2de919[_0x042d('0x6b')][_0x14880f],{'code':_0x042d('0x78'),'message':_0x472484[_0x042d('0x13')]()});}else{fs[_0x042d('0x79')](_0x1c647c,_0x30ff33['join']()+'\x0a');}_0x30ff33=[];}if(!(stats[_0x042d('0x6c')]%0xc8)){socket[_0x042d('0x7a')](_0x042d('0x7b')+_0x2df637,stats);stats[_0x042d('0x6d')]=[];}}if(stopped){logger[_0x042d('0x41')](_0x042d('0x7c'));_0x4a0f3a['abort']();}}catch(_0x3a6972){handleError(_0x2de919[_0x042d('0x6b')][_0x14880f],{'code':_0x042d('0x7d'),'message':_0x3a6972['message']});logger[_0x042d('0x43')]('step',_0x3a6972['message']);}},'complete':function(){try{var _0x1e1065=[];var _0x48382f=[];var _0x53e873='cm_contacts';if(_0x3a47ed[_0x042d('0x7e')]&&_0x3a47ed[_0x042d('0x7e')][_0x042d('0x50')]){_0x53e873=_0x042d('0x7f')+_0x2df637;_0x1e1065[_0x042d('0x46')]('CREATE\x20TABLE\x20'+_0x53e873+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0x042d('0x80')+_0x2df637;tmp_voice_queues=_0x042d('0x81')+_0x2df637;_0x48382f[_0x042d('0x46')]('CREATE\x20TABLE\x20'+tmp_campaigns+_0x042d('0x82'));_0x48382f[_0x042d('0x46')](_0x042d('0x83')+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise['each'](_0x48382f,handleTZQuery)[_0x042d('0x52')](function(_0x4d4838){updateTzCampaigns(_0x3a47ed['ListId'])['then'](function(_0x1c1131){updateTzVoiceQueues(_0x3a47ed[_0x042d('0x23')])[_0x042d('0x52')](function(_0x206fdd){var _0x236715=util[_0x042d('0x84')](_0x042d('0x85'),_0x1c647c,_0x53e873,_0x22b6e9,_0x3a47ed[_0x042d('0x23')],_0x3a47ed[_0x042d('0x3c')]||null,NOW,NOW);if(_[_0x042d('0x59')](_0x10ceac[_0x042d('0x21')])){_0x236715+=_0x042d('0x86');}_0x1e1065[_0x042d('0x46')](_0x236715);if(_0x3a47ed[_0x042d('0x7e')]&&_0x3a47ed['duplicates']['length']){_0x1e1065[_0x042d('0x46')](insertCmContact(_0x3a47ed[_0x042d('0x23')],_0x53e873,_0x3a47ed[_0x042d('0x7e')],_0x10ceac));_0x1e1065[_0x042d('0x46')](_0x042d('0x87')+_0x53e873+';');}if(hasTZ){_0x1e1065[_0x042d('0x46')](insertTzCmHopper(_0x3a47ed[_0x042d('0x23')],'voice_queues_has_cm_lists',_0x042d('0x55'),_0x042d('0x88'),_0x82365b,tmp_voice_queues));_0x1e1065[_0x042d('0x46')](insertTzCmHopperBlack(_0x3a47ed[_0x042d('0x23')],_0x042d('0x89'),_0x042d('0x55'),'VoiceQueueId'));_0x1e1065[_0x042d('0x46')](insertTzCmHopper(_0x3a47ed[_0x042d('0x23')],_0x042d('0x4d'),'campaigns',_0x042d('0x8a'),_0x82365b,tmp_campaigns));_0x1e1065['push'](insertTzCmHopperBlack(_0x3a47ed[_0x042d('0x23')],_0x042d('0x8b'),'campaigns',_0x042d('0x8a')));}else{_0x1e1065['push'](insertCmHopper(_0x3a47ed[_0x042d('0x23')],_0x042d('0x56'),_0x042d('0x55'),'VoiceQueueId',_0x82365b));_0x1e1065[_0x042d('0x46')](insertCmHopperBlack(_0x3a47ed[_0x042d('0x23')],_0x042d('0x89'),'voice_queues','VoiceQueueId'));_0x1e1065[_0x042d('0x46')](insertCmHopper(_0x3a47ed['ListId'],_0x042d('0x4d'),'campaigns',_0x042d('0x8a'),_0x82365b));_0x1e1065['push'](insertCmHopperBlack(_0x3a47ed[_0x042d('0x23')],_0x042d('0x8b'),'campaigns',_0x042d('0x8a')));}_0x1e1065[_0x042d('0x46')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x1e1065[_0x042d('0x46')](_0x042d('0x87')+tmp_voice_queues+';');BPromise['each'](_0x1e1065,handleQuery)['then'](function(_0x1edec7){stats[_0x042d('0x8c')]=!![];stats[_0x042d('0x8d')]=_0x3a47ed[_0x042d('0x7e')]&&_0x3a47ed[_0x042d('0x7e')][_0x042d('0x50')]?results[0x2]['affectedRows']:results[0x0][_0x042d('0x8d')];socket[_0x042d('0x7a')]('contact:import:'+_0x2df637,stats);fs[_0x042d('0x8e')](_0x12176f);fs['unlink'](_0x1c647c);process[_0x042d('0x45')](0x0);})[_0x042d('0x4a')](function(_0x1a84f0){logger[_0x042d('0x43')](_0x1a84f0[_0x042d('0x44')]);process[_0x042d('0x45')](0x1);});});});});}catch(_0x51a775){logger[_0x042d('0x43')](_0x042d('0x8f'),_0x51a775[_0x042d('0x44')]);process[_0x042d('0x45')](0x1);}},'error':function(_0x2091f3,_0x4e332b,_0x3fb4ac,_0x125a80){throw new Error(_0x125a80);}});}function validate(){if(process[_0x042d('0x90')]&&process[_0x042d('0x90')][_0x042d('0x50')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x40565e=path[_0x042d('0x13')](config['root'],_0x042d('0x63'),process[_0x042d('0x90')][0x2]);if(!fs[_0x042d('0x91')](_0x40565e)){throw new Error(_0x042d('0x92'));}var _0x392f32={};try{_0x392f32=JSON['parse'](process['argv'][0x3]);if(!_0x392f32[_0x042d('0x60')]){throw new Error('binding\x20doesn\x27t\x20exists');}if(!_0x392f32[_0x042d('0x60')][_0x042d('0x12')]){throw new Error(_0x042d('0x93'));}if(!_0x392f32[_0x042d('0x60')]['firstName']){throw new Error(_0x042d('0x94'));}var _0x1e2e71=0x0;if(_0x392f32[_0x042d('0x60')]['UserId']){_0x1e2e71=0x1;}if(!_0x392f32[_0x042d('0x23')]){throw new Error(_0x042d('0x95'));}}catch(_0x4a236f){throw new Error(_0x042d('0x96'));}var _0x4fc28c=[];try{_0x4fc28c=_[_0x042d('0x97')](JSON['parse'](process[_0x042d('0x90')][0x4]),'id');}catch(_0x6912a7){logger[_0x042d('0x41')]('No\x20agent\x20available');}main(_0x40565e,_0x392f32,_0x4fc28c,_0x1e2e71);}validate();process['on'](_0x042d('0x98'),handleStop);process['on'](_0x042d('0x99'),handleUncaughtException);