Built motion from commit d1eab355.|2.6.28
[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 _0xd19b=['Error\x20processing\x20rows\x20block:','finally','emit','contact:csv_','resume','Unable\x20to\x20delete\x20temp\x20file:','stringify','info','resolve','parse','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','util','lodash','squel','../../../mysqldb','../../../config/environment','api','redis','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','argv','undefined','null','Missing\x20filepath\x20parameter!','zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','error','contact','index','test','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','join','data','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','ListId','CompanyId','find','duplicate','Duplicate\x20Contact','CmContact','create','then','push','pick','Error\x20while\x20creating\x20contact:\x20','message','cmContact','checkHopper','inspect','insert','into','fromQuery','scheduledAt','ContactId','createdAt','select','field','toString','NOW()','from','cm_contacts','deletedAt\x20IS\x20NULL','where','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','cm_hopper','\x20=\x20?','updatedAt','id\x20IN\x20?','str','calleridnum','cm_hopper_black','VoiceQueue','findAll','dialCheckDuplicateType','CmList','get','always','query','VoiceQueueId','onlyIfOpen','sequelize','catch','all','outbound','BlackLists','CampaignId','Campaign','cmContact,\x20%s,\x20%s','generalCheckHopper'];(function(_0x4074b5,_0x46044e){var _0x25b9fc=function(_0x3ac4b2){while(--_0x3ac4b2){_0x4074b5['push'](_0x4074b5['shift']());}};_0x25b9fc(++_0x46044e);}(_0xd19b,0x14f));var _0xbd19=function(_0x3fc97b,_0x20ca29){_0x3fc97b=_0x3fc97b-0x0;var _0x3a0c82=_0xd19b[_0x3fc97b];return _0x3a0c82;};'use strict';var BPromise=require(_0xbd19('0x0'));var util=require(_0xbd19('0x1'));var _=require(_0xbd19('0x2'));var fs=require('fs');var squel=require(_0xbd19('0x3'));var Papa=require('papaparse');var Redis=require('ioredis');var db=require(_0xbd19('0x4'))['db'];var config=require(_0xbd19('0x5'));var logger=require('../../../config/logger')(_0xbd19('0x6'));config[_0xbd19('0x7')]=_['defaults'](config['redis'],{'host':_0xbd19('0x8'),'port':0x18eb});var socket=require(_0xbd19('0x9'))(new Redis(config[_0xbd19('0x7')]));require(_0xbd19('0xa'))[_0xbd19('0xb')](socket);try{if(!process[_0xbd19('0xc')][0x2]||process['argv'][0x2]===_0xbd19('0xd')||process['argv'][0x2]===_0xbd19('0xe')){throw new Error(_0xbd19('0xf'));}var FILEPATH=process[_0xbd19('0xc')][0x2];if(!process[_0xbd19('0xc')][0x3]||process[_0xbd19('0xc')][0x3]===_0xbd19('0xd')||process[_0xbd19('0xc')][0x3]===_0xbd19('0xe')||!process[_0xbd19('0xc')][0x4]||process[_0xbd19('0xc')][0x4]===_0xbd19('0xd')||process[_0xbd19('0xc')][0x4]===_0xbd19('0xe')){throw new Error('Missing\x20binding\x20parameters!');}var FIELDS=_[_0xbd19('0x10')](process['argv'][0x3][_0xbd19('0x11')](','),process[_0xbd19('0xc')][0x4]['split'](','));if(!process[_0xbd19('0xc')][0x5]||process['argv'][0x5]===_0xbd19('0xd')||process[_0xbd19('0xc')][0x5]===_0xbd19('0xe')){throw new Error(_0xbd19('0x12'));}var LISTID=process['argv'][0x5];var COMPANYID=process[_0xbd19('0xc')][0x6]&&process[_0xbd19('0xc')][0x6]!==_0xbd19('0xd')&&process['argv'][0x6]!==_0xbd19('0xe')?process[_0xbd19('0xc')][0x6]:null;var DUPLICATES=process['argv'][0x7]&&process[_0xbd19('0xc')][0x7]!==_0xbd19('0xd')&&process['argv'][0x7]!==_0xbd19('0xe')?process[_0xbd19('0xc')][0x7]:null;if(!process[_0xbd19('0xc')][0x8]||process[_0xbd19('0xc')][0x8]===_0xbd19('0xd')||process[_0xbd19('0xc')][0x8]==='null'){throw new Error(_0xbd19('0x13'));}var SOCKET_TIMESTAMP=process[_0xbd19('0xc')][0x8];}catch(_0x14e37c){logger[_0xbd19('0x14')](_0x14e37c);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(_0x181f0b,_0x5b5498,_0x56e0a5,_0x347129){var _0x43d107={'message':_0x5b5498};_0x43d107[_0x181f0b]=!![];if(_0x56e0a5){_0x43d107[_0xbd19('0x15')]=_0x56e0a5;}if(_0x347129){_0x43d107[_0xbd19('0x16')]=_0x347129;}return _0x43d107;}function isEmail(_0x2a44e1){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))*$/[_0xbd19('0x17')](_0x2a44e1);}function checkRow(_0x2b2dbf,_0x55d559,_0xdfb9a3){return new BPromise(function(_0x540bc8,_0x5a1d98){if(_['isNil'](_0x2b2dbf)){return _0x5a1d98(handleCheckRowError(_0xbd19('0x14'),_0xbd19('0x18'),null,_0xdfb9a3));}if(_0x2b2dbf[_0xbd19('0x19')]&&_0x2b2dbf[_0xbd19('0x19')][_0xbd19('0x1a')]){var _0x5ed51e=_[_0xbd19('0x1b')](_0x2b2dbf[_0xbd19('0x19')],'message')[_0xbd19('0x1c')](';');return _0x5a1d98(handleCheckRowError('error',_0x5ed51e,null,_0xdfb9a3));}var _0x4998eb={};for(var _0x374466 in FIELDS){if(FIELDS['hasOwnProperty'](_0x374466)&&FIELDS[_0x374466]){_0x4998eb[_0x374466]=_0x2b2dbf[_0xbd19('0x1d')][0x0][FIELDS[_0x374466]]||_0x2b2dbf[_0xbd19('0x1d')][0x0]['\ufeff'+FIELDS[_0x374466]];}}if(!_0x4998eb['firstName']){return _0x5a1d98(handleCheckRowError(_0xbd19('0x14'),_0xbd19('0x1e'),null,_0xdfb9a3));}if(!_0x4998eb[_0xbd19('0x1f')]){return _0x5a1d98(handleCheckRowError(_0xbd19('0x14'),_0xbd19('0x20'),null,_0xdfb9a3));}if(_0x4998eb[_0xbd19('0x21')]){var _0x1311a7=moment(_0x4998eb[_0xbd19('0x21')],_0xbd19('0x22'));if(!_0x1311a7['isValid']()){return _0x5a1d98(handleCheckRowError(_0xbd19('0x14'),_0xbd19('0x23'),null,_0xdfb9a3));}}if(_0x4998eb['email']){if(!isEmail(_0x4998eb[_0xbd19('0x24')])){return _0x5a1d98(handleCheckRowError('error','email\x20format\x20is\x20not\x20valid!',null,_0xdfb9a3));}}_0x4998eb[_0xbd19('0x25')]=LISTID;_0x4998eb[_0xbd19('0x26')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0xbd19('0x1a')]&&_0x55d559){var _0x2d87a5={};for(var _0x369111=0x0,_0x5152af=DUPLICATES[_0xbd19('0x1a')];_0x369111<_0x5152af;_0x369111+=0x1){_0x2d87a5[DUPLICATES[_0x369111]]=_0x4998eb[DUPLICATES[_0x369111]];}var _0xfe8eb3=_[_0xbd19('0x27')](_0x55d559,_0x2d87a5);if(_0xfe8eb3){return _0x5a1d98(handleCheckRowError(_0xbd19('0x28'),_0xbd19('0x29'),_0xfe8eb3,_0xdfb9a3));}}return db[_0xbd19('0x2a')][_0xbd19('0x2b')](_0x4998eb,{'raw':!![],'hooks':![],'fields':_['keys'](_0x4998eb)})[_0xbd19('0x2c')](function(_0x34b80e){if(DUPLICATES&&DUPLICATES[_0xbd19('0x1a')]&&_0x55d559){_0x55d559[_0xbd19('0x2d')](_[_0xbd19('0x2e')](_0x4998eb,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x34b80e['id'];return _0x540bc8();})['catch'](function(_0x5231ed){return _0x5a1d98(handleCheckRowError(_0xbd19('0x14'),_0xbd19('0x2f')+(_0x5231ed[_0xbd19('0x30')]||JSON['stringify'](_0x5231ed)),null,_0xdfb9a3));});});}function checkHopper(){function _0x24f951(){return function(_0x4373af){logger[_0xbd19('0x14')](_0xbd19('0x31'),_0xbd19('0x32'),util[_0xbd19('0x33')](_0x4373af,{'showHidden':![],'depth':null}));};}var _0x55a090=function(_0x190f2b,_0x5a2b42){var _0x40f59a=squel[_0xbd19('0x34')]()[_0xbd19('0x35')]('cm_hopper')[_0xbd19('0x36')]([_0xbd19('0x1f'),_0xbd19('0x37'),_0xbd19('0x38'),_0xbd19('0x25'),_0x5a2b42,_0xbd19('0x39'),'updatedAt'],squel[_0xbd19('0x3a')]()[_0xbd19('0x3b')]('phone',_0xbd19('0x1f'))[_0xbd19('0x3b')]('NOW()',_0xbd19('0x37'))[_0xbd19('0x3b')]('id','ContactId')[_0xbd19('0x3b')](LISTID[_0xbd19('0x3c')](),_0xbd19('0x25'))[_0xbd19('0x3b')](_0x190f2b['id'][_0xbd19('0x3c')](),_0x5a2b42)[_0xbd19('0x3b')](_0xbd19('0x3d'),_0xbd19('0x39'))[_0xbd19('0x3b')](_0xbd19('0x3d'),'updatedAt')[_0xbd19('0x3e')](_0xbd19('0x3f'))['where'](_0xbd19('0x40'))[_0xbd19('0x41')]('ListId\x20=\x20?',LISTID[_0xbd19('0x3c')]())['where'](_0xbd19('0x42'))[_0xbd19('0x41')](_0xbd19('0x43'),squel['select']()['field'](_0xbd19('0x1f'))[_0xbd19('0x3e')](_0xbd19('0x44'))[_0xbd19('0x41')](_0x5a2b42+_0xbd19('0x45'),_0x190f2b['id'][_0xbd19('0x3c')]())))[_0xbd19('0x3c')]();return _0x40f59a;};var _0x45ab68=function(_0x59c118,_0x53c0c9){var _0x236e55=squel[_0xbd19('0x34')]()[_0xbd19('0x35')]('cm_hopper')[_0xbd19('0x36')]([_0xbd19('0x1f'),_0xbd19('0x37'),_0xbd19('0x38'),_0xbd19('0x25'),_0x53c0c9,_0xbd19('0x39'),_0xbd19('0x46')],squel['select']()['field'](_0xbd19('0x1f'),_0xbd19('0x1f'))[_0xbd19('0x3b')]('NOW()',_0xbd19('0x37'))[_0xbd19('0x3b')]('id',_0xbd19('0x38'))[_0xbd19('0x3b')](LISTID[_0xbd19('0x3c')](),'ListId')[_0xbd19('0x3b')](_0x59c118['id'][_0xbd19('0x3c')](),_0x53c0c9)[_0xbd19('0x3b')](_0xbd19('0x3d'),_0xbd19('0x39'))[_0xbd19('0x3b')](_0xbd19('0x3d'),_0xbd19('0x46'))['from'](_0xbd19('0x3f'))[_0xbd19('0x41')]('deletedAt\x20IS\x20NULL')[_0xbd19('0x41')]('ListId\x20=\x20?',LISTID['toString']())[_0xbd19('0x41')](_0xbd19('0x47'),squel[_0xbd19('0x48')](hopperContacts))['where'](_0xbd19('0x42'))[_0xbd19('0x41')](_0xbd19('0x43'),squel[_0xbd19('0x3a')]()[_0xbd19('0x3b')](_0xbd19('0x49'))[_0xbd19('0x3e')]('cm_hopper_final')[_0xbd19('0x41')](_0x53c0c9+_0xbd19('0x45'),_0x59c118['id'][_0xbd19('0x3c')]()))[_0xbd19('0x41')]('phone\x20NOT\x20IN\x20(?)',squel['select']()[_0xbd19('0x3b')](_0xbd19('0x1f'))['from'](_0xbd19('0x44'))[_0xbd19('0x41')](_0x53c0c9+_0xbd19('0x45'),_0x59c118['id']['toString']())))[_0xbd19('0x3c')]();return _0x236e55;};function _0x1f4c9a(_0x1a2a15,_0x231fbf){var _0x1798c9=squel[_0xbd19('0x34')]()[_0xbd19('0x35')](_0xbd19('0x44'))[_0xbd19('0x36')]([_0xbd19('0x1f'),_0xbd19('0x37'),_0xbd19('0x38'),_0xbd19('0x25'),_0x231fbf,'createdAt',_0xbd19('0x46')],squel[_0xbd19('0x3a')]()[_0xbd19('0x3b')]('phone',_0xbd19('0x1f'))[_0xbd19('0x3b')](_0xbd19('0x3d'),_0xbd19('0x37'))[_0xbd19('0x3b')]('id',_0xbd19('0x38'))[_0xbd19('0x3b')](LISTID['toString'](),_0xbd19('0x25'))[_0xbd19('0x3b')](_0x1a2a15['id'][_0xbd19('0x3c')](),_0x231fbf)[_0xbd19('0x3b')](_0xbd19('0x3d'),_0xbd19('0x39'))['field']('NOW()',_0xbd19('0x46'))[_0xbd19('0x3e')](_0xbd19('0x3f'))[_0xbd19('0x41')]('deletedAt\x20IS\x20NULL')[_0xbd19('0x41')]('ListId\x20=\x20?',LISTID[_0xbd19('0x3c')]())[_0xbd19('0x41')](_0xbd19('0x47'),squel['str'](hopperContacts))['where'](_0xbd19('0x42')))[_0xbd19('0x3c')]();return _0x1798c9;}function _0x3c67c8(_0x2a150a,_0x44fa5e){var _0x568c2d=squel[_0xbd19('0x34')]()[_0xbd19('0x35')](_0xbd19('0x4a'))[_0xbd19('0x36')]([_0xbd19('0x1f'),_0xbd19('0x38'),_0xbd19('0x25'),_0x44fa5e,_0xbd19('0x39'),_0xbd19('0x46')],squel[_0xbd19('0x3a')]()['field'](_0xbd19('0x1f'),_0xbd19('0x1f'))[_0xbd19('0x3b')]('id',_0xbd19('0x38'))['field'](LISTID[_0xbd19('0x3c')](),_0xbd19('0x25'))[_0xbd19('0x3b')](_0x2a150a['id'][_0xbd19('0x3c')](),_0x44fa5e)[_0xbd19('0x3b')](_0xbd19('0x3d'),_0xbd19('0x39'))[_0xbd19('0x3b')](_0xbd19('0x3d'),_0xbd19('0x46'))[_0xbd19('0x3e')](_0xbd19('0x3f'))[_0xbd19('0x41')]('deletedAt\x20IS\x20NULL')[_0xbd19('0x41')]('ListId\x20=\x20?',LISTID[_0xbd19('0x3c')]())[_0xbd19('0x41')](_0xbd19('0x47'),squel[_0xbd19('0x48')](hopperContacts))[_0xbd19('0x41')](_0xbd19('0x42')))['toString']();return _0x568c2d;}return db[_0xbd19('0x4b')][_0xbd19('0x4c')]({'where':{'type':'outbound'},'attributes':['id',_0xbd19('0x4d')],'include':[{'model':db[_0xbd19('0x4e')],'as':'Lists','where':{'id':LISTID}}]})[_0xbd19('0x2c')](function(_0x2e2ff0){var _0x103a5e=[];if(_0x2e2ff0){var _0x2ec132;for(var _0x4df767=0x0,_0x7a00b3;_0x4df767<_0x2e2ff0[_0xbd19('0x1a')];_0x4df767+=0x1){_0x7a00b3=_0x2e2ff0[_0x4df767][_0xbd19('0x4f')]({'plain':!![]});switch(_0x7a00b3[_0xbd19('0x4d')]){case _0xbd19('0x50'):_0x103a5e[_0xbd19('0x2d')](db['sequelize'][_0xbd19('0x51')](_0x45ab68(_0x7a00b3,_0xbd19('0x52')))[_0xbd19('0x2c')](function(){})['catch'](_0x24f951()));break;case _0xbd19('0x53'):_0x103a5e['push'](db[_0xbd19('0x54')]['query'](_0x55a090(_0x7a00b3,_0xbd19('0x52')))['then'](function(){})[_0xbd19('0x55')](_0x24f951()));break;default:_0x103a5e[_0xbd19('0x2d')](db['sequelize'][_0xbd19('0x51')](_0x1f4c9a(_0x7a00b3,_0xbd19('0x52')))['then'](function(){})[_0xbd19('0x55')](_0x24f951()));}}}return _0x103a5e;})[_0xbd19('0x56')]()[_0xbd19('0x2c')](function(){return db[_0xbd19('0x4b')][_0xbd19('0x4c')]({'where':{'type':_0xbd19('0x57')},'attributes':['id'],'include':[{'model':db['CmList'],'as':_0xbd19('0x58'),'where':{'id':LISTID}}]})[_0xbd19('0x2c')](function(_0x569be6){var _0x43d7e7=[];if(_0x569be6){var _0x3d6d0c;for(var _0x1528ec=0x0,_0x44f6a7;_0x1528ec<_0x569be6[_0xbd19('0x1a')];_0x1528ec+=0x1){_0x44f6a7=_0x569be6[_0x1528ec][_0xbd19('0x4f')]({'plain':!![]});_0x43d7e7[_0xbd19('0x2d')](db['sequelize']['query'](_0x3c67c8(_0x44f6a7,'VoiceQueueId'))[_0xbd19('0x2c')](function(){})[_0xbd19('0x55')](_0x24f951()));}}return _0x43d7e7;})[_0xbd19('0x56')]();})[_0xbd19('0x2c')](function(){return db['Campaign'][_0xbd19('0x4c')]({'attributes':['id',_0xbd19('0x4d')],'include':[{'model':db[_0xbd19('0x4e')],'as':'Lists','where':{'id':LISTID}}]})[_0xbd19('0x2c')](function(_0x3d82a8){var _0xfb3467=[];if(_0x3d82a8){for(var _0x4da481=0x0,_0x552860;_0x4da481<_0x3d82a8[_0xbd19('0x1a')];_0x4da481+=0x1){_0x552860=_0x3d82a8[_0x4da481][_0xbd19('0x4f')]({'plain':!![]});switch(_0x552860[_0xbd19('0x4d')]){case _0xbd19('0x50'):_0xfb3467[_0xbd19('0x2d')](db[_0xbd19('0x54')][_0xbd19('0x51')](_0x45ab68(_0x552860,_0xbd19('0x59')))['then'](function(){})['catch'](_0x24f951()));break;case'onlyIfOpen':_0xfb3467[_0xbd19('0x2d')](db[_0xbd19('0x54')]['query'](_0x55a090(_0x552860,'CampaignId'))['then'](function(){})[_0xbd19('0x55')](_0x24f951()));break;default:_0xfb3467[_0xbd19('0x2d')](db[_0xbd19('0x54')][_0xbd19('0x51')](_0x1f4c9a(_0x552860,'CampaignId'))['then'](function(){})[_0xbd19('0x55')](_0x24f951()));}}}return _0xfb3467;})[_0xbd19('0x56')]();})[_0xbd19('0x2c')](function(){return db[_0xbd19('0x5a')][_0xbd19('0x4c')]({'attributes':['id'],'include':[{'model':db[_0xbd19('0x4e')],'as':_0xbd19('0x58'),'where':{'id':LISTID}}]})[_0xbd19('0x2c')](function(_0x2f74cb){var _0x26706e=[];if(_0x2f74cb){for(var _0x5d2ee5=0x0,_0xecad91;_0x5d2ee5<_0x2f74cb[_0xbd19('0x1a')];_0x5d2ee5+=0x1){_0xecad91=_0x2f74cb[_0x5d2ee5][_0xbd19('0x4f')]({'plain':!![]});_0x26706e[_0xbd19('0x2d')](db[_0xbd19('0x54')][_0xbd19('0x51')](_0x3c67c8(_0xecad91,'CampaignId'))[_0xbd19('0x2c')](function(){})[_0xbd19('0x55')](_0x24f951()));}}return _0x26706e;})[_0xbd19('0x56')]();})[_0xbd19('0x55')](function(_0x567c9b){logger[_0xbd19('0x14')](_0xbd19('0x5b'),_0xbd19('0x5c'),_0x567c9b[_0xbd19('0x30')]);});}var processPromises=function(_0x16e6bd){return BPromise['all'](promises)[_0xbd19('0x2c')](function(_0x1b4870){})[_0xbd19('0x55')](function(_0x20ba02){logger[_0xbd19('0x14')](_0xbd19('0x5d'),JSON['stringify'](_0x20ba02));})[_0xbd19('0x5e')](function(){socket[_0xbd19('0x5f')](_0xbd19('0x60')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x16e6bd){return _0x16e6bd[_0xbd19('0x61')]();}});};var endCsv=function(){return BPromise['resolve']()[_0xbd19('0x2c')](function(){if(hopperContacts){return checkHopper();}})['then'](function(){socket[_0xbd19('0x5f')](_0xbd19('0x60')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs['unlinkSync'](FILEPATH);}catch(_0x565545){logger[_0xbd19('0x14')](_0xbd19('0x62'),JSON[_0xbd19('0x63')](_0x565545));}finally{process['exit'](0x0);}});};process['on']('SIGINT',function(){logger[_0xbd19('0x64')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0xbd19('0x65')]()[_0xbd19('0x2c')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0xbd19('0x11')](',');return db[_0xbd19('0x2a')][_0xbd19('0x4c')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0xbd19('0x2c')](function(_0xe3cabf){var _0x4a1d97=fs['createReadStream'](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0xbd19('0x66')](_0x4a1d97,{'header':!![],'skipEmptyLines':!![],'step':function(_0xc0ca16,_0x2e98f1){total+=0x1;var _0xc6a3cb=total;promises[_0xbd19('0x2d')](checkRow(_0xc0ca16,_0xe3cabf,_0xc6a3cb)[_0xbd19('0x2c')](function(){success+=0x1;})[_0xbd19('0x55')](function(_0x6fd20){if(_0x6fd20[_0xbd19('0x14')]){errors+=0x1;delete _0x6fd20[_0xbd19('0x14')];}else if(_0x6fd20[_0xbd19('0x28')]){duplicates+=0x1;delete _0x6fd20[_0xbd19('0x28')];}rows[_0xbd19('0x2d')](_0x6fd20);}));if(total%0xc8===0x0){_0x2e98f1[_0xbd19('0x67')]();return processPromises(_0x2e98f1);}},'complete':function(){return processPromises()['then'](function(){logger[_0xbd19('0x64')](_0xbd19('0x68'));endCsv();});},'error':function(_0x3cf71f,_0x49b350){logger[_0xbd19('0x64')](_0xbd19('0x69'),JSON['stringify'](_0x3cf71f));endCsv();}});})[_0xbd19('0x55')](function(_0x123ccc){logger['error'](_0xbd19('0x6a'),JSON[_0xbd19('0x63')](_0x123ccc));});}main();