Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / components / import / cm / csv2.js
index 60537aa..fbc00d7 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6cd1=['spread','catch','message','stringify','send','start','root','.csv','header','writeFileSync','parse','data','length','rows','hasOwnProperty','trim','YYYY-MM-DD\x20HH:mm:ss','isValid','agent\x20not\x20exists','email','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','abort','step','duplicates','cm_contacts_','\x20LIKE\x20cm_contacts;','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','ListId','isNil',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','voice_queues_has_cm_lists','voice_queues','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','CampaignId','campaigns_has_cm_blacklists','each','then','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','server/files/tmp','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','binding','firstName\x20is\x20mandatory','No\x20agent\x20available','SIGINT','uncaughtException','path','papaparse','util','moment','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','redis','defaults','localhost','socket.io-emitter','format','select','field','phone','from','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','cm_hopper','fromQuery','scheduledat','ContactId','createdAt','updatedAt','priority','UserId','recallme','fields','.CmListId','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','toString','into','cm_contacts','cm_contacts.ListId\x20=\x20','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','concat','keys','CompanyId','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','group','Received\x20SIGINT','error','exit','errors','push','code','info','sequelize','query'];(function(_0x596793,_0x25ed76){var _0x4dda00=function(_0x40b9d4){while(--_0x40b9d4){_0x596793['push'](_0x596793['shift']());}};_0x4dda00(++_0x25ed76);}(_0x6cd1,0xbf));var _0x16cd=function(_0x2ace95,_0x186b37){_0x2ace95=_0x2ace95-0x0;var _0x35ecfa=_0x6cd1[_0x2ace95];return _0x35ecfa;};'use strict';var fs=require('fs');var path=require(_0x16cd('0x0'));var _=require('lodash');var Papa=require(_0x16cd('0x1'));var util=require(_0x16cd('0x2'));var BPromise=require('bluebird');var moment=require(_0x16cd('0x3'));var squel=require('squel');var Redis=require(_0x16cd('0x4'));var db=require(_0x16cd('0x5'))['db'];var config=require(_0x16cd('0x6'));var logger=require(_0x16cd('0x7'))('import');config[_0x16cd('0x8')]=_[_0x16cd('0x9')](config['redis'],{'host':_0x16cd('0xa'),'port':0x18eb});var socket=require(_0x16cd('0xb'))(new Redis(config[_0x16cd('0x8')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var NOW=moment()[_0x16cd('0xc')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x20ebc5){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/['test'](_0x20ebc5);}function selectNotIn(_0x214648,_0x423913,_0x5386e3,_0x5e44b3,_0x4f9645){return squel[_0x16cd('0xd')]()[_0x16cd('0xe')](_0x16cd('0xf'))[_0x16cd('0x10')](_0x5e44b3)['join'](_0x423913,null,_0x423913+_0x16cd('0x11')+_0x5e44b3+'.'+_0x5386e3)[_0x16cd('0x12')](_0x5e44b3+'.'+_0x5386e3+_0x16cd('0x13')+_0x214648+'.'+_0x5386e3)[_0x16cd('0x12')](_0x423913+_0x16cd('0x14')+_0x4f9645[_0x16cd('0x15')]()+')');}function insertCmHopper(_0x687f09,_0x2b58bb,_0x15a6f6,_0x50c4ff,_0x143126){var _0x5138e2=[_0x16cd('0x16'),'cm_contacts.scheduledat',_0x16cd('0x17'),_0x16cd('0x18'),_0x2b58bb+'.'+_0x50c4ff,_0x16cd('0x19'),_0x16cd('0x1a'),_0x16cd('0x1b'),_0x16cd('0x1c'),'\x22'+_0x143126+'\x22'];return squel[_0x16cd('0x1d')]()['into'](_0x16cd('0x1e'))[_0x16cd('0x1f')](['phone',_0x16cd('0x20'),_0x16cd('0x21'),'ListId',_0x50c4ff,_0x16cd('0x22'),_0x16cd('0x23'),_0x16cd('0x24'),_0x16cd('0x25'),_0x16cd('0x26')],squel[_0x16cd('0xd')]()[_0x16cd('0x27')](_0x5138e2)['from'](_0x2b58bb)[_0x16cd('0x15')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x2b58bb+_0x16cd('0x28'))[_0x16cd('0x15')](_0x15a6f6,null,_0x15a6f6+_0x16cd('0x11')+_0x2b58bb+'.'+_0x50c4ff)[_0x16cd('0x12')](_0x2b58bb+_0x16cd('0x29'),_0x687f09)[_0x16cd('0x12')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x16cd('0x12')](_0x16cd('0x2a'),selectNotIn(_0x2b58bb,_0x15a6f6,_0x50c4ff,'cm_hopper',[_0x16cd('0x2b'),'\x22onlyIfOpen\x22']))[_0x16cd('0x12')](_0x16cd('0x2a'),selectNotIn(_0x2b58bb,_0x15a6f6,_0x50c4ff,_0x16cd('0x1e'),['\x22always\x22'])))[_0x16cd('0x2c')]();}function insertCmHopperBlack(_0x19a81a,_0x233a48,_0x148ae1,_0x223f4c){var _0x2a4bb4=['cm_contacts.phone',_0x16cd('0x17'),_0x16cd('0x18'),_0x233a48+'.'+_0x223f4c,_0x16cd('0x19'),_0x16cd('0x1a')];return squel[_0x16cd('0x1d')]()[_0x16cd('0x2d')]('cm_hopper_black')[_0x16cd('0x1f')]([_0x16cd('0xf'),_0x16cd('0x21'),'ListId',_0x223f4c,'createdAt',_0x16cd('0x23')],squel[_0x16cd('0xd')]()[_0x16cd('0x27')](_0x2a4bb4)[_0x16cd('0x10')](_0x233a48)[_0x16cd('0x15')](_0x16cd('0x2e'),null,_0x16cd('0x2f')+_0x233a48+'.CmListId')[_0x16cd('0x15')](_0x148ae1,null,_0x148ae1+_0x16cd('0x11')+_0x233a48+'.'+_0x223f4c)[_0x16cd('0x12')](_0x233a48+_0x16cd('0x29'),_0x19a81a)['where'](_0x16cd('0x30'),NOW)[_0x16cd('0x12')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x16cd('0xd')]()['field'](_0x16cd('0xf'))[_0x16cd('0x10')]('cm_hopper_black')[_0x16cd('0x12')](_0x16cd('0x31'),_0x19a81a)[_0x16cd('0x12')](_0x223f4c+'\x20=\x20?',_0x233a48+'.'+_0x223f4c)))[_0x16cd('0x2c')]();}function insertCmContact(_0x461bd9,_0x16f579,_0xb4d27,_0x5c605a){var _0x3b6f50=_[_0x16cd('0x32')](_[_0x16cd('0x33')](_0x5c605a),['ListId',_0x16cd('0x34'),_0x16cd('0x22'),_0x16cd('0x23')]);return squel[_0x16cd('0x1d')]()[_0x16cd('0x2d')](_0x16cd('0x2e'))[_0x16cd('0x1f')](_0x3b6f50,squel['select']()[_0x16cd('0x27')](_0x3b6f50)[_0x16cd('0x10')](_0x16f579)[_0x16cd('0x12')]('('+_0xb4d27['join'](',')+')\x20NOT\x20IN\x20?',squel[_0x16cd('0xd')]()[_0x16cd('0x27')](_0xb4d27)[_0x16cd('0x10')]('cm_contacts')[_0x16cd('0x12')]('ListId\x20=\x20?',_0x461bd9)['where'](_0x16cd('0x35')))[_0x16cd('0x12')](_0x16cd('0x36'),squel[_0x16cd('0xd')]()[_0x16cd('0xe')](_0x16cd('0x37'),_0x16cd('0x38'))[_0x16cd('0x10')](_0x16f579)[_0x16cd('0x39')](_0xb4d27['join'](','))))['toString']();}function handleStop(){logger['info'](_0x16cd('0x3a'));stopped=!![];}function handleUncaughtException(_0x267b9){logger[_0x16cd('0x3b')](_0x267b9['message']);process[_0x16cd('0x3c')](0x1);}function handleError(_0x516ddb,_0x54f30d){stats[_0x16cd('0x3d')][_0x16cd('0x3e')]({'name':_0x54f30d[_0x16cd('0x3f')],'message':_0x54f30d['message'],'row':_0x516ddb});}function handleQuery(_0x56358f){logger[_0x16cd('0x40')](_0x56358f);return db[_0x16cd('0x41')][_0x16cd('0x42')](_0x56358f)[_0x16cd('0x43')](function(_0x58714d){results['push'](_0x58714d);})[_0x16cd('0x44')](function(_0x91758e){logger['error'](_0x91758e[_0x16cd('0x45')]);});}function main(_0x2fc10d,_0x6d0b75,_0x76e34a,_0x3470a5){logger[_0x16cd('0x40')]('main',_0x2fc10d,JSON[_0x16cd('0x46')](_0x6d0b75));process[_0x16cd('0x47')](_0x16cd('0x48'));var _0x973c72=_0x6d0b75['binding'];var _0x20dbe6=_0x6d0b75['socket_timestamp'];var _0x5de7c4=path[_0x16cd('0x15')](config[_0x16cd('0x49')],'server/files/tmp',_0x20dbe6+_0x16cd('0x4a'));var _0x4b094a=_[_0x16cd('0x33')](_0x973c72)[_0x16cd('0x15')]();logger['info'](_0x16cd('0x4b'),_0x4b094a);fs[_0x16cd('0x4c')](_0x5de7c4,_0x4b094a+'\x0a');Papa[_0x16cd('0x4d')](fs['createReadStream'](_0x2fc10d),{'header':!![],'skipEmptyLines':!![],'step':function(_0x29a0c6,_0x1aaa92){try{for(var _0x146833=0x0,_0x1a90b3=[];_0x146833<_0x29a0c6[_0x16cd('0x4e')][_0x16cd('0x4f')];_0x146833++){stats[_0x16cd('0x50')]+=0x1;if(_0x29a0c6[_0x16cd('0x3d')][_0x146833]){handleError(_0x29a0c6[_0x16cd('0x4e')][_0x146833],_0x29a0c6[_0x16cd('0x3d')][_0x146833]);}else{var _0x1524f7=[];for(var _0x29568e in _0x973c72){if(_0x973c72[_0x16cd('0x51')](_0x29568e)){if(_0x29a0c6['data'][_0x146833][_0x973c72[_0x29568e]]){var _0x4ea4bd=_[_0x16cd('0x52')](_0x29a0c6['data'][_0x146833][_0x973c72[_0x29568e]]['replace'](/"/g,'\x27'));switch(_0x29568e){case _0x16cd('0x20'):var _0x14166a=moment(_0x4ea4bd,_0x16cd('0x53'),!![]);if(_0x14166a[_0x16cd('0x54')]()){_0x1a90b3[_0x16cd('0x3e')]('\x22'+_0x4ea4bd+'\x22');}else{_0x1524f7[_0x16cd('0x3e')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x16cd('0x24'):var _0x14bf27=parseInt(_0x4ea4bd);_0x4ea4bd=_['isNaN'](_0x14bf27)||_0x14bf27<0x0||_0x14bf27>0x4?_0x3470a5?0x3:0x2:_0x14bf27;_0x1a90b3['push']('\x22'+_0x4ea4bd+'\x22');break;case _0x16cd('0x25'):var _0x1e125e=parseInt(_0x4ea4bd);if(_['isNumber'](_0x1e125e)&&_['includes'](_0x76e34a,_0x1e125e)){_0x1a90b3['push']('\x22'+_0x1e125e+'\x22');}else{_0x1524f7[_0x16cd('0x3e')](_0x16cd('0x55'));}break;case _0x16cd('0x56'):if(isEmail(_0x4ea4bd)){_0x1a90b3['push']('\x22'+_0x4ea4bd+'\x22');}else{_0x1524f7[_0x16cd('0x3e')]('email\x20wrong\x20format');}break;case'dateOfBirth':var _0x3c3b1b=moment(_0x4ea4bd,_0x16cd('0x57'),!![]);if(_0x3c3b1b[_0x16cd('0x54')]()){_0x1a90b3[_0x16cd('0x3e')]('\x22'+_0x4ea4bd+'\x22');}else{_0x1524f7[_0x16cd('0x3e')](_0x16cd('0x58'));}break;default:_0x1a90b3[_0x16cd('0x3e')]('\x22'+_0x4ea4bd+'\x22');}}else{switch(_0x29568e){case _0x16cd('0x59'):case _0x16cd('0xf'):_0x1524f7[_0x16cd('0x3e')](_0x29568e+_0x16cd('0x5a'));break;default:_0x1a90b3[_0x16cd('0x3e')]('\x22\x22');}}}}if(_0x1524f7[_0x16cd('0x4f')]){handleError(_0x29a0c6['data'][_0x146833],{'code':_0x16cd('0x5b'),'message':_0x1524f7[_0x16cd('0x15')]()});}else{fs[_0x16cd('0x5c')](_0x5de7c4,_0x1a90b3['join']()+'\x0a');}_0x1a90b3=[];}if(!(stats['rows']%0xc8)){socket[_0x16cd('0x5d')](_0x16cd('0x5e')+_0x20dbe6,stats);stats[_0x16cd('0x3d')]=[];}}if(stopped){logger[_0x16cd('0x40')](_0x16cd('0x5f'));_0x1aaa92[_0x16cd('0x60')]();}}catch(_0x3b55c5){handleError(_0x29a0c6[_0x16cd('0x4e')][_0x146833],{'code':'SystemError','message':_0x3b55c5['message']});logger[_0x16cd('0x3b')](_0x16cd('0x61'),_0x3b55c5[_0x16cd('0x45')]);}},'complete':function(){try{var _0x364cb1=[];var _0x215632=_0x16cd('0x2e');if(_0x6d0b75[_0x16cd('0x62')]&&_0x6d0b75['duplicates'][_0x16cd('0x4f')]){_0x215632=_0x16cd('0x63')+_0x20dbe6;_0x364cb1['push']('CREATE\x20TABLE\x20'+_0x215632+_0x16cd('0x64'));}var _0x15bcef=util[_0x16cd('0xc')](_0x16cd('0x65'),_0x5de7c4,_0x215632,_0x4b094a,_0x6d0b75[_0x16cd('0x66')],_0x6d0b75['CompanyId']||null,NOW,NOW);if(_[_0x16cd('0x67')](_0x973c72[_0x16cd('0x20')])){_0x15bcef+=_0x16cd('0x68');}_0x364cb1[_0x16cd('0x3e')](_0x15bcef);if(_0x6d0b75[_0x16cd('0x62')]&&_0x6d0b75[_0x16cd('0x62')][_0x16cd('0x4f')]){_0x364cb1[_0x16cd('0x3e')](insertCmContact(_0x6d0b75[_0x16cd('0x66')],_0x215632,_0x6d0b75[_0x16cd('0x62')],_0x973c72));_0x364cb1['push'](_0x16cd('0x69')+_0x215632+';');}_0x364cb1[_0x16cd('0x3e')](insertCmHopper(_0x6d0b75[_0x16cd('0x66')],_0x16cd('0x6a'),_0x16cd('0x6b'),_0x16cd('0x6c'),_0x3470a5));_0x364cb1[_0x16cd('0x3e')](insertCmHopperBlack(_0x6d0b75['ListId'],_0x16cd('0x6d'),_0x16cd('0x6b'),_0x16cd('0x6c')));_0x364cb1[_0x16cd('0x3e')](insertCmHopper(_0x6d0b75['ListId'],_0x16cd('0x6e'),'campaigns',_0x16cd('0x6f'),_0x3470a5));_0x364cb1['push'](insertCmHopperBlack(_0x6d0b75[_0x16cd('0x66')],_0x16cd('0x70'),'campaigns',_0x16cd('0x6f')));BPromise[_0x16cd('0x71')](_0x364cb1,handleQuery)[_0x16cd('0x72')](function(_0x245679){stats['finish']=!![];stats[_0x16cd('0x73')]=_0x6d0b75[_0x16cd('0x62')]&&_0x6d0b75['duplicates']['length']?results[0x2][_0x16cd('0x73')]:results[0x0][_0x16cd('0x73')];socket[_0x16cd('0x5d')](_0x16cd('0x5e')+_0x20dbe6,stats);fs['unlink'](_0x2fc10d);fs[_0x16cd('0x74')](_0x5de7c4);process[_0x16cd('0x3c')](0x0);})[_0x16cd('0x44')](function(_0x337230){logger[_0x16cd('0x3b')](_0x337230[_0x16cd('0x45')]);process['exit'](0x1);});}catch(_0xbcb7d4){logger['error'](_0x16cd('0x75'),_0xbcb7d4[_0x16cd('0x45')]);process['exit'](0x1);}},'error':function(_0x276e2c,_0x404394,_0x54e150,_0x5cf131){throw new Error(_0x5cf131);}});}function validate(){if(process[_0x16cd('0x76')]&&process[_0x16cd('0x76')][_0x16cd('0x4f')]<0x4){throw new Error(_0x16cd('0x77'));}var _0x51894b=path[_0x16cd('0x15')](config['root'],_0x16cd('0x78'),process[_0x16cd('0x76')][0x2]);if(!fs['existsSync'](_0x51894b)){throw new Error(_0x16cd('0x79'));}var _0x3fc4cd={};try{_0x3fc4cd=JSON['parse'](process[_0x16cd('0x76')][0x3]);if(!_0x3fc4cd['binding']){throw new Error(_0x16cd('0x7a'));}if(!_0x3fc4cd['binding'][_0x16cd('0xf')]){throw new Error(_0x16cd('0x7b'));}if(!_0x3fc4cd[_0x16cd('0x7c')][_0x16cd('0x59')]){throw new Error(_0x16cd('0x7d'));}var _0x41f3e1=0x0;if(_0x3fc4cd[_0x16cd('0x7c')][_0x16cd('0x25')]){_0x41f3e1=0x1;}if(!_0x3fc4cd[_0x16cd('0x66')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x2b3451){throw new Error('body\x20id\x20mandatory');}var _0x51fd7c=[];try{_0x51fd7c=_['map'](JSON[_0x16cd('0x4d')](process[_0x16cd('0x76')][0x4]),'id');}catch(_0x5744a9){logger[_0x16cd('0x40')](_0x16cd('0x7e'));}main(_0x51894b,_0x3fc4cd,_0x51fd7c,_0x41f3e1);}validate();process['on'](_0x16cd('0x7f'),handleStop);process['on'](_0x16cd('0x80'),handleUncaughtException);
\ No newline at end of file
+var _0x7835=['SystemRow','appendFileSync','contact:import:','Abort\x20parser','abort','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','isNil','voice_queues_has_cm_lists','voice_queues','voice_queues_has_cm_blacklists','VoiceQueueId','campaigns_has_cm_lists','campaigns','campaigns_has_cm_blacklists','CampaignId','each','then','affectedRows','emit','unlink','complete','arguments\x20<filename>\x20<parameters>\x20<agents>','argv','existsSync','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','util','bluebird','moment','squel','../../../config/environment','import','redis','defaults','socket.io-emitter','format','test','select','field','phone','.id\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','join','cm_contacts.phone','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','ContactId','ListId','createdAt','priority','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','cm_hopper_black','updatedAt','from','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','\x20=\x20?','toString','concat','CompanyId',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','group','Received\x20SIGINT','error','message','exit','errors','push','sequelize','query','spread','catch','info','main','stringify','send','start','binding','root','server/files/tmp','.csv','parse','length','rows','data','hasOwnProperty','trim','replace','scheduledat','YYYY-MM-DD\x20HH:mm:ss','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','UserId','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified'];(function(_0x484e36,_0x4482d8){var _0xafc85d=function(_0xaba9c8){while(--_0xaba9c8){_0x484e36['push'](_0x484e36['shift']());}};_0xafc85d(++_0x4482d8);}(_0x7835,0x1ab));var _0x5783=function(_0x559a6e,_0x14a017){_0x559a6e=_0x559a6e-0x0;var _0x21d995=_0x7835[_0x559a6e];return _0x21d995;};'use strict';var fs=require('fs');var path=require(_0x5783('0x0'));var _=require(_0x5783('0x1'));var Papa=require('papaparse');var util=require(_0x5783('0x2'));var BPromise=require(_0x5783('0x3'));var moment=require(_0x5783('0x4'));var squel=require(_0x5783('0x5'));var Redis=require('ioredis');var db=require('../../../mysqldb')['db'];var config=require(_0x5783('0x6'));var logger=require('../../../config/logger')(_0x5783('0x7'));config[_0x5783('0x8')]=_[_0x5783('0x9')](config[_0x5783('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0x5783('0xa'))(new Redis(config[_0x5783('0x8')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var NOW=moment()[_0x5783('0xb')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x24fd42){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))*$/[_0x5783('0xc')](_0x24fd42);}function selectNotIn(_0x4aa2f9,_0x2541b4,_0x2528ee,_0x40c4ca,_0x2d2dcd){return squel[_0x5783('0xd')]()[_0x5783('0xe')](_0x5783('0xf'))['from'](_0x40c4ca)['join'](_0x2541b4,null,_0x2541b4+_0x5783('0x10')+_0x40c4ca+'.'+_0x2528ee)['where'](_0x40c4ca+'.'+_0x2528ee+'\x20=\x20'+_0x4aa2f9+'.'+_0x2528ee)[_0x5783('0x11')](_0x2541b4+_0x5783('0x12')+_0x2d2dcd[_0x5783('0x13')]()+')');}function insertCmHopper(_0x198aba,_0x4cf92e,_0x10350e,_0x458a5c,_0x27fe6c){var _0x591654=[_0x5783('0x14'),'cm_contacts.scheduledat','cm_contacts.id',_0x5783('0x15'),_0x4cf92e+'.'+_0x458a5c,'cm_contacts.createdAt',_0x5783('0x16'),_0x5783('0x17'),_0x5783('0x18'),'\x22'+_0x27fe6c+'\x22'];return squel[_0x5783('0x19')]()[_0x5783('0x1a')](_0x5783('0x1b'))[_0x5783('0x1c')]([_0x5783('0xf'),'scheduledat',_0x5783('0x1d'),_0x5783('0x1e'),_0x458a5c,_0x5783('0x1f'),'updatedAt',_0x5783('0x20'),'UserId',_0x5783('0x21')],squel[_0x5783('0xd')]()[_0x5783('0x22')](_0x591654)['from'](_0x4cf92e)[_0x5783('0x13')](_0x5783('0x23'),null,_0x5783('0x24')+_0x4cf92e+_0x5783('0x25'))[_0x5783('0x13')](_0x10350e,null,_0x10350e+_0x5783('0x10')+_0x4cf92e+'.'+_0x458a5c)[_0x5783('0x11')](_0x4cf92e+_0x5783('0x26'),_0x198aba)[_0x5783('0x11')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0x5783('0x27'),selectNotIn(_0x4cf92e,_0x10350e,_0x458a5c,_0x5783('0x1b'),[_0x5783('0x28'),'\x22onlyIfOpen\x22']))[_0x5783('0x11')](_0x5783('0x27'),selectNotIn(_0x4cf92e,_0x10350e,_0x458a5c,_0x5783('0x1b'),[_0x5783('0x28')])))['toString']();}function insertCmHopperBlack(_0x3c3664,_0x4dd2f4,_0x2d72a1,_0x42c838){var _0x126ce7=['cm_contacts.phone','cm_contacts.id','cm_contacts.ListId',_0x4dd2f4+'.'+_0x42c838,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel[_0x5783('0x19')]()['into'](_0x5783('0x29'))[_0x5783('0x1c')]([_0x5783('0xf'),_0x5783('0x1d'),_0x5783('0x1e'),_0x42c838,_0x5783('0x1f'),_0x5783('0x2a')],squel[_0x5783('0xd')]()[_0x5783('0x22')](_0x126ce7)[_0x5783('0x2b')](_0x4dd2f4)[_0x5783('0x13')]('cm_contacts',null,_0x5783('0x24')+_0x4dd2f4+_0x5783('0x25'))[_0x5783('0x13')](_0x2d72a1,null,_0x2d72a1+'.id\x20=\x20'+_0x4dd2f4+'.'+_0x42c838)[_0x5783('0x11')](_0x4dd2f4+_0x5783('0x26'),_0x3c3664)[_0x5783('0x11')](_0x5783('0x2c'),NOW)[_0x5783('0x11')](_0x5783('0x27'),squel['select']()[_0x5783('0xe')]('phone')['from'](_0x5783('0x29'))['where'](_0x5783('0x2d'),_0x3c3664)[_0x5783('0x11')](_0x42c838+_0x5783('0x2e'),_0x4dd2f4+'.'+_0x42c838)))[_0x5783('0x2f')]();}function insertCmContact(_0x391ce0,_0x373de0,_0xb993b5,_0x1cc153){var _0x46e3e2=_[_0x5783('0x30')](_['keys'](_0x1cc153),[_0x5783('0x1e'),_0x5783('0x31'),_0x5783('0x1f'),_0x5783('0x2a')]);return squel[_0x5783('0x19')]()[_0x5783('0x1a')](_0x5783('0x23'))[_0x5783('0x1c')](_0x46e3e2,squel[_0x5783('0xd')]()['fields'](_0x46e3e2)['from'](_0x373de0)[_0x5783('0x11')]('('+_0xb993b5[_0x5783('0x13')](',')+_0x5783('0x32'),squel[_0x5783('0xd')]()[_0x5783('0x22')](_0xb993b5)[_0x5783('0x2b')](_0x5783('0x23'))['where'](_0x5783('0x2d'),_0x391ce0)[_0x5783('0x11')](_0x5783('0x33')))[_0x5783('0x11')](_0x5783('0x34'),squel[_0x5783('0xd')]()[_0x5783('0xe')](_0x5783('0x35'),_0x5783('0x36'))[_0x5783('0x2b')](_0x373de0)[_0x5783('0x37')](_0xb993b5[_0x5783('0x13')](','))))[_0x5783('0x2f')]();}function handleStop(){logger['info'](_0x5783('0x38'));stopped=!![];}function handleUncaughtException(_0x3ea80f){logger[_0x5783('0x39')](_0x3ea80f[_0x5783('0x3a')]);process[_0x5783('0x3b')](0x1);}function handleError(_0x4fcd81,_0x54388b){stats[_0x5783('0x3c')][_0x5783('0x3d')]({'name':_0x54388b['code'],'message':_0x54388b[_0x5783('0x3a')],'row':_0x4fcd81});}function handleQuery(_0x2a2d81){logger['info'](_0x2a2d81);return db[_0x5783('0x3e')][_0x5783('0x3f')](_0x2a2d81)[_0x5783('0x40')](function(_0x1ea38a){results[_0x5783('0x3d')](_0x1ea38a);})[_0x5783('0x41')](function(_0x136031){logger[_0x5783('0x39')](_0x136031[_0x5783('0x3a')]);});}function main(_0x178977,_0x25da3e,_0x178167,_0x488db9){logger[_0x5783('0x42')](_0x5783('0x43'),_0x178977,JSON[_0x5783('0x44')](_0x25da3e));process[_0x5783('0x45')](_0x5783('0x46'));var _0x3cb123=_0x25da3e[_0x5783('0x47')];var _0x445b6d=_0x25da3e['socket_timestamp'];var _0x5a755a=path[_0x5783('0x13')](config[_0x5783('0x48')],_0x5783('0x49'),_0x445b6d+_0x5783('0x4a'));var _0x39fbc4=_['keys'](_0x3cb123)[_0x5783('0x13')]();logger['info']('header',_0x39fbc4);fs['writeFileSync'](_0x5a755a,_0x39fbc4+'\x0a');Papa[_0x5783('0x4b')](fs['createReadStream'](_0x178977),{'header':!![],'skipEmptyLines':!![],'step':function(_0x12732a,_0x32fe5b){try{for(var _0x1130ca=0x0,_0x1492f2=[];_0x1130ca<_0x12732a['data'][_0x5783('0x4c')];_0x1130ca++){stats[_0x5783('0x4d')]+=0x1;if(_0x12732a['errors'][_0x1130ca]){handleError(_0x12732a[_0x5783('0x4e')][_0x1130ca],_0x12732a[_0x5783('0x3c')][_0x1130ca]);}else{var _0xdf80c2=[];for(var _0x51428b in _0x3cb123){if(_0x3cb123[_0x5783('0x4f')](_0x51428b)){if(_0x12732a['data'][_0x1130ca][_0x3cb123[_0x51428b]]){var _0x4785e9=_[_0x5783('0x50')](_0x12732a[_0x5783('0x4e')][_0x1130ca][_0x3cb123[_0x51428b]][_0x5783('0x51')](/"/g,'\x27'));switch(_0x51428b){case _0x5783('0x52'):var _0xb72e11=moment(_0x4785e9,_0x5783('0x53'),!![]);if(_0xb72e11[_0x5783('0x54')]()){_0x1492f2[_0x5783('0x3d')]('\x22'+_0x4785e9+'\x22');}else{_0xdf80c2[_0x5783('0x3d')](_0x5783('0x55'));}break;case _0x5783('0x20'):var _0x5dfac8=parseInt(_0x4785e9);_0x4785e9=_[_0x5783('0x56')](_0x5dfac8)||_0x5dfac8<0x0||_0x5dfac8>0x4?_0x488db9?0x3:0x2:_0x5dfac8;_0x1492f2[_0x5783('0x3d')]('\x22'+_0x4785e9+'\x22');break;case _0x5783('0x57'):var _0x16c1f7=parseInt(_0x4785e9);if(_[_0x5783('0x58')](_0x16c1f7)&&_['includes'](_0x178167,_0x16c1f7)){_0x1492f2[_0x5783('0x3d')]('\x22'+_0x16c1f7+'\x22');}else{_0xdf80c2[_0x5783('0x3d')](_0x5783('0x59'));}break;case _0x5783('0x5a'):if(isEmail(_0x4785e9)){_0x1492f2[_0x5783('0x3d')]('\x22'+_0x4785e9+'\x22');}else{_0xdf80c2[_0x5783('0x3d')](_0x5783('0x5b'));}break;case _0x5783('0x5c'):var _0xd7e1f7=moment(_0x4785e9,_0x5783('0x5d'),!![]);if(_0xd7e1f7[_0x5783('0x54')]()){_0x1492f2[_0x5783('0x3d')]('\x22'+_0x4785e9+'\x22');}else{_0xdf80c2[_0x5783('0x3d')](_0x5783('0x5e'));}break;default:_0x1492f2[_0x5783('0x3d')]('\x22'+_0x4785e9+'\x22');}}else{switch(_0x51428b){case _0x5783('0x5f'):case _0x5783('0xf'):_0xdf80c2[_0x5783('0x3d')](_0x51428b+_0x5783('0x60'));break;default:_0x1492f2[_0x5783('0x3d')]('\x22\x22');}}}}if(_0xdf80c2[_0x5783('0x4c')]){handleError(_0x12732a['data'][_0x1130ca],{'code':_0x5783('0x61'),'message':_0xdf80c2[_0x5783('0x13')]()});}else{fs[_0x5783('0x62')](_0x5a755a,_0x1492f2[_0x5783('0x13')]()+'\x0a');}_0x1492f2=[];}if(!(stats[_0x5783('0x4d')]%0xc8)){socket['emit'](_0x5783('0x63')+_0x445b6d,stats);stats['errors']=[];}}if(stopped){logger[_0x5783('0x42')](_0x5783('0x64'));_0x32fe5b[_0x5783('0x65')]();}}catch(_0x9e9277){handleError(_0x12732a[_0x5783('0x4e')][_0x1130ca],{'code':'SystemError','message':_0x9e9277[_0x5783('0x3a')]});logger[_0x5783('0x39')]('step',_0x9e9277[_0x5783('0x3a')]);}},'complete':function(){try{var _0x312b96=[];var _0x414bfe=_0x5783('0x23');if(_0x25da3e[_0x5783('0x66')]&&_0x25da3e['duplicates'][_0x5783('0x4c')]){_0x414bfe=_0x5783('0x67')+_0x445b6d;_0x312b96['push'](_0x5783('0x68')+_0x414bfe+_0x5783('0x69'));}var _0x51aa8b=util[_0x5783('0xb')]('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',_0x5a755a,_0x414bfe,_0x39fbc4,_0x25da3e[_0x5783('0x1e')],_0x25da3e[_0x5783('0x31')]||null,NOW,NOW);if(_[_0x5783('0x6a')](_0x3cb123[_0x5783('0x52')])){_0x51aa8b+=',\x20scheduledAt\x20=\x20NOW()';}_0x312b96[_0x5783('0x3d')](_0x51aa8b);if(_0x25da3e[_0x5783('0x66')]&&_0x25da3e[_0x5783('0x66')][_0x5783('0x4c')]){_0x312b96[_0x5783('0x3d')](insertCmContact(_0x25da3e[_0x5783('0x1e')],_0x414bfe,_0x25da3e['duplicates'],_0x3cb123));_0x312b96[_0x5783('0x3d')]('DROP\x20TABLE\x20'+_0x414bfe+';');}_0x312b96[_0x5783('0x3d')](insertCmHopper(_0x25da3e[_0x5783('0x1e')],_0x5783('0x6b'),_0x5783('0x6c'),'VoiceQueueId',_0x488db9));_0x312b96[_0x5783('0x3d')](insertCmHopperBlack(_0x25da3e[_0x5783('0x1e')],_0x5783('0x6d'),'voice_queues',_0x5783('0x6e')));_0x312b96['push'](insertCmHopper(_0x25da3e[_0x5783('0x1e')],_0x5783('0x6f'),_0x5783('0x70'),'CampaignId',_0x488db9));_0x312b96[_0x5783('0x3d')](insertCmHopperBlack(_0x25da3e['ListId'],_0x5783('0x71'),_0x5783('0x70'),_0x5783('0x72')));BPromise[_0x5783('0x73')](_0x312b96,handleQuery)[_0x5783('0x74')](function(_0x289b10){stats['finish']=!![];stats[_0x5783('0x75')]=_0x25da3e['duplicates']&&_0x25da3e[_0x5783('0x66')]['length']?results[0x2][_0x5783('0x75')]:results[0x0][_0x5783('0x75')];socket[_0x5783('0x76')](_0x5783('0x63')+_0x445b6d,stats);fs[_0x5783('0x77')](_0x178977);fs[_0x5783('0x77')](_0x5a755a);process[_0x5783('0x3b')](0x0);})[_0x5783('0x41')](function(_0x3a94e3){logger[_0x5783('0x39')](_0x3a94e3['message']);process[_0x5783('0x3b')](0x1);});}catch(_0xeddfa9){logger[_0x5783('0x39')](_0x5783('0x78'),_0xeddfa9['message']);process['exit'](0x1);}},'error':function(_0x4edad5,_0x193333,_0x1e1742,_0x3b4671){throw new Error(_0x3b4671);}});}function validate(){if(process['argv']&&process['argv'][_0x5783('0x4c')]<0x4){throw new Error(_0x5783('0x79'));}var _0x50fd32=path[_0x5783('0x13')](config[_0x5783('0x48')],_0x5783('0x49'),process[_0x5783('0x7a')][0x2]);if(!fs[_0x5783('0x7b')](_0x50fd32)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x53e9c5={};try{_0x53e9c5=JSON[_0x5783('0x4b')](process[_0x5783('0x7a')][0x3]);if(!_0x53e9c5[_0x5783('0x47')]){throw new Error(_0x5783('0x7c'));}if(!_0x53e9c5['binding'][_0x5783('0xf')]){throw new Error(_0x5783('0x7d'));}if(!_0x53e9c5['binding']['firstName']){throw new Error('firstName\x20is\x20mandatory');}var _0x52b9e5=0x0;if(_0x53e9c5[_0x5783('0x47')][_0x5783('0x57')]){_0x52b9e5=0x1;}if(!_0x53e9c5[_0x5783('0x1e')]){throw new Error(_0x5783('0x7e'));}}catch(_0x23ef10){throw new Error(_0x5783('0x7f'));}var _0x66fa20=[];try{_0x66fa20=_['map'](JSON[_0x5783('0x4b')](process[_0x5783('0x7a')][0x4]),'id');}catch(_0x496f8c){logger['info'](_0x5783('0x80'));}main(_0x50fd32,_0x53e9c5,_0x66fa20,_0x52b9e5);}validate();process['on'](_0x5783('0x81'),handleStop);process['on'](_0x5783('0x82'),handleUncaughtException);
\ No newline at end of file