Built motion from commit (unavailable).|2.3.4
[motion2.git] / server / components / import / cm / csv2.js
index c67278d..717c4c5 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6998=['phone\x20is\x20mandatory','firstName','firstName\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','path','lodash','util','bluebird','squel','../../../mysqldb','../../../config/environment','import','defaults','socket.io-emitter','redis','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','phone','join','.id\x20=\x20','where','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.createdAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','cm_contacts','.CmListId','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','toString','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','fields','from','.CmListId\x20=\x20?','cm_hopper_black','\x20=\x20?','concat','keys',')\x20NOT\x20IN\x20?','id\x20IN\x20?','MIN(id)','min_id','group','info','Received\x20SIGINT','error','exit','push','message','query','spread','catch','main','send','start','binding','socket_timestamp','root','server/files/tmp','.csv','header','writeFileSync','parse','createReadStream','data','length','rows','errors','trim','replace','isValid','isNaN','isNumber','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','SystemRow','appendFileSync','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_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','CompanyId','isNil',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','voice_queues','campaigns_has_cm_lists','campaigns','CampaignId','each','then','finish','affectedRows','emit','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists'];(function(_0x3d42d8,_0x4cffaa){var _0x27fc41=function(_0x3a363b){while(--_0x3a363b){_0x3d42d8['push'](_0x3d42d8['shift']());}};_0x27fc41(++_0x4cffaa);}(_0x6998,0x10d));var _0x8699=function(_0x36bf88,_0x15c459){_0x36bf88=_0x36bf88-0x0;var _0x332914=_0x6998[_0x36bf88];return _0x332914;};'use strict';var fs=require('fs');var path=require(_0x8699('0x0'));var _=require(_0x8699('0x1'));var Papa=require('papaparse');var util=require(_0x8699('0x2'));var BPromise=require(_0x8699('0x3'));var moment=require('moment');var squel=require(_0x8699('0x4'));var Redis=require('ioredis');var db=require(_0x8699('0x5'))['db'];var config=require(_0x8699('0x6'));var logger=require('../../../config/logger')(_0x8699('0x7'));config['redis']=_[_0x8699('0x8')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x8699('0x9'))(new Redis(config[_0x8699('0xa')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var NOW=moment()[_0x8699('0xb')](_0x8699('0xc'));function isEmail(_0x49fdab){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))*$/[_0x8699('0xd')](_0x49fdab);}function selectNotIn(_0x4b99a4,_0x2efe61,_0x181479,_0xbe1bed,_0x171c36){return squel[_0x8699('0xe')]()[_0x8699('0xf')](_0x8699('0x10'))['from'](_0xbe1bed)[_0x8699('0x11')](_0x2efe61,null,_0x2efe61+_0x8699('0x12')+_0xbe1bed+'.'+_0x181479)['where'](_0xbe1bed+'.'+_0x181479+'\x20=\x20'+_0x4b99a4+'.'+_0x181479)[_0x8699('0x13')](_0x2efe61+'.dialCheckDuplicateType\x20IN\x20('+_0x171c36[_0x8699('0x11')]()+')');}function insertCmHopper(_0xc825b3,_0x344ac9,_0x247e24,_0x1978a5,_0x1f7a3d){var _0x3721ee=[_0x8699('0x14'),_0x8699('0x15'),'cm_contacts.id','cm_contacts.ListId',_0x344ac9+'.'+_0x1978a5,_0x8699('0x16'),'cm_contacts.updatedAt',_0x8699('0x17'),_0x8699('0x18'),'\x22'+_0x1f7a3d+'\x22'];return squel[_0x8699('0x19')]()[_0x8699('0x1a')](_0x8699('0x1b'))[_0x8699('0x1c')](['phone',_0x8699('0x1d'),_0x8699('0x1e'),_0x8699('0x1f'),_0x1978a5,_0x8699('0x20'),_0x8699('0x21'),_0x8699('0x22'),_0x8699('0x23'),_0x8699('0x24')],squel[_0x8699('0xe')]()['fields'](_0x3721ee)['from'](_0x344ac9)[_0x8699('0x11')](_0x8699('0x25'),null,'cm_contacts.ListId\x20=\x20'+_0x344ac9+_0x8699('0x26'))['join'](_0x247e24,null,_0x247e24+_0x8699('0x12')+_0x344ac9+'.'+_0x1978a5)[_0x8699('0x13')](_0x344ac9+'.CmListId\x20=\x20?',_0xc825b3)[_0x8699('0x13')](_0x8699('0x27'),NOW)['where'](_0x8699('0x28'),selectNotIn(_0x344ac9,_0x247e24,_0x1978a5,_0x8699('0x1b'),[_0x8699('0x29'),'\x22onlyIfOpen\x22']))[_0x8699('0x13')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x344ac9,_0x247e24,_0x1978a5,_0x8699('0x1b'),[_0x8699('0x29')])))[_0x8699('0x2a')]();}function insertCmHopperBlack(_0x35cc99,_0x3add29,_0x3d589e,_0x289bf6){var _0x3b7438=['cm_contacts.phone',_0x8699('0x2b'),_0x8699('0x2c'),_0x3add29+'.'+_0x289bf6,_0x8699('0x16'),_0x8699('0x2d')];return squel[_0x8699('0x19')]()[_0x8699('0x1a')]('cm_hopper_black')['fromQuery']([_0x8699('0x10'),'ContactId',_0x8699('0x1f'),_0x289bf6,_0x8699('0x20'),_0x8699('0x21')],squel[_0x8699('0xe')]()[_0x8699('0x2e')](_0x3b7438)[_0x8699('0x2f')](_0x3add29)['join']('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x3add29+_0x8699('0x26'))[_0x8699('0x11')](_0x3d589e,null,_0x3d589e+_0x8699('0x12')+_0x3add29+'.'+_0x289bf6)['where'](_0x3add29+_0x8699('0x30'),_0x35cc99)[_0x8699('0x13')](_0x8699('0x27'),NOW)[_0x8699('0x13')](_0x8699('0x28'),squel[_0x8699('0xe')]()[_0x8699('0xf')](_0x8699('0x10'))[_0x8699('0x2f')](_0x8699('0x31'))[_0x8699('0x13')]('ListId\x20=\x20?',_0x35cc99)['where'](_0x289bf6+_0x8699('0x32'),_0x3add29+'.'+_0x289bf6)))[_0x8699('0x2a')]();}function insertCmContact(_0x192971,_0x31baea,_0xde3af7,_0x323c36){var _0x2f47eb=_[_0x8699('0x33')](_[_0x8699('0x34')](_0x323c36),[_0x8699('0x1f'),'CompanyId',_0x8699('0x20'),_0x8699('0x21')]);return squel[_0x8699('0x19')]()[_0x8699('0x1a')](_0x8699('0x25'))[_0x8699('0x1c')](_0x2f47eb,squel[_0x8699('0xe')]()['fields'](_0x2f47eb)[_0x8699('0x2f')](_0x31baea)[_0x8699('0x13')]('('+_0xde3af7[_0x8699('0x11')](',')+_0x8699('0x35'),squel[_0x8699('0xe')]()[_0x8699('0x2e')](_0xde3af7)[_0x8699('0x2f')](_0x8699('0x25'))[_0x8699('0x13')]('ListId\x20=\x20?',_0x192971))[_0x8699('0x13')](_0x8699('0x36'),squel[_0x8699('0xe')]()[_0x8699('0xf')](_0x8699('0x37'),_0x8699('0x38'))[_0x8699('0x2f')](_0x31baea)[_0x8699('0x39')](_0xde3af7['join'](','))))[_0x8699('0x2a')]();}function handleStop(){logger[_0x8699('0x3a')](_0x8699('0x3b'));stopped=!![];}function handleUncaughtException(_0x4f5432){logger[_0x8699('0x3c')](_0x4f5432['message']);process[_0x8699('0x3d')](0x1);}function handleError(_0x506512,_0x536d1d){stats['errors'][_0x8699('0x3e')]({'name':_0x536d1d['code'],'message':_0x536d1d[_0x8699('0x3f')],'row':_0x506512});}function handleQuery(_0x44a1e6){logger['info'](_0x44a1e6);return db['sequelize'][_0x8699('0x40')](_0x44a1e6)[_0x8699('0x41')](function(_0x1014ef){results[_0x8699('0x3e')](_0x1014ef);})[_0x8699('0x42')](function(_0x57e92e){logger[_0x8699('0x3c')](_0x57e92e[_0x8699('0x3f')]);});}function main(_0x89ad22,_0x245558,_0x273933,_0x4759c5){logger[_0x8699('0x3a')](_0x8699('0x43'),_0x89ad22,JSON['stringify'](_0x245558));process[_0x8699('0x44')](_0x8699('0x45'));var _0x32d636=_0x245558[_0x8699('0x46')];var _0x2dfb36=_0x245558[_0x8699('0x47')];var _0x134dfc=path[_0x8699('0x11')](config[_0x8699('0x48')],_0x8699('0x49'),_0x2dfb36+_0x8699('0x4a'));var _0x563c77=_[_0x8699('0x34')](_0x32d636)[_0x8699('0x11')]();logger['info'](_0x8699('0x4b'),_0x563c77);fs[_0x8699('0x4c')](_0x134dfc,_0x563c77+'\x0a');Papa[_0x8699('0x4d')](fs[_0x8699('0x4e')](_0x89ad22),{'header':!![],'skipEmptyLines':!![],'step':function(_0xe2ae94,_0x32cbfc){try{for(var _0x5dc616=0x0,_0x43a16d=[];_0x5dc616<_0xe2ae94[_0x8699('0x4f')][_0x8699('0x50')];_0x5dc616++){stats[_0x8699('0x51')]+=0x1;if(_0xe2ae94[_0x8699('0x52')][_0x5dc616]){handleError(_0xe2ae94[_0x8699('0x4f')][_0x5dc616],_0xe2ae94['errors'][_0x5dc616]);}else{var _0x27ebbe=[];for(var _0xf4f367 in _0x32d636){if(_0x32d636['hasOwnProperty'](_0xf4f367)){if(_0xe2ae94[_0x8699('0x4f')][_0x5dc616][_0x32d636[_0xf4f367]]){var _0x4ec450=_[_0x8699('0x53')](_0xe2ae94[_0x8699('0x4f')][_0x5dc616][_0x32d636[_0xf4f367]][_0x8699('0x54')](/"/g,'\x27'));switch(_0xf4f367){case'scheduledat':var _0x3311cd=moment(_0x4ec450,_0x8699('0xc'),!![]);if(_0x3311cd[_0x8699('0x55')]()){_0x43a16d[_0x8699('0x3e')]('\x22'+_0x4ec450+'\x22');}else{_0x27ebbe[_0x8699('0x3e')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x8699('0x22'):var _0x2c97c2=parseInt(_0x4ec450);_0x4ec450=_[_0x8699('0x56')](_0x2c97c2)||_0x2c97c2<0x0||_0x2c97c2>0x4?_0x4759c5?0x3:0x2:_0x2c97c2;_0x43a16d['push']('\x22'+_0x4ec450+'\x22');break;case _0x8699('0x23'):var _0xd1142d=parseInt(_0x4ec450);if(_[_0x8699('0x57')](_0xd1142d)&&_[_0x8699('0x58')](_0x273933,_0xd1142d)){_0x43a16d[_0x8699('0x3e')]('\x22'+_0xd1142d+'\x22');}else{_0x27ebbe['push'](_0x8699('0x59'));}break;case _0x8699('0x5a'):if(isEmail(_0x4ec450)){_0x43a16d[_0x8699('0x3e')]('\x22'+_0x4ec450+'\x22');}else{_0x27ebbe['push'](_0x8699('0x5b'));}break;case'dateOfBirth':var _0x370b5f=moment(_0x4ec450,'YYYY-MM-DD',!![]);if(_0x370b5f[_0x8699('0x55')]()){_0x43a16d[_0x8699('0x3e')]('\x22'+_0x4ec450+'\x22');}else{_0x27ebbe[_0x8699('0x3e')](_0x8699('0x5c'));}break;default:_0x43a16d[_0x8699('0x3e')]('\x22'+_0x4ec450+'\x22');}}else{switch(_0xf4f367){case'firstName':case _0x8699('0x10'):_0x27ebbe[_0x8699('0x3e')](_0xf4f367+'\x20not\x20specified');break;default:_0x43a16d[_0x8699('0x3e')]('\x22\x22');}}}}if(_0x27ebbe['length']){handleError(_0xe2ae94[_0x8699('0x4f')][_0x5dc616],{'code':_0x8699('0x5d'),'message':_0x27ebbe['join']()});}else{fs[_0x8699('0x5e')](_0x134dfc,_0x43a16d['join']()+'\x0a');}_0x43a16d=[];}if(!(stats[_0x8699('0x51')]%0xc8)){socket['emit'](_0x8699('0x5f')+_0x2dfb36,stats);stats[_0x8699('0x52')]=[];}}if(stopped){logger[_0x8699('0x3a')](_0x8699('0x60'));_0x32cbfc[_0x8699('0x61')]();}}catch(_0x521870){handleError(_0xe2ae94[_0x8699('0x4f')][_0x5dc616],{'code':_0x8699('0x62'),'message':_0x521870[_0x8699('0x3f')]});logger[_0x8699('0x3c')](_0x8699('0x63'),_0x521870[_0x8699('0x3f')]);}},'complete':function(){try{var _0xc2fd62=[];var _0x1bdb4f=_0x8699('0x25');if(_0x245558[_0x8699('0x64')]&&_0x245558[_0x8699('0x64')][_0x8699('0x50')]){_0x1bdb4f=_0x8699('0x65')+_0x2dfb36;_0xc2fd62['push']('CREATE\x20TABLE\x20'+_0x1bdb4f+'\x20LIKE\x20cm_contacts;');}var _0x1ea0ed=util[_0x8699('0xb')](_0x8699('0x66'),_0x134dfc,_0x1bdb4f,_0x563c77,_0x245558[_0x8699('0x1f')],_0x245558[_0x8699('0x67')]||null,NOW,NOW);if(_[_0x8699('0x68')](_0x32d636[_0x8699('0x1d')])){_0x1ea0ed+=_0x8699('0x69');}_0xc2fd62['push'](_0x1ea0ed);if(_0x245558['duplicates']&&_0x245558[_0x8699('0x64')]['length']){_0xc2fd62['push'](insertCmContact(_0x245558[_0x8699('0x1f')],_0x1bdb4f,_0x245558[_0x8699('0x64')],_0x32d636));_0xc2fd62[_0x8699('0x3e')](_0x8699('0x6a')+_0x1bdb4f+';');}_0xc2fd62['push'](insertCmHopper(_0x245558[_0x8699('0x1f')],_0x8699('0x6b'),'voice_queues',_0x8699('0x6c'),_0x4759c5));_0xc2fd62['push'](insertCmHopperBlack(_0x245558[_0x8699('0x1f')],_0x8699('0x6d'),_0x8699('0x6e'),_0x8699('0x6c')));_0xc2fd62['push'](insertCmHopper(_0x245558[_0x8699('0x1f')],_0x8699('0x6f'),_0x8699('0x70'),_0x8699('0x71'),_0x4759c5));_0xc2fd62[_0x8699('0x3e')](insertCmHopperBlack(_0x245558[_0x8699('0x1f')],'campaigns_has_cm_blacklists',_0x8699('0x70'),_0x8699('0x71')));BPromise[_0x8699('0x72')](_0xc2fd62,handleQuery)[_0x8699('0x73')](function(_0x30514c){stats[_0x8699('0x74')]=!![];stats[_0x8699('0x75')]=_0x245558[_0x8699('0x64')]&&_0x245558[_0x8699('0x64')][_0x8699('0x50')]?results[0x2][_0x8699('0x75')]:results[0x0][_0x8699('0x75')];socket[_0x8699('0x76')](_0x8699('0x5f')+_0x2dfb36,stats);fs['unlink'](_0x89ad22);fs['unlink'](_0x134dfc);process[_0x8699('0x3d')](0x0);})[_0x8699('0x42')](function(_0x159abd){logger[_0x8699('0x3c')](_0x159abd['message']);process[_0x8699('0x3d')](0x1);});}catch(_0x5c5a0f){logger[_0x8699('0x3c')]('complete',_0x5c5a0f[_0x8699('0x3f')]);process[_0x8699('0x3d')](0x1);}},'error':function(_0x3f2cbd,_0x33e8f5,_0x59ef6d,_0xe44d0d){throw new Error(_0xe44d0d);}});}function validate(){if(process[_0x8699('0x77')]&&process[_0x8699('0x77')][_0x8699('0x50')]<0x4){throw new Error(_0x8699('0x78'));}var _0x9c20f5=path[_0x8699('0x11')](config[_0x8699('0x48')],_0x8699('0x49'),process['argv'][0x2]);if(!fs[_0x8699('0x79')](_0x9c20f5)){throw new Error(_0x8699('0x7a'));}var _0x33d557={};try{_0x33d557=JSON[_0x8699('0x4d')](process[_0x8699('0x77')][0x3]);if(!_0x33d557['binding']){throw new Error(_0x8699('0x7b'));}if(!_0x33d557[_0x8699('0x46')][_0x8699('0x10')]){throw new Error(_0x8699('0x7c'));}if(!_0x33d557[_0x8699('0x46')][_0x8699('0x7d')]){throw new Error(_0x8699('0x7e'));}var _0x46db96=0x0;if(_0x33d557[_0x8699('0x46')]['UserId']){_0x46db96=0x1;}if(!_0x33d557[_0x8699('0x1f')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x572828){throw new Error(_0x8699('0x7f'));}var _0x389d8c=[];try{_0x389d8c=_[_0x8699('0x80')](JSON[_0x8699('0x4d')](process[_0x8699('0x77')][0x4]),'id');}catch(_0x421b56){logger['info'](_0x8699('0x81'));}main(_0x9c20f5,_0x33d557,_0x389d8c,_0x46db96);}validate();process['on'](_0x8699('0x82'),handleStop);process['on']('uncaughtException',handleUncaughtException);
\ No newline at end of file
+var _0xe155=['then','affectedRows','contact:import:','unlink','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','No\x20agent\x20available','SIGINT','uncaughtException','path','papaparse','util','bluebird','moment','ioredis','../../../mysqldb','../../../config/environment','import','redis','defaults','localhost','socket.io-emitter','YYYY-MM-DD\x20HH:mm:ss','field','from','join','where','.dialCheckDuplicateType\x20IN\x20(','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','fromQuery','phone','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','select','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.id\x20=\x20','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','cm_hopper','\x22always\x22','toString','into','cm_hopper_black','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','concat','keys','CompanyId',')\x20NOT\x20IN\x20?','id\x20IN\x20?','MIN(id)','min_id','info','Received\x20SIGINT','error','message','exit','errors','push','code','sequelize','query','spread','catch','stringify','start','binding','socket_timestamp','root','server/files/tmp','.csv','header','writeFileSync','parse','createReadStream','data','length','rows','hasOwnProperty','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','includes','agent\x20not\x20exists','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','firstName','SystemRow','appendFileSync','emit','Abort\x20parser','abort','step','duplicates','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','format','isNil',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','voice_queues','VoiceQueueId','campaigns','CampaignId','each'];(function(_0x1de7f8,_0x14250a){var _0x5cce8e=function(_0x3292eb){while(--_0x3292eb){_0x1de7f8['push'](_0x1de7f8['shift']());}};_0x5cce8e(++_0x14250a);}(_0xe155,0x8e));var _0x5e15=function(_0x558fea,_0x5f4475){_0x558fea=_0x558fea-0x0;var _0x126648=_0xe155[_0x558fea];return _0x126648;};'use strict';var fs=require('fs');var path=require(_0x5e15('0x0'));var _=require('lodash');var Papa=require(_0x5e15('0x1'));var util=require(_0x5e15('0x2'));var BPromise=require(_0x5e15('0x3'));var moment=require(_0x5e15('0x4'));var squel=require('squel');var Redis=require(_0x5e15('0x5'));var db=require(_0x5e15('0x6'))['db'];var config=require(_0x5e15('0x7'));var logger=require('../../../config/logger')(_0x5e15('0x8'));config[_0x5e15('0x9')]=_[_0x5e15('0xa')](config[_0x5e15('0x9')],{'host':_0x5e15('0xb'),'port':0x18eb});var socket=require(_0x5e15('0xc'))(new Redis(config['redis']));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var NOW=moment()['format'](_0x5e15('0xd'));function isEmail(_0x44212c){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'](_0x44212c);}function selectNotIn(_0x5047c1,_0xfc0a07,_0x345242,_0x355567,_0x60d60e){return squel['select']()[_0x5e15('0xe')]('phone')[_0x5e15('0xf')](_0x355567)[_0x5e15('0x10')](_0xfc0a07,null,_0xfc0a07+'.id\x20=\x20'+_0x355567+'.'+_0x345242)['where'](_0x355567+'.'+_0x345242+'\x20=\x20'+_0x5047c1+'.'+_0x345242)[_0x5e15('0x11')](_0xfc0a07+_0x5e15('0x12')+_0x60d60e[_0x5e15('0x10')]()+')');}function insertCmHopper(_0x5306a9,_0x1c9850,_0x4c24d5,_0x3f6179,_0x5819a8){var _0x59c6b3=[_0x5e15('0x13'),_0x5e15('0x14'),'cm_contacts.id',_0x5e15('0x15'),_0x1c9850+'.'+_0x3f6179,_0x5e15('0x16'),_0x5e15('0x17'),_0x5e15('0x18'),_0x5e15('0x19'),'\x22'+_0x5819a8+'\x22'];return squel[_0x5e15('0x1a')]()['into']('cm_hopper')[_0x5e15('0x1b')]([_0x5e15('0x1c'),_0x5e15('0x1d'),_0x5e15('0x1e'),_0x5e15('0x1f'),_0x3f6179,_0x5e15('0x20'),_0x5e15('0x21'),_0x5e15('0x22'),_0x5e15('0x23'),_0x5e15('0x24')],squel[_0x5e15('0x25')]()[_0x5e15('0x26')](_0x59c6b3)[_0x5e15('0xf')](_0x1c9850)[_0x5e15('0x10')](_0x5e15('0x27'),null,_0x5e15('0x28')+_0x1c9850+'.CmListId')['join'](_0x4c24d5,null,_0x4c24d5+_0x5e15('0x29')+_0x1c9850+'.'+_0x3f6179)[_0x5e15('0x11')](_0x1c9850+_0x5e15('0x2a'),_0x5306a9)[_0x5e15('0x11')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x5e15('0x11')](_0x5e15('0x2b'),selectNotIn(_0x1c9850,_0x4c24d5,_0x3f6179,_0x5e15('0x2c'),[_0x5e15('0x2d'),'\x22onlyIfOpen\x22']))[_0x5e15('0x11')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x1c9850,_0x4c24d5,_0x3f6179,_0x5e15('0x2c'),[_0x5e15('0x2d')])))[_0x5e15('0x2e')]();}function insertCmHopperBlack(_0x1ad4e9,_0x1c11b8,_0x2cb21f,_0x52ce56){var _0x45c008=['cm_contacts.phone','cm_contacts.id',_0x5e15('0x15'),_0x1c11b8+'.'+_0x52ce56,_0x5e15('0x16'),_0x5e15('0x17')];return squel[_0x5e15('0x1a')]()[_0x5e15('0x2f')](_0x5e15('0x30'))[_0x5e15('0x1b')](['phone',_0x5e15('0x1e'),_0x5e15('0x1f'),_0x52ce56,_0x5e15('0x20'),_0x5e15('0x21')],squel[_0x5e15('0x25')]()[_0x5e15('0x26')](_0x45c008)[_0x5e15('0xf')](_0x1c11b8)['join'](_0x5e15('0x27'),null,'cm_contacts.ListId\x20=\x20'+_0x1c11b8+'.CmListId')['join'](_0x2cb21f,null,_0x2cb21f+_0x5e15('0x29')+_0x1c11b8+'.'+_0x52ce56)['where'](_0x1c11b8+_0x5e15('0x2a'),_0x1ad4e9)['where'](_0x5e15('0x31'),NOW)['where'](_0x5e15('0x2b'),squel[_0x5e15('0x25')]()[_0x5e15('0xe')]('phone')[_0x5e15('0xf')](_0x5e15('0x30'))['where'](_0x5e15('0x32'),_0x1ad4e9)[_0x5e15('0x11')](_0x52ce56+'\x20=\x20?',_0x1c11b8+'.'+_0x52ce56)))[_0x5e15('0x2e')]();}function insertCmContact(_0x3cb026,_0x320cca,_0x46c131,_0x40e755){var _0x12b2a5=_[_0x5e15('0x33')](_[_0x5e15('0x34')](_0x40e755),[_0x5e15('0x1f'),_0x5e15('0x35'),_0x5e15('0x20'),_0x5e15('0x21')]);return squel[_0x5e15('0x1a')]()[_0x5e15('0x2f')]('cm_contacts')[_0x5e15('0x1b')](_0x12b2a5,squel['select']()[_0x5e15('0x26')](_0x12b2a5)[_0x5e15('0xf')](_0x320cca)[_0x5e15('0x11')]('('+_0x46c131[_0x5e15('0x10')](',')+_0x5e15('0x36'),squel[_0x5e15('0x25')]()[_0x5e15('0x26')](_0x46c131)[_0x5e15('0xf')](_0x5e15('0x27'))[_0x5e15('0x11')](_0x5e15('0x32'),_0x3cb026))['where'](_0x5e15('0x37'),squel[_0x5e15('0x25')]()[_0x5e15('0xe')](_0x5e15('0x38'),_0x5e15('0x39'))[_0x5e15('0xf')](_0x320cca)['group'](_0x46c131[_0x5e15('0x10')](','))))[_0x5e15('0x2e')]();}function handleStop(){logger[_0x5e15('0x3a')](_0x5e15('0x3b'));stopped=!![];}function handleUncaughtException(_0x48fee0){logger[_0x5e15('0x3c')](_0x48fee0[_0x5e15('0x3d')]);process[_0x5e15('0x3e')](0x1);}function handleError(_0x1dabb6,_0x315e73){stats[_0x5e15('0x3f')][_0x5e15('0x40')]({'name':_0x315e73[_0x5e15('0x41')],'message':_0x315e73[_0x5e15('0x3d')],'row':_0x1dabb6});}function handleQuery(_0xe6a0a8){logger['info'](_0xe6a0a8);return db[_0x5e15('0x42')][_0x5e15('0x43')](_0xe6a0a8)[_0x5e15('0x44')](function(_0x34e796){results[_0x5e15('0x40')](_0x34e796);})[_0x5e15('0x45')](function(_0x46d5a0){logger[_0x5e15('0x3c')](_0x46d5a0['message']);});}function main(_0x7d8f4b,_0x217a28,_0x598e6b,_0x59f453){logger[_0x5e15('0x3a')]('main',_0x7d8f4b,JSON[_0x5e15('0x46')](_0x217a28));process['send'](_0x5e15('0x47'));var _0x4f94c6=_0x217a28[_0x5e15('0x48')];var _0x3fbdf1=_0x217a28[_0x5e15('0x49')];var _0x511e6a=path['join'](config[_0x5e15('0x4a')],_0x5e15('0x4b'),_0x3fbdf1+_0x5e15('0x4c'));var _0x1b9a7f=_[_0x5e15('0x34')](_0x4f94c6)['join']();logger[_0x5e15('0x3a')](_0x5e15('0x4d'),_0x1b9a7f);fs[_0x5e15('0x4e')](_0x511e6a,_0x1b9a7f+'\x0a');Papa[_0x5e15('0x4f')](fs[_0x5e15('0x50')](_0x7d8f4b),{'header':!![],'skipEmptyLines':!![],'step':function(_0x190298,_0xea1b0d){try{for(var _0x1fd332=0x0,_0x29c9fb=[];_0x1fd332<_0x190298[_0x5e15('0x51')][_0x5e15('0x52')];_0x1fd332++){stats[_0x5e15('0x53')]+=0x1;if(_0x190298[_0x5e15('0x3f')][_0x1fd332]){handleError(_0x190298[_0x5e15('0x51')][_0x1fd332],_0x190298['errors'][_0x1fd332]);}else{var _0x41b8eb=[];for(var _0x5f15c5 in _0x4f94c6){if(_0x4f94c6[_0x5e15('0x54')](_0x5f15c5)){if(_0x190298[_0x5e15('0x51')][_0x1fd332][_0x4f94c6[_0x5f15c5]]){var _0xaa15c1=_['trim'](_0x190298['data'][_0x1fd332][_0x4f94c6[_0x5f15c5]][_0x5e15('0x55')](/"/g,'\x27'));switch(_0x5f15c5){case _0x5e15('0x1d'):var _0xb1b55c=moment(_0xaa15c1,_0x5e15('0xd'),!![]);if(_0xb1b55c[_0x5e15('0x56')]()){_0x29c9fb[_0x5e15('0x40')]('\x22'+_0xaa15c1+'\x22');}else{_0x41b8eb[_0x5e15('0x40')](_0x5e15('0x57'));}break;case _0x5e15('0x22'):var _0x3ce88f=parseInt(_0xaa15c1);_0xaa15c1=_['isNaN'](_0x3ce88f)||_0x3ce88f<0x0||_0x3ce88f>0x4?_0x59f453?0x3:0x2:_0x3ce88f;_0x29c9fb['push']('\x22'+_0xaa15c1+'\x22');break;case _0x5e15('0x23'):var _0x4264a0=parseInt(_0xaa15c1);if(_['isNumber'](_0x4264a0)&&_[_0x5e15('0x58')](_0x598e6b,_0x4264a0)){_0x29c9fb[_0x5e15('0x40')]('\x22'+_0x4264a0+'\x22');}else{_0x41b8eb[_0x5e15('0x40')](_0x5e15('0x59'));}break;case'email':if(isEmail(_0xaa15c1)){_0x29c9fb['push']('\x22'+_0xaa15c1+'\x22');}else{_0x41b8eb[_0x5e15('0x40')](_0x5e15('0x5a'));}break;case _0x5e15('0x5b'):var _0x5a67ce=moment(_0xaa15c1,_0x5e15('0x5c'),!![]);if(_0x5a67ce[_0x5e15('0x56')]()){_0x29c9fb[_0x5e15('0x40')]('\x22'+_0xaa15c1+'\x22');}else{_0x41b8eb[_0x5e15('0x40')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;default:_0x29c9fb[_0x5e15('0x40')]('\x22'+_0xaa15c1+'\x22');}}else{switch(_0x5f15c5){case _0x5e15('0x5d'):case _0x5e15('0x1c'):_0x41b8eb[_0x5e15('0x40')](_0x5f15c5+'\x20not\x20specified');break;default:_0x29c9fb[_0x5e15('0x40')]('\x22\x22');}}}}if(_0x41b8eb[_0x5e15('0x52')]){handleError(_0x190298[_0x5e15('0x51')][_0x1fd332],{'code':_0x5e15('0x5e'),'message':_0x41b8eb[_0x5e15('0x10')]()});}else{fs[_0x5e15('0x5f')](_0x511e6a,_0x29c9fb[_0x5e15('0x10')]()+'\x0a');}_0x29c9fb=[];}if(!(stats[_0x5e15('0x53')]%0xc8)){socket[_0x5e15('0x60')]('contact:import:'+_0x3fbdf1,stats);stats[_0x5e15('0x3f')]=[];}}if(stopped){logger['info'](_0x5e15('0x61'));_0xea1b0d[_0x5e15('0x62')]();}}catch(_0x5e2140){handleError(_0x190298['data'][_0x1fd332],{'code':'SystemError','message':_0x5e2140[_0x5e15('0x3d')]});logger[_0x5e15('0x3c')](_0x5e15('0x63'),_0x5e2140[_0x5e15('0x3d')]);}},'complete':function(){try{var _0x40d5ca=[];var _0x38d6e8=_0x5e15('0x27');if(_0x217a28[_0x5e15('0x64')]&&_0x217a28['duplicates'][_0x5e15('0x52')]){_0x38d6e8='cm_contacts_'+_0x3fbdf1;_0x40d5ca['push'](_0x5e15('0x65')+_0x38d6e8+_0x5e15('0x66'));}var _0x59fa00=util[_0x5e15('0x67')]('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',_0x511e6a,_0x38d6e8,_0x1b9a7f,_0x217a28[_0x5e15('0x1f')],_0x217a28[_0x5e15('0x35')]||null,NOW,NOW);if(_[_0x5e15('0x68')](_0x4f94c6[_0x5e15('0x1d')])){_0x59fa00+=_0x5e15('0x69');}_0x40d5ca[_0x5e15('0x40')](_0x59fa00);if(_0x217a28[_0x5e15('0x64')]&&_0x217a28[_0x5e15('0x64')][_0x5e15('0x52')]){_0x40d5ca[_0x5e15('0x40')](insertCmContact(_0x217a28['ListId'],_0x38d6e8,_0x217a28['duplicates'],_0x4f94c6));_0x40d5ca['push'](_0x5e15('0x6a')+_0x38d6e8+';');}_0x40d5ca[_0x5e15('0x40')](insertCmHopper(_0x217a28[_0x5e15('0x1f')],'voice_queues_has_cm_lists',_0x5e15('0x6b'),_0x5e15('0x6c'),_0x59f453));_0x40d5ca[_0x5e15('0x40')](insertCmHopperBlack(_0x217a28[_0x5e15('0x1f')],'voice_queues_has_cm_blacklists','voice_queues','VoiceQueueId'));_0x40d5ca[_0x5e15('0x40')](insertCmHopper(_0x217a28[_0x5e15('0x1f')],'campaigns_has_cm_lists',_0x5e15('0x6d'),_0x5e15('0x6e'),_0x59f453));_0x40d5ca[_0x5e15('0x40')](insertCmHopperBlack(_0x217a28[_0x5e15('0x1f')],'campaigns_has_cm_blacklists',_0x5e15('0x6d'),'CampaignId'));BPromise[_0x5e15('0x6f')](_0x40d5ca,handleQuery)[_0x5e15('0x70')](function(_0x460ffe){stats['finish']=!![];stats[_0x5e15('0x71')]=_0x217a28[_0x5e15('0x64')]&&_0x217a28[_0x5e15('0x64')][_0x5e15('0x52')]?results[0x2][_0x5e15('0x71')]:results[0x0][_0x5e15('0x71')];socket[_0x5e15('0x60')](_0x5e15('0x72')+_0x3fbdf1,stats);fs[_0x5e15('0x73')](_0x7d8f4b);fs['unlink'](_0x511e6a);process[_0x5e15('0x3e')](0x0);})[_0x5e15('0x45')](function(_0x3a7d43){logger[_0x5e15('0x3c')](_0x3a7d43[_0x5e15('0x3d')]);process[_0x5e15('0x3e')](0x1);});}catch(_0x28e841){logger['error']('complete',_0x28e841[_0x5e15('0x3d')]);process[_0x5e15('0x3e')](0x1);}},'error':function(_0x43a34a,_0x368ea0,_0x4b57b4,_0x15241f){throw new Error(_0x15241f);}});}function validate(){if(process[_0x5e15('0x74')]&&process[_0x5e15('0x74')]['length']<0x4){throw new Error(_0x5e15('0x75'));}var _0x4b0a21=path[_0x5e15('0x10')](config[_0x5e15('0x4a')],_0x5e15('0x4b'),process[_0x5e15('0x74')][0x2]);if(!fs[_0x5e15('0x76')](_0x4b0a21)){throw new Error(_0x5e15('0x77'));}var _0x3898cb={};try{_0x3898cb=JSON[_0x5e15('0x4f')](process[_0x5e15('0x74')][0x3]);if(!_0x3898cb[_0x5e15('0x48')]){throw new Error('binding\x20doesn\x27t\x20exists');}if(!_0x3898cb['binding'][_0x5e15('0x1c')]){throw new Error(_0x5e15('0x78'));}if(!_0x3898cb[_0x5e15('0x48')]['firstName']){throw new Error(_0x5e15('0x79'));}var _0x5653c6=0x0;if(_0x3898cb[_0x5e15('0x48')][_0x5e15('0x23')]){_0x5653c6=0x1;}if(!_0x3898cb[_0x5e15('0x1f')]){throw new Error(_0x5e15('0x7a'));}}catch(_0x1c59da){throw new Error(_0x5e15('0x7b'));}var _0x54d6e6=[];try{_0x54d6e6=_['map'](JSON[_0x5e15('0x4f')](process[_0x5e15('0x74')][0x4]),'id');}catch(_0x1e368f){logger['info'](_0x5e15('0x7c'));}main(_0x4b0a21,_0x3898cb,_0x54d6e6,_0x5653c6);}validate();process['on'](_0x5e15('0x7d'),handleStop);process['on'](_0x5e15('0x7e'),handleUncaughtException);
\ No newline at end of file