Built motion from commit c738b9ac.|2.6.25
[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 _0xdcca=['isValid','email','email\x20format\x20is\x20not\x20valid!','CompanyId','find','duplicate','Duplicate\x20Contact','CmContact','create','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','cmContact','checkHopper','inspect','insert','into','cm_hopper','fromQuery','scheduledAt','ContactId','ListId','updatedAt','select','NOW()','field','toString','createdAt','from','cm_contacts','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','where','phone\x20NOT\x20IN\x20(?)','\x20=\x20?','id\x20IN\x20?','str','cm_hopper_final','cm_hopper_black','outbound','dialCheckDuplicateType','get','sequelize','query','VoiceQueueId','onlyIfOpen','all','VoiceQueue','CmList','Campaign','findAll','always','CampaignId','BlackLists','stringify','emit','resume','contact:csv_','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','SIGINT','info','resolve','parse','pause','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','squel','papaparse','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','api','redis','defaults','localhost','../../../api/cmContact/cmContact.socket','register','argv','null','Missing\x20filepath\x20parameter!','undefined','Missing\x20binding\x20parameters!','Missing\x20socket_timestamp\x20parameter!','contact','test','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','message','join','error','hasOwnProperty','data','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD'];(function(_0x1c5606,_0x5437c0){var _0x231348=function(_0x5d037e){while(--_0x5d037e){_0x1c5606['push'](_0x1c5606['shift']());}};_0x231348(++_0x5437c0);}(_0xdcca,0x119));var _0xadcc=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xdcca[_0x3dd15e];return _0x231fd0;};'use strict';var BPromise=require(_0xadcc('0x0'));var util=require('util');var _=require('lodash');var fs=require('fs');var squel=require(_0xadcc('0x1'));var Papa=require(_0xadcc('0x2'));var Redis=require(_0xadcc('0x3'));var db=require(_0xadcc('0x4'))['db'];var config=require(_0xadcc('0x5'));var logger=require(_0xadcc('0x6'))(_0xadcc('0x7'));config[_0xadcc('0x8')]=_[_0xadcc('0x9')](config[_0xadcc('0x8')],{'host':_0xadcc('0xa'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xadcc('0x8')]));require(_0xadcc('0xb'))[_0xadcc('0xc')](socket);try{if(!process['argv'][0x2]||process[_0xadcc('0xd')][0x2]==='undefined'||process['argv'][0x2]===_0xadcc('0xe')){throw new Error(_0xadcc('0xf'));}var FILEPATH=process[_0xadcc('0xd')][0x2];if(!process[_0xadcc('0xd')][0x3]||process[_0xadcc('0xd')][0x3]===_0xadcc('0x10')||process[_0xadcc('0xd')][0x3]===_0xadcc('0xe')||!process[_0xadcc('0xd')][0x4]||process['argv'][0x4]===_0xadcc('0x10')||process[_0xadcc('0xd')][0x4]==='null'){throw new Error(_0xadcc('0x11'));}var FIELDS=_['zipObject'](process[_0xadcc('0xd')][0x3]['split'](','),process['argv'][0x4]['split'](','));if(!process[_0xadcc('0xd')][0x5]||process[_0xadcc('0xd')][0x5]==='undefined'||process[_0xadcc('0xd')][0x5]===_0xadcc('0xe')){throw new Error('Missing\x20ListId\x20parameter!');}var LISTID=process['argv'][0x5];var COMPANYID=process[_0xadcc('0xd')][0x6]&&process[_0xadcc('0xd')][0x6]!=='undefined'&&process[_0xadcc('0xd')][0x6]!=='null'?process[_0xadcc('0xd')][0x6]:null;var DUPLICATES=process[_0xadcc('0xd')][0x7]&&process[_0xadcc('0xd')][0x7]!=='undefined'&&process[_0xadcc('0xd')][0x7]!==_0xadcc('0xe')?process[_0xadcc('0xd')][0x7]:null;if(!process[_0xadcc('0xd')][0x8]||process[_0xadcc('0xd')][0x8]==='undefined'||process[_0xadcc('0xd')][0x8]===_0xadcc('0xe')){throw new Error(_0xadcc('0x12'));}var SOCKET_TIMESTAMP=process[_0xadcc('0xd')][0x8];}catch(_0x43ff57){logger['error'](_0x43ff57);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(_0x22dd1d,_0x120b53,_0x1c7e76,_0x17aa85){var _0x49e145={'message':_0x120b53};_0x49e145[_0x22dd1d]=!![];if(_0x1c7e76){_0x49e145[_0xadcc('0x13')]=_0x1c7e76;}if(_0x17aa85){_0x49e145['index']=_0x17aa85;}return _0x49e145;}function isEmail(_0x31ae7b){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))*$/[_0xadcc('0x14')](_0x31ae7b);}function checkRow(_0x13e515,_0xfe99f5,_0x2cb1f8){return new BPromise(function(_0x1d1e7d,_0x1a3705){if(_['isNil'](_0x13e515)){return _0x1a3705(handleCheckRowError('error',_0xadcc('0x15'),null,_0x2cb1f8));}if(_0x13e515[_0xadcc('0x16')]&&_0x13e515[_0xadcc('0x16')][_0xadcc('0x17')]){var _0x4d1b55=_['map'](_0x13e515['errors'],_0xadcc('0x18'))[_0xadcc('0x19')](';');return _0x1a3705(handleCheckRowError(_0xadcc('0x1a'),_0x4d1b55,null,_0x2cb1f8));}var _0x534135={};for(var _0x49cd8d in FIELDS){if(FIELDS[_0xadcc('0x1b')](_0x49cd8d)&&FIELDS[_0x49cd8d]){_0x534135[_0x49cd8d]=_0x13e515[_0xadcc('0x1c')][0x0][FIELDS[_0x49cd8d]]||_0x13e515[_0xadcc('0x1c')][0x0]['\ufeff'+FIELDS[_0x49cd8d]];}}if(!_0x534135['firstName']){return _0x1a3705(handleCheckRowError(_0xadcc('0x1a'),_0xadcc('0x1d'),null,_0x2cb1f8));}if(!_0x534135[_0xadcc('0x1e')]){return _0x1a3705(handleCheckRowError(_0xadcc('0x1a'),_0xadcc('0x1f'),null,_0x2cb1f8));}if(_0x534135[_0xadcc('0x20')]){var _0x2dfd11=moment(_0x534135[_0xadcc('0x20')],_0xadcc('0x21'));if(!_0x2dfd11[_0xadcc('0x22')]()){return _0x1a3705(handleCheckRowError('error','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x2cb1f8));}}if(_0x534135[_0xadcc('0x23')]){if(!isEmail(_0x534135[_0xadcc('0x23')])){return _0x1a3705(handleCheckRowError(_0xadcc('0x1a'),_0xadcc('0x24'),null,_0x2cb1f8));}}_0x534135['ListId']=LISTID;_0x534135[_0xadcc('0x25')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0xadcc('0x17')]&&_0xfe99f5){var _0x140f02={};for(var _0xd0cccc=0x0,_0x589a75=DUPLICATES[_0xadcc('0x17')];_0xd0cccc<_0x589a75;_0xd0cccc+=0x1){_0x140f02[DUPLICATES[_0xd0cccc]]=_0x534135[DUPLICATES[_0xd0cccc]];}var _0x73de3a=_[_0xadcc('0x26')](_0xfe99f5,_0x140f02);if(_0x73de3a){return _0x1a3705(handleCheckRowError(_0xadcc('0x27'),_0xadcc('0x28'),_0x73de3a,_0x2cb1f8));}}return db[_0xadcc('0x29')][_0xadcc('0x2a')](_0x534135,{'raw':!![],'hooks':![],'fields':_[_0xadcc('0x2b')](_0x534135)})[_0xadcc('0x2c')](function(_0x268a68){if(DUPLICATES&&DUPLICATES[_0xadcc('0x17')]&&_0xfe99f5){_0xfe99f5[_0xadcc('0x2d')](_[_0xadcc('0x2e')](_0x534135,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x268a68['id'];return _0x1d1e7d();})[_0xadcc('0x2f')](function(_0xbc5404){return _0x1a3705(handleCheckRowError('error',_0xadcc('0x30')+(_0xbc5404['message']||JSON['stringify'](_0xbc5404)),null,_0x2cb1f8));});});}function checkHopper(){function _0x3977c0(){return function(_0x3f0e9f){logger['error'](_0xadcc('0x31'),_0xadcc('0x32'),util[_0xadcc('0x33')](_0x3f0e9f,{'showHidden':![],'depth':null}));};}var _0x3d2258=function(_0x48c939,_0xacef8a){var _0xc292f=squel[_0xadcc('0x34')]()[_0xadcc('0x35')](_0xadcc('0x36'))[_0xadcc('0x37')]([_0xadcc('0x1e'),_0xadcc('0x38'),_0xadcc('0x39'),_0xadcc('0x3a'),_0xacef8a,'createdAt',_0xadcc('0x3b')],squel[_0xadcc('0x3c')]()['field'](_0xadcc('0x1e'),_0xadcc('0x1e'))['field'](_0xadcc('0x3d'),_0xadcc('0x38'))[_0xadcc('0x3e')]('id',_0xadcc('0x39'))['field'](LISTID[_0xadcc('0x3f')](),_0xadcc('0x3a'))[_0xadcc('0x3e')](_0x48c939['id']['toString'](),_0xacef8a)['field'](_0xadcc('0x3d'),_0xadcc('0x40'))[_0xadcc('0x3e')](_0xadcc('0x3d'),_0xadcc('0x3b'))[_0xadcc('0x41')](_0xadcc('0x42'))['where'](_0xadcc('0x43'))['where'](_0xadcc('0x44'),LISTID[_0xadcc('0x3f')]())['where'](_0xadcc('0x45'))[_0xadcc('0x46')](_0xadcc('0x47'),squel[_0xadcc('0x3c')]()['field'](_0xadcc('0x1e'))[_0xadcc('0x41')](_0xadcc('0x36'))['where'](_0xacef8a+_0xadcc('0x48'),_0x48c939['id'][_0xadcc('0x3f')]())))['toString']();return _0xc292f;};var _0x5224be=function(_0x15b32b,_0x1a2d1b){var _0x52dcac=squel[_0xadcc('0x34')]()[_0xadcc('0x35')](_0xadcc('0x36'))[_0xadcc('0x37')]([_0xadcc('0x1e'),_0xadcc('0x38'),_0xadcc('0x39'),_0xadcc('0x3a'),_0x1a2d1b,_0xadcc('0x40'),_0xadcc('0x3b')],squel[_0xadcc('0x3c')]()[_0xadcc('0x3e')]('phone',_0xadcc('0x1e'))[_0xadcc('0x3e')](_0xadcc('0x3d'),'scheduledAt')[_0xadcc('0x3e')]('id','ContactId')[_0xadcc('0x3e')](LISTID[_0xadcc('0x3f')](),_0xadcc('0x3a'))['field'](_0x15b32b['id'][_0xadcc('0x3f')](),_0x1a2d1b)['field'](_0xadcc('0x3d'),_0xadcc('0x40'))[_0xadcc('0x3e')](_0xadcc('0x3d'),_0xadcc('0x3b'))[_0xadcc('0x41')](_0xadcc('0x42'))[_0xadcc('0x46')](_0xadcc('0x43'))['where'](_0xadcc('0x44'),LISTID[_0xadcc('0x3f')]())[_0xadcc('0x46')](_0xadcc('0x49'),squel[_0xadcc('0x4a')](hopperContacts))[_0xadcc('0x46')]('phone\x20IS\x20NOT\x20NULL')[_0xadcc('0x46')](_0xadcc('0x47'),squel['select']()[_0xadcc('0x3e')]('calleridnum')[_0xadcc('0x41')](_0xadcc('0x4b'))['where'](_0x1a2d1b+_0xadcc('0x48'),_0x15b32b['id'][_0xadcc('0x3f')]()))[_0xadcc('0x46')](_0xadcc('0x47'),squel[_0xadcc('0x3c')]()[_0xadcc('0x3e')]('phone')['from'](_0xadcc('0x36'))[_0xadcc('0x46')](_0x1a2d1b+_0xadcc('0x48'),_0x15b32b['id'][_0xadcc('0x3f')]())))['toString']();return _0x52dcac;};function _0x2c6f1a(_0x1703d5,_0x3bceec){var _0x24d55e=squel[_0xadcc('0x34')]()[_0xadcc('0x35')](_0xadcc('0x36'))[_0xadcc('0x37')]([_0xadcc('0x1e'),_0xadcc('0x38'),'ContactId',_0xadcc('0x3a'),_0x3bceec,'createdAt','updatedAt'],squel[_0xadcc('0x3c')]()['field'](_0xadcc('0x1e'),_0xadcc('0x1e'))['field'](_0xadcc('0x3d'),_0xadcc('0x38'))['field']('id','ContactId')[_0xadcc('0x3e')](LISTID[_0xadcc('0x3f')](),'ListId')['field'](_0x1703d5['id']['toString'](),_0x3bceec)[_0xadcc('0x3e')](_0xadcc('0x3d'),'createdAt')[_0xadcc('0x3e')](_0xadcc('0x3d'),_0xadcc('0x3b'))[_0xadcc('0x41')](_0xadcc('0x42'))[_0xadcc('0x46')](_0xadcc('0x43'))[_0xadcc('0x46')](_0xadcc('0x44'),LISTID[_0xadcc('0x3f')]())[_0xadcc('0x46')](_0xadcc('0x49'),squel[_0xadcc('0x4a')](hopperContacts))[_0xadcc('0x46')](_0xadcc('0x45')))[_0xadcc('0x3f')]();return _0x24d55e;}function _0x51341d(_0x4c9137,_0x5a922d){var _0x1b1d7b=squel[_0xadcc('0x34')]()[_0xadcc('0x35')](_0xadcc('0x4c'))['fromQuery']([_0xadcc('0x1e'),'ContactId',_0xadcc('0x3a'),_0x5a922d,_0xadcc('0x40'),_0xadcc('0x3b')],squel[_0xadcc('0x3c')]()['field'](_0xadcc('0x1e'),_0xadcc('0x1e'))[_0xadcc('0x3e')]('id',_0xadcc('0x39'))['field'](LISTID[_0xadcc('0x3f')](),'ListId')[_0xadcc('0x3e')](_0x4c9137['id']['toString'](),_0x5a922d)[_0xadcc('0x3e')](_0xadcc('0x3d'),_0xadcc('0x40'))['field'](_0xadcc('0x3d'),_0xadcc('0x3b'))[_0xadcc('0x41')](_0xadcc('0x42'))[_0xadcc('0x46')](_0xadcc('0x43'))[_0xadcc('0x46')]('ListId\x20=\x20?',LISTID[_0xadcc('0x3f')]())['where'](_0xadcc('0x49'),squel[_0xadcc('0x4a')](hopperContacts))[_0xadcc('0x46')](_0xadcc('0x45')))[_0xadcc('0x3f')]();return _0x1b1d7b;}return db['VoiceQueue']['findAll']({'where':{'type':_0xadcc('0x4d')},'attributes':['id',_0xadcc('0x4e')],'include':[{'model':db['CmList'],'as':'Lists','where':{'id':LISTID}}]})[_0xadcc('0x2c')](function(_0x2e57c1){var _0xa7eafe=[];if(_0x2e57c1){var _0x2d404d;for(var _0x2e65b8=0x0,_0xabea12;_0x2e65b8<_0x2e57c1[_0xadcc('0x17')];_0x2e65b8+=0x1){_0xabea12=_0x2e57c1[_0x2e65b8][_0xadcc('0x4f')]({'plain':!![]});switch(_0xabea12['dialCheckDuplicateType']){case'always':_0xa7eafe['push'](db[_0xadcc('0x50')][_0xadcc('0x51')](_0x5224be(_0xabea12,_0xadcc('0x52')))['then'](function(){})['catch'](_0x3977c0()));break;case _0xadcc('0x53'):_0xa7eafe[_0xadcc('0x2d')](db['sequelize']['query'](_0x3d2258(_0xabea12,_0xadcc('0x52')))['then'](function(){})[_0xadcc('0x2f')](_0x3977c0()));break;default:_0xa7eafe[_0xadcc('0x2d')](db['sequelize']['query'](_0x2c6f1a(_0xabea12,_0xadcc('0x52')))['then'](function(){})['catch'](_0x3977c0()));}}}return _0xa7eafe;})[_0xadcc('0x54')]()[_0xadcc('0x2c')](function(){return db[_0xadcc('0x55')]['findAll']({'where':{'type':'outbound'},'attributes':['id'],'include':[{'model':db[_0xadcc('0x56')],'as':'BlackLists','where':{'id':LISTID}}]})[_0xadcc('0x2c')](function(_0x3da273){var _0x3d4315=[];if(_0x3da273){var _0x3e8faf;for(var _0x92277e=0x0,_0x49db0b;_0x92277e<_0x3da273[_0xadcc('0x17')];_0x92277e+=0x1){_0x49db0b=_0x3da273[_0x92277e][_0xadcc('0x4f')]({'plain':!![]});_0x3d4315[_0xadcc('0x2d')](db[_0xadcc('0x50')][_0xadcc('0x51')](_0x51341d(_0x49db0b,'VoiceQueueId'))[_0xadcc('0x2c')](function(){})[_0xadcc('0x2f')](_0x3977c0()));}}return _0x3d4315;})['all']();})[_0xadcc('0x2c')](function(){return db[_0xadcc('0x57')][_0xadcc('0x58')]({'attributes':['id',_0xadcc('0x4e')],'include':[{'model':db[_0xadcc('0x56')],'as':'Lists','where':{'id':LISTID}}]})[_0xadcc('0x2c')](function(_0x105e15){var _0x1f29bb=[];if(_0x105e15){for(var _0xc81a01=0x0,_0x57f3b9;_0xc81a01<_0x105e15[_0xadcc('0x17')];_0xc81a01+=0x1){_0x57f3b9=_0x105e15[_0xc81a01][_0xadcc('0x4f')]({'plain':!![]});switch(_0x57f3b9[_0xadcc('0x4e')]){case _0xadcc('0x59'):_0x1f29bb[_0xadcc('0x2d')](db[_0xadcc('0x50')][_0xadcc('0x51')](_0x5224be(_0x57f3b9,_0xadcc('0x5a')))[_0xadcc('0x2c')](function(){})['catch'](_0x3977c0()));break;case _0xadcc('0x53'):_0x1f29bb[_0xadcc('0x2d')](db[_0xadcc('0x50')][_0xadcc('0x51')](_0x3d2258(_0x57f3b9,_0xadcc('0x5a')))[_0xadcc('0x2c')](function(){})['catch'](_0x3977c0()));break;default:_0x1f29bb['push'](db[_0xadcc('0x50')][_0xadcc('0x51')](_0x2c6f1a(_0x57f3b9,_0xadcc('0x5a')))[_0xadcc('0x2c')](function(){})[_0xadcc('0x2f')](_0x3977c0()));}}}return _0x1f29bb;})[_0xadcc('0x54')]();})[_0xadcc('0x2c')](function(){return db[_0xadcc('0x57')]['findAll']({'attributes':['id'],'include':[{'model':db[_0xadcc('0x56')],'as':_0xadcc('0x5b'),'where':{'id':LISTID}}]})[_0xadcc('0x2c')](function(_0xa202a8){var _0x151c3c=[];if(_0xa202a8){for(var _0x37d1ee=0x0,_0x4c3571;_0x37d1ee<_0xa202a8[_0xadcc('0x17')];_0x37d1ee+=0x1){_0x4c3571=_0xa202a8[_0x37d1ee][_0xadcc('0x4f')]({'plain':!![]});_0x151c3c['push'](db['sequelize'][_0xadcc('0x51')](_0x51341d(_0x4c3571,'CampaignId'))[_0xadcc('0x2c')](function(){})[_0xadcc('0x2f')](_0x3977c0()));}}return _0x151c3c;})[_0xadcc('0x54')]();})['catch'](function(_0x2eeb1e){logger[_0xadcc('0x1a')]('cmContact,\x20%s,\x20%s','generalCheckHopper',_0x2eeb1e[_0xadcc('0x18')]);});}var processPromises=function(_0x3d3166){return BPromise[_0xadcc('0x54')](promises)[_0xadcc('0x2c')](function(_0x1c7d36){})['catch'](function(_0xe7604a){logger['error']('Error\x20processing\x20rows\x20block:',JSON[_0xadcc('0x5c')](_0xe7604a));})['finally'](function(){socket[_0xadcc('0x5d')]('contact:csv_'+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x3d3166){return _0x3d3166[_0xadcc('0x5e')]();}});};var endCsv=function(){return BPromise['resolve']()[_0xadcc('0x2c')](function(){if(hopperContacts){return checkHopper();}})[_0xadcc('0x2c')](function(){socket[_0xadcc('0x5d')](_0xadcc('0x5f')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0xadcc('0x60')](FILEPATH);}catch(_0x2a1d31){logger['error'](_0xadcc('0x61'),JSON[_0xadcc('0x5c')](_0x2a1d31));}finally{process['exit'](0x0);}});};process['on'](_0xadcc('0x62'),function(){logger[_0xadcc('0x63')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0xadcc('0x64')]()[_0xadcc('0x2c')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES['split'](',');return db[_0xadcc('0x29')][_0xadcc('0x58')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0xadcc('0x2c')](function(_0x421b96){var _0x3bdc44=fs['createReadStream'](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0xadcc('0x65')](_0x3bdc44,{'header':!![],'skipEmptyLines':!![],'step':function(_0x3fb67a,_0x4ead09){total+=0x1;var _0x359b25=total;promises[_0xadcc('0x2d')](checkRow(_0x3fb67a,_0x421b96,_0x359b25)[_0xadcc('0x2c')](function(){success+=0x1;})[_0xadcc('0x2f')](function(_0x3cd8bb){if(_0x3cd8bb[_0xadcc('0x1a')]){errors+=0x1;delete _0x3cd8bb[_0xadcc('0x1a')];}else if(_0x3cd8bb[_0xadcc('0x27')]){duplicates+=0x1;delete _0x3cd8bb['duplicate'];}rows['push'](_0x3cd8bb);}));if(total%0xc8===0x0){_0x4ead09[_0xadcc('0x66')]();return processPromises(_0x4ead09);}},'complete':function(){return processPromises()[_0xadcc('0x2c')](function(){logger['info']('CSV\x20parsed\x20correctly!');endCsv();});},'error':function(_0x1a7abe,_0x1bafb2){logger['info'](_0xadcc('0x67'),JSON[_0xadcc('0x5c')](_0x1a7abe));endCsv();}});})[_0xadcc('0x2f')](function(_0xfc5517){logger[_0xadcc('0x1a')](_0xadcc('0x68'),JSON[_0xadcc('0x5c')](_0xfc5517));});}main();