Built motion from commit b7e79837.|2.6.29
[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 _0x110f=['file\x20doesn\x27t\x20exists','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','path','lodash','moment','ioredis','../../../mysqldb','../../../config/environment','import','redis','defaults','localhost','socket.io-emitter','YYYY-MM-DD\x20HH:mm:ss','cm_contacts_temp_','format','test','field','phone','from','join','where','\x20=\x20','sequelize','query','select\x20*\x20from\x20','spread','length','isNil','AdditionalPhones','push','then','catch','error','message','split','filter','CmContactHasItem','findOne','update','updated','create','PHONE','inserted','CmContact','CmHopper','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.id\x20=\x20','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','insert','cm_hopper_black','fields','cm_contacts.createdAt\x20=\x20?','select','cm_hopper.id','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','OrderBy','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys','CompanyId',')\x20NOT\x20IN\x20?','ListId\x20=\x20?','id\x20IN\x20?','MIN(id)','min_id','toString','info','Received\x20SIGINT','errors','code','stringify','start','binding','clone','root','server/files/tmp','.csv','ContactItemType','findAll','name','_description','parse','createReadStream','data','find','hasOwnProperty','trim','replace','isValid','isNaN','isNumber','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','YYYY-MM-DD','firstName','\x20not\x20specified','description','SystemRow','appendFileSync','rows','emit','contact:import:','Abort\x20parser','SystemError','step','\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',',\x20scheduledAt\x20=\x20NOW()','each','all','contact','contactId','contactTypeId','orderBy','DROP\x20TABLE\x20','finish','affectedRows','unlink','exit','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync'];(function(_0x2b48ac,_0x29442a){var _0x20ab20=function(_0x3c19ee){while(--_0x3c19ee){_0x2b48ac['push'](_0x2b48ac['shift']());}};_0x20ab20(++_0x29442a);}(_0x110f,0x1e6));var _0xf110=function(_0x42f693,_0x221ee5){_0x42f693=_0x42f693-0x0;var _0x4414b1=_0x110f[_0x42f693];return _0x4414b1;};'use strict';var fs=require('fs');var path=require(_0xf110('0x0'));var _=require(_0xf110('0x1'));var Papa=require('papaparse');var util=require('util');var BPromise=require('bluebird');var moment=require(_0xf110('0x2'));var squel=require('squel');var Redis=require(_0xf110('0x3'));var db=require(_0xf110('0x4'))['db'];var config=require(_0xf110('0x5'));var logger=require('../../../config/logger')(_0xf110('0x6'));config[_0xf110('0x7')]=_[_0xf110('0x8')](config['redis'],{'host':_0xf110('0x9'),'port':0x18eb});var socket=require(_0xf110('0xa'))(new Redis(config[_0xf110('0x7')]));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()['format'](_0xf110('0xb'));var tempTableName=_0xf110('0xc')+moment()[_0xf110('0xd')]('YYYYMMDDHHmmss');var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x13e06b){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))*$/[_0xf110('0xe')](_0x13e06b);}function selectNotIn(_0x17a94a,_0x24ada7,_0x4fc7b9,_0x35e191,_0x13ced0){return squel['select']()[_0xf110('0xf')](_0xf110('0x10'))[_0xf110('0x11')](_0x35e191)[_0xf110('0x12')](_0x24ada7,null,_0x24ada7+'.id\x20=\x20'+_0x35e191+'.'+_0x4fc7b9)[_0xf110('0x13')](_0x35e191+'.'+_0x4fc7b9+_0xf110('0x14')+_0x17a94a+'.'+_0x4fc7b9)[_0xf110('0x13')](_0x24ada7+'.dialCheckDuplicateType\x20IN\x20('+_0x13ced0[_0xf110('0x12')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x206703,_0x5c33b8){promisesAdditionalPhones=[];promisesContact=[];return db[_0xf110('0x15')][_0xf110('0x16')](_0xf110('0x17')+tempTableName)[_0xf110('0x18')](function(_0x32df98){if(_0x32df98!==null){var _0x47cabf=[];for(var _0x5fbcdd=0x0;_0x5fbcdd<_0x32df98[_0xf110('0x19')];_0x5fbcdd++){var _0x3a0c81=_0x32df98[_0x5fbcdd];if(!_['isNil'](_0x3a0c81[_0xf110('0x10')])){if(!_[_0xf110('0x1a')](_0x3a0c81[_0xf110('0x1b')]))_0x47cabf['push'](insertAdditionalPhones(_0x3a0c81));promisesContact[_0xf110('0x1c')]({'contact':_0x3a0c81});}}}Promise['all'](_0x47cabf)[_0xf110('0x1d')](function(){_0x206703({'val':0x1});});})[_0xf110('0x1e')](function(_0x119e56){logger[_0xf110('0x1f')](_0x119e56[_0xf110('0x20')]);});});}function insertAdditionalPhones(_0x54513e){return new Promise(function(_0x3c1793,_0xed3418){var _0x52e6cf=_0x54513e[_0xf110('0x1b')];if(_[_0xf110('0x1a')](_0x52e6cf))_0xed3418({'val':0x0});else{var _0x44eb14=_0x52e6cf[_0xf110('0x21')](';');var _0x1634bf=[];orderBy=0x0;for(var _0x4e7aad=0x0;_0x4e7aad<_0x44eb14[_0xf110('0x19')];_0x4e7aad++){_0x1634bf[_0xf110('0x1c')](splitAdditionalPhone(_0x54513e['id'],_0x44eb14[_0x4e7aad]));}Promise['all'](_0x1634bf)[_0xf110('0x1d')](function(){_0x3c1793({'val':_0x44eb14[_0xf110('0x19')]});});}});}function splitAdditionalPhone(_0x11eb1c,_0x2f3ddd){return new Promise(function(_0x447934,_0x2f91fa){var _0x36ac5e=_0x2f3ddd['split'](':');var _0xb4fde2=_0x36ac5e[0x0];var _0x50d877=_0x36ac5e[0x1];if(_0x50d877!==''){var _0x38ba99=_0x50d877['split']('|');var _0x4eedb0=[];for(var _0x4cac86=0x0;_0x4cac86<_0x38ba99['length'];_0x4cac86++){if(_0x38ba99[_0x4cac86]!==''){var _0x16c81e=_[_0xf110('0x22')](promisesAdditionalPhones,{'contactId':_0x11eb1c,'phone':_0x38ba99[_0x4cac86]});if(_0x16c81e['length']==0x0){orderBy++;promisesAdditionalPhones[_0xf110('0x1c')]({'contactId':_0x11eb1c,'contactTypeId':_0xb4fde2,'phone':_0x38ba99[_0x4cac86],'orderBy':orderBy});}}}_0x447934({'ok':0x1});}else _0x447934({'res':0x0});});}function createAdditionalPhone(_0x1c2152,_0x32a4d3,_0x4e0087,_0x2f3488){var _0x2e0570='';var _0x56f9fd='';var _0x1a90c7=_0x4e0087[_0xf110('0x21')]('§');_0x2e0570=_0x1a90c7[0x0];if(_0x1a90c7[_0xf110('0x19')]==0x2)_0x56f9fd=_0x1a90c7[0x1];return new Promise(function(_0x44c603,_0x40afb3){return db[_0xf110('0x23')][_0xf110('0x24')]({'where':{'CmContactId':_0x1c2152,'item':_0x2e0570}})[_0xf110('0x1d')](function(_0x5143b0){if(_0x5143b0){return db['CmContactHasItem'][_0xf110('0x25')]({'ItemTypeId':_0x32a4d3,'description':_0x56f9fd,'OrderBy':_0x2f3488},{'where':{'CmContactId':_0x1c2152,'item':_0x2e0570}})['then'](function(_0x1d9824){_0x44c603({'res':_0xf110('0x26')});});}else{return db[_0xf110('0x23')][_0xf110('0x27')]({'CmContactId':_0x1c2152,'item':_0x2e0570,'ItemTypeId':_0x32a4d3,'description':_0x56f9fd,'OrderBy':_0x2f3488,'ItemClass':_0xf110('0x28')})[_0xf110('0x1d')](function(_0xd6c865){_0x44c603({'res':_0xf110('0x29')});});}});});}function updateContact(_0x235594){return new Promise(function(_0x526228,_0x36498c){var _0x4284bb=_0x235594['id'];delete _0x235594['id'];return db[_0xf110('0x2a')][_0xf110('0x25')](_0x235594,{'where':{'id':_0x4284bb}})[_0xf110('0x1d')](function(_0x31f485){updatedRows+=0x1;return db[_0xf110('0x2b')][_0xf110('0x25')]({'phone':_0x235594[_0xf110('0x10')]},{'where':{'ContactId':_0x4284bb}})[_0xf110('0x1d')](function(_0x47314c){_0x526228({'ret':'OK'});});});});}function insertCmHopper(_0x2a5a19,_0xe9c2d1,_0x226507,_0x55dbed,_0x1f7937){var _0x25fd7a=[_0xf110('0x2c'),_0xf110('0x2d'),_0xf110('0x2e'),_0xf110('0x2f'),_0xe9c2d1+'.'+_0x55dbed,_0xf110('0x30'),_0xf110('0x31'),_0xf110('0x32'),_0xf110('0x33'),'\x22'+_0x1f7937+'\x22'];return squel['insert']()[_0xf110('0x34')](_0xf110('0x35'))[_0xf110('0x36')]([_0xf110('0x10'),_0xf110('0x37'),_0xf110('0x38'),_0xf110('0x39'),_0x55dbed,_0xf110('0x3a'),_0xf110('0x3b'),_0xf110('0x3c'),_0xf110('0x3d'),_0xf110('0x3e')],squel['select']()['fields'](_0x25fd7a)[_0xf110('0x11')](_0xe9c2d1)[_0xf110('0x12')](_0xf110('0x3f'),null,_0xf110('0x40')+_0xe9c2d1+_0xf110('0x41'))['join'](_0x226507,null,_0x226507+_0xf110('0x42')+_0xe9c2d1+'.'+_0x55dbed)[_0xf110('0x13')](_0xe9c2d1+_0xf110('0x43'),_0x2a5a19)[_0xf110('0x13')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0xf110('0x13')](_0xf110('0x44'),selectNotIn(_0xe9c2d1,_0x226507,_0x55dbed,'cm_hopper',[_0xf110('0x45'),_0xf110('0x46')]))[_0xf110('0x13')](_0xf110('0x44'),selectNotIn(_0xe9c2d1,_0x226507,_0x55dbed,'cm_hopper',[_0xf110('0x45')])))['toString']();}function insertCmHopperBlack(_0x2bf74d,_0x544f2e,_0x85a2ea,_0x11cb93){var _0x2f9fe5=['cm_contacts.phone',_0xf110('0x2e'),'cm_contacts.ListId',_0x544f2e+'.'+_0x11cb93,_0xf110('0x30'),_0xf110('0x31')];return squel[_0xf110('0x47')]()[_0xf110('0x34')](_0xf110('0x48'))[_0xf110('0x36')]([_0xf110('0x10'),_0xf110('0x38'),_0xf110('0x39'),_0x11cb93,_0xf110('0x3a'),'updatedAt'],squel['select']()[_0xf110('0x49')](_0x2f9fe5)[_0xf110('0x11')](_0x544f2e)['join'](_0xf110('0x3f'),null,'cm_contacts.ListId\x20=\x20'+_0x544f2e+_0xf110('0x41'))[_0xf110('0x12')](_0x85a2ea,null,_0x85a2ea+_0xf110('0x42')+_0x544f2e+'.'+_0x11cb93)[_0xf110('0x13')](_0x544f2e+_0xf110('0x43'),_0x2bf74d)[_0xf110('0x13')](_0xf110('0x4a'),NOW)[_0xf110('0x13')](_0xf110('0x44'),squel[_0xf110('0x4b')]()['field'](_0xf110('0x10'))[_0xf110('0x11')](_0xf110('0x48'))[_0xf110('0x13')]('ListId\x20=\x20?',_0x2bf74d)[_0xf110('0x13')](_0x11cb93+'\x20=\x20?',_0x544f2e+'.'+_0x11cb93)))['toString']();}function insertCmHopperAdditionalPhones(_0x45e710){var _0x1a8f98=[_0xf110('0x4c'),'cm_contact_has_items.item',_0xf110('0x4d'),_0xf110('0x4e'),_0xf110('0x4f')];return squel[_0xf110('0x47')]()[_0xf110('0x34')](_0xf110('0x50'))[_0xf110('0x36')]([_0xf110('0x51'),_0xf110('0x10'),_0xf110('0x52'),_0xf110('0x3a'),'updatedAt'],squel[_0xf110('0x4b')]()[_0xf110('0x49')](_0x1a8f98)['from'](_0xf110('0x35'))['join']('cm_contacts',null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0xf110('0x12')](_0xf110('0x53'),null,_0xf110('0x54'))['where'](_0xf110('0x55'),_0x45e710)['where'](_0xf110('0x4a'),NOW))['toString']();}function insertCmContact(_0x50490a,_0x1d9f83,_0xef8c6c,_0x123b8c){var _0x1ea73d=_[_0xf110('0x56')](_[_0xf110('0x57')](_0x123b8c),[_0xf110('0x39'),_0xf110('0x58'),_0xf110('0x3a'),'updatedAt']);return squel[_0xf110('0x47')]()[_0xf110('0x34')](_0xf110('0x3f'))['fromQuery'](_0x1ea73d,squel[_0xf110('0x4b')]()[_0xf110('0x49')](_0x1ea73d)[_0xf110('0x11')](_0x1d9f83)[_0xf110('0x13')]('('+_0xef8c6c[_0xf110('0x12')](',')+_0xf110('0x59'),squel['select']()[_0xf110('0x49')](_0xef8c6c)[_0xf110('0x11')]('cm_contacts')[_0xf110('0x13')](_0xf110('0x5a'),_0x50490a))[_0xf110('0x13')](_0xf110('0x5b'),squel['select']()[_0xf110('0xf')](_0xf110('0x5c'),_0xf110('0x5d'))[_0xf110('0x11')](_0x1d9f83)['group'](_0xef8c6c[_0xf110('0x12')](','))))[_0xf110('0x5e')]();}function handleStop(){logger[_0xf110('0x5f')](_0xf110('0x60'));stopped=!![];}function handleUncaughtException(_0xeffa42){logger[_0xf110('0x1f')](_0xeffa42[_0xf110('0x20')]);process['exit'](0x1);}function handleError(_0x457b2d,_0x11cc24){stats[_0xf110('0x61')][_0xf110('0x1c')]({'name':_0x11cc24[_0xf110('0x62')],'message':_0x11cc24[_0xf110('0x20')],'row':_0x457b2d});}function handleQuery(_0x462d48){logger[_0xf110('0x5f')](_0x462d48);return db[_0xf110('0x15')][_0xf110('0x16')](_0x462d48)[_0xf110('0x18')](function(_0x43f2a1){results['push'](_0x43f2a1);})[_0xf110('0x1e')](function(_0x493060){logger[_0xf110('0x1f')](_0x493060['message']);});}function main(_0x16cdcf,_0x3e127e,_0x5aa8c5,_0x1dcb8d){logger[_0xf110('0x5f')]('main',_0x16cdcf,JSON[_0xf110('0x63')](_0x3e127e));process['send'](_0xf110('0x64'));var _0x13d29e=_0x3e127e[_0xf110('0x65')];var _0x1ff0bd=_[_0xf110('0x66')](_0x13d29e);var _0x482b53=_0x3e127e['socket_timestamp'];var _0x56635f=path[_0xf110('0x12')](config[_0xf110('0x67')],_0xf110('0x68'),_0x482b53+_0xf110('0x69'));logger[_0xf110('0x5f')]('body',_0x3e127e);db[_0xf110('0x6a')][_0xf110('0x6b')]({'raw':!![],'attributes':['id',_0xf110('0x6c')]})[_0xf110('0x1d')](function(_0x4016d4){for(var _0x32f596=0x0;_0x32f596<_0x4016d4[_0xf110('0x19')];_0x32f596++){if(_0x4016d4[_0x32f596][_0xf110('0x6c')]in _0x13d29e){contactItemTypes[_0xf110('0x1c')](_0x4016d4[_0x32f596]);delete _0x1ff0bd[_0x4016d4[_0x32f596][_0xf110('0x6c')]];hasAdditionalPhones=!![];}for(var _0xdfdb4f in _0x13d29e){if(_0x4016d4[_0x32f596][_0xf110('0x6c')]+_0xf110('0x6d')===_0xdfdb4f){phoneDescriptions[_0xf110('0x1c')]({'itemTypeId':_0x4016d4[_0x32f596]['id'],'description':_0xdfdb4f});delete _0x1ff0bd[_0xdfdb4f];}}}if(hasAdditionalPhones)_0x1ff0bd[_0xf110('0x1b')]='';var _0x12cf4f=_['keys'](_0x1ff0bd)[_0xf110('0x12')]();logger['info']('header',_0x12cf4f);fs['writeFileSync'](_0x56635f,_0x12cf4f+'\x0a');Papa[_0xf110('0x6e')](fs[_0xf110('0x6f')](_0x16cdcf),{'header':!![],'skipEmptyLines':!![],'step':function(_0x1b9b81,_0x5480a6){try{for(var _0x30a4bb=0x0,_0x43328c=[];_0x30a4bb<_0x1b9b81[_0xf110('0x70')][_0xf110('0x19')];_0x30a4bb++){stats['rows']+=0x1;if(_0x1b9b81['errors'][_0x30a4bb]){handleError(_0x1b9b81[_0xf110('0x70')][_0x30a4bb],_0x1b9b81['errors'][_0x30a4bb]);}else{var _0x7161e=[];var _0x588580=[];var _0x1d909c={};for(var _0x3d1c98 in _0x13d29e){let _0x4747e3=contactItemTypes[_0xf110('0x71')](_0x574cbc=>_0x574cbc[_0xf110('0x6c')]===_0x3d1c98);let _0x2c901d=contactItemTypes[_0xf110('0x71')](_0x374004=>_0x374004['name']+'_description'===_0x3d1c98);if(_['isNil'](_0x4747e3)&&_['isNil'](_0x2c901d)){if(_0x13d29e[_0xf110('0x72')](_0x3d1c98)){if(_0x1b9b81[_0xf110('0x70')][_0x30a4bb][_0x13d29e[_0x3d1c98]]){var _0x46c2c1=_[_0xf110('0x73')](_0x1b9b81[_0xf110('0x70')][_0x30a4bb][_0x13d29e[_0x3d1c98]][_0xf110('0x74')](/"/g,'\x27'));switch(_0x3d1c98){case _0xf110('0x37'):var _0x2dec30=moment(_0x46c2c1,_0xf110('0xb'),!![]);if(_0x2dec30[_0xf110('0x75')]()){_0x43328c['push']('\x22'+_0x46c2c1+'\x22');}else{_0x7161e[_0xf110('0x1c')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case'priority':var _0x5a2055=parseInt(_0x46c2c1);_0x46c2c1=_[_0xf110('0x76')](_0x5a2055)||_0x5a2055<0x0||_0x5a2055>0x4?_0x1dcb8d?0x3:0x2:_0x5a2055;_0x43328c[_0xf110('0x1c')]('\x22'+_0x46c2c1+'\x22');break;case _0xf110('0x3d'):var _0x284f81=parseInt(_0x46c2c1);if(_[_0xf110('0x77')](_0x284f81)&&_[_0xf110('0x78')](_0x5aa8c5,_0x284f81)){_0x43328c[_0xf110('0x1c')]('\x22'+_0x284f81+'\x22');}else{_0x7161e[_0xf110('0x1c')](_0xf110('0x79'));}break;case _0xf110('0x7a'):if(isEmail(_0x46c2c1)){_0x43328c[_0xf110('0x1c')]('\x22'+_0x46c2c1+'\x22');}else{_0x7161e['push'](_0xf110('0x7b'));}break;case'dateOfBirth':var _0x567323=moment(_0x46c2c1,_0xf110('0x7c'),!![]);if(_0x567323[_0xf110('0x75')]()){_0x43328c[_0xf110('0x1c')]('\x22'+_0x46c2c1+'\x22');}else{_0x7161e[_0xf110('0x1c')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;default:_0x43328c[_0xf110('0x1c')]('\x22'+_0x46c2c1+'\x22');}}else{switch(_0x3d1c98){case _0xf110('0x7d'):case _0xf110('0x10'):_0x7161e[_0xf110('0x1c')](_0x3d1c98+_0xf110('0x7e'));break;default:_0x43328c[_0xf110('0x1c')]('\x22\x22');}}}}else{var _0x8f4328='';if(!_[_0xf110('0x1a')](_0x4747e3)){if(!_0x1d909c['hasOwnProperty'](_0x4747e3['id'])){for(var _0x962bd=0x0;_0x962bd<_0x13d29e[_0x3d1c98][_0xf110('0x19')];_0x962bd++){var _0x46c2c1=_[_0xf110('0x73')](_0x1b9b81[_0xf110('0x70')][_0x30a4bb][_0x13d29e[_0x3d1c98][_0x962bd]][_0xf110('0x74')](/"/g,'\x27'));var _0x46a1dc=phoneDescriptions['find'](_0x261fcd=>_0x261fcd['itemTypeId']===_0x4747e3['id']);if(!_[_0xf110('0x1a')](_0x46a1dc)){var _0x2915ad=_[_0xf110('0x73')](_0x1b9b81['data'][_0x30a4bb][_0x13d29e[_0x46a1dc[_0xf110('0x7f')]][0x0]][_0xf110('0x74')](/"/g,'\x27'));if(!_['isNil'](_0x2915ad))_0x46c2c1=_0x46c2c1+'§'+_0x2915ad;}if(_0x8f4328=='')_0x8f4328=_0x46c2c1;else _0x8f4328+='|'+_0x46c2c1;}_0x588580['push'](_0x4747e3['id']+':'+_0x8f4328);_0x1d909c[_0x4747e3['id']]=0x1;}}}}if(hasAdditionalPhones){_0x43328c[_0xf110('0x1c')]('\x22'+_0x588580[_0xf110('0x12')](';')+'\x22');}if(_0x7161e['length']){handleError(_0x1b9b81[_0xf110('0x70')][_0x30a4bb],{'code':_0xf110('0x80'),'message':_0x7161e[_0xf110('0x12')]()});}else{fs[_0xf110('0x81')](_0x56635f,_0x43328c['join']()+'\x0a');}_0x43328c=[];}if(!(stats[_0xf110('0x82')]%0xc8)){socket[_0xf110('0x83')](_0xf110('0x84')+_0x482b53,stats);stats[_0xf110('0x61')]=[];}}if(stopped){logger['info'](_0xf110('0x85'));_0x5480a6['abort']();}}catch(_0x427dde){handleError(_0x1b9b81[_0xf110('0x70')][_0x30a4bb],{'code':_0xf110('0x86'),'message':_0x427dde['message']});logger['error'](_0xf110('0x87'),_0x427dde[_0xf110('0x20')]);}},'complete':function(){try{var _0x33716c=[];var _0x45470b=tempTableName;_0x33716c[_0xf110('0x1c')]('CREATE\x20TABLE\x20'+_0x45470b+_0xf110('0x88'));logger['info'](_0xf110('0x89'),contactItemTypes[_0xf110('0x19')]);var _0x313b73=util[_0xf110('0xd')](_0xf110('0x8a'),_0x56635f,_0x45470b,_0x12cf4f,_0x3e127e['ListId'],_0x3e127e['CompanyId']||null,NOW,NOW);if(_[_0xf110('0x1a')](_0x13d29e[_0xf110('0x37')])){_0x313b73+=_0xf110('0x8b');}_0x33716c[_0xf110('0x1c')](_0x313b73);BPromise[_0xf110('0x8c')](_0x33716c,handleQuery)['then'](function(_0x50a809){BPromise[_0xf110('0x8d')]([handleAdditionalPhones()])[_0xf110('0x1d')](function(){_0x33716c=[];for(var _0x39c0a0=0x0;_0x39c0a0<promisesContact['length'];_0x39c0a0++){_0x33716c[_0xf110('0x1c')](updateContact(promisesContact[_0x39c0a0][_0xf110('0x8e')]));}BPromise['all'](_0x33716c)['then'](function(){_0x33716c=[];for(var _0x36c627=0x0;_0x36c627<promisesAdditionalPhones['length'];_0x36c627++){_0x33716c[_0xf110('0x1c')](createAdditionalPhone(promisesAdditionalPhones[_0x36c627][_0xf110('0x8f')],promisesAdditionalPhones[_0x36c627][_0xf110('0x90')],promisesAdditionalPhones[_0x36c627][_0xf110('0x10')],promisesAdditionalPhones[_0x36c627][_0xf110('0x91')]));}BPromise['all'](_0x33716c)['then'](function(){_0x33716c=[];_0x33716c['push'](insertCmHopperAdditionalPhones(_0x3e127e['ListId']));_0x33716c[_0xf110('0x1c')](_0xf110('0x92')+_0x45470b+';');BPromise[_0xf110('0x8c')](_0x33716c,handleQuery)['then'](function(_0x5652ff){stats[_0xf110('0x93')]=!![];stats[_0xf110('0x94')]=updatedRows;socket[_0xf110('0x83')](_0xf110('0x84')+_0x482b53,stats);fs[_0xf110('0x95')](_0x16cdcf);fs['unlink'](_0x56635f);process[_0xf110('0x96')](0x0);})[_0xf110('0x1e')](function(_0x310ed6){logger[_0xf110('0x1f')](_0x310ed6[_0xf110('0x20')]);process[_0xf110('0x96')](0x1);});});});});})['catch'](function(_0xe84f45){logger['error'](_0xe84f45[_0xf110('0x20')]);process[_0xf110('0x96')](0x1);});}catch(_0x33f57f){logger[_0xf110('0x1f')]('complete',_0x33f57f[_0xf110('0x20')]);process[_0xf110('0x96')](0x1);}},'error':function(_0x315f21,_0x4d896c,_0x32ea8a,_0x251647){throw new Error(_0x251647);}});});}function validate(){if(process[_0xf110('0x97')]&&process[_0xf110('0x97')][_0xf110('0x19')]<0x4){throw new Error(_0xf110('0x98'));}var _0x35516a=path[_0xf110('0x12')](config[_0xf110('0x67')],'server/files/tmp',process['argv'][0x2]);if(!fs[_0xf110('0x99')](_0x35516a)){throw new Error(_0xf110('0x9a'));}var _0x210a64={};try{_0x210a64=JSON[_0xf110('0x6e')](process[_0xf110('0x97')][0x3]);if(!_0x210a64[_0xf110('0x65')]){throw new Error('binding\x20doesn\x27t\x20exists');}var _0x335048=0x0;if(_0x210a64['binding'][_0xf110('0x3d')]){_0x335048=0x1;}if(!_0x210a64[_0xf110('0x39')]){throw new Error(_0xf110('0x9b'));}}catch(_0x5595cc){throw new Error(_0xf110('0x9c'));}var _0x35b48b=[];try{_0x35b48b=_[_0xf110('0x9d')](JSON[_0xf110('0x6e')](process[_0xf110('0x97')][0x4]),'id');}catch(_0x4215d0){logger[_0xf110('0x5f')](_0xf110('0x9e'));}main(_0x35516a,_0x210a64,_0x35b48b,_0x335048);}validate();process['on'](_0xf110('0x9f'),handleStop);process['on']('uncaughtException',handleUncaughtException);