ff7d298687340842e3aa417cbf6a5cbf3540cfba
[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 _0x1ebd=['select','field','NOW()','toString','updatedAt','from','cm_contacts','where','deletedAt\x20IS\x20NULL','phone\x20NOT\x20IN\x20(?)','cm_hopper','\x20=\x20?','id\x20IN\x20?','str','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','cm_hopper_black','VoiceQueue','findAll','outbound','CmList','get','dialCheckDuplicateType','always','sequelize','query','VoiceQueueId','catch','onlyIfOpen','all','BlackLists','Campaign','Lists','CampaignId','cmContact,\x20%s,\x20%s','stringify','finally','emit','resolve','contact:csv_','unlinkSync','SIGINT','info','CmContact','createReadStream','parse','CSV\x20parse\x20error','bluebird','util','papaparse','../../../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!','error','contact','index','test','errors','length','map','join','hasOwnProperty','data','firstName','firstName\x20not\x20specified!','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!','CompanyId','duplicate','Duplicate\x20Contact','create','then','push','pick','message','cmContact','insert','into','fromQuery','phone','scheduledAt','ContactId','ListId','createdAt'];(function(_0x4978dd,_0x12923b){var _0x1e9e7c=function(_0x49fd10){while(--_0x49fd10){_0x4978dd['push'](_0x4978dd['shift']());}};_0x1e9e7c(++_0x12923b);}(_0x1ebd,0x15e));var _0xd1eb=function(_0x2184b6,_0x52ac7e){_0x2184b6=_0x2184b6-0x0;var _0x1c0818=_0x1ebd[_0x2184b6];return _0x1c0818;};'use strict';var BPromise=require(_0xd1eb('0x0'));var util=require(_0xd1eb('0x1'));var _=require('lodash');var fs=require('fs');var squel=require('squel');var Papa=require(_0xd1eb('0x2'));var Redis=require('ioredis');var db=require(_0xd1eb('0x3'))['db'];var config=require(_0xd1eb('0x4'));var logger=require('../../../config/logger')(_0xd1eb('0x5'));config[_0xd1eb('0x6')]=_['defaults'](config[_0xd1eb('0x6')],{'host':_0xd1eb('0x7'),'port':0x18eb});var socket=require(_0xd1eb('0x8'))(new Redis(config[_0xd1eb('0x6')]));require(_0xd1eb('0x9'))[_0xd1eb('0xa')](socket);try{if(!process[_0xd1eb('0xb')][0x2]||process['argv'][0x2]===_0xd1eb('0xc')||process[_0xd1eb('0xb')][0x2]===_0xd1eb('0xd')){throw new Error(_0xd1eb('0xe'));}var FILEPATH=process['argv'][0x2];if(!process[_0xd1eb('0xb')][0x3]||process[_0xd1eb('0xb')][0x3]===_0xd1eb('0xc')||process['argv'][0x3]===_0xd1eb('0xd')||!process[_0xd1eb('0xb')][0x4]||process[_0xd1eb('0xb')][0x4]==='undefined'||process[_0xd1eb('0xb')][0x4]==='null'){throw new Error('Missing\x20binding\x20parameters!');}var FIELDS=_[_0xd1eb('0xf')](process['argv'][0x3][_0xd1eb('0x10')](','),process[_0xd1eb('0xb')][0x4][_0xd1eb('0x10')](','));if(!process['argv'][0x5]||process['argv'][0x5]===_0xd1eb('0xc')||process[_0xd1eb('0xb')][0x5]==='null'){throw new Error(_0xd1eb('0x11'));}var LISTID=process[_0xd1eb('0xb')][0x5];var COMPANYID=process[_0xd1eb('0xb')][0x6]&&process['argv'][0x6]!==_0xd1eb('0xc')&&process[_0xd1eb('0xb')][0x6]!==_0xd1eb('0xd')?process[_0xd1eb('0xb')][0x6]:null;var DUPLICATES=process[_0xd1eb('0xb')][0x7]&&process[_0xd1eb('0xb')][0x7]!==_0xd1eb('0xc')&&process['argv'][0x7]!==_0xd1eb('0xd')?process[_0xd1eb('0xb')][0x7]:null;if(!process[_0xd1eb('0xb')][0x8]||process[_0xd1eb('0xb')][0x8]===_0xd1eb('0xc')||process['argv'][0x8]===_0xd1eb('0xd')){throw new Error('Missing\x20socket_timestamp\x20parameter!');}var SOCKET_TIMESTAMP=process[_0xd1eb('0xb')][0x8];}catch(_0x1ae513){logger[_0xd1eb('0x12')](_0x1ae513);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(_0x5b7edf,_0x41b998,_0x4b41d9,_0x20e47b){var _0x55fae9={'message':_0x41b998};_0x55fae9[_0x5b7edf]=!![];if(_0x4b41d9){_0x55fae9[_0xd1eb('0x13')]=_0x4b41d9;}if(_0x20e47b){_0x55fae9[_0xd1eb('0x14')]=_0x20e47b;}return _0x55fae9;}function isEmail(_0x38287b){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))*$/[_0xd1eb('0x15')](_0x38287b);}function checkRow(_0x5db38d,_0x3c2954,_0x5cc2c6){return new BPromise(function(_0x964c4b,_0x1ca550){if(_['isNil'](_0x5db38d)){return _0x1ca550(handleCheckRowError(_0xd1eb('0x12'),'The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!',null,_0x5cc2c6));}if(_0x5db38d[_0xd1eb('0x16')]&&_0x5db38d[_0xd1eb('0x16')][_0xd1eb('0x17')]){var _0x5f39d2=_[_0xd1eb('0x18')](_0x5db38d[_0xd1eb('0x16')],'message')[_0xd1eb('0x19')](';');return _0x1ca550(handleCheckRowError(_0xd1eb('0x12'),_0x5f39d2,null,_0x5cc2c6));}var _0x1c8741={};for(var _0xfdf685 in FIELDS){if(FIELDS[_0xd1eb('0x1a')](_0xfdf685)&&FIELDS[_0xfdf685]){_0x1c8741[_0xfdf685]=_0x5db38d[_0xd1eb('0x1b')][0x0][FIELDS[_0xfdf685]]||_0x5db38d[_0xd1eb('0x1b')][0x0]['\ufeff'+FIELDS[_0xfdf685]];}}if(!_0x1c8741[_0xd1eb('0x1c')]){return _0x1ca550(handleCheckRowError(_0xd1eb('0x12'),_0xd1eb('0x1d'),null,_0x5cc2c6));}if(!_0x1c8741['phone']){return _0x1ca550(handleCheckRowError('error',_0xd1eb('0x1e'),null,_0x5cc2c6));}if(_0x1c8741['birthDate']){var _0x4dc709=moment(_0x1c8741[_0xd1eb('0x1f')],_0xd1eb('0x20'));if(!_0x4dc709[_0xd1eb('0x21')]()){return _0x1ca550(handleCheckRowError(_0xd1eb('0x12'),_0xd1eb('0x22'),null,_0x5cc2c6));}}if(_0x1c8741[_0xd1eb('0x23')]){if(!isEmail(_0x1c8741[_0xd1eb('0x23')])){return _0x1ca550(handleCheckRowError('error',_0xd1eb('0x24'),null,_0x5cc2c6));}}_0x1c8741['ListId']=LISTID;_0x1c8741[_0xd1eb('0x25')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x3c2954){var _0x1bd5cc={};for(var _0x30cd11=0x0,_0x3ac6e4=DUPLICATES['length'];_0x30cd11<_0x3ac6e4;_0x30cd11+=0x1){_0x1bd5cc[DUPLICATES[_0x30cd11]]=_0x1c8741[DUPLICATES[_0x30cd11]];}var _0x560bd5=_['find'](_0x3c2954,_0x1bd5cc);if(_0x560bd5){return _0x1ca550(handleCheckRowError(_0xd1eb('0x26'),_0xd1eb('0x27'),_0x560bd5,_0x5cc2c6));}}return db['CmContact'][_0xd1eb('0x28')](_0x1c8741,{'raw':!![],'hooks':![],'fields':_['keys'](_0x1c8741)})[_0xd1eb('0x29')](function(_0xef5a3a){if(DUPLICATES&&DUPLICATES[_0xd1eb('0x17')]&&_0x3c2954){_0x3c2954[_0xd1eb('0x2a')](_[_0xd1eb('0x2b')](_0x1c8741,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0xef5a3a['id'];return _0x964c4b();})['catch'](function(_0x570212){return _0x1ca550(handleCheckRowError('error','Error\x20while\x20creating\x20contact:\x20'+(_0x570212[_0xd1eb('0x2c')]||JSON['stringify'](_0x570212)),null,_0x5cc2c6));});});}function checkHopper(){function _0x5f2415(){return function(_0x4c34fe){logger[_0xd1eb('0x12')](_0xd1eb('0x2d'),'checkHopper',util['inspect'](_0x4c34fe,{'showHidden':![],'depth':null}));};}var _0x1c6157=function(_0x567485,_0x429559){var _0x3e3fe5=squel[_0xd1eb('0x2e')]()[_0xd1eb('0x2f')]('cm_hopper')[_0xd1eb('0x30')]([_0xd1eb('0x31'),_0xd1eb('0x32'),_0xd1eb('0x33'),_0xd1eb('0x34'),_0x429559,_0xd1eb('0x35'),'updatedAt'],squel[_0xd1eb('0x36')]()[_0xd1eb('0x37')]('phone','phone')[_0xd1eb('0x37')](_0xd1eb('0x38'),'scheduledAt')['field']('id',_0xd1eb('0x33'))[_0xd1eb('0x37')](LISTID[_0xd1eb('0x39')](),_0xd1eb('0x34'))[_0xd1eb('0x37')](_0x567485['id'][_0xd1eb('0x39')](),_0x429559)[_0xd1eb('0x37')](_0xd1eb('0x38'),_0xd1eb('0x35'))[_0xd1eb('0x37')](_0xd1eb('0x38'),_0xd1eb('0x3a'))[_0xd1eb('0x3b')](_0xd1eb('0x3c'))[_0xd1eb('0x3d')](_0xd1eb('0x3e'))[_0xd1eb('0x3d')]('ListId\x20=\x20?',LISTID['toString']())[_0xd1eb('0x3d')]('phone\x20IS\x20NOT\x20NULL')[_0xd1eb('0x3d')](_0xd1eb('0x3f'),squel[_0xd1eb('0x36')]()['field']('phone')[_0xd1eb('0x3b')](_0xd1eb('0x40'))[_0xd1eb('0x3d')](_0x429559+_0xd1eb('0x41'),_0x567485['id'][_0xd1eb('0x39')]())))[_0xd1eb('0x39')]();return _0x3e3fe5;};var _0xea1b33=function(_0xfd581c,_0x2a0756){var _0x44c8bb=squel['insert']()[_0xd1eb('0x2f')](_0xd1eb('0x40'))[_0xd1eb('0x30')]([_0xd1eb('0x31'),_0xd1eb('0x32'),_0xd1eb('0x33'),_0xd1eb('0x34'),_0x2a0756,_0xd1eb('0x35'),_0xd1eb('0x3a')],squel[_0xd1eb('0x36')]()[_0xd1eb('0x37')]('phone',_0xd1eb('0x31'))['field'](_0xd1eb('0x38'),_0xd1eb('0x32'))[_0xd1eb('0x37')]('id',_0xd1eb('0x33'))['field'](LISTID[_0xd1eb('0x39')](),_0xd1eb('0x34'))[_0xd1eb('0x37')](_0xfd581c['id'][_0xd1eb('0x39')](),_0x2a0756)[_0xd1eb('0x37')](_0xd1eb('0x38'),_0xd1eb('0x35'))['field'](_0xd1eb('0x38'),_0xd1eb('0x3a'))[_0xd1eb('0x3b')](_0xd1eb('0x3c'))['where'](_0xd1eb('0x3e'))[_0xd1eb('0x3d')]('ListId\x20=\x20?',LISTID[_0xd1eb('0x39')]())['where'](_0xd1eb('0x42'),squel[_0xd1eb('0x43')](hopperContacts))[_0xd1eb('0x3d')]('phone\x20IS\x20NOT\x20NULL')[_0xd1eb('0x3d')](_0xd1eb('0x3f'),squel[_0xd1eb('0x36')]()[_0xd1eb('0x37')]('calleridnum')['from']('cm_hopper_final')[_0xd1eb('0x3d')](_0x2a0756+_0xd1eb('0x41'),_0xfd581c['id'][_0xd1eb('0x39')]()))['where']('phone\x20NOT\x20IN\x20(?)',squel['select']()[_0xd1eb('0x37')]('phone')[_0xd1eb('0x3b')](_0xd1eb('0x40'))['where'](_0x2a0756+_0xd1eb('0x41'),_0xfd581c['id'][_0xd1eb('0x39')]())))['toString']();return _0x44c8bb;};function _0x5d2930(_0x554a14,_0x53e135){var _0x21f605=squel[_0xd1eb('0x2e')]()[_0xd1eb('0x2f')]('cm_hopper')[_0xd1eb('0x30')](['phone',_0xd1eb('0x32'),_0xd1eb('0x33'),_0xd1eb('0x34'),_0x53e135,_0xd1eb('0x35'),'updatedAt'],squel['select']()[_0xd1eb('0x37')](_0xd1eb('0x31'),_0xd1eb('0x31'))[_0xd1eb('0x37')]('NOW()','scheduledAt')[_0xd1eb('0x37')]('id','ContactId')[_0xd1eb('0x37')](LISTID[_0xd1eb('0x39')](),_0xd1eb('0x34'))[_0xd1eb('0x37')](_0x554a14['id'][_0xd1eb('0x39')](),_0x53e135)[_0xd1eb('0x37')](_0xd1eb('0x38'),_0xd1eb('0x35'))[_0xd1eb('0x37')](_0xd1eb('0x38'),_0xd1eb('0x3a'))[_0xd1eb('0x3b')]('cm_contacts')[_0xd1eb('0x3d')](_0xd1eb('0x3e'))[_0xd1eb('0x3d')](_0xd1eb('0x44'),LISTID[_0xd1eb('0x39')]())['where'](_0xd1eb('0x42'),squel[_0xd1eb('0x43')](hopperContacts))['where'](_0xd1eb('0x45')))[_0xd1eb('0x39')]();return _0x21f605;}function _0x26c4a9(_0x186785,_0x4112f5){var _0x29eb53=squel[_0xd1eb('0x2e')]()[_0xd1eb('0x2f')](_0xd1eb('0x46'))[_0xd1eb('0x30')]([_0xd1eb('0x31'),_0xd1eb('0x33'),_0xd1eb('0x34'),_0x4112f5,_0xd1eb('0x35'),_0xd1eb('0x3a')],squel[_0xd1eb('0x36')]()[_0xd1eb('0x37')](_0xd1eb('0x31'),'phone')[_0xd1eb('0x37')]('id',_0xd1eb('0x33'))[_0xd1eb('0x37')](LISTID[_0xd1eb('0x39')](),_0xd1eb('0x34'))['field'](_0x186785['id'][_0xd1eb('0x39')](),_0x4112f5)[_0xd1eb('0x37')]('NOW()',_0xd1eb('0x35'))[_0xd1eb('0x37')]('NOW()',_0xd1eb('0x3a'))[_0xd1eb('0x3b')](_0xd1eb('0x3c'))[_0xd1eb('0x3d')]('deletedAt\x20IS\x20NULL')[_0xd1eb('0x3d')]('ListId\x20=\x20?',LISTID['toString']())[_0xd1eb('0x3d')](_0xd1eb('0x42'),squel[_0xd1eb('0x43')](hopperContacts))[_0xd1eb('0x3d')](_0xd1eb('0x45')))[_0xd1eb('0x39')]();return _0x29eb53;}return db[_0xd1eb('0x47')][_0xd1eb('0x48')]({'where':{'type':_0xd1eb('0x49')},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0xd1eb('0x4a')],'as':'Lists','where':{'id':LISTID}}]})[_0xd1eb('0x29')](function(_0x32f49b){var _0x29b20c=[];if(_0x32f49b){var _0x140f74;for(var _0x1c22ff=0x0,_0x10bc50;_0x1c22ff<_0x32f49b[_0xd1eb('0x17')];_0x1c22ff+=0x1){_0x10bc50=_0x32f49b[_0x1c22ff][_0xd1eb('0x4b')]({'plain':!![]});switch(_0x10bc50[_0xd1eb('0x4c')]){case _0xd1eb('0x4d'):_0x29b20c[_0xd1eb('0x2a')](db[_0xd1eb('0x4e')][_0xd1eb('0x4f')](_0xea1b33(_0x10bc50,_0xd1eb('0x50')))['then'](function(){})[_0xd1eb('0x51')](_0x5f2415()));break;case _0xd1eb('0x52'):_0x29b20c[_0xd1eb('0x2a')](db[_0xd1eb('0x4e')][_0xd1eb('0x4f')](_0x1c6157(_0x10bc50,'VoiceQueueId'))[_0xd1eb('0x29')](function(){})[_0xd1eb('0x51')](_0x5f2415()));break;default:_0x29b20c[_0xd1eb('0x2a')](db[_0xd1eb('0x4e')]['query'](_0x5d2930(_0x10bc50,'VoiceQueueId'))[_0xd1eb('0x29')](function(){})[_0xd1eb('0x51')](_0x5f2415()));}}}return _0x29b20c;})[_0xd1eb('0x53')]()['then'](function(){return db['VoiceQueue'][_0xd1eb('0x48')]({'where':{'type':_0xd1eb('0x49')},'attributes':['id'],'include':[{'model':db[_0xd1eb('0x4a')],'as':_0xd1eb('0x54'),'where':{'id':LISTID}}]})[_0xd1eb('0x29')](function(_0x31d02a){var _0x5d580f=[];if(_0x31d02a){var _0x4c3a91;for(var _0x39c73f=0x0,_0x2d4eaf;_0x39c73f<_0x31d02a[_0xd1eb('0x17')];_0x39c73f+=0x1){_0x2d4eaf=_0x31d02a[_0x39c73f][_0xd1eb('0x4b')]({'plain':!![]});_0x5d580f[_0xd1eb('0x2a')](db['sequelize'][_0xd1eb('0x4f')](_0x26c4a9(_0x2d4eaf,'VoiceQueueId'))[_0xd1eb('0x29')](function(){})[_0xd1eb('0x51')](_0x5f2415()));}}return _0x5d580f;})['all']();})[_0xd1eb('0x29')](function(){return db[_0xd1eb('0x55')][_0xd1eb('0x48')]({'attributes':['id',_0xd1eb('0x4c')],'include':[{'model':db[_0xd1eb('0x4a')],'as':_0xd1eb('0x56'),'where':{'id':LISTID}}]})[_0xd1eb('0x29')](function(_0x101423){var _0x3ecba0=[];if(_0x101423){for(var _0xd1b78a=0x0,_0x254099;_0xd1b78a<_0x101423[_0xd1eb('0x17')];_0xd1b78a+=0x1){_0x254099=_0x101423[_0xd1b78a][_0xd1eb('0x4b')]({'plain':!![]});switch(_0x254099[_0xd1eb('0x4c')]){case _0xd1eb('0x4d'):_0x3ecba0[_0xd1eb('0x2a')](db[_0xd1eb('0x4e')][_0xd1eb('0x4f')](_0xea1b33(_0x254099,'CampaignId'))['then'](function(){})[_0xd1eb('0x51')](_0x5f2415()));break;case'onlyIfOpen':_0x3ecba0[_0xd1eb('0x2a')](db[_0xd1eb('0x4e')]['query'](_0x1c6157(_0x254099,'CampaignId'))['then'](function(){})[_0xd1eb('0x51')](_0x5f2415()));break;default:_0x3ecba0['push'](db['sequelize'][_0xd1eb('0x4f')](_0x5d2930(_0x254099,'CampaignId'))[_0xd1eb('0x29')](function(){})[_0xd1eb('0x51')](_0x5f2415()));}}}return _0x3ecba0;})[_0xd1eb('0x53')]();})[_0xd1eb('0x29')](function(){return db[_0xd1eb('0x55')]['findAll']({'attributes':['id'],'include':[{'model':db['CmList'],'as':'BlackLists','where':{'id':LISTID}}]})[_0xd1eb('0x29')](function(_0xcb8cb0){var _0x4803d5=[];if(_0xcb8cb0){for(var _0x155781=0x0,_0x545018;_0x155781<_0xcb8cb0[_0xd1eb('0x17')];_0x155781+=0x1){_0x545018=_0xcb8cb0[_0x155781][_0xd1eb('0x4b')]({'plain':!![]});_0x4803d5[_0xd1eb('0x2a')](db['sequelize']['query'](_0x26c4a9(_0x545018,_0xd1eb('0x57')))['then'](function(){})['catch'](_0x5f2415()));}}return _0x4803d5;})['all']();})[_0xd1eb('0x51')](function(_0x9774ea){logger[_0xd1eb('0x12')](_0xd1eb('0x58'),'generalCheckHopper',_0x9774ea[_0xd1eb('0x2c')]);});}var processPromises=function(_0x362362){return BPromise[_0xd1eb('0x53')](promises)[_0xd1eb('0x29')](function(_0x5bef42){})[_0xd1eb('0x51')](function(_0x822761){logger[_0xd1eb('0x12')]('Error\x20processing\x20rows\x20block:',JSON[_0xd1eb('0x59')](_0x822761));})[_0xd1eb('0x5a')](function(){socket[_0xd1eb('0x5b')]('contact:csv_'+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x362362){return _0x362362['resume']();}});};var endCsv=function(){return BPromise[_0xd1eb('0x5c')]()[_0xd1eb('0x29')](function(){if(hopperContacts){return checkHopper();}})[_0xd1eb('0x29')](function(){socket[_0xd1eb('0x5b')](_0xd1eb('0x5d')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0xd1eb('0x5e')](FILEPATH);}catch(_0x362459){logger[_0xd1eb('0x12')]('Unable\x20to\x20delete\x20temp\x20file:',JSON['stringify'](_0x362459));}finally{process['exit'](0x0);}});};process['on'](_0xd1eb('0x5f'),function(){logger[_0xd1eb('0x60')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0xd1eb('0x5c')]()[_0xd1eb('0x29')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES['split'](',');return db[_0xd1eb('0x61')][_0xd1eb('0x48')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0xd1eb('0x29')](function(_0x36f773){var _0x345323=fs[_0xd1eb('0x62')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0xd1eb('0x63')](_0x345323,{'header':!![],'skipEmptyLines':!![],'step':function(_0x4a583a,_0x358c9d){total+=0x1;var _0x96e95=total;promises[_0xd1eb('0x2a')](checkRow(_0x4a583a,_0x36f773,_0x96e95)['then'](function(){success+=0x1;})[_0xd1eb('0x51')](function(_0xdeae92){if(_0xdeae92[_0xd1eb('0x12')]){errors+=0x1;delete _0xdeae92['error'];}else if(_0xdeae92[_0xd1eb('0x26')]){duplicates+=0x1;delete _0xdeae92['duplicate'];}rows[_0xd1eb('0x2a')](_0xdeae92);}));if(total%0xc8===0x0){_0x358c9d['pause']();return processPromises(_0x358c9d);}},'complete':function(){return processPromises()[_0xd1eb('0x29')](function(){logger[_0xd1eb('0x60')]('CSV\x20parsed\x20correctly!');endCsv();});},'error':function(_0x5b3887,_0x1191e4){logger[_0xd1eb('0x60')](_0xd1eb('0x64'),JSON[_0xd1eb('0x59')](_0x5b3887));endCsv();}});})[_0xd1eb('0x51')](function(_0x2774ff){logger[_0xd1eb('0x12')]('Error\x20executing\x20contact\x20csv\x20import:',JSON[_0xd1eb('0x59')](_0x2774ff));});}main();