2f18840d90cdc383d98144518525addd11420c63
[motion2.git] / server / components / import / cm / csv.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 _0xa1d0=['Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','error','test','isNil','errors','length','join','firstName','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','YYYY-MM-DD','isValid','email','email\x20format\x20is\x20not\x20valid!','CompanyId','find','duplicate','create','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','message','stringify','cmContact','checkHopper','inspect','insert','into','fromQuery','scheduledAt','ContactId','ListId','createdAt','updatedAt','select','field','toString','NOW()','from','cm_contacts','where','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','cm_hopper','\x20=\x20?','id\x20IN\x20?','str','calleridnum','cm_hopper_final','cm_hopper_black','VoiceQueue','findAll','outbound','Lists','get','always','sequelize','VoiceQueueId','onlyIfOpen','query','CmList','BlackLists','all','Campaign','CampaignId','cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','finally','contact:csv_','resume','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','exit','SIGINT','CSV\x20import\x20process\x20stopped!','CmContact','createReadStream','parse','info','CSV\x20parse\x20error','bluebird','util','lodash','squel','papaparse','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','api','redis','defaults','localhost','../../../api/cmContact/cmContact.socket','register','argv','undefined','Missing\x20filepath\x20parameter!','null','zipObject','split'];(function(_0x2554a9,_0x466c5a){var _0x22b0df=function(_0xe96591){while(--_0xe96591){_0x2554a9['push'](_0x2554a9['shift']());}};_0x22b0df(++_0x466c5a);}(_0xa1d0,0x19f));var _0x0a1d=function(_0x2ba95a,_0x4f1647){_0x2ba95a=_0x2ba95a-0x0;var _0x37387c=_0xa1d0[_0x2ba95a];return _0x37387c;};'use strict';var BPromise=require(_0x0a1d('0x0'));var util=require(_0x0a1d('0x1'));var _=require(_0x0a1d('0x2'));var fs=require('fs');var squel=require(_0x0a1d('0x3'));var Papa=require(_0x0a1d('0x4'));var Redis=require(_0x0a1d('0x5'));var db=require(_0x0a1d('0x6'))['db'];var config=require(_0x0a1d('0x7'));var logger=require(_0x0a1d('0x8'))(_0x0a1d('0x9'));config[_0x0a1d('0xa')]=_[_0x0a1d('0xb')](config[_0x0a1d('0xa')],{'host':_0x0a1d('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x0a1d('0xa')]));require(_0x0a1d('0xd'))[_0x0a1d('0xe')](socket);try{if(!process[_0x0a1d('0xf')][0x2]||process[_0x0a1d('0xf')][0x2]===_0x0a1d('0x10')||process[_0x0a1d('0xf')][0x2]==='null'){throw new Error(_0x0a1d('0x11'));}var FILEPATH=process[_0x0a1d('0xf')][0x2];if(!process[_0x0a1d('0xf')][0x3]||process[_0x0a1d('0xf')][0x3]==='undefined'||process[_0x0a1d('0xf')][0x3]===_0x0a1d('0x12')||!process[_0x0a1d('0xf')][0x4]||process['argv'][0x4]===_0x0a1d('0x10')||process['argv'][0x4]==='null'){throw new Error('Missing\x20binding\x20parameters!');}var FIELDS=_[_0x0a1d('0x13')](process[_0x0a1d('0xf')][0x3][_0x0a1d('0x14')](','),process[_0x0a1d('0xf')][0x4][_0x0a1d('0x14')](','));if(!process[_0x0a1d('0xf')][0x5]||process[_0x0a1d('0xf')][0x5]===_0x0a1d('0x10')||process[_0x0a1d('0xf')][0x5]==='null'){throw new Error(_0x0a1d('0x15'));}var LISTID=process[_0x0a1d('0xf')][0x5];var COMPANYID=process[_0x0a1d('0xf')][0x6]&&process[_0x0a1d('0xf')][0x6]!==_0x0a1d('0x10')&&process[_0x0a1d('0xf')][0x6]!==_0x0a1d('0x12')?process[_0x0a1d('0xf')][0x6]:null;var DUPLICATES=process[_0x0a1d('0xf')][0x7]&&process[_0x0a1d('0xf')][0x7]!==_0x0a1d('0x10')&&process['argv'][0x7]!==_0x0a1d('0x12')?process[_0x0a1d('0xf')][0x7]:null;if(!process[_0x0a1d('0xf')][0x8]||process['argv'][0x8]===_0x0a1d('0x10')||process['argv'][0x8]===_0x0a1d('0x12')){throw new Error(_0x0a1d('0x16'));}var SOCKET_TIMESTAMP=process[_0x0a1d('0xf')][0x8];}catch(_0x119c57){logger[_0x0a1d('0x17')](_0x119c57);endCsv();}var total=0x0;var pTotal=0x0;var success=0x0;var errors=0x0;var duplicates=0x0;var rows=[];var hopperContacts='';var promises=[];var index=0x0;var alreadyInvalid=![];function handleCheckRowError(_0x14ef10,_0x555017,_0xab2456,_0x2977cb){var _0x4487a6={'message':_0x555017};_0x4487a6[_0x14ef10]=!![];if(_0xab2456){_0x4487a6['contact']=_0xab2456;}if(_0x2977cb){_0x4487a6['index']=_0x2977cb;}return _0x4487a6;}function isEmail(_0x11d2d4){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))*$/[_0x0a1d('0x18')](_0x11d2d4);}function checkRow(_0x1077c9,_0xbe19b2,_0x459d6d){return new BPromise(function(_0x5d3d09,_0x213eab){if(_[_0x0a1d('0x19')](_0x1077c9)){return _0x213eab(handleCheckRowError(_0x0a1d('0x17'),'The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!',null,_0x459d6d));}if(_0x1077c9[_0x0a1d('0x1a')]&&_0x1077c9[_0x0a1d('0x1a')][_0x0a1d('0x1b')]){var _0x405833=_['map'](_0x1077c9[_0x0a1d('0x1a')],'message')[_0x0a1d('0x1c')](';');return _0x213eab(handleCheckRowError(_0x0a1d('0x17'),_0x405833,null,_0x459d6d));}var _0x5c1c9f={};for(var _0x255ab0 in FIELDS){if(FIELDS['hasOwnProperty'](_0x255ab0)&&FIELDS[_0x255ab0]){_0x5c1c9f[_0x255ab0]=_0x1077c9['data'][0x0][FIELDS[_0x255ab0]]||_0x1077c9['data'][0x0]['\ufeff'+FIELDS[_0x255ab0]];}}if(!_0x5c1c9f[_0x0a1d('0x1d')]){return _0x213eab(handleCheckRowError(_0x0a1d('0x17'),_0x0a1d('0x1e'),null,_0x459d6d));}if(!_0x5c1c9f[_0x0a1d('0x1f')]){return _0x213eab(handleCheckRowError(_0x0a1d('0x17'),_0x0a1d('0x20'),null,_0x459d6d));}if(_0x5c1c9f['birthDate']){var _0x4701bf=moment(_0x5c1c9f['birthDate'],_0x0a1d('0x21'));if(!_0x4701bf[_0x0a1d('0x22')]()){return _0x213eab(handleCheckRowError(_0x0a1d('0x17'),'birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x459d6d));}}if(_0x5c1c9f[_0x0a1d('0x23')]){if(!isEmail(_0x5c1c9f['email'])){return _0x213eab(handleCheckRowError(_0x0a1d('0x17'),_0x0a1d('0x24'),null,_0x459d6d));}}_0x5c1c9f['ListId']=LISTID;_0x5c1c9f[_0x0a1d('0x25')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0x0a1d('0x1b')]&&_0xbe19b2){var _0x62efef={};for(var _0x521eec=0x0,_0x5a96b7=DUPLICATES[_0x0a1d('0x1b')];_0x521eec<_0x5a96b7;_0x521eec+=0x1){_0x62efef[DUPLICATES[_0x521eec]]=_0x5c1c9f[DUPLICATES[_0x521eec]];}var _0x5331a9=_[_0x0a1d('0x26')](_0xbe19b2,_0x62efef);if(_0x5331a9){return _0x213eab(handleCheckRowError(_0x0a1d('0x27'),'Duplicate\x20Contact',_0x5331a9,_0x459d6d));}}return db['CmContact'][_0x0a1d('0x28')](_0x5c1c9f,{'raw':!![],'hooks':![],'fields':_[_0x0a1d('0x29')](_0x5c1c9f)})[_0x0a1d('0x2a')](function(_0xb8b43){if(DUPLICATES&&DUPLICATES[_0x0a1d('0x1b')]&&_0xbe19b2){_0xbe19b2[_0x0a1d('0x2b')](_[_0x0a1d('0x2c')](_0x5c1c9f,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0xb8b43['id'];return _0x5d3d09();})[_0x0a1d('0x2d')](function(_0x23058f){return _0x213eab(handleCheckRowError('error',_0x0a1d('0x2e')+(_0x23058f[_0x0a1d('0x2f')]||JSON[_0x0a1d('0x30')](_0x23058f)),null,_0x459d6d));});});}function checkHopper(){function _0x1d8052(){return function(_0x35177e){logger[_0x0a1d('0x17')](_0x0a1d('0x31'),_0x0a1d('0x32'),util[_0x0a1d('0x33')](_0x35177e,{'showHidden':![],'depth':null}));};}var _0xfa5836=function(_0x1a6581,_0x14c096){var _0x373e47=squel[_0x0a1d('0x34')]()[_0x0a1d('0x35')]('cm_hopper')[_0x0a1d('0x36')]([_0x0a1d('0x1f'),_0x0a1d('0x37'),_0x0a1d('0x38'),_0x0a1d('0x39'),_0x14c096,_0x0a1d('0x3a'),_0x0a1d('0x3b')],squel[_0x0a1d('0x3c')]()[_0x0a1d('0x3d')](_0x0a1d('0x1f'),_0x0a1d('0x1f'))['field']('NOW()',_0x0a1d('0x37'))[_0x0a1d('0x3d')]('id',_0x0a1d('0x38'))[_0x0a1d('0x3d')](LISTID[_0x0a1d('0x3e')](),'ListId')['field'](_0x1a6581['id'][_0x0a1d('0x3e')](),_0x14c096)[_0x0a1d('0x3d')](_0x0a1d('0x3f'),'createdAt')[_0x0a1d('0x3d')](_0x0a1d('0x3f'),'updatedAt')[_0x0a1d('0x40')](_0x0a1d('0x41'))[_0x0a1d('0x42')](_0x0a1d('0x43'))[_0x0a1d('0x42')](_0x0a1d('0x44'),LISTID['toString']())[_0x0a1d('0x42')](_0x0a1d('0x45'))[_0x0a1d('0x42')](_0x0a1d('0x46'),squel['select']()[_0x0a1d('0x3d')](_0x0a1d('0x1f'))[_0x0a1d('0x40')](_0x0a1d('0x47'))[_0x0a1d('0x42')](_0x14c096+_0x0a1d('0x48'),_0x1a6581['id'][_0x0a1d('0x3e')]())))[_0x0a1d('0x3e')]();return _0x373e47;};var _0x2b7742=function(_0x259917,_0x7a091e){var _0x5167de=squel[_0x0a1d('0x34')]()['into'](_0x0a1d('0x47'))[_0x0a1d('0x36')]([_0x0a1d('0x1f'),_0x0a1d('0x37'),_0x0a1d('0x38'),_0x0a1d('0x39'),_0x7a091e,_0x0a1d('0x3a'),'updatedAt'],squel[_0x0a1d('0x3c')]()['field']('phone',_0x0a1d('0x1f'))[_0x0a1d('0x3d')](_0x0a1d('0x3f'),_0x0a1d('0x37'))['field']('id','ContactId')[_0x0a1d('0x3d')](LISTID[_0x0a1d('0x3e')](),_0x0a1d('0x39'))[_0x0a1d('0x3d')](_0x259917['id']['toString'](),_0x7a091e)[_0x0a1d('0x3d')](_0x0a1d('0x3f'),_0x0a1d('0x3a'))[_0x0a1d('0x3d')](_0x0a1d('0x3f'),_0x0a1d('0x3b'))[_0x0a1d('0x40')]('cm_contacts')[_0x0a1d('0x42')](_0x0a1d('0x43'))['where'](_0x0a1d('0x44'),LISTID[_0x0a1d('0x3e')]())[_0x0a1d('0x42')](_0x0a1d('0x49'),squel[_0x0a1d('0x4a')](hopperContacts))[_0x0a1d('0x42')](_0x0a1d('0x45'))[_0x0a1d('0x42')]('phone\x20NOT\x20IN\x20(?)',squel[_0x0a1d('0x3c')]()[_0x0a1d('0x3d')](_0x0a1d('0x4b'))[_0x0a1d('0x40')](_0x0a1d('0x4c'))[_0x0a1d('0x42')](_0x7a091e+_0x0a1d('0x48'),_0x259917['id'][_0x0a1d('0x3e')]()))[_0x0a1d('0x42')]('phone\x20NOT\x20IN\x20(?)',squel[_0x0a1d('0x3c')]()[_0x0a1d('0x3d')]('phone')[_0x0a1d('0x40')](_0x0a1d('0x47'))[_0x0a1d('0x42')](_0x7a091e+'\x20=\x20?',_0x259917['id'][_0x0a1d('0x3e')]())))[_0x0a1d('0x3e')]();return _0x5167de;};function _0x13b1cf(_0x3b29b2,_0x1795e3){var _0xac9161=squel[_0x0a1d('0x34')]()[_0x0a1d('0x35')](_0x0a1d('0x47'))['fromQuery']([_0x0a1d('0x1f'),'scheduledAt',_0x0a1d('0x38'),_0x0a1d('0x39'),_0x1795e3,_0x0a1d('0x3a'),_0x0a1d('0x3b')],squel[_0x0a1d('0x3c')]()['field'](_0x0a1d('0x1f'),_0x0a1d('0x1f'))['field'](_0x0a1d('0x3f'),_0x0a1d('0x37'))[_0x0a1d('0x3d')]('id','ContactId')[_0x0a1d('0x3d')](LISTID['toString'](),_0x0a1d('0x39'))[_0x0a1d('0x3d')](_0x3b29b2['id'][_0x0a1d('0x3e')](),_0x1795e3)[_0x0a1d('0x3d')]('NOW()',_0x0a1d('0x3a'))[_0x0a1d('0x3d')](_0x0a1d('0x3f'),_0x0a1d('0x3b'))['from'](_0x0a1d('0x41'))[_0x0a1d('0x42')](_0x0a1d('0x43'))['where'](_0x0a1d('0x44'),LISTID[_0x0a1d('0x3e')]())[_0x0a1d('0x42')](_0x0a1d('0x49'),squel[_0x0a1d('0x4a')](hopperContacts))[_0x0a1d('0x42')](_0x0a1d('0x45')))[_0x0a1d('0x3e')]();return _0xac9161;}function _0x19fe09(_0x1e2dc5,_0x320953){var _0x281ba1=squel[_0x0a1d('0x34')]()[_0x0a1d('0x35')](_0x0a1d('0x4d'))['fromQuery']([_0x0a1d('0x1f'),_0x0a1d('0x38'),_0x0a1d('0x39'),_0x320953,_0x0a1d('0x3a'),_0x0a1d('0x3b')],squel[_0x0a1d('0x3c')]()['field'](_0x0a1d('0x1f'),_0x0a1d('0x1f'))[_0x0a1d('0x3d')]('id',_0x0a1d('0x38'))['field'](LISTID['toString'](),_0x0a1d('0x39'))[_0x0a1d('0x3d')](_0x1e2dc5['id'][_0x0a1d('0x3e')](),_0x320953)[_0x0a1d('0x3d')](_0x0a1d('0x3f'),'createdAt')[_0x0a1d('0x3d')](_0x0a1d('0x3f'),_0x0a1d('0x3b'))['from'](_0x0a1d('0x41'))[_0x0a1d('0x42')](_0x0a1d('0x43'))[_0x0a1d('0x42')]('ListId\x20=\x20?',LISTID[_0x0a1d('0x3e')]())[_0x0a1d('0x42')]('id\x20IN\x20?',squel[_0x0a1d('0x4a')](hopperContacts))[_0x0a1d('0x42')](_0x0a1d('0x45')))['toString']();return _0x281ba1;}return db[_0x0a1d('0x4e')][_0x0a1d('0x4f')]({'where':{'type':_0x0a1d('0x50')},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db['CmList'],'as':_0x0a1d('0x51'),'where':{'id':LISTID}}]})[_0x0a1d('0x2a')](function(_0x5421){var _0x1fb1e7=[];if(_0x5421){var _0x233a57;for(var _0x7d8094=0x0,_0x4530f8;_0x7d8094<_0x5421['length'];_0x7d8094+=0x1){_0x4530f8=_0x5421[_0x7d8094][_0x0a1d('0x52')]({'plain':!![]});switch(_0x4530f8['dialCheckDuplicateType']){case _0x0a1d('0x53'):_0x1fb1e7[_0x0a1d('0x2b')](db[_0x0a1d('0x54')]['query'](_0x2b7742(_0x4530f8,_0x0a1d('0x55')))[_0x0a1d('0x2a')](function(){})[_0x0a1d('0x2d')](_0x1d8052()));break;case _0x0a1d('0x56'):_0x1fb1e7[_0x0a1d('0x2b')](db[_0x0a1d('0x54')][_0x0a1d('0x57')](_0xfa5836(_0x4530f8,_0x0a1d('0x55')))[_0x0a1d('0x2a')](function(){})[_0x0a1d('0x2d')](_0x1d8052()));break;default:_0x1fb1e7[_0x0a1d('0x2b')](db[_0x0a1d('0x54')][_0x0a1d('0x57')](_0x13b1cf(_0x4530f8,'VoiceQueueId'))[_0x0a1d('0x2a')](function(){})['catch'](_0x1d8052()));}}}return _0x1fb1e7;})['all']()[_0x0a1d('0x2a')](function(){return db['VoiceQueue']['findAll']({'where':{'type':_0x0a1d('0x50')},'attributes':['id'],'include':[{'model':db[_0x0a1d('0x58')],'as':_0x0a1d('0x59'),'where':{'id':LISTID}}]})[_0x0a1d('0x2a')](function(_0x34c5dd){var _0x2dd549=[];if(_0x34c5dd){var _0x373163;for(var _0x322943=0x0,_0x346adf;_0x322943<_0x34c5dd[_0x0a1d('0x1b')];_0x322943+=0x1){_0x346adf=_0x34c5dd[_0x322943][_0x0a1d('0x52')]({'plain':!![]});_0x2dd549[_0x0a1d('0x2b')](db[_0x0a1d('0x54')]['query'](_0x19fe09(_0x346adf,_0x0a1d('0x55')))[_0x0a1d('0x2a')](function(){})['catch'](_0x1d8052()));}}return _0x2dd549;})[_0x0a1d('0x5a')]();})[_0x0a1d('0x2a')](function(){return db[_0x0a1d('0x5b')][_0x0a1d('0x4f')]({'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0x0a1d('0x58')],'as':'Lists','where':{'id':LISTID}}]})[_0x0a1d('0x2a')](function(_0x43bddd){var _0x3bc8b0=[];if(_0x43bddd){for(var _0x5aca44=0x0,_0x302a1a;_0x5aca44<_0x43bddd[_0x0a1d('0x1b')];_0x5aca44+=0x1){_0x302a1a=_0x43bddd[_0x5aca44][_0x0a1d('0x52')]({'plain':!![]});switch(_0x302a1a['dialCheckDuplicateType']){case _0x0a1d('0x53'):_0x3bc8b0[_0x0a1d('0x2b')](db['sequelize'][_0x0a1d('0x57')](_0x2b7742(_0x302a1a,'CampaignId'))[_0x0a1d('0x2a')](function(){})['catch'](_0x1d8052()));break;case _0x0a1d('0x56'):_0x3bc8b0['push'](db[_0x0a1d('0x54')]['query'](_0xfa5836(_0x302a1a,_0x0a1d('0x5c')))[_0x0a1d('0x2a')](function(){})[_0x0a1d('0x2d')](_0x1d8052()));break;default:_0x3bc8b0[_0x0a1d('0x2b')](db[_0x0a1d('0x54')]['query'](_0x13b1cf(_0x302a1a,_0x0a1d('0x5c')))[_0x0a1d('0x2a')](function(){})[_0x0a1d('0x2d')](_0x1d8052()));}}}return _0x3bc8b0;})[_0x0a1d('0x5a')]();})[_0x0a1d('0x2a')](function(){return db['Campaign'][_0x0a1d('0x4f')]({'attributes':['id'],'include':[{'model':db[_0x0a1d('0x58')],'as':'BlackLists','where':{'id':LISTID}}]})[_0x0a1d('0x2a')](function(_0x417863){var _0x2a088b=[];if(_0x417863){for(var _0x5247db=0x0,_0x5bdd9b;_0x5247db<_0x417863[_0x0a1d('0x1b')];_0x5247db+=0x1){_0x5bdd9b=_0x417863[_0x5247db][_0x0a1d('0x52')]({'plain':!![]});_0x2a088b[_0x0a1d('0x2b')](db['sequelize'][_0x0a1d('0x57')](_0x19fe09(_0x5bdd9b,_0x0a1d('0x5c')))[_0x0a1d('0x2a')](function(){})[_0x0a1d('0x2d')](_0x1d8052()));}}return _0x2a088b;})[_0x0a1d('0x5a')]();})['catch'](function(_0x5d8386){logger[_0x0a1d('0x17')](_0x0a1d('0x5d'),_0x0a1d('0x5e'),_0x5d8386[_0x0a1d('0x2f')]);});}var processPromises=function(_0x30a1d0){return BPromise[_0x0a1d('0x5a')](promises)[_0x0a1d('0x2a')](function(_0x1de868){})['catch'](function(_0x560df5){logger[_0x0a1d('0x17')](_0x0a1d('0x5f'),JSON[_0x0a1d('0x30')](_0x560df5));})[_0x0a1d('0x60')](function(){socket['emit'](_0x0a1d('0x61')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x30a1d0){return _0x30a1d0[_0x0a1d('0x62')]();}});};var endCsv=function(){return BPromise['resolve']()[_0x0a1d('0x2a')](function(){if(hopperContacts){return checkHopper();}})[_0x0a1d('0x2a')](function(){socket['emit'](_0x0a1d('0x61')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x0a1d('0x63')](FILEPATH);}catch(_0x21feab){logger['error'](_0x0a1d('0x64'),JSON[_0x0a1d('0x30')](_0x21feab));}finally{process[_0x0a1d('0x65')](0x0);}});};process['on'](_0x0a1d('0x66'),function(){logger['info'](_0x0a1d('0x67'));endCsv();});function main(){return BPromise['resolve']()[_0x0a1d('0x2a')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x0a1d('0x14')](',');return db[_0x0a1d('0x68')]['findAll']({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x0a1d('0x2a')](function(_0x56aeca){var _0x458175=fs[_0x0a1d('0x69')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x0a1d('0x6a')](_0x458175,{'header':!![],'skipEmptyLines':!![],'step':function(_0x11df5b,_0x4521de){total+=0x1;var _0x43c662=total;promises[_0x0a1d('0x2b')](checkRow(_0x11df5b,_0x56aeca,_0x43c662)['then'](function(){success+=0x1;})[_0x0a1d('0x2d')](function(_0x1ad142){if(_0x1ad142['error']){errors+=0x1;delete _0x1ad142[_0x0a1d('0x17')];}else if(_0x1ad142[_0x0a1d('0x27')]){duplicates+=0x1;delete _0x1ad142[_0x0a1d('0x27')];}rows[_0x0a1d('0x2b')](_0x1ad142);}));if(total%0xc8===0x0){_0x4521de['pause']();return processPromises(_0x4521de);}},'complete':function(){return processPromises()[_0x0a1d('0x2a')](function(){logger['info']('CSV\x20parsed\x20correctly!');endCsv();});},'error':function(_0x500094,_0x51c8bb){logger[_0x0a1d('0x6b')](_0x0a1d('0x6c'),JSON[_0x0a1d('0x30')](_0x500094));endCsv();}});})[_0x0a1d('0x2d')](function(_0x286b0e){logger[_0x0a1d('0x17')]('Error\x20executing\x20contact\x20csv\x20import:',JSON['stringify'](_0x286b0e));});}main();