Built motion from commit (unavailable).|2.4.4
[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 _0xc469=['zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','contact','test','isNil','error','errors','length','map','message','join','hasOwnProperty','data','firstName','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','email','ListId','CompanyId','find','duplicate','Duplicate\x20Contact','CmContact','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','stringify','cmContact','checkHopper','inspect','insert','cm_hopper','scheduledAt','createdAt','updatedAt','select','field','NOW()','toString','where','deletedAt\x20IS\x20NULL','phone\x20IS\x20NOT\x20NULL','from','\x20=\x20?','into','fromQuery','ContactId','cm_contacts','ListId\x20=\x20?','id\x20IN\x20?','str','calleridnum','phone\x20NOT\x20IN\x20(?)','cm_hopper_black','findAll','dialCheckDuplicateType','Lists','always','sequelize','query','VoiceQueueId','onlyIfOpen','all','outbound','CmList','BlackLists','get','Campaign','CampaignId','cmContact,\x20%s,\x20%s','Error\x20processing\x20rows\x20block:','finally','emit','contact:csv_','resume','resolve','exit','info','CSV\x20import\x20process\x20stopped!','parse','pause','CSV\x20parsed\x20correctly!','bluebird','lodash','squel','papaparse','../../../mysqldb','../../../config/environment','../../../config/logger','defaults','redis','register','argv','undefined','null','Missing\x20binding\x20parameters!'];(function(_0x2f32c4,_0x2597ba){var _0x95b5dc=function(_0x4ee89e){while(--_0x4ee89e){_0x2f32c4['push'](_0x2f32c4['shift']());}};_0x95b5dc(++_0x2597ba);}(_0xc469,0x196));var _0x9c46=function(_0x504df1,_0x289598){_0x504df1=_0x504df1-0x0;var _0x1063b5=_0xc469[_0x504df1];return _0x1063b5;};'use strict';var BPromise=require(_0x9c46('0x0'));var util=require('util');var _=require(_0x9c46('0x1'));var fs=require('fs');var squel=require(_0x9c46('0x2'));var Papa=require(_0x9c46('0x3'));var Redis=require('ioredis');var db=require(_0x9c46('0x4'))['db'];var config=require(_0x9c46('0x5'));var logger=require(_0x9c46('0x6'))('api');config['redis']=_[_0x9c46('0x7')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9c46('0x8')]));require('../../../api/cmContact/cmContact.socket')[_0x9c46('0x9')](socket);try{if(!process[_0x9c46('0xa')][0x2]||process[_0x9c46('0xa')][0x2]===_0x9c46('0xb')||process[_0x9c46('0xa')][0x2]===_0x9c46('0xc')){throw new Error('Missing\x20filepath\x20parameter!');}var FILEPATH=process[_0x9c46('0xa')][0x2];if(!process[_0x9c46('0xa')][0x3]||process['argv'][0x3]==='undefined'||process[_0x9c46('0xa')][0x3]===_0x9c46('0xc')||!process[_0x9c46('0xa')][0x4]||process[_0x9c46('0xa')][0x4]===_0x9c46('0xb')||process[_0x9c46('0xa')][0x4]==='null'){throw new Error(_0x9c46('0xd'));}var FIELDS=_[_0x9c46('0xe')](process[_0x9c46('0xa')][0x3][_0x9c46('0xf')](','),process[_0x9c46('0xa')][0x4][_0x9c46('0xf')](','));if(!process[_0x9c46('0xa')][0x5]||process[_0x9c46('0xa')][0x5]==='undefined'||process[_0x9c46('0xa')][0x5]===_0x9c46('0xc')){throw new Error(_0x9c46('0x10'));}var LISTID=process[_0x9c46('0xa')][0x5];var COMPANYID=process['argv'][0x6]&&process[_0x9c46('0xa')][0x6]!==_0x9c46('0xb')&&process[_0x9c46('0xa')][0x6]!==_0x9c46('0xc')?process[_0x9c46('0xa')][0x6]:null;var DUPLICATES=process[_0x9c46('0xa')][0x7]&&process[_0x9c46('0xa')][0x7]!==_0x9c46('0xb')&&process[_0x9c46('0xa')][0x7]!==_0x9c46('0xc')?process[_0x9c46('0xa')][0x7]:null;if(!process[_0x9c46('0xa')][0x8]||process['argv'][0x8]===_0x9c46('0xb')||process[_0x9c46('0xa')][0x8]===_0x9c46('0xc')){throw new Error(_0x9c46('0x11'));}var SOCKET_TIMESTAMP=process[_0x9c46('0xa')][0x8];}catch(_0xf17385){logger['error'](_0xf17385);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(_0x3bf825,_0x235fc0,_0x2cb366,_0x29d3f4){var _0x2f4300={'message':_0x235fc0};_0x2f4300[_0x3bf825]=!![];if(_0x2cb366){_0x2f4300[_0x9c46('0x12')]=_0x2cb366;}if(_0x29d3f4){_0x2f4300['index']=_0x29d3f4;}return _0x2f4300;}function isEmail(_0x56d2c7){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))*$/[_0x9c46('0x13')](_0x56d2c7);}function checkRow(_0x32bc55,_0x10af97,_0x59f49c){return new BPromise(function(_0x2f0029,_0x1204fa){if(_[_0x9c46('0x14')](_0x32bc55)){return _0x1204fa(handleCheckRowError(_0x9c46('0x15'),'The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!',null,_0x59f49c));}if(_0x32bc55['errors']&&_0x32bc55[_0x9c46('0x16')][_0x9c46('0x17')]){var _0xe33c33=_[_0x9c46('0x18')](_0x32bc55['errors'],_0x9c46('0x19'))[_0x9c46('0x1a')](';');return _0x1204fa(handleCheckRowError(_0x9c46('0x15'),_0xe33c33,null,_0x59f49c));}var _0x370540={};for(var _0x36b264 in FIELDS){if(FIELDS[_0x9c46('0x1b')](_0x36b264)&&FIELDS[_0x36b264]){_0x370540[_0x36b264]=_0x32bc55[_0x9c46('0x1c')][0x0][FIELDS[_0x36b264]]||_0x32bc55['data'][0x0]['\ufeff'+FIELDS[_0x36b264]];}}if(!_0x370540[_0x9c46('0x1d')]){return _0x1204fa(handleCheckRowError(_0x9c46('0x15'),_0x9c46('0x1e'),null,_0x59f49c));}if(!_0x370540[_0x9c46('0x1f')]){return _0x1204fa(handleCheckRowError('error',_0x9c46('0x20'),null,_0x59f49c));}if(_0x370540['birthDate']){var _0x18453d=moment(_0x370540[_0x9c46('0x21')],_0x9c46('0x22'));if(!_0x18453d[_0x9c46('0x23')]()){return _0x1204fa(handleCheckRowError(_0x9c46('0x15'),'birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x59f49c));}}if(_0x370540[_0x9c46('0x24')]){if(!isEmail(_0x370540[_0x9c46('0x24')])){return _0x1204fa(handleCheckRowError(_0x9c46('0x15'),'email\x20format\x20is\x20not\x20valid!',null,_0x59f49c));}}_0x370540[_0x9c46('0x25')]=LISTID;_0x370540[_0x9c46('0x26')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0x9c46('0x17')]&&_0x10af97){var _0x2cfd6e={};for(var _0x2d3b1f=0x0,_0x418ea3=DUPLICATES['length'];_0x2d3b1f<_0x418ea3;_0x2d3b1f+=0x1){_0x2cfd6e[DUPLICATES[_0x2d3b1f]]=_0x370540[DUPLICATES[_0x2d3b1f]];}var _0x362b61=_[_0x9c46('0x27')](_0x10af97,_0x2cfd6e);if(_0x362b61){return _0x1204fa(handleCheckRowError(_0x9c46('0x28'),_0x9c46('0x29'),_0x362b61,_0x59f49c));}}return db[_0x9c46('0x2a')]['create'](_0x370540,{'raw':!![],'hooks':![],'fields':_[_0x9c46('0x2b')](_0x370540)})[_0x9c46('0x2c')](function(_0x4ee172){if(DUPLICATES&&DUPLICATES[_0x9c46('0x17')]&&_0x10af97){_0x10af97[_0x9c46('0x2d')](_[_0x9c46('0x2e')](_0x370540,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x4ee172['id'];return _0x2f0029();})[_0x9c46('0x2f')](function(_0x3bacc8){return _0x1204fa(handleCheckRowError(_0x9c46('0x15'),_0x9c46('0x30')+(_0x3bacc8['message']||JSON[_0x9c46('0x31')](_0x3bacc8)),null,_0x59f49c));});});}function checkHopper(){function _0x4f7ac1(){return function(_0x3e5b68){logger[_0x9c46('0x15')](_0x9c46('0x32'),_0x9c46('0x33'),util[_0x9c46('0x34')](_0x3e5b68,{'showHidden':![],'depth':null}));};}var _0x1f1291=function(_0x2c4296,_0x299726){var _0x56daa9=squel[_0x9c46('0x35')]()['into'](_0x9c46('0x36'))['fromQuery']([_0x9c46('0x1f'),_0x9c46('0x37'),'ContactId','ListId',_0x299726,_0x9c46('0x38'),_0x9c46('0x39')],squel[_0x9c46('0x3a')]()['field']('phone',_0x9c46('0x1f'))[_0x9c46('0x3b')](_0x9c46('0x3c'),_0x9c46('0x37'))[_0x9c46('0x3b')]('id','ContactId')['field'](LISTID['toString'](),_0x9c46('0x25'))[_0x9c46('0x3b')](_0x2c4296['id'][_0x9c46('0x3d')](),_0x299726)[_0x9c46('0x3b')]('NOW()',_0x9c46('0x38'))[_0x9c46('0x3b')]('NOW()',_0x9c46('0x39'))['from']('cm_contacts')[_0x9c46('0x3e')](_0x9c46('0x3f'))[_0x9c46('0x3e')]('ListId\x20=\x20?',LISTID[_0x9c46('0x3d')]())[_0x9c46('0x3e')](_0x9c46('0x40'))[_0x9c46('0x3e')]('phone\x20NOT\x20IN\x20(?)',squel[_0x9c46('0x3a')]()[_0x9c46('0x3b')](_0x9c46('0x1f'))[_0x9c46('0x41')](_0x9c46('0x36'))[_0x9c46('0x3e')](_0x299726+_0x9c46('0x42'),_0x2c4296['id']['toString']())))[_0x9c46('0x3d')]();return _0x56daa9;};var _0x191880=function(_0x387d26,_0x58d768){var _0x2284eb=squel[_0x9c46('0x35')]()[_0x9c46('0x43')](_0x9c46('0x36'))[_0x9c46('0x44')](['phone',_0x9c46('0x37'),_0x9c46('0x45'),'ListId',_0x58d768,_0x9c46('0x38'),_0x9c46('0x39')],squel[_0x9c46('0x3a')]()['field']('phone',_0x9c46('0x1f'))[_0x9c46('0x3b')](_0x9c46('0x3c'),'scheduledAt')[_0x9c46('0x3b')]('id',_0x9c46('0x45'))[_0x9c46('0x3b')](LISTID[_0x9c46('0x3d')](),_0x9c46('0x25'))['field'](_0x387d26['id'][_0x9c46('0x3d')](),_0x58d768)['field'](_0x9c46('0x3c'),_0x9c46('0x38'))[_0x9c46('0x3b')](_0x9c46('0x3c'),_0x9c46('0x39'))[_0x9c46('0x41')](_0x9c46('0x46'))[_0x9c46('0x3e')](_0x9c46('0x3f'))[_0x9c46('0x3e')](_0x9c46('0x47'),LISTID['toString']())[_0x9c46('0x3e')](_0x9c46('0x48'),squel[_0x9c46('0x49')](hopperContacts))['where'](_0x9c46('0x40'))[_0x9c46('0x3e')]('phone\x20NOT\x20IN\x20(?)',squel[_0x9c46('0x3a')]()[_0x9c46('0x3b')](_0x9c46('0x4a'))[_0x9c46('0x41')]('cm_hopper_final')[_0x9c46('0x3e')](_0x58d768+'\x20=\x20?',_0x387d26['id'][_0x9c46('0x3d')]()))[_0x9c46('0x3e')](_0x9c46('0x4b'),squel[_0x9c46('0x3a')]()[_0x9c46('0x3b')]('phone')[_0x9c46('0x41')](_0x9c46('0x36'))[_0x9c46('0x3e')](_0x58d768+_0x9c46('0x42'),_0x387d26['id'][_0x9c46('0x3d')]())))[_0x9c46('0x3d')]();return _0x2284eb;};function _0x105a96(_0x2dcf0e,_0x38b24e){var _0xa172e9=squel[_0x9c46('0x35')]()[_0x9c46('0x43')]('cm_hopper')[_0x9c46('0x44')]([_0x9c46('0x1f'),'scheduledAt',_0x9c46('0x45'),'ListId',_0x38b24e,_0x9c46('0x38'),_0x9c46('0x39')],squel[_0x9c46('0x3a')]()[_0x9c46('0x3b')](_0x9c46('0x1f'),_0x9c46('0x1f'))['field'](_0x9c46('0x3c'),_0x9c46('0x37'))['field']('id',_0x9c46('0x45'))['field'](LISTID[_0x9c46('0x3d')](),_0x9c46('0x25'))[_0x9c46('0x3b')](_0x2dcf0e['id'][_0x9c46('0x3d')](),_0x38b24e)[_0x9c46('0x3b')]('NOW()',_0x9c46('0x38'))[_0x9c46('0x3b')](_0x9c46('0x3c'),_0x9c46('0x39'))['from'](_0x9c46('0x46'))['where'](_0x9c46('0x3f'))['where'](_0x9c46('0x47'),LISTID[_0x9c46('0x3d')]())[_0x9c46('0x3e')](_0x9c46('0x48'),squel[_0x9c46('0x49')](hopperContacts))[_0x9c46('0x3e')](_0x9c46('0x40')))[_0x9c46('0x3d')]();return _0xa172e9;}function _0x7d4a7a(_0x28ca21,_0x29a81a){var _0x5a937e=squel[_0x9c46('0x35')]()[_0x9c46('0x43')](_0x9c46('0x4c'))[_0x9c46('0x44')]([_0x9c46('0x1f'),_0x9c46('0x45'),_0x9c46('0x25'),_0x29a81a,'createdAt',_0x9c46('0x39')],squel[_0x9c46('0x3a')]()[_0x9c46('0x3b')]('phone',_0x9c46('0x1f'))[_0x9c46('0x3b')]('id',_0x9c46('0x45'))['field'](LISTID[_0x9c46('0x3d')](),_0x9c46('0x25'))[_0x9c46('0x3b')](_0x28ca21['id'][_0x9c46('0x3d')](),_0x29a81a)[_0x9c46('0x3b')]('NOW()','createdAt')[_0x9c46('0x3b')]('NOW()','updatedAt')[_0x9c46('0x41')](_0x9c46('0x46'))[_0x9c46('0x3e')](_0x9c46('0x3f'))[_0x9c46('0x3e')](_0x9c46('0x47'),LISTID[_0x9c46('0x3d')]())[_0x9c46('0x3e')]('id\x20IN\x20?',squel[_0x9c46('0x49')](hopperContacts))[_0x9c46('0x3e')](_0x9c46('0x40')))[_0x9c46('0x3d')]();return _0x5a937e;}return db['VoiceQueue'][_0x9c46('0x4d')]({'where':{'type':'outbound'},'attributes':['id',_0x9c46('0x4e')],'include':[{'model':db['CmList'],'as':_0x9c46('0x4f'),'where':{'id':LISTID}}]})[_0x9c46('0x2c')](function(_0x26ab73){var _0x373e8f=[];if(_0x26ab73){var _0x4e9924;for(var _0x284a13=0x0,_0x2e33c9;_0x284a13<_0x26ab73['length'];_0x284a13+=0x1){_0x2e33c9=_0x26ab73[_0x284a13]['get']({'plain':!![]});switch(_0x2e33c9['dialCheckDuplicateType']){case _0x9c46('0x50'):_0x373e8f[_0x9c46('0x2d')](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x191880(_0x2e33c9,_0x9c46('0x53')))['then'](function(){})[_0x9c46('0x2f')](_0x4f7ac1()));break;case _0x9c46('0x54'):_0x373e8f[_0x9c46('0x2d')](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x1f1291(_0x2e33c9,_0x9c46('0x53')))['then'](function(){})['catch'](_0x4f7ac1()));break;default:_0x373e8f[_0x9c46('0x2d')](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x105a96(_0x2e33c9,_0x9c46('0x53')))['then'](function(){})[_0x9c46('0x2f')](_0x4f7ac1()));}}}return _0x373e8f;})[_0x9c46('0x55')]()[_0x9c46('0x2c')](function(){return db['VoiceQueue'][_0x9c46('0x4d')]({'where':{'type':_0x9c46('0x56')},'attributes':['id'],'include':[{'model':db[_0x9c46('0x57')],'as':_0x9c46('0x58'),'where':{'id':LISTID}}]})['then'](function(_0x52dda8){var _0xd102db=[];if(_0x52dda8){var _0x2cd7d2;for(var _0x5b808b=0x0,_0x3edb16;_0x5b808b<_0x52dda8['length'];_0x5b808b+=0x1){_0x3edb16=_0x52dda8[_0x5b808b][_0x9c46('0x59')]({'plain':!![]});_0xd102db[_0x9c46('0x2d')](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x7d4a7a(_0x3edb16,_0x9c46('0x53')))[_0x9c46('0x2c')](function(){})['catch'](_0x4f7ac1()));}}return _0xd102db;})[_0x9c46('0x55')]();})[_0x9c46('0x2c')](function(){return db[_0x9c46('0x5a')][_0x9c46('0x4d')]({'attributes':['id',_0x9c46('0x4e')],'include':[{'model':db[_0x9c46('0x57')],'as':'Lists','where':{'id':LISTID}}]})[_0x9c46('0x2c')](function(_0x38112e){var _0xd9656b=[];if(_0x38112e){for(var _0x3a2e4a=0x0,_0x4d937d;_0x3a2e4a<_0x38112e[_0x9c46('0x17')];_0x3a2e4a+=0x1){_0x4d937d=_0x38112e[_0x3a2e4a][_0x9c46('0x59')]({'plain':!![]});switch(_0x4d937d[_0x9c46('0x4e')]){case _0x9c46('0x50'):_0xd9656b[_0x9c46('0x2d')](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x191880(_0x4d937d,_0x9c46('0x5b')))[_0x9c46('0x2c')](function(){})[_0x9c46('0x2f')](_0x4f7ac1()));break;case _0x9c46('0x54'):_0xd9656b['push'](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x1f1291(_0x4d937d,'CampaignId'))[_0x9c46('0x2c')](function(){})[_0x9c46('0x2f')](_0x4f7ac1()));break;default:_0xd9656b[_0x9c46('0x2d')](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x105a96(_0x4d937d,'CampaignId'))['then'](function(){})[_0x9c46('0x2f')](_0x4f7ac1()));}}}return _0xd9656b;})[_0x9c46('0x55')]();})['then'](function(){return db[_0x9c46('0x5a')][_0x9c46('0x4d')]({'attributes':['id'],'include':[{'model':db[_0x9c46('0x57')],'as':_0x9c46('0x58'),'where':{'id':LISTID}}]})[_0x9c46('0x2c')](function(_0x892c31){var _0x11fac5=[];if(_0x892c31){for(var _0x3b492a=0x0,_0x1d8988;_0x3b492a<_0x892c31[_0x9c46('0x17')];_0x3b492a+=0x1){_0x1d8988=_0x892c31[_0x3b492a][_0x9c46('0x59')]({'plain':!![]});_0x11fac5[_0x9c46('0x2d')](db[_0x9c46('0x51')][_0x9c46('0x52')](_0x7d4a7a(_0x1d8988,_0x9c46('0x5b')))[_0x9c46('0x2c')](function(){})[_0x9c46('0x2f')](_0x4f7ac1()));}}return _0x11fac5;})[_0x9c46('0x55')]();})['catch'](function(_0x36f7fb){logger[_0x9c46('0x15')](_0x9c46('0x5c'),'generalCheckHopper',_0x36f7fb[_0x9c46('0x19')]);});}var processPromises=function(_0x41fc5e){return BPromise[_0x9c46('0x55')](promises)['then'](function(_0x5210c5){})[_0x9c46('0x2f')](function(_0x5ac325){logger[_0x9c46('0x15')](_0x9c46('0x5d'),JSON[_0x9c46('0x31')](_0x5ac325));})[_0x9c46('0x5e')](function(){socket[_0x9c46('0x5f')](_0x9c46('0x60')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x41fc5e){return _0x41fc5e[_0x9c46('0x61')]();}});};var endCsv=function(){return BPromise[_0x9c46('0x62')]()[_0x9c46('0x2c')](function(){if(hopperContacts){return checkHopper();}})[_0x9c46('0x2c')](function(){socket[_0x9c46('0x5f')](_0x9c46('0x60')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs['unlinkSync'](FILEPATH);}catch(_0x4aaf15){logger['error']('Unable\x20to\x20delete\x20temp\x20file:',JSON[_0x9c46('0x31')](_0x4aaf15));}finally{process[_0x9c46('0x63')](0x0);}});};process['on']('SIGINT',function(){logger[_0x9c46('0x64')](_0x9c46('0x65'));endCsv();});function main(){return BPromise[_0x9c46('0x62')]()[_0x9c46('0x2c')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES['split'](',');return db[_0x9c46('0x2a')][_0x9c46('0x4d')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x9c46('0x2c')](function(_0x57f390){var _0x209f79=fs['createReadStream'](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x9c46('0x66')](_0x209f79,{'header':!![],'skipEmptyLines':!![],'step':function(_0x141d35,_0x5e34be){total+=0x1;var _0x1dface=total;promises[_0x9c46('0x2d')](checkRow(_0x141d35,_0x57f390,_0x1dface)[_0x9c46('0x2c')](function(){success+=0x1;})[_0x9c46('0x2f')](function(_0xeef7bd){if(_0xeef7bd[_0x9c46('0x15')]){errors+=0x1;delete _0xeef7bd[_0x9c46('0x15')];}else if(_0xeef7bd[_0x9c46('0x28')]){duplicates+=0x1;delete _0xeef7bd[_0x9c46('0x28')];}rows[_0x9c46('0x2d')](_0xeef7bd);}));if(total%0xc8===0x0){_0x5e34be[_0x9c46('0x67')]();return processPromises(_0x5e34be);}},'complete':function(){return processPromises()[_0x9c46('0x2c')](function(){logger['info'](_0x9c46('0x68'));endCsv();});},'error':function(_0x53138c,_0x4f7311){logger[_0x9c46('0x64')]('CSV\x20parse\x20error',JSON['stringify'](_0x53138c));endCsv();}});})[_0x9c46('0x2f')](function(_0x3f6208){logger[_0x9c46('0x15')]('Error\x20executing\x20contact\x20csv\x20import:',JSON['stringify'](_0x3f6208));});}main();