Built motion from commit (unavailable).|2.6.0
[motion2.git] / server / components / import / cm / csvUpdates.js
diff --git a/server/components/import/cm/csvUpdates.js b/server/components/import/cm/csvUpdates.js
new file mode 100644 (file)
index 0000000..5ab08c8
--- /dev/null
@@ -0,0 +1,18 @@
+// *************************************************************************
+// *                                                                       *
+// * xCALLY Motion -  The Omnichannel Contact Center                       *
+// * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * Email: info@xcally.com                                                *
+// * Website: https://www.xcally.com                                       *
+// *                                                                       *
+// *************************************************************************
+// *                                                                       *
+// * The SOFTWARE PRODUCT is protected by copyright laws and international *
+// * copyright treaties, as well as other intellectual property laws and   *
+// * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
+// *                                                                       *
+// *************************************************************************
+var _0x0713=['cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.priority','insert','cm_hopper','fromQuery','ContactId','ListId','createdAt','priority','recallme','fields','from','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.createdAt','into','cm_hopper_black','updatedAt','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','\x20=\x20?','toString','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','CompanyId',')\x20NOT\x20IN\x20?','id\x20IN\x20?','MIN(id)','group','info','exit','errors','code','main','stringify','send','start','clone','socket_timestamp','root','server/files/tmp','body','name','header','writeFileSync','createReadStream','data','rows','find','_description','hasOwnProperty','trim','replace','scheduledat','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','UserId','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','itemTypeId','description','SystemRow','appendFileSync','emit','contact:import:','abort','SystemError','step','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','CIS\x20len','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','contact','contactTypeId','orderBy','DROP\x20TABLE\x20','each','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','file\x20doesn\x27t\x20exists','parse','binding','binding\x20doesn\x27t\x20exists','body\x20id\x20mandatory','map','SIGINT','papaparse','util','bluebird','moment','squel','../../../mysqldb','../../../config/environment','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','cm_contacts_temp_','YYYYMMDDHHmmss','test','select','field','phone','.id\x20=\x20','\x20=\x20','where','join','sequelize','query','select\x20*\x20from\x20','spread','length','isNil','AdditionalPhones','push','all','then','catch','error','message','split','filter','CmContactHasItem','findOne','update','create','inserted','CmContact','CmHopper'];(function(_0x18afca,_0x4219d9){var _0x11603f=function(_0x21d5d1){while(--_0x21d5d1){_0x18afca['push'](_0x18afca['shift']());}};_0x11603f(++_0x4219d9);}(_0x0713,0x1ba));var _0x3071=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x0713[_0x3dd15e];return _0x231fd0;};'use strict';var fs=require('fs');var path=require('path');var _=require('lodash');var Papa=require(_0x3071('0x0'));var util=require(_0x3071('0x1'));var BPromise=require(_0x3071('0x2'));var moment=require(_0x3071('0x3'));var squel=require(_0x3071('0x4'));var Redis=require('ioredis');var db=require(_0x3071('0x5'))['db'];var config=require(_0x3071('0x6'));var logger=require(_0x3071('0x7'))(_0x3071('0x8'));config[_0x3071('0x9')]=_[_0x3071('0xa')](config[_0x3071('0x9')],{'host':_0x3071('0xb'),'port':0x18eb});var socket=require(_0x3071('0xc'))(new Redis(config[_0x3071('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var promisesContact=[];var orderBy=0x0;var updatedRows=0x0;var stopped=![];var NOW=moment()[_0x3071('0xd')](_0x3071('0xe'));var tempTableName=_0x3071('0xf')+moment()['format'](_0x3071('0x10'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x2610b4){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))*$/[_0x3071('0x11')](_0x2610b4);}function selectNotIn(_0xff9a29,_0x1ce844,_0x4a470a,_0x2ace21,_0x11a7ee){return squel[_0x3071('0x12')]()[_0x3071('0x13')](_0x3071('0x14'))['from'](_0x2ace21)['join'](_0x1ce844,null,_0x1ce844+_0x3071('0x15')+_0x2ace21+'.'+_0x4a470a)['where'](_0x2ace21+'.'+_0x4a470a+_0x3071('0x16')+_0xff9a29+'.'+_0x4a470a)[_0x3071('0x17')](_0x1ce844+'.dialCheckDuplicateType\x20IN\x20('+_0x11a7ee[_0x3071('0x18')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x4e1219,_0x2fc15d){promisesAdditionalPhones=[];promisesContact=[];return db[_0x3071('0x19')][_0x3071('0x1a')](_0x3071('0x1b')+tempTableName)[_0x3071('0x1c')](function(_0x2a6a4b){if(_0x2a6a4b!==null){var _0x157a47=[];for(var _0x11bdc9=0x0;_0x11bdc9<_0x2a6a4b[_0x3071('0x1d')];_0x11bdc9++){var _0x344ea6=_0x2a6a4b[_0x11bdc9];if(!_['isNil'](_0x344ea6[_0x3071('0x14')])){if(!_[_0x3071('0x1e')](_0x344ea6[_0x3071('0x1f')]))_0x157a47[_0x3071('0x20')](insertAdditionalPhones(_0x344ea6));promisesContact[_0x3071('0x20')]({'contact':_0x344ea6});}}}Promise[_0x3071('0x21')](_0x157a47)[_0x3071('0x22')](function(){_0x4e1219({'val':0x1});});})[_0x3071('0x23')](function(_0x502a16){logger[_0x3071('0x24')](_0x502a16[_0x3071('0x25')]);});});}function insertAdditionalPhones(_0xd3e23d){return new Promise(function(_0x56c267,_0xb8f4e3){var _0x5cd80d=_0xd3e23d[_0x3071('0x1f')];if(_[_0x3071('0x1e')](_0x5cd80d))_0xb8f4e3({'val':0x0});else{var _0x3762d8=_0x5cd80d[_0x3071('0x26')](';');var _0x33090c=[];orderBy=0x0;for(var _0x34c50e=0x0;_0x34c50e<_0x3762d8[_0x3071('0x1d')];_0x34c50e++){_0x33090c[_0x3071('0x20')](splitAdditionalPhone(_0xd3e23d['id'],_0x3762d8[_0x34c50e]));}Promise['all'](_0x33090c)['then'](function(){_0x56c267({'val':_0x3762d8[_0x3071('0x1d')]});});}});}function splitAdditionalPhone(_0xb05b1d,_0x412652){return new Promise(function(_0x13df9f,_0x2793ef){var _0x44b45f=_0x412652[_0x3071('0x26')](':');var _0x1fe727=_0x44b45f[0x0];var _0x1de5fb=_0x44b45f[0x1];if(_0x1de5fb!==''){var _0x4c7130=_0x1de5fb[_0x3071('0x26')]('|');var _0x3f1e6e=[];for(var _0x177138=0x0;_0x177138<_0x4c7130['length'];_0x177138++){if(_0x4c7130[_0x177138]!==''){var _0x4fb1ca=_[_0x3071('0x27')](promisesAdditionalPhones,{'contactId':_0xb05b1d,'phone':_0x4c7130[_0x177138]});if(_0x4fb1ca[_0x3071('0x1d')]==0x0){orderBy++;promisesAdditionalPhones[_0x3071('0x20')]({'contactId':_0xb05b1d,'contactTypeId':_0x1fe727,'phone':_0x4c7130[_0x177138],'orderBy':orderBy});}}}_0x13df9f({'ok':0x1});}else _0x13df9f({'res':0x0});});}function createAdditionalPhone(_0x3fa3b8,_0x25b96b,_0x177b5f,_0x3921a1){var _0x32f1b4='';var _0x292205='';var _0x254fc8=_0x177b5f['split']('§');_0x32f1b4=_0x254fc8[0x0];if(_0x254fc8['length']==0x2)_0x292205=_0x254fc8[0x1];return new Promise(function(_0x9e26d1,_0x149e0d){return db[_0x3071('0x28')][_0x3071('0x29')]({'where':{'CmContactId':_0x3fa3b8,'item':_0x32f1b4}})[_0x3071('0x22')](function(_0x29538c){if(_0x29538c){return db[_0x3071('0x28')][_0x3071('0x2a')]({'ItemTypeId':_0x25b96b,'description':_0x292205,'OrderBy':_0x3921a1},{'where':{'CmContactId':_0x3fa3b8,'item':_0x32f1b4}})['then'](function(_0x55d230){_0x9e26d1({'res':'updated'});});}else{return db[_0x3071('0x28')][_0x3071('0x2b')]({'CmContactId':_0x3fa3b8,'item':_0x32f1b4,'ItemTypeId':_0x25b96b,'description':_0x292205,'OrderBy':_0x3921a1,'ItemClass':'PHONE'})[_0x3071('0x22')](function(_0x28747d){_0x9e26d1({'res':_0x3071('0x2c')});});}});});}function updateContact(_0x13ae2c){return new Promise(function(_0x5e1d2b,_0x218a82){var _0x1525df=_0x13ae2c['id'];delete _0x13ae2c['id'];return db[_0x3071('0x2d')][_0x3071('0x2a')](_0x13ae2c,{'where':{'id':_0x1525df}})[_0x3071('0x22')](function(_0x2068ce){updatedRows+=0x1;return db[_0x3071('0x2e')][_0x3071('0x2a')]({'phone':_0x13ae2c['phone']},{'where':{'ContactId':_0x1525df}})[_0x3071('0x22')](function(_0x54e52f){_0x5e1d2b({'ret':'OK'});});});});}function insertCmHopper(_0x4fb1ec,_0x1a1a64,_0xa3a7ae,_0x54d9c3,_0x2e85c8){var _0x46e94e=[_0x3071('0x2f'),_0x3071('0x30'),_0x3071('0x31'),_0x3071('0x32'),_0x1a1a64+'.'+_0x54d9c3,'cm_contacts.createdAt',_0x3071('0x33'),_0x3071('0x34'),'cm_contacts.UserId','\x22'+_0x2e85c8+'\x22'];return squel[_0x3071('0x35')]()['into'](_0x3071('0x36'))[_0x3071('0x37')](['phone','scheduledat',_0x3071('0x38'),_0x3071('0x39'),_0x54d9c3,_0x3071('0x3a'),'updatedAt',_0x3071('0x3b'),'UserId',_0x3071('0x3c')],squel['select']()[_0x3071('0x3d')](_0x46e94e)[_0x3071('0x3e')](_0x1a1a64)[_0x3071('0x18')](_0x3071('0x3f'),null,_0x3071('0x40')+_0x1a1a64+'.CmListId')['join'](_0xa3a7ae,null,_0xa3a7ae+_0x3071('0x15')+_0x1a1a64+'.'+_0x54d9c3)[_0x3071('0x17')](_0x1a1a64+_0x3071('0x41'),_0x4fb1ec)[_0x3071('0x17')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x3071('0x17')](_0x3071('0x42'),selectNotIn(_0x1a1a64,_0xa3a7ae,_0x54d9c3,_0x3071('0x36'),[_0x3071('0x43'),_0x3071('0x44')]))[_0x3071('0x17')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x1a1a64,_0xa3a7ae,_0x54d9c3,_0x3071('0x36'),['\x22always\x22'])))['toString']();}function insertCmHopperBlack(_0x4dc9d1,_0x47ceaf,_0x2992e6,_0x1be8b6){var _0x67b2fb=[_0x3071('0x2f'),_0x3071('0x31'),_0x3071('0x32'),_0x47ceaf+'.'+_0x1be8b6,_0x3071('0x45'),_0x3071('0x33')];return squel['insert']()[_0x3071('0x46')](_0x3071('0x47'))[_0x3071('0x37')]([_0x3071('0x14'),_0x3071('0x38'),'ListId',_0x1be8b6,'createdAt',_0x3071('0x48')],squel[_0x3071('0x12')]()[_0x3071('0x3d')](_0x67b2fb)[_0x3071('0x3e')](_0x47ceaf)[_0x3071('0x18')]('cm_contacts',null,_0x3071('0x40')+_0x47ceaf+'.CmListId')[_0x3071('0x18')](_0x2992e6,null,_0x2992e6+'.id\x20=\x20'+_0x47ceaf+'.'+_0x1be8b6)['where'](_0x47ceaf+_0x3071('0x41'),_0x4dc9d1)['where'](_0x3071('0x49'),NOW)['where'](_0x3071('0x42'),squel[_0x3071('0x12')]()[_0x3071('0x13')](_0x3071('0x14'))['from'](_0x3071('0x47'))['where'](_0x3071('0x4a'),_0x4dc9d1)['where'](_0x1be8b6+_0x3071('0x4b'),_0x47ceaf+'.'+_0x1be8b6)))[_0x3071('0x4c')]();}function insertCmHopperAdditionalPhones(_0x4d395a){var _0x131ae6=[_0x3071('0x4d'),_0x3071('0x4e'),_0x3071('0x4f'),_0x3071('0x50'),_0x3071('0x51')];return squel[_0x3071('0x35')]()['into'](_0x3071('0x52'))[_0x3071('0x37')]([_0x3071('0x53'),_0x3071('0x14'),'OrderBy',_0x3071('0x3a'),_0x3071('0x48')],squel[_0x3071('0x12')]()[_0x3071('0x3d')](_0x131ae6)[_0x3071('0x3e')](_0x3071('0x36'))[_0x3071('0x18')](_0x3071('0x3f'),null,_0x3071('0x54'))[_0x3071('0x18')](_0x3071('0x55'),null,_0x3071('0x56'))[_0x3071('0x17')](_0x3071('0x57'),_0x4d395a)[_0x3071('0x17')](_0x3071('0x49'),NOW))['toString']();}function insertCmContact(_0x47a438,_0x12536d,_0x580c04,_0x403761){var _0x198168=_[_0x3071('0x58')](_['keys'](_0x403761),[_0x3071('0x39'),_0x3071('0x59'),'createdAt','updatedAt']);return squel[_0x3071('0x35')]()[_0x3071('0x46')](_0x3071('0x3f'))[_0x3071('0x37')](_0x198168,squel['select']()[_0x3071('0x3d')](_0x198168)[_0x3071('0x3e')](_0x12536d)[_0x3071('0x17')]('('+_0x580c04[_0x3071('0x18')](',')+_0x3071('0x5a'),squel['select']()[_0x3071('0x3d')](_0x580c04)[_0x3071('0x3e')](_0x3071('0x3f'))[_0x3071('0x17')](_0x3071('0x4a'),_0x47a438))[_0x3071('0x17')](_0x3071('0x5b'),squel['select']()['field'](_0x3071('0x5c'),'min_id')[_0x3071('0x3e')](_0x12536d)[_0x3071('0x5d')](_0x580c04['join'](','))))[_0x3071('0x4c')]();}function handleStop(){logger[_0x3071('0x5e')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x108b14){logger[_0x3071('0x24')](_0x108b14[_0x3071('0x25')]);process[_0x3071('0x5f')](0x1);}function handleError(_0x2aaccb,_0x53a399){stats[_0x3071('0x60')][_0x3071('0x20')]({'name':_0x53a399[_0x3071('0x61')],'message':_0x53a399['message'],'row':_0x2aaccb});}function handleQuery(_0x1b0f81){logger[_0x3071('0x5e')](_0x1b0f81);return db[_0x3071('0x19')][_0x3071('0x1a')](_0x1b0f81)[_0x3071('0x1c')](function(_0x210123){results[_0x3071('0x20')](_0x210123);})[_0x3071('0x23')](function(_0x3b47e8){logger['error'](_0x3b47e8[_0x3071('0x25')]);});}function main(_0x29a58e,_0x3bcf28,_0x26ecb2,_0x466835){logger[_0x3071('0x5e')](_0x3071('0x62'),_0x29a58e,JSON[_0x3071('0x63')](_0x3bcf28));process[_0x3071('0x64')](_0x3071('0x65'));var _0x195d03=_0x3bcf28['binding'];var _0x320fe6=_[_0x3071('0x66')](_0x195d03);var _0x279594=_0x3bcf28[_0x3071('0x67')];var _0x429a03=path[_0x3071('0x18')](config[_0x3071('0x68')],_0x3071('0x69'),_0x279594+'.csv');logger[_0x3071('0x5e')](_0x3071('0x6a'),_0x3bcf28);db['ContactItemType']['findAll']({'raw':!![],'attributes':['id',_0x3071('0x6b')]})[_0x3071('0x22')](function(_0x3469c1){for(var _0x38bc1f=0x0;_0x38bc1f<_0x3469c1['length'];_0x38bc1f++){if(_0x3469c1[_0x38bc1f]['name']in _0x195d03){contactItemTypes[_0x3071('0x20')](_0x3469c1[_0x38bc1f]);delete _0x320fe6[_0x3469c1[_0x38bc1f]['name']];hasAdditionalPhones=!![];}for(var _0x518bb5 in _0x195d03){if(_0x3469c1[_0x38bc1f]['name']+'_description'===_0x518bb5){phoneDescriptions[_0x3071('0x20')]({'itemTypeId':_0x3469c1[_0x38bc1f]['id'],'description':_0x518bb5});delete _0x320fe6[_0x518bb5];}}}if(hasAdditionalPhones)_0x320fe6[_0x3071('0x1f')]='';var _0xd928e8=_['keys'](_0x320fe6)[_0x3071('0x18')]();logger[_0x3071('0x5e')](_0x3071('0x6c'),_0xd928e8);fs[_0x3071('0x6d')](_0x429a03,_0xd928e8+'\x0a');Papa['parse'](fs[_0x3071('0x6e')](_0x29a58e),{'header':!![],'skipEmptyLines':!![],'step':function(_0x29841a,_0x588406){try{for(var _0x1b35d3=0x0,_0x29ee70=[];_0x1b35d3<_0x29841a[_0x3071('0x6f')][_0x3071('0x1d')];_0x1b35d3++){stats[_0x3071('0x70')]+=0x1;if(_0x29841a[_0x3071('0x60')][_0x1b35d3]){handleError(_0x29841a[_0x3071('0x6f')][_0x1b35d3],_0x29841a['errors'][_0x1b35d3]);}else{var _0x5dde93=[];var _0x21c1e3=[];var _0x168025={};for(var _0x1456ce in _0x195d03){let _0x4bf839=contactItemTypes['find'](_0x9f49f0=>_0x9f49f0[_0x3071('0x6b')]===_0x1456ce);let _0x3bad84=contactItemTypes[_0x3071('0x71')](_0x2f1935=>_0x2f1935[_0x3071('0x6b')]+_0x3071('0x72')===_0x1456ce);if(_[_0x3071('0x1e')](_0x4bf839)&&_['isNil'](_0x3bad84)){if(_0x195d03[_0x3071('0x73')](_0x1456ce)){if(_0x29841a['data'][_0x1b35d3][_0x195d03[_0x1456ce]]){var _0xa8e233=_[_0x3071('0x74')](_0x29841a[_0x3071('0x6f')][_0x1b35d3][_0x195d03[_0x1456ce]][_0x3071('0x75')](/"/g,'\x27'));switch(_0x1456ce){case _0x3071('0x76'):var _0x44b5dc=moment(_0xa8e233,_0x3071('0xe'),!![]);if(_0x44b5dc[_0x3071('0x77')]()){_0x29ee70['push']('\x22'+_0xa8e233+'\x22');}else{_0x5dde93[_0x3071('0x20')](_0x3071('0x78'));}break;case _0x3071('0x3b'):var _0x4f06c0=parseInt(_0xa8e233);_0xa8e233=_[_0x3071('0x79')](_0x4f06c0)||_0x4f06c0<0x0||_0x4f06c0>0x4?_0x466835?0x3:0x2:_0x4f06c0;_0x29ee70[_0x3071('0x20')]('\x22'+_0xa8e233+'\x22');break;case _0x3071('0x7a'):var _0x567e33=parseInt(_0xa8e233);if(_['isNumber'](_0x567e33)&&_[_0x3071('0x7b')](_0x26ecb2,_0x567e33)){_0x29ee70['push']('\x22'+_0x567e33+'\x22');}else{_0x5dde93[_0x3071('0x20')](_0x3071('0x7c'));}break;case _0x3071('0x7d'):if(isEmail(_0xa8e233)){_0x29ee70[_0x3071('0x20')]('\x22'+_0xa8e233+'\x22');}else{_0x5dde93[_0x3071('0x20')](_0x3071('0x7e'));}break;case _0x3071('0x7f'):var _0x4c67ec=moment(_0xa8e233,_0x3071('0x80'),!![]);if(_0x4c67ec[_0x3071('0x77')]()){_0x29ee70[_0x3071('0x20')]('\x22'+_0xa8e233+'\x22');}else{_0x5dde93[_0x3071('0x20')](_0x3071('0x81'));}break;default:_0x29ee70[_0x3071('0x20')]('\x22'+_0xa8e233+'\x22');}}else{switch(_0x1456ce){case _0x3071('0x82'):case _0x3071('0x14'):_0x5dde93['push'](_0x1456ce+_0x3071('0x83'));break;default:_0x29ee70['push']('\x22\x22');}}}}else{var _0x2aef6e='';if(!_[_0x3071('0x1e')](_0x4bf839)){if(!_0x168025[_0x3071('0x73')](_0x4bf839['id'])){for(var _0x45879b=0x0;_0x45879b<_0x195d03[_0x1456ce][_0x3071('0x1d')];_0x45879b++){var _0xa8e233=_[_0x3071('0x74')](_0x29841a[_0x3071('0x6f')][_0x1b35d3][_0x195d03[_0x1456ce][_0x45879b]][_0x3071('0x75')](/"/g,'\x27'));var _0x3a3cf3=phoneDescriptions['find'](_0x456921=>_0x456921[_0x3071('0x84')]===_0x4bf839['id']);if(!_['isNil'](_0x3a3cf3)){var _0x156826=_[_0x3071('0x74')](_0x29841a[_0x3071('0x6f')][_0x1b35d3][_0x195d03[_0x3a3cf3[_0x3071('0x85')]][0x0]][_0x3071('0x75')](/"/g,'\x27'));if(!_['isNil'](_0x156826))_0xa8e233=_0xa8e233+'§'+_0x156826;}if(_0x2aef6e=='')_0x2aef6e=_0xa8e233;else _0x2aef6e+='|'+_0xa8e233;}_0x21c1e3['push'](_0x4bf839['id']+':'+_0x2aef6e);_0x168025[_0x4bf839['id']]=0x1;}}}}if(hasAdditionalPhones){_0x29ee70[_0x3071('0x20')]('\x22'+_0x21c1e3['join'](';')+'\x22');}if(_0x5dde93[_0x3071('0x1d')]){handleError(_0x29841a[_0x3071('0x6f')][_0x1b35d3],{'code':_0x3071('0x86'),'message':_0x5dde93[_0x3071('0x18')]()});}else{fs[_0x3071('0x87')](_0x429a03,_0x29ee70[_0x3071('0x18')]()+'\x0a');}_0x29ee70=[];}if(!(stats['rows']%0xc8)){socket[_0x3071('0x88')](_0x3071('0x89')+_0x279594,stats);stats[_0x3071('0x60')]=[];}}if(stopped){logger[_0x3071('0x5e')]('Abort\x20parser');_0x588406[_0x3071('0x8a')]();}}catch(_0x446546){handleError(_0x29841a['data'][_0x1b35d3],{'code':_0x3071('0x8b'),'message':_0x446546[_0x3071('0x25')]});logger[_0x3071('0x24')](_0x3071('0x8c'),_0x446546[_0x3071('0x25')]);}},'complete':function(){try{var _0x547ba8=[];var _0x44cecd=tempTableName;_0x547ba8['push'](_0x3071('0x8d')+_0x44cecd+_0x3071('0x8e'));logger[_0x3071('0x5e')](_0x3071('0x8f'),contactItemTypes[_0x3071('0x1d')]);var _0x247cda=util[_0x3071('0xd')](_0x3071('0x90'),_0x429a03,_0x44cecd,_0xd928e8,_0x3bcf28['ListId'],_0x3bcf28[_0x3071('0x59')]||null,NOW,NOW);if(_[_0x3071('0x1e')](_0x195d03[_0x3071('0x76')])){_0x247cda+=',\x20scheduledAt\x20=\x20NOW()';}_0x547ba8[_0x3071('0x20')](_0x247cda);BPromise['each'](_0x547ba8,handleQuery)[_0x3071('0x22')](function(_0x5a5861){BPromise[_0x3071('0x21')]([handleAdditionalPhones()])['then'](function(){_0x547ba8=[];for(var _0x163b29=0x0;_0x163b29<promisesContact[_0x3071('0x1d')];_0x163b29++){_0x547ba8[_0x3071('0x20')](updateContact(promisesContact[_0x163b29][_0x3071('0x91')]));}BPromise[_0x3071('0x21')](_0x547ba8)[_0x3071('0x22')](function(){_0x547ba8=[];for(var _0x12c700=0x0;_0x12c700<promisesAdditionalPhones[_0x3071('0x1d')];_0x12c700++){_0x547ba8[_0x3071('0x20')](createAdditionalPhone(promisesAdditionalPhones[_0x12c700]['contactId'],promisesAdditionalPhones[_0x12c700][_0x3071('0x92')],promisesAdditionalPhones[_0x12c700][_0x3071('0x14')],promisesAdditionalPhones[_0x12c700][_0x3071('0x93')]));}BPromise['all'](_0x547ba8)['then'](function(){_0x547ba8=[];_0x547ba8['push'](insertCmHopperAdditionalPhones(_0x3bcf28['ListId']));_0x547ba8['push'](_0x3071('0x94')+_0x44cecd+';');BPromise[_0x3071('0x95')](_0x547ba8,handleQuery)['then'](function(_0x7c0e65){stats[_0x3071('0x96')]=!![];stats[_0x3071('0x97')]=updatedRows;socket['emit']('contact:import:'+_0x279594,stats);fs[_0x3071('0x98')](_0x29a58e);fs[_0x3071('0x98')](_0x429a03);process[_0x3071('0x5f')](0x0);})[_0x3071('0x23')](function(_0x3d7e5f){logger[_0x3071('0x24')](_0x3d7e5f[_0x3071('0x25')]);process['exit'](0x1);});});});});})['catch'](function(_0x337c16){logger[_0x3071('0x24')](_0x337c16[_0x3071('0x25')]);process[_0x3071('0x5f')](0x1);});}catch(_0x5a3b64){logger[_0x3071('0x24')](_0x3071('0x99'),_0x5a3b64[_0x3071('0x25')]);process[_0x3071('0x5f')](0x1);}},'error':function(_0x2305b4,_0x38bf4e,_0x234f62,_0x288685){throw new Error(_0x288685);}});});}function validate(){if(process['argv']&&process[_0x3071('0x9a')][_0x3071('0x1d')]<0x4){throw new Error(_0x3071('0x9b'));}var _0x9dba3=path[_0x3071('0x18')](config['root'],_0x3071('0x69'),process['argv'][0x2]);if(!fs['existsSync'](_0x9dba3)){throw new Error(_0x3071('0x9c'));}var _0x3108ea={};try{_0x3108ea=JSON[_0x3071('0x9d')](process['argv'][0x3]);if(!_0x3108ea[_0x3071('0x9e')]){throw new Error(_0x3071('0x9f'));}var _0x2753aa=0x0;if(_0x3108ea[_0x3071('0x9e')][_0x3071('0x7a')]){_0x2753aa=0x1;}if(!_0x3108ea['ListId']){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x39dc23){throw new Error(_0x3071('0xa0'));}var _0x5d1800=[];try{_0x5d1800=_[_0x3071('0xa1')](JSON[_0x3071('0x9d')](process[_0x3071('0x9a')][0x4]),'id');}catch(_0x2d559a){logger[_0x3071('0x5e')]('No\x20agent\x20available');}main(_0x9dba3,_0x3108ea,_0x5d1800,_0x2753aa);}validate();process['on'](_0x3071('0xa2'),handleStop);process['on']('uncaughtException',handleUncaughtException);
\ No newline at end of file