d385f63090e69835d74466f42ac2a043c0be40ba
[motion2.git] / server / components / import / cm / csvUpdates.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 _0x12ee=['insert','into','cm_hopper','fromQuery','scheduledat','createdAt','priority','UserId','recallme','fields','from','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','\x22always\x22','\x22onlyIfOpen\x22','toString','ContactId','updatedAt','cm_contacts.phone\x20NOT\x20IN\x20(?)','cm_hopper_black','ListId\x20=\x20?','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.updatedAt','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','concat','keys','ListId','CompanyId',')\x20NOT\x20IN\x20?','id\x20IN\x20?','MIN(id)','min_id','group','info','Received\x20SIGINT','exit','errors','code','sequelize','main','stringify','send','start','binding','clone','socket_timestamp','root','server/files/tmp','.csv','ContactItemType','name','header','writeFileSync','parse','createReadStream','rows','find','hasOwnProperty','data','trim','replace','YYYY-MM-DD\x20HH:mm:ss','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNumber','email','email\x20wrong\x20format','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','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','each','contactId','contactTypeId','DROP\x20TABLE\x20','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','ListId\x20is\x20mandatory','No\x20agent\x20available','uncaughtException','path','util','bluebird','moment','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','defaults','redis','socket.io-emitter','format','cm_contacts_temp_','YYYYMMDDHHmmss','test','select','field','phone','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','query','select\x20*\x20from\x20','spread','length','push','then','catch','error','message','AdditionalPhones','isNil','split','all','filter','findOne','updated','CmContactHasItem','create','inserted','CmContact','update','CmHopper','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.UserId'];(function(_0x581af1,_0x4f02c5){var _0x54c22e=function(_0x5a7a5a){while(--_0x5a7a5a){_0x581af1['push'](_0x581af1['shift']());}};_0x54c22e(++_0x4f02c5);}(_0x12ee,0x65));var _0xe12e=function(_0x5b31aa,_0x29ef3b){_0x5b31aa=_0x5b31aa-0x0;var _0x23ccd7=_0x12ee[_0x5b31aa];return _0x23ccd7;};'use strict';var fs=require('fs');var path=require(_0xe12e('0x0'));var _=require('lodash');var Papa=require('papaparse');var util=require(_0xe12e('0x1'));var BPromise=require(_0xe12e('0x2'));var moment=require(_0xe12e('0x3'));var squel=require('squel');var Redis=require(_0xe12e('0x4'));var db=require(_0xe12e('0x5'))['db'];var config=require(_0xe12e('0x6'));var logger=require(_0xe12e('0x7'))('import');config['redis']=_[_0xe12e('0x8')](config[_0xe12e('0x9')],{'host':'localhost','port':0x18eb});var socket=require(_0xe12e('0xa'))(new Redis(config['redis']));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()[_0xe12e('0xb')]('YYYY-MM-DD\x20HH:mm:ss');var tempTableName=_0xe12e('0xc')+moment()[_0xe12e('0xb')](_0xe12e('0xd'));var contactItemTypes=[];var hasAdditionalPhones=![];function isEmail(_0x598fc0){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))*$/[_0xe12e('0xe')](_0x598fc0);}function selectNotIn(_0x480ba5,_0x47276b,_0x31ac40,_0x45470f,_0x3919ff){return squel[_0xe12e('0xf')]()[_0xe12e('0x10')](_0xe12e('0x11'))['from'](_0x45470f)[_0xe12e('0x12')](_0x47276b,null,_0x47276b+_0xe12e('0x13')+_0x45470f+'.'+_0x31ac40)[_0xe12e('0x14')](_0x45470f+'.'+_0x31ac40+_0xe12e('0x15')+_0x480ba5+'.'+_0x31ac40)[_0xe12e('0x14')](_0x47276b+_0xe12e('0x16')+_0x3919ff['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0xdd3e17,_0x1bd27e){promisesAdditionalPhones=[];promisesContact=[];return db['sequelize'][_0xe12e('0x17')](_0xe12e('0x18')+tempTableName)[_0xe12e('0x19')](function(_0x29ab29){if(_0x29ab29!==null){var _0xea360=[];for(var _0x21a41b=0x0;_0x21a41b<_0x29ab29[_0xe12e('0x1a')];_0x21a41b++){var _0x13c954=_0x29ab29[_0x21a41b];if(!_['isNil'](_0x13c954['phone'])){if(!_['isNil'](_0x13c954['AdditionalPhones']))_0xea360[_0xe12e('0x1b')](insertAdditionalPhones(_0x13c954));promisesContact['push']({'contact':_0x13c954});}}}Promise['all'](_0xea360)[_0xe12e('0x1c')](function(){_0xdd3e17({'val':0x1});});})[_0xe12e('0x1d')](function(_0x520c95){logger[_0xe12e('0x1e')](_0x520c95[_0xe12e('0x1f')]);});});}function insertAdditionalPhones(_0x384d3b){return new Promise(function(_0x229bd5,_0x4d7905){var _0x793834=_0x384d3b[_0xe12e('0x20')];if(_[_0xe12e('0x21')](_0x793834))_0x4d7905({'val':0x0});else{var _0x1374eb=_0x793834[_0xe12e('0x22')](';');var _0x2611a2=[];orderBy=0x0;for(var _0x912b1d=0x0;_0x912b1d<_0x1374eb[_0xe12e('0x1a')];_0x912b1d++){_0x2611a2[_0xe12e('0x1b')](splitAdditionalPhone(_0x384d3b['id'],_0x1374eb[_0x912b1d]));}Promise[_0xe12e('0x23')](_0x2611a2)['then'](function(){_0x229bd5({'val':_0x1374eb[_0xe12e('0x1a')]});});}});}function splitAdditionalPhone(_0x455426,_0x206d05){return new Promise(function(_0x4cc8b1,_0x75bc4e){var _0x34e5f5=_0x206d05[_0xe12e('0x22')](':');var _0x3930ae=_0x34e5f5[0x0];var _0x39386d=_0x34e5f5[0x1];if(_0x39386d!==''){var _0x293ccc=_0x39386d[_0xe12e('0x22')]('|');var _0x6a0ab0=[];for(var _0xfded78=0x0;_0xfded78<_0x293ccc[_0xe12e('0x1a')];_0xfded78++){if(_0x293ccc[_0xfded78]!==''){var _0x3b5b9f=_[_0xe12e('0x24')](promisesAdditionalPhones,{'contactId':_0x455426,'phone':_0x293ccc[_0xfded78]});if(_0x3b5b9f[_0xe12e('0x1a')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x455426,'contactTypeId':_0x3930ae,'phone':_0x293ccc[_0xfded78],'orderBy':orderBy});}}}_0x4cc8b1({'ok':0x1});}else _0x4cc8b1({'res':0x0});});}function createAdditionalPhone(_0x18fd71,_0xa75317,_0x43d029,_0x46efe9){return new Promise(function(_0x371fd6,_0x570aaa){return db['CmContactHasItem'][_0xe12e('0x25')]({'where':{'CmContactId':_0x18fd71,'item':_0x43d029}})[_0xe12e('0x1c')](function(_0x22ef62){if(_0x22ef62){return db['CmContactHasItem']['update']({'ItemTypeId':_0xa75317,'OrderBy':_0x46efe9},{'where':{'CmContactId':_0x18fd71,'item':_0x43d029}})[_0xe12e('0x1c')](function(_0x59565f){_0x371fd6({'res':_0xe12e('0x26')});});}else{return db[_0xe12e('0x27')][_0xe12e('0x28')]({'CmContactId':_0x18fd71,'item':_0x43d029,'ItemTypeId':_0xa75317,'OrderBy':_0x46efe9,'ItemClass':'PHONE'})[_0xe12e('0x1c')](function(_0x562113){_0x371fd6({'res':_0xe12e('0x29')});});}});});}function updateContact(_0x21b1c2){return new Promise(function(_0x1bcb7f,_0x18ed92){var _0x233b52=_0x21b1c2['id'];delete _0x21b1c2['id'];return db[_0xe12e('0x2a')][_0xe12e('0x2b')](_0x21b1c2,{'where':{'id':_0x233b52}})[_0xe12e('0x1c')](function(_0x1f5367){updatedRows+=0x1;return db[_0xe12e('0x2c')][_0xe12e('0x2b')]({'phone':_0x21b1c2[_0xe12e('0x11')]},{'where':{'ContactId':_0x233b52}})[_0xe12e('0x1c')](function(_0x506745){_0x1bcb7f({'ret':'OK'});});});});}function insertCmHopper(_0x1fd3c0,_0x2dd78a,_0xc64d27,_0x5df8ea,_0x347566){var _0x5738be=[_0xe12e('0x2d'),'cm_contacts.scheduledat',_0xe12e('0x2e'),_0xe12e('0x2f'),_0x2dd78a+'.'+_0x5df8ea,_0xe12e('0x30'),_0xe12e('0x31'),'cm_contacts.priority',_0xe12e('0x32'),'\x22'+_0x347566+'\x22'];return squel[_0xe12e('0x33')]()[_0xe12e('0x34')](_0xe12e('0x35'))[_0xe12e('0x36')]([_0xe12e('0x11'),_0xe12e('0x37'),'ContactId','ListId',_0x5df8ea,_0xe12e('0x38'),'updatedAt',_0xe12e('0x39'),_0xe12e('0x3a'),_0xe12e('0x3b')],squel[_0xe12e('0xf')]()[_0xe12e('0x3c')](_0x5738be)[_0xe12e('0x3d')](_0x2dd78a)[_0xe12e('0x12')](_0xe12e('0x3e'),null,_0xe12e('0x3f')+_0x2dd78a+_0xe12e('0x40'))[_0xe12e('0x12')](_0xc64d27,null,_0xc64d27+_0xe12e('0x13')+_0x2dd78a+'.'+_0x5df8ea)[_0xe12e('0x14')](_0x2dd78a+_0xe12e('0x41'),_0x1fd3c0)[_0xe12e('0x14')](_0xe12e('0x42'),NOW)[_0xe12e('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x2dd78a,_0xc64d27,_0x5df8ea,_0xe12e('0x35'),[_0xe12e('0x43'),_0xe12e('0x44')]))[_0xe12e('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x2dd78a,_0xc64d27,_0x5df8ea,_0xe12e('0x35'),[_0xe12e('0x43')])))[_0xe12e('0x45')]();}function insertCmHopperBlack(_0x15a634,_0x41316c,_0x4bf97c,_0x450289){var _0x385aac=['cm_contacts.phone',_0xe12e('0x2e'),_0xe12e('0x2f'),_0x41316c+'.'+_0x450289,'cm_contacts.createdAt',_0xe12e('0x31')];return squel[_0xe12e('0x33')]()[_0xe12e('0x34')]('cm_hopper_black')[_0xe12e('0x36')]([_0xe12e('0x11'),_0xe12e('0x46'),'ListId',_0x450289,'createdAt',_0xe12e('0x47')],squel['select']()['fields'](_0x385aac)[_0xe12e('0x3d')](_0x41316c)[_0xe12e('0x12')](_0xe12e('0x3e'),null,_0xe12e('0x3f')+_0x41316c+_0xe12e('0x40'))[_0xe12e('0x12')](_0x4bf97c,null,_0x4bf97c+_0xe12e('0x13')+_0x41316c+'.'+_0x450289)[_0xe12e('0x14')](_0x41316c+_0xe12e('0x41'),_0x15a634)['where'](_0xe12e('0x42'),NOW)[_0xe12e('0x14')](_0xe12e('0x48'),squel[_0xe12e('0xf')]()[_0xe12e('0x10')](_0xe12e('0x11'))[_0xe12e('0x3d')](_0xe12e('0x49'))[_0xe12e('0x14')](_0xe12e('0x4a'),_0x15a634)[_0xe12e('0x14')](_0x450289+'\x20=\x20?',_0x41316c+'.'+_0x450289)))[_0xe12e('0x45')]();}function insertCmHopperAdditionalPhones(_0x3ecf5b){var _0x544339=['cm_hopper.id',_0xe12e('0x4b'),_0xe12e('0x4c'),'cm_contact_has_items.createdAt',_0xe12e('0x4d')];return squel[_0xe12e('0x33')]()[_0xe12e('0x34')]('cm_hopper_additional_phones')[_0xe12e('0x36')]([_0xe12e('0x4e'),_0xe12e('0x11'),_0xe12e('0x4f'),_0xe12e('0x38'),'updatedAt'],squel[_0xe12e('0xf')]()[_0xe12e('0x3c')](_0x544339)['from']('cm_hopper')['join'](_0xe12e('0x3e'),null,_0xe12e('0x50'))['join']('cm_contact_has_items',null,'cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId')[_0xe12e('0x14')]('cm_hopper.ListId\x20=\x20?',_0x3ecf5b)[_0xe12e('0x14')](_0xe12e('0x42'),NOW))[_0xe12e('0x45')]();}function insertCmContact(_0x41ff5a,_0x531524,_0x57ec83,_0x13ee48){var _0x8900ec=_[_0xe12e('0x51')](_[_0xe12e('0x52')](_0x13ee48),[_0xe12e('0x53'),_0xe12e('0x54'),'createdAt',_0xe12e('0x47')]);return squel['insert']()[_0xe12e('0x34')]('cm_contacts')[_0xe12e('0x36')](_0x8900ec,squel[_0xe12e('0xf')]()[_0xe12e('0x3c')](_0x8900ec)[_0xe12e('0x3d')](_0x531524)[_0xe12e('0x14')]('('+_0x57ec83[_0xe12e('0x12')](',')+_0xe12e('0x55'),squel['select']()['fields'](_0x57ec83)[_0xe12e('0x3d')](_0xe12e('0x3e'))[_0xe12e('0x14')](_0xe12e('0x4a'),_0x41ff5a))['where'](_0xe12e('0x56'),squel[_0xe12e('0xf')]()[_0xe12e('0x10')](_0xe12e('0x57'),_0xe12e('0x58'))['from'](_0x531524)[_0xe12e('0x59')](_0x57ec83[_0xe12e('0x12')](','))))[_0xe12e('0x45')]();}function handleStop(){logger[_0xe12e('0x5a')](_0xe12e('0x5b'));stopped=!![];}function handleUncaughtException(_0x1d64fd){logger[_0xe12e('0x1e')](_0x1d64fd[_0xe12e('0x1f')]);process[_0xe12e('0x5c')](0x1);}function handleError(_0x5dbbb5,_0x41bd3b){stats[_0xe12e('0x5d')][_0xe12e('0x1b')]({'name':_0x41bd3b[_0xe12e('0x5e')],'message':_0x41bd3b[_0xe12e('0x1f')],'row':_0x5dbbb5});}function handleQuery(_0x5cf4dd){logger[_0xe12e('0x5a')](_0x5cf4dd);return db[_0xe12e('0x5f')][_0xe12e('0x17')](_0x5cf4dd)['spread'](function(_0x480071){results['push'](_0x480071);})[_0xe12e('0x1d')](function(_0x4a6b62){logger['error'](_0x4a6b62['message']);});}function main(_0x540209,_0x24af86,_0x1a4e02,_0x5f2c70){logger[_0xe12e('0x5a')](_0xe12e('0x60'),_0x540209,JSON[_0xe12e('0x61')](_0x24af86));process[_0xe12e('0x62')](_0xe12e('0x63'));var _0x4f03d0=_0x24af86[_0xe12e('0x64')];var _0xfce16b=_[_0xe12e('0x65')](_0x4f03d0);var _0x39ce24=_0x24af86[_0xe12e('0x66')];var _0x405a8e=path[_0xe12e('0x12')](config[_0xe12e('0x67')],_0xe12e('0x68'),_0x39ce24+_0xe12e('0x69'));logger[_0xe12e('0x5a')]('body',_0x24af86);db[_0xe12e('0x6a')]['findAll']({'raw':!![],'attributes':['id',_0xe12e('0x6b')]})[_0xe12e('0x1c')](function(_0xf09293){for(var _0x2110d2=0x0;_0x2110d2<_0xf09293[_0xe12e('0x1a')];_0x2110d2++){if(_0xf09293[_0x2110d2]['name']in _0x4f03d0){contactItemTypes[_0xe12e('0x1b')](_0xf09293[_0x2110d2]);delete _0xfce16b[_0xf09293[_0x2110d2]['name']];hasAdditionalPhones=!![];}else{}}if(hasAdditionalPhones)_0xfce16b['AdditionalPhones']='';var _0x512d49=_[_0xe12e('0x52')](_0xfce16b)['join']();logger[_0xe12e('0x5a')](_0xe12e('0x6c'),_0x512d49);fs[_0xe12e('0x6d')](_0x405a8e,_0x512d49+'\x0a');Papa[_0xe12e('0x6e')](fs[_0xe12e('0x6f')](_0x540209),{'header':!![],'skipEmptyLines':!![],'step':function(_0x57adbc,_0x2d90e6){try{for(var _0x1b673e=0x0,_0x52b738=[];_0x1b673e<_0x57adbc['data'][_0xe12e('0x1a')];_0x1b673e++){stats[_0xe12e('0x70')]+=0x1;if(_0x57adbc[_0xe12e('0x5d')][_0x1b673e]){handleError(_0x57adbc['data'][_0x1b673e],_0x57adbc[_0xe12e('0x5d')][_0x1b673e]);}else{var _0x30601c=[];var _0x1cf568=[];for(var _0x3549a7 in _0x4f03d0){let _0x34823c=contactItemTypes[_0xe12e('0x71')](_0x563013=>_0x563013[_0xe12e('0x6b')]===_0x3549a7);if(_[_0xe12e('0x21')](_0x34823c)){if(_0x4f03d0[_0xe12e('0x72')](_0x3549a7)){if(_0x57adbc[_0xe12e('0x73')][_0x1b673e][_0x4f03d0[_0x3549a7]]){var _0x376bd5=_[_0xe12e('0x74')](_0x57adbc[_0xe12e('0x73')][_0x1b673e][_0x4f03d0[_0x3549a7]][_0xe12e('0x75')](/"/g,'\x27'));switch(_0x3549a7){case'scheduledat':var _0x20fad0=moment(_0x376bd5,_0xe12e('0x76'),!![]);if(_0x20fad0[_0xe12e('0x77')]()){_0x52b738[_0xe12e('0x1b')]('\x22'+_0x376bd5+'\x22');}else{_0x30601c[_0xe12e('0x1b')](_0xe12e('0x78'));}break;case'priority':var _0x4acff3=parseInt(_0x376bd5);_0x376bd5=_['isNaN'](_0x4acff3)||_0x4acff3<0x0||_0x4acff3>0x4?_0x5f2c70?0x3:0x2:_0x4acff3;_0x52b738[_0xe12e('0x1b')]('\x22'+_0x376bd5+'\x22');break;case _0xe12e('0x3a'):var _0x24a33d=parseInt(_0x376bd5);if(_[_0xe12e('0x79')](_0x24a33d)&&_['includes'](_0x1a4e02,_0x24a33d)){_0x52b738['push']('\x22'+_0x24a33d+'\x22');}else{_0x30601c['push']('agent\x20not\x20exists');}break;case _0xe12e('0x7a'):if(isEmail(_0x376bd5)){_0x52b738[_0xe12e('0x1b')]('\x22'+_0x376bd5+'\x22');}else{_0x30601c[_0xe12e('0x1b')](_0xe12e('0x7b'));}break;case'dateOfBirth':var _0x4149dc=moment(_0x376bd5,'YYYY-MM-DD',!![]);if(_0x4149dc[_0xe12e('0x77')]()){_0x52b738[_0xe12e('0x1b')]('\x22'+_0x376bd5+'\x22');}else{_0x30601c['push'](_0xe12e('0x7c'));}break;default:_0x52b738['push']('\x22'+_0x376bd5+'\x22');}}else{switch(_0x3549a7){case'firstName':case _0xe12e('0x11'):_0x30601c['push'](_0x3549a7+'\x20not\x20specified');break;default:_0x52b738[_0xe12e('0x1b')]('\x22\x22');}}}}else{var _0x3bfba2='';for(var _0x147a3b=0x0;_0x147a3b<_0x4f03d0[_0x3549a7][_0xe12e('0x1a')];_0x147a3b++){var _0x376bd5=_['trim'](_0x57adbc[_0xe12e('0x73')][_0x1b673e][_0x4f03d0[_0x3549a7][_0x147a3b]][_0xe12e('0x75')](/"/g,'\x27'));if(_0x3bfba2=='')_0x3bfba2=_0x376bd5;else _0x3bfba2+='|'+_0x376bd5;}_0x1cf568['push'](_0x34823c['id']+':'+_0x3bfba2);}}if(hasAdditionalPhones){_0x52b738[_0xe12e('0x1b')]('\x22'+_0x1cf568[_0xe12e('0x12')](';')+'\x22');}if(_0x30601c[_0xe12e('0x1a')]){handleError(_0x57adbc[_0xe12e('0x73')][_0x1b673e],{'code':_0xe12e('0x7d'),'message':_0x30601c[_0xe12e('0x12')]()});}else{fs[_0xe12e('0x7e')](_0x405a8e,_0x52b738['join']()+'\x0a');}_0x52b738=[];}if(!(stats[_0xe12e('0x70')]%0xc8)){socket[_0xe12e('0x7f')](_0xe12e('0x80')+_0x39ce24,stats);stats['errors']=[];}}if(stopped){logger[_0xe12e('0x5a')](_0xe12e('0x81'));_0x2d90e6[_0xe12e('0x82')]();}}catch(_0x146c38){handleError(_0x57adbc[_0xe12e('0x73')][_0x1b673e],{'code':_0xe12e('0x83'),'message':_0x146c38[_0xe12e('0x1f')]});logger[_0xe12e('0x1e')](_0xe12e('0x84'),_0x146c38[_0xe12e('0x1f')]);}},'complete':function(){try{var _0x13f8f4=[];var _0x1f3703=tempTableName;_0x13f8f4[_0xe12e('0x1b')](_0xe12e('0x85')+_0x1f3703+_0xe12e('0x86'));logger[_0xe12e('0x5a')](_0xe12e('0x87'),contactItemTypes[_0xe12e('0x1a')]);var _0x38c340=util[_0xe12e('0xb')](_0xe12e('0x88'),_0x405a8e,_0x1f3703,_0x512d49,_0x24af86[_0xe12e('0x53')],_0x24af86[_0xe12e('0x54')]||null,NOW,NOW);if(_[_0xe12e('0x21')](_0x4f03d0[_0xe12e('0x37')])){_0x38c340+=',\x20scheduledAt\x20=\x20NOW()';}_0x13f8f4[_0xe12e('0x1b')](_0x38c340);BPromise[_0xe12e('0x89')](_0x13f8f4,handleQuery)['then'](function(_0x10c0a2){BPromise['all']([handleAdditionalPhones()])[_0xe12e('0x1c')](function(){_0x13f8f4=[];for(var _0x2657bd=0x0;_0x2657bd<promisesContact[_0xe12e('0x1a')];_0x2657bd++){_0x13f8f4[_0xe12e('0x1b')](updateContact(promisesContact[_0x2657bd]['contact']));}BPromise['all'](_0x13f8f4)[_0xe12e('0x1c')](function(){_0x13f8f4=[];for(var _0x29a839=0x0;_0x29a839<promisesAdditionalPhones[_0xe12e('0x1a')];_0x29a839++){_0x13f8f4[_0xe12e('0x1b')](createAdditionalPhone(promisesAdditionalPhones[_0x29a839][_0xe12e('0x8a')],promisesAdditionalPhones[_0x29a839][_0xe12e('0x8b')],promisesAdditionalPhones[_0x29a839][_0xe12e('0x11')],promisesAdditionalPhones[_0x29a839]['orderBy']));}BPromise[_0xe12e('0x23')](_0x13f8f4)[_0xe12e('0x1c')](function(){_0x13f8f4=[];_0x13f8f4[_0xe12e('0x1b')](insertCmHopperAdditionalPhones(_0x24af86[_0xe12e('0x53')]));_0x13f8f4[_0xe12e('0x1b')](_0xe12e('0x8c')+_0x1f3703+';');BPromise[_0xe12e('0x89')](_0x13f8f4,handleQuery)[_0xe12e('0x1c')](function(_0x32c808){stats['finish']=!![];stats[_0xe12e('0x8d')]=updatedRows;socket['emit'](_0xe12e('0x80')+_0x39ce24,stats);fs[_0xe12e('0x8e')](_0x540209);fs[_0xe12e('0x8e')](_0x405a8e);process[_0xe12e('0x5c')](0x0);})[_0xe12e('0x1d')](function(_0xaa284){logger[_0xe12e('0x1e')](_0xaa284[_0xe12e('0x1f')]);process[_0xe12e('0x5c')](0x1);});});});});})[_0xe12e('0x1d')](function(_0x58e944){logger[_0xe12e('0x1e')](_0x58e944[_0xe12e('0x1f')]);process['exit'](0x1);});}catch(_0x121c34){logger[_0xe12e('0x1e')](_0xe12e('0x8f'),_0x121c34['message']);process[_0xe12e('0x5c')](0x1);}},'error':function(_0x5d05f4,_0x337fb6,_0x24917b,_0x1c31e8){throw new Error(_0x1c31e8);}});});}function validate(){if(process[_0xe12e('0x90')]&&process['argv']['length']<0x4){throw new Error(_0xe12e('0x91'));}var _0xda0d64=path[_0xe12e('0x12')](config[_0xe12e('0x67')],'server/files/tmp',process[_0xe12e('0x90')][0x2]);if(!fs[_0xe12e('0x92')](_0xda0d64)){throw new Error(_0xe12e('0x93'));}var _0x258c62={};try{_0x258c62=JSON['parse'](process[_0xe12e('0x90')][0x3]);if(!_0x258c62[_0xe12e('0x64')]){throw new Error(_0xe12e('0x94'));}var _0x5937ff=0x0;if(_0x258c62[_0xe12e('0x64')][_0xe12e('0x3a')]){_0x5937ff=0x1;}if(!_0x258c62['ListId']){throw new Error(_0xe12e('0x95'));}}catch(_0x38ca2b){throw new Error('body\x20id\x20mandatory');}var _0x502e8b=[];try{_0x502e8b=_['map'](JSON[_0xe12e('0x6e')](process['argv'][0x4]),'id');}catch(_0x2d47fe){logger[_0xe12e('0x5a')](_0xe12e('0x96'));}main(_0xda0d64,_0x258c62,_0x502e8b,_0x5937ff);}validate();process['on']('SIGINT',handleStop);process['on'](_0xe12e('0x97'),handleUncaughtException);