Built motion from commit 87cd5f02.|2.5.48
[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 _0x3833=['ListId','createdAt','updatedAt','UserId','recallme','fields','from','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_contacts.phone','cm_contacts.createdAt','into','cm_hopper_black','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','field','ListId\x20=\x20?','\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','concat','CompanyId',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','error','message','push','code','sequelize','query','spread','catch','campaigns.id','campaigns','campaigns_has_cm_lists','campaigns_has_cm_lists.CmListId=','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','voice_queues_has_cm_lists.CmListId=','dialTimezone','utcOffset','set','info','main','stringify','send','start','binding','socket_timestamp','root','server/files/tmp','.csv','keys','header',',utcOffset','writeFileSync','parse','errors','trim','data','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','priority','isNaN','isNumber','includes','agent\x20not\x20exists','email','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','timezones','firstName','\x20not\x20specified','emit','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','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','isNil',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_blacklists','CampaignId','affectedRows','unlink','exit','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','uncaughtException','path','lodash','util','moment','squel','ioredis','../../../mysqldb','../../../config/environment/shared','../../../config/logger','import','defaults','redis','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','phone','join','.id\x20=\x20','where','\x20=\x20','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','cm_hopper','fromQuery','scheduledat','ContactId'];(function(_0x39caaa,_0x1f37bc){var _0x9b9c7d=function(_0x2da02c){while(--_0x2da02c){_0x39caaa['push'](_0x39caaa['shift']());}};_0x9b9c7d(++_0x1f37bc);}(_0x3833,0x117));var _0x3383=function(_0x50aa2e,_0xfbd6f0){_0x50aa2e=_0x50aa2e-0x0;var _0x5e07f0=_0x3833[_0x50aa2e];return _0x5e07f0;};'use strict';var fs=require('fs');var path=require(_0x3383('0x0'));var _=require(_0x3383('0x1'));var Papa=require('papaparse');var util=require(_0x3383('0x2'));var BPromise=require('bluebird');var moment=require(_0x3383('0x3'));var squel=require(_0x3383('0x4'));var Redis=require(_0x3383('0x5'));var db=require(_0x3383('0x6'))['db'];var config=require('../../../config/environment');var shared=require(_0x3383('0x7'));var logger=require(_0x3383('0x8'))(_0x3383('0x9'));config['redis']=_[_0x3383('0xa')](config[_0x3383('0xb')],{'host':'localhost','port':0x18eb});var socket=require(_0x3383('0xc'))(new Redis(config['redis']));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()[_0x3383('0xd')](_0x3383('0xe'));function isEmail(_0x422b44){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))*$/[_0x3383('0xf')](_0x422b44);}function selectNotIn(_0x43533e,_0x2ccf94,_0x5de7cb,_0xc7c991,_0x294458){return squel[_0x3383('0x10')]()['field'](_0x3383('0x11'))['from'](_0xc7c991)[_0x3383('0x12')](_0x2ccf94,null,_0x2ccf94+_0x3383('0x13')+_0xc7c991+'.'+_0x5de7cb)[_0x3383('0x14')](_0xc7c991+'.'+_0x5de7cb+_0x3383('0x15')+_0x43533e+'.'+_0x5de7cb)[_0x3383('0x14')](_0x2ccf94+'.dialCheckDuplicateType\x20IN\x20('+_0x294458[_0x3383('0x12')]()+')');}function insertCmHopper(_0x1d61e8,_0x1a7fdb,_0x121243,_0x387324,_0x35922c){var _0x3122fa=['cm_contacts.phone',_0x3383('0x16'),_0x3383('0x17'),_0x3383('0x18'),_0x1a7fdb+'.'+_0x387324,'cm_contacts.createdAt',_0x3383('0x19'),_0x3383('0x1a'),_0x3383('0x1b'),'\x22'+_0x35922c+'\x22'];return squel[_0x3383('0x1c')]()['into'](_0x3383('0x1d'))[_0x3383('0x1e')]([_0x3383('0x11'),_0x3383('0x1f'),_0x3383('0x20'),_0x3383('0x21'),_0x387324,_0x3383('0x22'),_0x3383('0x23'),'priority',_0x3383('0x24'),_0x3383('0x25')],squel['select']()[_0x3383('0x26')](_0x3122fa)[_0x3383('0x27')](_0x1a7fdb)[_0x3383('0x12')](_0x3383('0x28'),null,_0x3383('0x29')+_0x1a7fdb+_0x3383('0x2a'))[_0x3383('0x12')](_0x121243,null,_0x121243+_0x3383('0x13')+_0x1a7fdb+'.'+_0x387324)['where'](_0x1a7fdb+'.CmListId\x20=\x20?',_0x1d61e8)[_0x3383('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x3383('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x1a7fdb,_0x121243,_0x387324,_0x3383('0x1d'),[_0x3383('0x2b'),_0x3383('0x2c')]))[_0x3383('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x1a7fdb,_0x121243,_0x387324,'cm_hopper',[_0x3383('0x2b')])))[_0x3383('0x2d')]();}function insertCmHopperBlack(_0xf20588,_0x5bed38,_0x1c360c,_0x5c805c){var _0x127946=[_0x3383('0x2e'),_0x3383('0x17'),'cm_contacts.ListId',_0x5bed38+'.'+_0x5c805c,_0x3383('0x2f'),_0x3383('0x19')];return squel[_0x3383('0x1c')]()[_0x3383('0x30')](_0x3383('0x31'))[_0x3383('0x1e')]([_0x3383('0x11'),'ContactId',_0x3383('0x21'),_0x5c805c,'createdAt',_0x3383('0x23')],squel['select']()['fields'](_0x127946)[_0x3383('0x27')](_0x5bed38)[_0x3383('0x12')]('cm_contacts',null,_0x3383('0x29')+_0x5bed38+_0x3383('0x2a'))[_0x3383('0x12')](_0x1c360c,null,_0x1c360c+_0x3383('0x13')+_0x5bed38+'.'+_0x5c805c)[_0x3383('0x14')](_0x5bed38+_0x3383('0x32'),_0xf20588)[_0x3383('0x14')](_0x3383('0x33'),NOW)[_0x3383('0x14')](_0x3383('0x34'),squel[_0x3383('0x10')]()[_0x3383('0x35')](_0x3383('0x11'))[_0x3383('0x27')](_0x3383('0x31'))[_0x3383('0x14')](_0x3383('0x36'),_0xf20588)['where'](_0x5c805c+_0x3383('0x37'),_0x5bed38+'.'+_0x5c805c)))[_0x3383('0x2d')]();}function insertTzCmHopper(_0x1f7c67,_0x4e5d38,_0x280d0d,_0x429aec,_0x406fb4,_0x16b533){var _0x43d221=['cm_contacts.phone',_0x3383('0x38')+_0x16b533+_0x3383('0x39'),'cm_contacts.id','cm_contacts.ListId',_0x4e5d38+'.'+_0x429aec,_0x3383('0x2f'),_0x3383('0x19'),'cm_contacts.priority',_0x3383('0x1b'),'\x22'+_0x406fb4+'\x22'];var _0x49674a=squel['insert']()[_0x3383('0x30')](_0x3383('0x1d'))[_0x3383('0x1e')]([_0x3383('0x11'),_0x3383('0x1f'),'ContactId','ListId',_0x429aec,_0x3383('0x22'),_0x3383('0x23'),'priority','UserId',_0x3383('0x25')],squel['select']()[_0x3383('0x26')](_0x43d221)['from'](_0x4e5d38)[_0x3383('0x12')](_0x3383('0x28'),null,_0x3383('0x29')+_0x4e5d38+'.CmListId')[_0x3383('0x12')](_0x280d0d,null,_0x280d0d+_0x3383('0x13')+_0x4e5d38+'.'+_0x429aec)[_0x3383('0x12')](_0x16b533,null,_0x16b533+_0x3383('0x13')+_0x4e5d38+'.'+_0x429aec)[_0x3383('0x14')](_0x4e5d38+_0x3383('0x32'),_0x1f7c67)[_0x3383('0x14')](_0x3383('0x33'),NOW)[_0x3383('0x14')](_0x3383('0x34'),selectNotIn(_0x4e5d38,_0x280d0d,_0x429aec,'cm_hopper',[_0x3383('0x2b'),_0x3383('0x2c')]))[_0x3383('0x14')](_0x3383('0x34'),selectNotIn(_0x4e5d38,_0x280d0d,_0x429aec,_0x3383('0x1d'),['\x22always\x22'])))[_0x3383('0x2d')]();return _0x49674a;}function insertTzCmHopperBlack(_0x21d347,_0xcd2946,_0x11e155,_0x4a4b2a){var _0x57072b=[_0x3383('0x2e'),_0x3383('0x17'),_0x3383('0x18'),_0xcd2946+'.'+_0x4a4b2a,'cm_contacts.createdAt',_0x3383('0x19')];return squel[_0x3383('0x1c')]()['into'](_0x3383('0x31'))['fromQuery']([_0x3383('0x11'),'ContactId',_0x3383('0x21'),_0x4a4b2a,'createdAt','updatedAt'],squel['select']()[_0x3383('0x26')](_0x57072b)[_0x3383('0x27')](_0xcd2946)[_0x3383('0x12')]('cm_contacts',null,_0x3383('0x29')+_0xcd2946+_0x3383('0x2a'))['join'](_0x11e155,null,_0x11e155+_0x3383('0x13')+_0xcd2946+'.'+_0x4a4b2a)[_0x3383('0x14')](_0xcd2946+_0x3383('0x32'),_0x21d347)[_0x3383('0x14')](_0x3383('0x33'),NOW)[_0x3383('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel['select']()[_0x3383('0x35')](_0x3383('0x11'))[_0x3383('0x27')](_0x3383('0x31'))[_0x3383('0x14')](_0x3383('0x36'),_0x21d347)[_0x3383('0x14')](_0x4a4b2a+_0x3383('0x37'),_0xcd2946+'.'+_0x4a4b2a)))['toString']();}function insertCmContact(_0x5bc0e1,_0x831b65,_0x5553ce,_0x340917){var _0x5e689e=_[_0x3383('0x3a')](_['keys'](_0x340917),[_0x3383('0x21'),_0x3383('0x3b'),_0x3383('0x22'),_0x3383('0x23')]);return squel[_0x3383('0x1c')]()[_0x3383('0x30')](_0x3383('0x28'))[_0x3383('0x1e')](_0x5e689e,squel[_0x3383('0x10')]()[_0x3383('0x26')](_0x5e689e)['from'](_0x831b65)[_0x3383('0x14')]('('+_0x5553ce[_0x3383('0x12')](',')+_0x3383('0x3c'),squel[_0x3383('0x10')]()['fields'](_0x5553ce)[_0x3383('0x27')]('cm_contacts')[_0x3383('0x14')]('ListId\x20=\x20?',_0x5bc0e1)[_0x3383('0x14')](_0x3383('0x3d')))[_0x3383('0x14')](_0x3383('0x3e'),squel[_0x3383('0x10')]()[_0x3383('0x35')](_0x3383('0x3f'),_0x3383('0x40'))['from'](_0x831b65)['group'](_0x5553ce[_0x3383('0x12')](','))))[_0x3383('0x2d')]();}function handleStop(){logger['info']('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x7fb9b1){logger[_0x3383('0x41')](_0x7fb9b1[_0x3383('0x42')]);process['exit'](0x1);}function handleError(_0x6dc398,_0x556efb){stats['errors'][_0x3383('0x43')]({'name':_0x556efb[_0x3383('0x44')],'message':_0x556efb[_0x3383('0x42')],'row':_0x6dc398});}function handleQuery(_0x458894){logger['info'](_0x458894);return db[_0x3383('0x45')][_0x3383('0x46')](_0x458894)[_0x3383('0x47')](function(_0x18a68e){results[_0x3383('0x43')](_0x18a68e);})[_0x3383('0x48')](function(_0x103b48){logger[_0x3383('0x41')](_0x103b48[_0x3383('0x42')]);});}function updateTzCampaigns(_0x3d7490){return new Promise(function(_0x47bac6,_0x468443){var _0x315397=squel['select']()['fields']([_0x3383('0x49'),'campaigns.dialTimezone'])[_0x3383('0x27')](_0x3383('0x4a'))[_0x3383('0x12')](_0x3383('0x4b'),null,'campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId')[_0x3383('0x14')](_0x3383('0x4c')+_0x3d7490);db['sequelize'][_0x3383('0x46')](_0x315397[_0x3383('0x2d')]())['spread'](function(_0x5b2d44){var _0x52aed5=[];for(var _0x4972fb=0x0;_0x4972fb<_0x5b2d44[_0x3383('0x4d')];_0x4972fb++){_0x52aed5[_0x3383('0x43')](getTimezoneData(_0x5b2d44[_0x4972fb],tmp_campaigns));}BPromise['all'](_0x52aed5)[_0x3383('0x4e')](function(){_0x47bac6({'val':0x1});});})[_0x3383('0x48')](function(_0x84fc7c){logger[_0x3383('0x41')](_0x84fc7c[_0x3383('0x42')]);_0x47bac6({'val':0x0});});});}function updateTzVoiceQueues(_0x511c1b){return new Promise(function(_0x1e9673,_0x227aa7){var _0x39f4f2=squel[_0x3383('0x10')]()['fields']([_0x3383('0x4f'),_0x3383('0x50')])[_0x3383('0x27')](_0x3383('0x51'))[_0x3383('0x12')](_0x3383('0x52'),null,_0x3383('0x53'))['where'](_0x3383('0x54')+_0x511c1b);db[_0x3383('0x45')][_0x3383('0x46')](_0x39f4f2['toString']())[_0x3383('0x47')](function(_0x48504e){var _0xaa5b8e=[];for(var _0x292d81=0x0;_0x292d81<_0x48504e[_0x3383('0x4d')];_0x292d81++){_0xaa5b8e[_0x3383('0x43')](getTimezoneData(_0x48504e[_0x292d81],tmp_voice_queues));}BPromise['all'](_0xaa5b8e)[_0x3383('0x4e')](function(){_0x1e9673({'val':0x1});});})[_0x3383('0x48')](function(_0x1ba5d3){logger['error'](_0x1ba5d3[_0x3383('0x42')]);_0x1e9673({'val':0x0});});});}function getTimezoneData(_0x336498,_0x3c56dc){return new Promise(function(_0x29c686,_0x56df0f){var _0x37d90d=shared['timezones'];var _0x3cec92=_0x37d90d[_0x336498[_0x3383('0x55')]];if(_['isNil'](_0x3cec92)){_0x29c686({'ret':0x1});}else{var _0x43f089=_0x3cec92[_0x3383('0x56')];var _0x4acf04=squel['insert']()['into'](_0x3c56dc)['set']('id',_0x336498['id'])[_0x3383('0x57')]('offset',_0x43f089)['set']('dialTimezone',_0x336498['dialTimezone'])[_0x3383('0x2d')]();return db[_0x3383('0x45')][_0x3383('0x46')](_0x4acf04)[_0x3383('0x47')](function(_0x2b2c19){_0x29c686({'ret':0x1});})['catch'](function(_0x642c4e){logger[_0x3383('0x41')](_0x642c4e[_0x3383('0x42')]);_0x56df0f({'ret':0x1});});}});}function handleTZQuery(_0x5ad6d1){logger['info'](_0x5ad6d1);return db[_0x3383('0x45')][_0x3383('0x46')](_0x5ad6d1)[_0x3383('0x47')](function(_0x1e7b1c){})[_0x3383('0x48')](function(_0x241f14){logger[_0x3383('0x41')](_0x241f14[_0x3383('0x42')]);});}function main(_0x7b9004,_0x333c92,_0x164f48,_0xab5454){logger[_0x3383('0x58')](_0x3383('0x59'),_0x7b9004,JSON[_0x3383('0x5a')](_0x333c92));process[_0x3383('0x5b')](_0x3383('0x5c'));var _0x5f6b30=_0x333c92[_0x3383('0x5d')];var _0x50ee8a=_0x333c92[_0x3383('0x5e')];var _0x6e73fa=path['join'](config[_0x3383('0x5f')],_0x3383('0x60'),_0x50ee8a+_0x3383('0x61'));hasTZ=_[_0x3383('0x62')](_0x5f6b30)['includes'](_0x3383('0x55'));var _0x489f31=_[_0x3383('0x62')](_0x5f6b30)[_0x3383('0x12')]();logger[_0x3383('0x58')](_0x3383('0x63'),_0x489f31);if(hasTZ)_0x489f31+=_0x3383('0x64');fs[_0x3383('0x65')](_0x6e73fa,_0x489f31+'\x0a');Papa[_0x3383('0x66')](fs['createReadStream'](_0x7b9004),{'header':!![],'skipEmptyLines':!![],'step':function(_0x27a0bd,_0x23ed03){try{for(var _0x926b53=0x0,_0xb9cd83=[];_0x926b53<_0x27a0bd['data']['length'];_0x926b53++){stats['rows']+=0x1;if(_0x27a0bd[_0x3383('0x67')][_0x926b53]){handleError(_0x27a0bd['data'][_0x926b53],_0x27a0bd[_0x3383('0x67')][_0x926b53]);}else{var _0x393f8d=[];for(var _0x34c2bb in _0x5f6b30){if(_0x5f6b30['hasOwnProperty'](_0x34c2bb)){if(_0x27a0bd['data'][_0x926b53][_0x5f6b30[_0x34c2bb]]){var _0x11a514=_[_0x3383('0x68')](_0x27a0bd[_0x3383('0x69')][_0x926b53][_0x5f6b30[_0x34c2bb]][_0x3383('0x6a')](/"/g,'\x27'));switch(_0x34c2bb){case _0x3383('0x1f'):var _0x259195=moment(_0x11a514,_0x3383('0xe'),!![]);if(_0x259195[_0x3383('0x6b')]()){_0xb9cd83['push']('\x22'+_0x11a514+'\x22');}else{_0x393f8d[_0x3383('0x43')](_0x3383('0x6c'));}break;case _0x3383('0x6d'):var _0x1a42e0=parseInt(_0x11a514);_0x11a514=_[_0x3383('0x6e')](_0x1a42e0)||_0x1a42e0<0x0||_0x1a42e0>0x4?_0xab5454?0x3:0x2:_0x1a42e0;_0xb9cd83[_0x3383('0x43')]('\x22'+_0x11a514+'\x22');break;case _0x3383('0x24'):var _0x4467e1=parseInt(_0x11a514);if(_[_0x3383('0x6f')](_0x4467e1)&&_[_0x3383('0x70')](_0x164f48,_0x4467e1)){_0xb9cd83[_0x3383('0x43')]('\x22'+_0x4467e1+'\x22');}else{_0x393f8d[_0x3383('0x43')](_0x3383('0x71'));}break;case _0x3383('0x72'):if(isEmail(_0x11a514)){_0xb9cd83[_0x3383('0x43')]('\x22'+_0x11a514+'\x22');}else{_0x393f8d['push']('email\x20wrong\x20format');}break;case _0x3383('0x73'):var _0x50ddc9=moment(_0x11a514,_0x3383('0x74'),!![]);if(_0x50ddc9['isValid']()){_0xb9cd83[_0x3383('0x43')]('\x22'+_0x11a514+'\x22');}else{_0x393f8d[_0x3383('0x43')](_0x3383('0x75'));}break;case _0x3383('0x55'):var _0x95004f=shared[_0x3383('0x76')];var _0x37a434=_0x95004f[_0x11a514];if(!_['isNil'](_0x37a434)){var _0x59083a=_0x37a434[_0x3383('0x56')];_0xb9cd83[_0x3383('0x43')]('\x22'+_0x11a514+'\x22');_0xb9cd83[_0x3383('0x43')]('\x22'+_0x59083a+'\x22');}break;default:_0xb9cd83[_0x3383('0x43')]('\x22'+_0x11a514+'\x22');}}else{switch(_0x34c2bb){case _0x3383('0x77'):case _0x3383('0x11'):_0x393f8d[_0x3383('0x43')](_0x34c2bb+_0x3383('0x78'));break;default:_0xb9cd83[_0x3383('0x43')]('\x22\x22');}}}}if(_0x393f8d['length']){handleError(_0x27a0bd[_0x3383('0x69')][_0x926b53],{'code':'SystemRow','message':_0x393f8d[_0x3383('0x12')]()});}else{fs['appendFileSync'](_0x6e73fa,_0xb9cd83[_0x3383('0x12')]()+'\x0a');}_0xb9cd83=[];}if(!(stats['rows']%0xc8)){socket[_0x3383('0x79')](_0x3383('0x7a')+_0x50ee8a,stats);stats[_0x3383('0x67')]=[];}}if(stopped){logger['info'](_0x3383('0x7b'));_0x23ed03[_0x3383('0x7c')]();}}catch(_0x2399ab){handleError(_0x27a0bd[_0x3383('0x69')][_0x926b53],{'code':_0x3383('0x7d'),'message':_0x2399ab['message']});logger[_0x3383('0x41')](_0x3383('0x7e'),_0x2399ab[_0x3383('0x42')]);}},'complete':function(){try{var _0x1913a8=[];var _0x524983=[];var _0xc6e288='cm_contacts';if(_0x333c92[_0x3383('0x7f')]&&_0x333c92['duplicates'][_0x3383('0x4d')]){_0xc6e288=_0x3383('0x80')+_0x50ee8a;_0x1913a8['push'](_0x3383('0x81')+_0xc6e288+_0x3383('0x82'));}tmp_campaigns=_0x3383('0x83')+_0x50ee8a;tmp_voice_queues=_0x3383('0x84')+_0x50ee8a;_0x524983[_0x3383('0x43')]('CREATE\x20TABLE\x20'+tmp_campaigns+_0x3383('0x85'));_0x524983['push'](_0x3383('0x81')+tmp_voice_queues+_0x3383('0x85'));BPromise[_0x3383('0x86')](_0x524983,handleTZQuery)['then'](function(_0x2ef0dc){updateTzCampaigns(_0x333c92['ListId'])[_0x3383('0x4e')](function(_0x2749bf){updateTzVoiceQueues(_0x333c92[_0x3383('0x21')])[_0x3383('0x4e')](function(_0x4238c4){var _0x5452f5=util[_0x3383('0xd')](_0x3383('0x87'),_0x6e73fa,_0xc6e288,_0x489f31,_0x333c92['ListId'],_0x333c92['CompanyId']||null,NOW,NOW);if(_[_0x3383('0x88')](_0x5f6b30[_0x3383('0x1f')])){_0x5452f5+=_0x3383('0x89');}_0x1913a8[_0x3383('0x43')](_0x5452f5);if(_0x333c92[_0x3383('0x7f')]&&_0x333c92[_0x3383('0x7f')][_0x3383('0x4d')]){_0x1913a8['push'](insertCmContact(_0x333c92[_0x3383('0x21')],_0xc6e288,_0x333c92[_0x3383('0x7f')],_0x5f6b30));_0x1913a8[_0x3383('0x43')](_0x3383('0x8a')+_0xc6e288+';');}if(hasTZ){_0x1913a8[_0x3383('0x43')](insertTzCmHopper(_0x333c92[_0x3383('0x21')],_0x3383('0x52'),_0x3383('0x51'),_0x3383('0x8b'),_0xab5454,tmp_voice_queues));_0x1913a8[_0x3383('0x43')](insertTzCmHopperBlack(_0x333c92[_0x3383('0x21')],_0x3383('0x8c'),_0x3383('0x51'),_0x3383('0x8b')));_0x1913a8[_0x3383('0x43')](insertTzCmHopper(_0x333c92[_0x3383('0x21')],'campaigns_has_cm_lists',_0x3383('0x4a'),'CampaignId',_0xab5454,tmp_campaigns));_0x1913a8[_0x3383('0x43')](insertTzCmHopperBlack(_0x333c92['ListId'],_0x3383('0x8d'),_0x3383('0x4a'),'CampaignId'));}else{_0x1913a8[_0x3383('0x43')](insertCmHopper(_0x333c92[_0x3383('0x21')],_0x3383('0x52'),_0x3383('0x51'),_0x3383('0x8b'),_0xab5454));_0x1913a8[_0x3383('0x43')](insertCmHopperBlack(_0x333c92[_0x3383('0x21')],_0x3383('0x8c'),_0x3383('0x51'),_0x3383('0x8b')));_0x1913a8['push'](insertCmHopper(_0x333c92['ListId'],_0x3383('0x4b'),_0x3383('0x4a'),_0x3383('0x8e'),_0xab5454));_0x1913a8[_0x3383('0x43')](insertCmHopperBlack(_0x333c92[_0x3383('0x21')],_0x3383('0x8d'),_0x3383('0x4a'),_0x3383('0x8e')));}_0x1913a8[_0x3383('0x43')](_0x3383('0x8a')+tmp_campaigns+';');_0x1913a8['push']('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0x3383('0x86')](_0x1913a8,handleQuery)['then'](function(_0x147ebf){stats['finish']=!![];stats[_0x3383('0x8f')]=_0x333c92[_0x3383('0x7f')]&&_0x333c92[_0x3383('0x7f')][_0x3383('0x4d')]?results[0x2][_0x3383('0x8f')]:results[0x0][_0x3383('0x8f')];socket[_0x3383('0x79')](_0x3383('0x7a')+_0x50ee8a,stats);fs['unlink'](_0x7b9004);fs[_0x3383('0x90')](_0x6e73fa);process[_0x3383('0x91')](0x0);})[_0x3383('0x48')](function(_0x5e705b){logger[_0x3383('0x41')](_0x5e705b[_0x3383('0x42')]);process[_0x3383('0x91')](0x1);});});});});}catch(_0x485b2a){logger[_0x3383('0x41')](_0x3383('0x92'),_0x485b2a[_0x3383('0x42')]);process[_0x3383('0x91')](0x1);}},'error':function(_0x454b8d,_0x35dab2,_0x38a047,_0x2ff900){throw new Error(_0x2ff900);}});}function validate(){if(process[_0x3383('0x93')]&&process['argv'][_0x3383('0x4d')]<0x4){throw new Error(_0x3383('0x94'));}var _0x202127=path['join'](config[_0x3383('0x5f')],'server/files/tmp',process['argv'][0x2]);if(!fs[_0x3383('0x95')](_0x202127)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x19d730={};try{_0x19d730=JSON[_0x3383('0x66')](process[_0x3383('0x93')][0x3]);if(!_0x19d730[_0x3383('0x5d')]){throw new Error(_0x3383('0x96'));}if(!_0x19d730[_0x3383('0x5d')][_0x3383('0x11')]){throw new Error(_0x3383('0x97'));}if(!_0x19d730[_0x3383('0x5d')]['firstName']){throw new Error(_0x3383('0x98'));}var _0x2cda63=0x0;if(_0x19d730[_0x3383('0x5d')][_0x3383('0x24')]){_0x2cda63=0x1;}if(!_0x19d730[_0x3383('0x21')]){throw new Error(_0x3383('0x99'));}}catch(_0x49acfe){throw new Error(_0x3383('0x9a'));}var _0x19ba35=[];try{_0x19ba35=_['map'](JSON[_0x3383('0x66')](process[_0x3383('0x93')][0x4]),'id');}catch(_0x4e7704){logger[_0x3383('0x58')]('No\x20agent\x20available');}main(_0x202127,_0x19d730,_0x19ba35,_0x2cda63);}validate();process['on']('SIGINT',handleStop);process['on'](_0x3383('0x9b'),handleUncaughtException);