Built motion from commit aab208717af8d15f4fa224cdb6a202877019af9b. Version 3.0.0...
[motion-next.git] / server / components / import / cm / csv2.js
index 3520afd..3a36cac 100644 (file)
@@ -1 +1 @@
-const a830_0x4017=['.csv','../../../rediscache','cm_contacts','dirname','.id\x20=\x20','ContactId','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','cm_contacts.priority','cm_contacts.id','query','campaigns_has_cm_lists','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','fields','parse','isArray','fromQuery','body\x20id\x20mandatory','appendFileSync','existsSync','Received\x20SIGINT','recallme','deletedAt\x20IS\x20NULL',',\x0a\x20bodyString,\x20agentsString','CampaignId','push','replace','stringify','createdAt','port','campaigns_has_cm_blacklists','voice_queues','CompanyId','message','abort','trim','queries:\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','email','code','.CmListId\x20=\x20?','cm_contacts.updatedAt','cm_contacts.createdAt','\x20LIKE\x20cm_contacts;','firstName\x20is\x20mandatory','YYYY-MM-DD\x20HH:mm:ss','binding','cm_contacts.scheduledat','database','errors','VoiceQueueId','rows','start','join','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','format','.CmListId','map','No\x20agent\x20available','\x22onlyIfOpen\x22','../../../mysqldb','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone','select','password','isNumber','\x20not\x20specified','createConnection','string','data','isValid','insert','where','ListId\x20=\x20?','complete','dialectOptions','emit','DROP\x20TABLE\x20','SystemRow','phone\x20is\x20mandatory','binding\x20does\x20not\x20exists','cm_contacts.UserId','../../../globals','into','lowLevel','timezone','CREATE\x20TABLE\x20','YYYY-MM-DD','stack','from','handleQuery:\x20','cm_hopper','contact:import:','campaigns','priority','exit','ListId\x20is\x20mandatory','sequelize','UserId','step','voice_queues_has_cm_lists','path','keys','\x22always\x22','scheduledat','affectedRows','cm_contacts.phone\x20NOT\x20IN\x20(?)','function','CSV\x20Parser\x20error:\x20','uncaughtException','undefined','id\x20IN\x20?','group','length','concat','host','field','phone','cm_contacts_','toString','argv',')\x20NOT\x20IN\x20?','updatedAt','cm_contacts.ListId\x20=\x20','cm_hopper_black','log','ListId','send','validator','duplicates','papaparse','\x20=\x20','min_id','squel','MIN(id)','../../../mysqldb/infile-stream-factory','username','cm_contacts.ListId','error','Abort\x20parser'];(function(_0x3d638d,_0x401758){const _0x2ab83b=function(_0x10de24){while(--_0x10de24){_0x3d638d['push'](_0x3d638d['shift']());}};_0x2ab83b(++_0x401758);}(a830_0x4017,0x16b));const a830_0x2ab8=function(_0x3d638d,_0x401758){_0x3d638d=_0x3d638d-0x0;let _0x2ab83b=a830_0x4017[_0x3d638d];return _0x2ab83b;};const _0x6e87e1=a830_0x2ab8;'use strict';require(_0x6e87e1('0x83'));const fs=require('fs'),path=require(_0x6e87e1('0xc')),_=require('lodash'),Papa=require(_0x6e87e1('0x29')),util=require('util'),mysql2=require('mysql2/promise'),moment=require('moment'),squel=require(_0x6e87e1('0x2c')),db=require(_0x6e87e1('0x6d'))['db'],{infileStreamFactory}=require(_0x6e87e1('0x2e')),{getSocket}=require(_0x6e87e1('0x34')),socket=getSocket(),{isEmail}=require(_0x6e87e1('0x27')),stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0},results=[];let stopped=![];const NOW=moment()[_0x6e87e1('0x68')](_0x6e87e1('0x5e'));function selectNotIn(_0x10de24,_0x21adc5,_0x51577a,_0x8d696d,_0x347075){const _0x17f61d=_0x6e87e1;return squel[_0x17f61d('0x70')]()[_0x17f61d('0x1b')](_0x17f61d('0x1c'))['from'](_0x8d696d)['join'](_0x21adc5,null,_0x21adc5+'.id\x20=\x20'+_0x8d696d+'.'+_0x51577a)['where'](_0x8d696d+'.'+_0x51577a+'\x20=\x20'+_0x10de24+'.'+_0x51577a)[_0x17f61d('0x79')](_0x21adc5+'.dialCheckDuplicateType\x20IN\x20('+_0x347075[_0x17f61d('0x66')]()+')');}function sendMessage(_0xfb81e9){const _0x400baf=_0x6e87e1,_0x98a5e8=typeof _0xfb81e9===_0x400baf('0x75')?_0xfb81e9:JSON[_0x400baf('0x4d')](_0xfb81e9);typeof process[_0x400baf('0x26')]===_0x400baf('0x12')?process['send'](_0x98a5e8):console[_0x400baf('0x24')](_0x98a5e8);}function insertCmHopper(_0x25a021,_0x24387e,_0x56a9f8,_0x29f2ac,_0x527c35){const _0x1b26d7=_0x6e87e1,_0x3d5c02=[_0x1b26d7('0x6f'),_0x1b26d7('0x60'),'cm_contacts.id','cm_contacts.ListId',_0x24387e+'.'+_0x29f2ac,_0x1b26d7('0x5b'),_0x1b26d7('0x5a'),_0x1b26d7('0x3a'),_0x1b26d7('0x82'),'\x22'+_0x527c35+'\x22'];return squel['insert']()['into']('cm_hopper')[_0x1b26d7('0x42')]([_0x1b26d7('0x1c'),_0x1b26d7('0xf'),_0x1b26d7('0x38'),_0x1b26d7('0x25'),_0x29f2ac,_0x1b26d7('0x4e'),_0x1b26d7('0x21'),'priority',_0x1b26d7('0x9'),_0x1b26d7('0x47')],squel[_0x1b26d7('0x70')]()[_0x1b26d7('0x3f')](_0x3d5c02)[_0x1b26d7('0x0')](_0x24387e)['join'](_0x1b26d7('0x35'),null,_0x1b26d7('0x22')+_0x24387e+'.CmListId')['join'](_0x56a9f8,null,_0x56a9f8+_0x1b26d7('0x37')+_0x24387e+'.'+_0x29f2ac)[_0x1b26d7('0x79')](_0x24387e+_0x1b26d7('0x59'),_0x25a021)[_0x1b26d7('0x79')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x1b26d7('0x79')](_0x1b26d7('0x11'),selectNotIn(_0x24387e,_0x56a9f8,_0x29f2ac,_0x1b26d7('0x2'),[_0x1b26d7('0xe'),_0x1b26d7('0x6c')]))[_0x1b26d7('0x79')](_0x1b26d7('0x11'),selectNotIn(_0x24387e,_0x56a9f8,_0x29f2ac,_0x1b26d7('0x2'),[_0x1b26d7('0xe')])))[_0x1b26d7('0x1e')]();}function insertCmHopperBlack(_0x51e1db,_0x238aad,_0x296bcd,_0x3e7772){const _0x5ba178=_0x6e87e1,_0x2a608e=['cm_contacts.phone',_0x5ba178('0x3b'),_0x5ba178('0x30'),_0x238aad+'.'+_0x3e7772,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel[_0x5ba178('0x78')]()[_0x5ba178('0x84')](_0x5ba178('0x23'))['fromQuery'](['phone',_0x5ba178('0x38'),'ListId',_0x3e7772,_0x5ba178('0x4e'),_0x5ba178('0x21')],squel[_0x5ba178('0x70')]()['fields'](_0x2a608e)['from'](_0x238aad)[_0x5ba178('0x66')](_0x5ba178('0x35'),null,_0x5ba178('0x22')+_0x238aad+_0x5ba178('0x69'))[_0x5ba178('0x66')](_0x296bcd,null,_0x296bcd+_0x5ba178('0x37')+_0x238aad+'.'+_0x3e7772)[_0x5ba178('0x79')](_0x238aad+_0x5ba178('0x59'),_0x51e1db)[_0x5ba178('0x79')](_0x5ba178('0x6e'),NOW)[_0x5ba178('0x79')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x5ba178('0x70')]()[_0x5ba178('0x1b')](_0x5ba178('0x1c'))[_0x5ba178('0x0')](_0x5ba178('0x23'))['where'](_0x5ba178('0x7a'),_0x51e1db)[_0x5ba178('0x79')](_0x3e7772+_0x5ba178('0x2a')+_0x238aad+'.'+_0x3e7772)))[_0x5ba178('0x1e')]();}function insertCmContact(_0x5ba9e8,_0x27a41a,_0x2066ab,_0x5c1808){const _0x4aa6f3=_0x6e87e1,_0x5de8a6=_[_0x4aa6f3('0x19')](_['keys'](_0x5c1808),[_0x4aa6f3('0x25'),_0x4aa6f3('0x52'),_0x4aa6f3('0x4e'),'updatedAt']);return squel['insert']()[_0x4aa6f3('0x84')](_0x4aa6f3('0x35'))[_0x4aa6f3('0x42')](_0x5de8a6,squel[_0x4aa6f3('0x70')]()[_0x4aa6f3('0x3f')](_0x5de8a6)[_0x4aa6f3('0x0')](_0x27a41a)[_0x4aa6f3('0x79')]('('+_0x2066ab[_0x4aa6f3('0x66')](',')+_0x4aa6f3('0x20'),squel['select']()[_0x4aa6f3('0x3f')](_0x2066ab)['from']('cm_contacts')['where'](_0x4aa6f3('0x7a'),_0x5ba9e8)[_0x4aa6f3('0x79')](_0x4aa6f3('0x48')))[_0x4aa6f3('0x79')](_0x4aa6f3('0x16'),squel['select']()[_0x4aa6f3('0x1b')](_0x4aa6f3('0x2d'),_0x4aa6f3('0x2b'))[_0x4aa6f3('0x0')](_0x27a41a)[_0x4aa6f3('0x17')](_0x2066ab['join'](','))))[_0x4aa6f3('0x1e')]();}function handleStop(){const _0x2d0786=_0x6e87e1;console[_0x2d0786('0x24')](_0x2d0786('0x46')),stopped=!![];}function handleUncaughtException(_0x57be46){const _0x5c3675=_0x6e87e1;console[_0x5c3675('0x31')](_0x57be46[_0x5c3675('0x53')]);throw _0x57be46;}function handleError(_0x46ddc5,_0x4736db){const _0x3a79e8=_0x6e87e1;stats[_0x3a79e8('0x62')][_0x3a79e8('0x4b')]({'name':_0x4736db[_0x3a79e8('0x58')],'message':_0x4736db[_0x3a79e8('0x53')],'row':_0x46ddc5});}async function lowLevelMySQL2Query(_0x193e9d){const _0x1e46da=_0x6e87e1,_0xda19f1=db[_0x1e46da('0x8')]['config'],_0x49434c={'host':_0xda19f1[_0x1e46da('0x1a')],'port':_0xda19f1[_0x1e46da('0x4f')],'user':_0xda19f1[_0x1e46da('0x2f')],'password':_0xda19f1[_0x1e46da('0x71')],'database':_0xda19f1[_0x1e46da('0x61')],'timezone':db[_0x1e46da('0x8')]['options'][_0x1e46da('0x86')],'bigNumberStrings':![],'supportBigNumbers':!![],..._0xda19f1[_0x1e46da('0x7c')]},_0x42727c=await mysql2[_0x1e46da('0x74')](_0x49434c),[_0x4937c3,_0x29c638]=await _0x42727c['query']({'sql':_0x193e9d,'infileStreamFactory':infileStreamFactory});return await _0x42727c['end'](),{'affectedRows':_0x4937c3[_0x1e46da('0x10')],'rows':_0x4937c3,'fields':_0x29c638};}async function handleQuery(_0x4ef38c,_0x489484=![]){const _0x3adff7=_0x6e87e1;try{if(_0x489484){const {affectedRows:_0x57e15f}=await lowLevelMySQL2Query(_0x4ef38c);results[_0x3adff7('0x4b')](_0x57e15f);}else{const [_0x16c227]=await db[_0x3adff7('0x8')]['query'](_0x4ef38c);results[_0x3adff7('0x4b')](_0x16c227);}}catch(_0x5550e5){console[_0x3adff7('0x31')](_0x3adff7('0x1')+_0x5550e5[_0x3adff7('0x53')],_0x5550e5[_0x3adff7('0x89')],_0x4ef38c);throw _0x5550e5;}}function main(_0x1d1197,_0xcf8d8c,_0x18c10d,_0x5afdc8){const _0x2a2337=_0x6e87e1;sendMessage(_0x2a2337('0x65'));const _0x52dbb5=_0xcf8d8c[_0x2a2337('0x5f')],_0x24f314=_0xcf8d8c['socket_timestamp'],_0x3037a4=path[_0x2a2337('0x66')](path[_0x2a2337('0x36')](_0x1d1197),_0x24f314+_0x2a2337('0x33')),_0x57a5e0=_[_0x2a2337('0xd')](_0x52dbb5)['join']();fs['writeFileSync'](_0x3037a4,_0x57a5e0+'\x0a'),Papa[_0x2a2337('0x40')](fs['createReadStream'](_0x1d1197),{'header':!![],'skipEmptyLines':!![],'step':function(_0xf1a8ff,_0x4ce692){const _0x53323e=_0x2a2337;let _0x2e4205=0x0,_0x5b2c7d=[];const _0x57422a=Array[_0x53323e('0x41')](_0xf1a8ff[_0x53323e('0x76')])?_0xf1a8ff[_0x53323e('0x76')]:[_0xf1a8ff[_0x53323e('0x76')]];try{for(_0x2e4205=0x0,_0x5b2c7d=[];_0x2e4205<_0x57422a[_0x53323e('0x18')];_0x2e4205++){stats[_0x53323e('0x64')]+=0x1;if(_0xf1a8ff[_0x53323e('0x62')][_0x2e4205])handleError(_0x57422a[_0x2e4205],_0xf1a8ff['errors'][_0x2e4205]);else{const _0x30d176=[];for(const _0x1a0778 in _0x52dbb5){if(typeof _0x52dbb5[_0x1a0778]!==_0x53323e('0x15')){if(_0x57422a[_0x2e4205][_0x52dbb5[_0x1a0778]]){let _0x279554=_[_0x53323e('0x55')](_0x57422a[_0x2e4205][_0x52dbb5[_0x1a0778]][_0x53323e('0x4c')](/"/g,'\x27'));switch(_0x1a0778){case _0x53323e('0xf'):{const _0x5f5101=moment(_0x279554,_0x53323e('0x5e'),!![]);_0x5f5101[_0x53323e('0x77')]()?_0x5b2c7d[_0x53323e('0x4b')]('\x22'+_0x279554+'\x22'):_0x30d176['push'](_0x53323e('0x39'));}break;case _0x53323e('0x5'):{const _0x46fdfc=parseInt(_0x279554);_0x279554=_['isNaN'](_0x46fdfc)||_0x46fdfc<0x0||_0x46fdfc>0x4?_0x5afdc8?0x3:0x2:_0x46fdfc,_0x5b2c7d[_0x53323e('0x4b')]('\x22'+_0x279554+'\x22');}break;case'UserId':{const _0x4ecace=parseInt(_0x279554);_[_0x53323e('0x72')](_0x4ecace)&&_['includes'](_0x18c10d,_0x4ecace)?_0x5b2c7d['push']('\x22'+_0x4ecace+'\x22'):_0x30d176[_0x53323e('0x4b')]('agent\x20not\x20exists');}break;case _0x53323e('0x57'):isEmail(_0x279554)?_0x5b2c7d[_0x53323e('0x4b')]('\x22'+_0x279554+'\x22'):_0x30d176['push']('email\x20wrong\x20format');break;case'dateOfBirth':{const _0xbda63=moment(_0x279554,_0x53323e('0x88'),!![]);_0xbda63[_0x53323e('0x77')]()?_0x5b2c7d['push']('\x22'+_0x279554+'\x22'):_0x30d176[_0x53323e('0x4b')](_0x53323e('0x3e'));}break;default:_0x5b2c7d[_0x53323e('0x4b')]('\x22'+_0x279554+'\x22');}}else switch(_0x1a0778){case'firstName':case _0x53323e('0x1c'):_0x30d176['push'](_0x1a0778+_0x53323e('0x73'));break;default:_0x5b2c7d[_0x53323e('0x4b')]('\x22\x22');}}}_0x30d176[_0x53323e('0x18')]?handleError(_0x57422a[_0x2e4205],{'code':_0x53323e('0x7f'),'message':_0x30d176[_0x53323e('0x66')]()}):fs[_0x53323e('0x44')](_0x3037a4,_0x5b2c7d[_0x53323e('0x66')]()+'\x0a'),_0x5b2c7d=[];}!(stats[_0x53323e('0x64')]%0xc8)&&(socket[_0x53323e('0x7d')](_0x53323e('0x3')+_0x24f314,stats),stats[_0x53323e('0x62')]=[]);}stopped&&(console[_0x53323e('0x24')](_0x53323e('0x32')),_0x4ce692[_0x53323e('0x54')]());}catch(_0x3b1e0c){handleError(_0xf1a8ff[_0x53323e('0x76')][_0x2e4205],{'code':'SystemError','message':_0x3b1e0c[_0x53323e('0x53')]}),console[_0x53323e('0x31')](_0x53323e('0xa'),_0x3b1e0c[_0x53323e('0x53')]);}},'complete':_0x2ad1e4=>(async()=>{const _0x315604=_0x2a2337;console[_0x315604('0x24')]('COMPLETE',_0x2ad1e4);try{const _0x2ba6f3=[];let _0x3ef300=_0x315604('0x35');_0xcf8d8c[_0x315604('0x28')]&&_0xcf8d8c[_0x315604('0x28')][_0x315604('0x18')]&&(_0x3ef300=_0x315604('0x1d')+_0x24f314,_0x2ba6f3[_0x315604('0x4b')]({'query':_0x315604('0x87')+_0x3ef300+_0x315604('0x5c'),'lowLevel':![]}));let _0x14c6f8=util[_0x315604('0x68')](_0x315604('0x67'),_0x3037a4,_0x3ef300,_0x57a5e0,_0xcf8d8c[_0x315604('0x25')],_0xcf8d8c[_0x315604('0x52')]||null,NOW,NOW);_['isNil'](_0x52dbb5[_0x315604('0xf')])&&(_0x14c6f8+=',\x20scheduledAt\x20=\x20NOW()');_0x2ba6f3['push']({'query':_0x14c6f8,'lowLevel':!![]});_0xcf8d8c['duplicates']&&_0xcf8d8c[_0x315604('0x28')][_0x315604('0x18')]&&(_0x2ba6f3['push']({'query':insertCmContact(_0xcf8d8c['ListId'],_0x3ef300,_0xcf8d8c[_0x315604('0x28')],_0x52dbb5),'lowLevel':![]}),_0x2ba6f3[_0x315604('0x4b')]({'query':_0x315604('0x7e')+_0x3ef300+';','lowLevel':![]}));_0x2ba6f3[_0x315604('0x4b')]({'query':insertCmHopper(_0xcf8d8c['ListId'],_0x315604('0xb'),_0x315604('0x51'),_0x315604('0x63'),_0x5afdc8),'lowLevel':![]}),_0x2ba6f3['push']({'query':insertCmHopperBlack(_0xcf8d8c['ListId'],'voice_queues_has_cm_blacklists',_0x315604('0x51'),_0x315604('0x63')),'lowLevel':![]}),_0x2ba6f3[_0x315604('0x4b')]({'query':insertCmHopper(_0xcf8d8c[_0x315604('0x25')],_0x315604('0x3d'),_0x315604('0x4'),_0x315604('0x4a'),_0x5afdc8),'lowLevel':![]}),_0x2ba6f3['push']({'query':insertCmHopperBlack(_0xcf8d8c[_0x315604('0x25')],_0x315604('0x50'),_0x315604('0x4'),_0x315604('0x4a')),'lowLevel':![]}),console['log'](_0x315604('0x56')+_0x2ba6f3[_0x315604('0x6a')](_0x49be23=>_0x49be23['query'])[_0x315604('0x66')]('\x0a'));try{await Promise['all'](_0x2ba6f3[_0x315604('0x6a')](_0xd6904a=>handleQuery(_0xd6904a[_0x315604('0x3c')],_0xd6904a[_0x315604('0x85')]))),stats['finish']=!![],stats[_0x315604('0x10')]=_0xcf8d8c['duplicates']&&_0xcf8d8c[_0x315604('0x28')]['length']?results[0x2][_0x315604('0x10')]:results[0x0]['affectedRows'],socket[_0x315604('0x7d')]('contact:import:'+_0x24f314,stats),process[_0x315604('0x6')](0x0);}catch(_0x5430c6){console[_0x315604('0x31')](_0x315604('0x13')+_0x5430c6[_0x315604('0x53')]+',\x20'+_0x5430c6[_0x315604('0x89')]);throw _0x5430c6;}}catch(_0x4836ea){console[_0x315604('0x31')](_0x315604('0x7b'),_0x4836ea[_0x315604('0x53')]);throw _0x4836ea;}})(),'error':function(_0x48037a,_0x4d423d,_0x51c24f,_0x470550){throw new Error(_0x470550);}});}function validate(){const _0x428807=_0x6e87e1;if(process[_0x428807('0x1f')]&&process[_0x428807('0x1f')][_0x428807('0x18')]<0x4)throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');const [,,_0xe2c54,_0xc705b4,_0x2299ca]=process['argv'];console[_0x428807('0x24')]('CSV2\x20Starting:\x20fullfilepath='+_0xe2c54+_0x428807('0x49'));if(!fs[_0x428807('0x45')](_0xe2c54))throw new Error('File\x20does\x20not\x20exist:\x20'+_0xe2c54);let _0x2c2817={},_0x1a6d91=0x0;try{_0x2c2817=JSON['parse'](_0xc705b4);if(!_0x2c2817['binding'])throw new Error(_0x428807('0x81'));if(!_0x2c2817['binding'][_0x428807('0x1c')])throw new Error(_0x428807('0x80'));if(!_0x2c2817[_0x428807('0x5f')]['firstName'])throw new Error(_0x428807('0x5d'));_0x2c2817[_0x428807('0x5f')][_0x428807('0x9')]&&(_0x1a6d91=0x1);if(!_0x2c2817[_0x428807('0x25')])throw new Error(_0x428807('0x7'));}catch(_0x581411){throw new Error(_0x428807('0x43'));}let _0x599fc4=[];try{_0x599fc4=_['map'](JSON[_0x428807('0x40')](_0x2299ca,'id'));}catch(_0x3470d1){console[_0x428807('0x24')](_0x428807('0x6b'));}main(_0xe2c54,_0x2c2817,_0x599fc4,_0x1a6d91);}validate(),process['on']('SIGINT',handleStop),process['on'](_0x6e87e1('0x14'),handleUncaughtException);
\ No newline at end of file
+const a830_0x32e9=['dateOfBirth','username','errors','error','voice_queues_has_cm_lists','util','YYYY-MM-DD','string','id\x20IN\x20?','cm_contacts.updatedAt','\x22onlyIfOpen\x22','ListId','CompanyId','start','moment','VoiceQueueId','SIGINT','firstName\x20is\x20mandatory','complete','concat','length','createReadStream','join','query','push','dirname','CREATE\x20TABLE\x20','message','mysql2/promise','group','.id\x20=\x20','socket_timestamp','appendFileSync','cm_contacts.createdAt','trim','ContactId','isNaN','Abort\x20parser','format','end','arguments\x20<filename>\x20<parameters>\x20<agents>','campaigns_has_cm_lists','min_id','contact:import:',')\x20NOT\x20IN\x20?','stringify','host','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','isArray','YYYY-MM-DD\x20HH:mm:ss','cm_contacts.UserId','cm_contacts','DROP\x20TABLE\x20','papaparse','.CmListId\x20=\x20?','isNil','exit','insert','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','sequelize','email\x20wrong\x20format','queries:\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','lodash','existsSync','binding','SystemRow','uncaughtException','binding\x20does\x20not\x20exists','\x20LIKE\x20cm_contacts;','Received\x20SIGINT','cm_contacts.phone\x20NOT\x20IN\x20(?)','select','emit','cm_contacts.priority','rows','\x20=\x20','validator','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','scheduledat','database','stack','CSV2\x20Starting:\x20fullfilepath=','UserId','fromQuery','includes','field','firstName','\x22always\x22','from','send','CampaignId','toString','phone','writeFileSync','cm_contacts_','duplicates','port','isNumber','SystemError','cm_hopper_black','\x20not\x20specified','isValid','into','ListId\x20=\x20?','config','.CmListId','squel','voice_queues_has_cm_blacklists','data','map','abort','argv','deletedAt\x20IS\x20NULL','undefined',',\x20scheduledAt\x20=\x20NOW()','phone\x20is\x20mandatory','parse','path','where','COMPLETE','cm_hopper','code','createdAt','updatedAt','cm_contacts.ListId\x20=\x20','log','affectedRows','options','fields','CSV\x20Parser\x20error:\x20','ListId\x20is\x20mandatory','dialectOptions','campaigns','timezone','handleQuery:\x20','replace','cm_contacts.scheduledat','MIN(id)','cm_contacts.id'];(function(_0x1ef6a4,_0x32e9ac){const _0x5515c0=function(_0x2a62e0){while(--_0x2a62e0){_0x1ef6a4['push'](_0x1ef6a4['shift']());}};_0x5515c0(++_0x32e9ac);}(a830_0x32e9,0x1d6));const a830_0x5515=function(_0x1ef6a4,_0x32e9ac){_0x1ef6a4=_0x1ef6a4-0x0;let _0x5515c0=a830_0x32e9[_0x1ef6a4];return _0x5515c0;};const _0x1ef202=a830_0x5515;'use strict';require('../../../globals');const fs=require('fs'),path=require(_0x1ef202('0x40')),_=require(_0x1ef202('0x9')),Papa=require(_0x1ef202('0x0')),util=require(_0x1ef202('0x5b')),mysql2=require(_0x1ef202('0x72')),moment=require(_0x1ef202('0x64')),squel=require(_0x1ef202('0x35')),db=require('../../../mysqldb')['db'],{infileStreamFactory}=require('../../../mysqldb/infile-stream-factory'),{getSocket}=require('../../../rediscache'),socket=getSocket(),{isEmail}=require(_0x1ef202('0x17')),stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0},results=[];let stopped=![];const NOW=moment()[_0x1ef202('0x7c')](_0x1ef202('0x87'));function selectNotIn(_0x2a62e0,_0x1f0906,_0x44eceb,_0xc6238,_0x210baf){const _0x3b966b=_0x1ef202;return squel[_0x3b966b('0x12')]()[_0x3b966b('0x20')]('phone')[_0x3b966b('0x23')](_0xc6238)[_0x3b966b('0x6c')](_0x1f0906,null,_0x1f0906+_0x3b966b('0x74')+_0xc6238+'.'+_0x44eceb)[_0x3b966b('0x41')](_0xc6238+'.'+_0x44eceb+_0x3b966b('0x16')+_0x2a62e0+'.'+_0x44eceb)[_0x3b966b('0x41')](_0x1f0906+'.dialCheckDuplicateType\x20IN\x20('+_0x210baf[_0x3b966b('0x6c')]()+')');}function sendMessage(_0x117a18){const _0x3db2f6=_0x1ef202,_0x296f30=typeof _0x117a18===_0x3db2f6('0x5d')?_0x117a18:JSON[_0x3db2f6('0x83')](_0x117a18);typeof process[_0x3db2f6('0x24')]==='function'?process[_0x3db2f6('0x24')](_0x296f30):console[_0x3db2f6('0x48')](_0x296f30);}function insertCmHopper(_0x33f820,_0x26c7b4,_0x2df136,_0x2bb3,_0x573255){const _0x581cbe=_0x1ef202,_0x1383fa=['cm_contacts.phone',_0x581cbe('0x53'),'cm_contacts.id','cm_contacts.ListId',_0x26c7b4+'.'+_0x2bb3,_0x581cbe('0x77'),'cm_contacts.updatedAt',_0x581cbe('0x14'),_0x581cbe('0x88'),'\x22'+_0x573255+'\x22'];return squel[_0x581cbe('0x4')]()[_0x581cbe('0x31')](_0x581cbe('0x43'))[_0x581cbe('0x1e')]([_0x581cbe('0x27'),'scheduledat',_0x581cbe('0x79'),_0x581cbe('0x61'),_0x2bb3,_0x581cbe('0x45'),_0x581cbe('0x46'),'priority',_0x581cbe('0x1d'),'recallme'],squel[_0x581cbe('0x12')]()['fields'](_0x1383fa)[_0x581cbe('0x23')](_0x26c7b4)[_0x581cbe('0x6c')](_0x581cbe('0x89'),null,'cm_contacts.ListId\x20=\x20'+_0x26c7b4+_0x581cbe('0x34'))[_0x581cbe('0x6c')](_0x2df136,null,_0x2df136+'.id\x20=\x20'+_0x26c7b4+'.'+_0x2bb3)[_0x581cbe('0x41')](_0x26c7b4+_0x581cbe('0x1'),_0x33f820)[_0x581cbe('0x41')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x581cbe('0x41')](_0x581cbe('0x11'),selectNotIn(_0x26c7b4,_0x2df136,_0x2bb3,'cm_hopper',[_0x581cbe('0x22'),_0x581cbe('0x60')]))['where'](_0x581cbe('0x11'),selectNotIn(_0x26c7b4,_0x2df136,_0x2bb3,_0x581cbe('0x43'),['\x22always\x22'])))['toString']();}function insertCmHopperBlack(_0x554c2c,_0x5568b2,_0x577d49,_0x30f150){const _0x264391=_0x1ef202,_0x4c2b21=['cm_contacts.phone',_0x264391('0x55'),'cm_contacts.ListId',_0x5568b2+'.'+_0x30f150,_0x264391('0x77'),_0x264391('0x5f')];return squel[_0x264391('0x4')]()['into'](_0x264391('0x2e'))[_0x264391('0x1e')]([_0x264391('0x27'),_0x264391('0x79'),_0x264391('0x61'),_0x30f150,_0x264391('0x45'),_0x264391('0x46')],squel[_0x264391('0x12')]()[_0x264391('0x4b')](_0x4c2b21)[_0x264391('0x23')](_0x5568b2)[_0x264391('0x6c')](_0x264391('0x89'),null,_0x264391('0x47')+_0x5568b2+_0x264391('0x34'))[_0x264391('0x6c')](_0x577d49,null,_0x577d49+_0x264391('0x74')+_0x5568b2+'.'+_0x30f150)[_0x264391('0x41')](_0x5568b2+_0x264391('0x1'),_0x554c2c)[_0x264391('0x41')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0x264391('0x11'),squel[_0x264391('0x12')]()[_0x264391('0x20')](_0x264391('0x27'))[_0x264391('0x23')](_0x264391('0x2e'))[_0x264391('0x41')](_0x264391('0x32'),_0x554c2c)[_0x264391('0x41')](_0x30f150+_0x264391('0x16')+_0x5568b2+'.'+_0x30f150)))['toString']();}function insertCmContact(_0x6ec33f,_0x56230d,_0x98a608,_0x8fd1e5){const _0xffbae1=_0x1ef202,_0xf7e02c=_[_0xffbae1('0x69')](_['keys'](_0x8fd1e5),[_0xffbae1('0x61'),_0xffbae1('0x62'),'createdAt',_0xffbae1('0x46')]);return squel[_0xffbae1('0x4')]()[_0xffbae1('0x31')](_0xffbae1('0x89'))[_0xffbae1('0x1e')](_0xf7e02c,squel[_0xffbae1('0x12')]()[_0xffbae1('0x4b')](_0xf7e02c)[_0xffbae1('0x23')](_0x56230d)[_0xffbae1('0x41')]('('+_0x98a608['join'](',')+_0xffbae1('0x82'),squel[_0xffbae1('0x12')]()[_0xffbae1('0x4b')](_0x98a608)[_0xffbae1('0x23')](_0xffbae1('0x89'))[_0xffbae1('0x41')](_0xffbae1('0x32'),_0x6ec33f)[_0xffbae1('0x41')](_0xffbae1('0x3b')))[_0xffbae1('0x41')](_0xffbae1('0x5e'),squel['select']()[_0xffbae1('0x20')](_0xffbae1('0x54'),_0xffbae1('0x80'))[_0xffbae1('0x23')](_0x56230d)[_0xffbae1('0x73')](_0x98a608[_0xffbae1('0x6c')](','))))[_0xffbae1('0x26')]();}function handleStop(){const _0x448078=_0x1ef202;console[_0x448078('0x48')](_0x448078('0x10')),stopped=!![];}function handleUncaughtException(_0x43b9cb){const _0xe8c39e=_0x1ef202;console[_0xe8c39e('0x59')](_0x43b9cb[_0xe8c39e('0x71')]);throw _0x43b9cb;}function handleError(_0x42eefb,_0x206714){const _0x1cbc21=_0x1ef202;stats[_0x1cbc21('0x58')][_0x1cbc21('0x6e')]({'name':_0x206714[_0x1cbc21('0x44')],'message':_0x206714['message'],'row':_0x42eefb});}async function lowLevelMySQL2Query(_0x1d0c72){const _0x9aefe8=_0x1ef202,_0x4cc44e=db[_0x9aefe8('0x6')][_0x9aefe8('0x33')],_0x4b1a86={'host':_0x4cc44e[_0x9aefe8('0x84')],'port':_0x4cc44e[_0x9aefe8('0x2b')],'user':_0x4cc44e[_0x9aefe8('0x57')],'password':_0x4cc44e['password'],'database':_0x4cc44e[_0x9aefe8('0x1a')],'timezone':db[_0x9aefe8('0x6')][_0x9aefe8('0x4a')][_0x9aefe8('0x50')],'bigNumberStrings':![],'supportBigNumbers':!![],..._0x4cc44e[_0x9aefe8('0x4e')]},_0x20620e=await mysql2['createConnection'](_0x4b1a86),[_0x43f330,_0x589403]=await _0x20620e[_0x9aefe8('0x6d')]({'sql':_0x1d0c72,'infileStreamFactory':infileStreamFactory});return await _0x20620e[_0x9aefe8('0x7d')](),{'affectedRows':_0x43f330['affectedRows'],'rows':_0x43f330,'fields':_0x589403};}async function handleQuery(_0x21e21b,_0x42450f=![]){const _0x1fed17=_0x1ef202;try{if(_0x42450f){const {affectedRows:_0x17c422}=await lowLevelMySQL2Query(_0x21e21b);results[_0x1fed17('0x6e')](_0x17c422);}else{const [_0x341943]=await db[_0x1fed17('0x6')][_0x1fed17('0x6d')](_0x21e21b);results['push'](_0x341943);}}catch(_0x4645c5){console['error'](_0x1fed17('0x51')+_0x4645c5['message'],_0x4645c5[_0x1fed17('0x1b')],_0x21e21b);throw _0x4645c5;}}function main(_0x54ef9f,_0xadd480,_0x59b7d3,_0x5cf466){const _0x282869=_0x1ef202;sendMessage(_0x282869('0x63'));const _0xd31cbc=_0xadd480[_0x282869('0xb')],_0x133443=_0xadd480[_0x282869('0x75')],_0x5da277=path[_0x282869('0x6c')](path[_0x282869('0x6f')](_0x54ef9f),_0x133443+'.csv'),_0x3da763=_['keys'](_0xd31cbc)['join']();fs[_0x282869('0x28')](_0x5da277,_0x3da763+'\x0a'),Papa[_0x282869('0x3f')](fs[_0x282869('0x6b')](_0x54ef9f),{'header':!![],'skipEmptyLines':!![],'step':function(_0x4f76bb,_0x305e9b){const _0x2c2921=_0x282869;let _0x4a5aa0=0x0,_0x453418=[];const _0x31b4b2=Array[_0x2c2921('0x86')](_0x4f76bb['data'])?_0x4f76bb[_0x2c2921('0x37')]:[_0x4f76bb['data']];try{for(_0x4a5aa0=0x0,_0x453418=[];_0x4a5aa0<_0x31b4b2['length'];_0x4a5aa0++){stats['rows']+=0x1;if(_0x4f76bb[_0x2c2921('0x58')][_0x4a5aa0])handleError(_0x31b4b2[_0x4a5aa0],_0x4f76bb[_0x2c2921('0x58')][_0x4a5aa0]);else{const _0x5a2e4d=[];for(const _0x20a10d in _0xd31cbc){if(typeof _0xd31cbc[_0x20a10d]!==_0x2c2921('0x3c')){if(_0x31b4b2[_0x4a5aa0][_0xd31cbc[_0x20a10d]]){let _0x4b5ee4=_[_0x2c2921('0x78')](_0x31b4b2[_0x4a5aa0][_0xd31cbc[_0x20a10d]][_0x2c2921('0x52')](/"/g,'\x27'));switch(_0x20a10d){case _0x2c2921('0x19'):{const _0x22341c=moment(_0x4b5ee4,_0x2c2921('0x87'),!![]);_0x22341c[_0x2c2921('0x30')]()?_0x453418['push']('\x22'+_0x4b5ee4+'\x22'):_0x5a2e4d['push'](_0x2c2921('0x5'));}break;case'priority':{const _0x58cf53=parseInt(_0x4b5ee4);_0x4b5ee4=_[_0x2c2921('0x7a')](_0x58cf53)||_0x58cf53<0x0||_0x58cf53>0x4?_0x5cf466?0x3:0x2:_0x58cf53,_0x453418[_0x2c2921('0x6e')]('\x22'+_0x4b5ee4+'\x22');}break;case _0x2c2921('0x1d'):{const _0x2e6a4d=parseInt(_0x4b5ee4);_[_0x2c2921('0x2c')](_0x2e6a4d)&&_[_0x2c2921('0x1f')](_0x59b7d3,_0x2e6a4d)?_0x453418[_0x2c2921('0x6e')]('\x22'+_0x2e6a4d+'\x22'):_0x5a2e4d[_0x2c2921('0x6e')]('agent\x20not\x20exists');}break;case'email':isEmail(_0x4b5ee4)?_0x453418['push']('\x22'+_0x4b5ee4+'\x22'):_0x5a2e4d[_0x2c2921('0x6e')](_0x2c2921('0x7'));break;case _0x2c2921('0x56'):{const _0x1d6ea9=moment(_0x4b5ee4,_0x2c2921('0x5c'),!![]);_0x1d6ea9[_0x2c2921('0x30')]()?_0x453418[_0x2c2921('0x6e')]('\x22'+_0x4b5ee4+'\x22'):_0x5a2e4d['push'](_0x2c2921('0x18'));}break;default:_0x453418[_0x2c2921('0x6e')]('\x22'+_0x4b5ee4+'\x22');}}else switch(_0x20a10d){case _0x2c2921('0x21'):case _0x2c2921('0x27'):_0x5a2e4d[_0x2c2921('0x6e')](_0x20a10d+_0x2c2921('0x2f'));break;default:_0x453418['push']('\x22\x22');}}}_0x5a2e4d[_0x2c2921('0x6a')]?handleError(_0x31b4b2[_0x4a5aa0],{'code':_0x2c2921('0xc'),'message':_0x5a2e4d[_0x2c2921('0x6c')]()}):fs[_0x2c2921('0x76')](_0x5da277,_0x453418[_0x2c2921('0x6c')]()+'\x0a'),_0x453418=[];}!(stats[_0x2c2921('0x15')]%0xc8)&&(socket[_0x2c2921('0x13')]('contact:import:'+_0x133443,stats),stats['errors']=[]);}stopped&&(console['log'](_0x2c2921('0x7b')),_0x305e9b[_0x2c2921('0x39')]());}catch(_0x191c5f){handleError(_0x4f76bb[_0x2c2921('0x37')][_0x4a5aa0],{'code':_0x2c2921('0x2d'),'message':_0x191c5f[_0x2c2921('0x71')]}),console['error']('step',_0x191c5f[_0x2c2921('0x71')]);}},'complete':_0x1c418f=>(async()=>{const _0x2c14a0=_0x282869;console['log'](_0x2c14a0('0x42'),_0x1c418f);try{const _0x550e40=[];let _0x207148=_0x2c14a0('0x89');_0xadd480[_0x2c14a0('0x2a')]&&_0xadd480[_0x2c14a0('0x2a')][_0x2c14a0('0x6a')]&&(_0x207148=_0x2c14a0('0x29')+_0x133443,_0x550e40[_0x2c14a0('0x6e')]({'query':_0x2c14a0('0x70')+_0x207148+_0x2c14a0('0xf'),'lowLevel':![]}));let _0x4eae32=util['format'](_0x2c14a0('0x85'),_0x5da277,_0x207148,_0x3da763,_0xadd480[_0x2c14a0('0x61')],_0xadd480[_0x2c14a0('0x62')]||null,NOW,NOW);_[_0x2c14a0('0x2')](_0xd31cbc[_0x2c14a0('0x19')])&&(_0x4eae32+=_0x2c14a0('0x3d'));_0x550e40[_0x2c14a0('0x6e')]({'query':_0x4eae32,'lowLevel':!![]});_0xadd480[_0x2c14a0('0x2a')]&&_0xadd480[_0x2c14a0('0x2a')][_0x2c14a0('0x6a')]&&(_0x550e40[_0x2c14a0('0x6e')]({'query':insertCmContact(_0xadd480[_0x2c14a0('0x61')],_0x207148,_0xadd480[_0x2c14a0('0x2a')],_0xd31cbc),'lowLevel':![]}),_0x550e40['push']({'query':_0x2c14a0('0x8a')+_0x207148+';','lowLevel':![]}));_0x550e40[_0x2c14a0('0x6e')]({'query':insertCmHopper(_0xadd480[_0x2c14a0('0x61')],_0x2c14a0('0x5a'),'voice_queues',_0x2c14a0('0x65'),_0x5cf466),'lowLevel':![]}),_0x550e40[_0x2c14a0('0x6e')]({'query':insertCmHopperBlack(_0xadd480[_0x2c14a0('0x61')],_0x2c14a0('0x36'),'voice_queues',_0x2c14a0('0x65')),'lowLevel':![]}),_0x550e40[_0x2c14a0('0x6e')]({'query':insertCmHopper(_0xadd480[_0x2c14a0('0x61')],_0x2c14a0('0x7f'),'campaigns',_0x2c14a0('0x25'),_0x5cf466),'lowLevel':![]}),_0x550e40['push']({'query':insertCmHopperBlack(_0xadd480[_0x2c14a0('0x61')],'campaigns_has_cm_blacklists',_0x2c14a0('0x4f'),_0x2c14a0('0x25')),'lowLevel':![]}),console[_0x2c14a0('0x48')](_0x2c14a0('0x8')+_0x550e40[_0x2c14a0('0x38')](_0x27617f=>_0x27617f['query'])[_0x2c14a0('0x6c')]('\x0a'));try{await Promise['all'](_0x550e40[_0x2c14a0('0x38')](_0x665f17=>handleQuery(_0x665f17[_0x2c14a0('0x6d')],_0x665f17['lowLevel']))),stats['finish']=!![],stats[_0x2c14a0('0x49')]=_0xadd480[_0x2c14a0('0x2a')]&&_0xadd480['duplicates'][_0x2c14a0('0x6a')]?results[0x2][_0x2c14a0('0x49')]:results[0x0][_0x2c14a0('0x49')],socket[_0x2c14a0('0x13')](_0x2c14a0('0x81')+_0x133443,stats),process[_0x2c14a0('0x3')](0x0);}catch(_0x3b78cb){console['error'](_0x2c14a0('0x4c')+_0x3b78cb[_0x2c14a0('0x71')]+',\x20'+_0x3b78cb[_0x2c14a0('0x1b')]);throw _0x3b78cb;}}catch(_0x35f23e){console[_0x2c14a0('0x59')](_0x2c14a0('0x68'),_0x35f23e[_0x2c14a0('0x71')]);throw _0x35f23e;}})(),'error':function(_0x5a8a51,_0x25f930,_0x3ffb3e,_0x2b8b26){throw new Error(_0x2b8b26);}});}function validate(){const _0x23cd87=_0x1ef202;if(process['argv']&&process[_0x23cd87('0x3a')][_0x23cd87('0x6a')]<0x4)throw new Error(_0x23cd87('0x7e'));const [,,_0x205cde,_0x528d90,_0x4b6093]=process['argv'];console[_0x23cd87('0x48')](_0x23cd87('0x1c')+_0x205cde+',\x0a\x20bodyString,\x20agentsString');if(!fs[_0x23cd87('0xa')](_0x205cde))throw new Error('File\x20does\x20not\x20exist:\x20'+_0x205cde);let _0x3b9676={},_0x1a8438=0x0;try{_0x3b9676=JSON[_0x23cd87('0x3f')](_0x528d90);if(!_0x3b9676['binding'])throw new Error(_0x23cd87('0xe'));if(!_0x3b9676[_0x23cd87('0xb')]['phone'])throw new Error(_0x23cd87('0x3e'));if(!_0x3b9676['binding']['firstName'])throw new Error(_0x23cd87('0x67'));_0x3b9676[_0x23cd87('0xb')][_0x23cd87('0x1d')]&&(_0x1a8438=0x1);if(!_0x3b9676['ListId'])throw new Error(_0x23cd87('0x4d'));}catch(_0x425cd8){throw new Error('body\x20id\x20mandatory');}let _0x14160f=[];try{_0x14160f=_['map'](JSON[_0x23cd87('0x3f')](_0x4b6093,'id'));}catch(_0xcc36f4){console[_0x23cd87('0x48')]('No\x20agent\x20available');}main(_0x205cde,_0x3b9676,_0x14160f,_0x1a8438);}validate(),process['on'](_0x1ef202('0x66'),handleStop),process['on'](_0x1ef202('0xd'),handleUncaughtException);
\ No newline at end of file