Built motion from commit 64440dd5.|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 _0x6582=['cm_contacts.UserId','insert','into','cm_hopper','scheduledat','priority','UserId','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_contacts.id','fromQuery','ContactId','createdAt','updatedAt','select','.CmListId\x20=\x20?','cm_hopper_black','ListId\x20=\x20?','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_hopper_additional_phones','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','keys','ListId','CompanyId',')\x20NOT\x20IN\x20?','MIN(id)','min_id','group','info','exit','errors','query','main','stringify','socket_timestamp','server/files/tmp','body','ContactItemType','findAll','name','_description','writeFileSync','createReadStream','data','find','hasOwnProperty','trim','replace','isValid','isNaN','isNumber','includes','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','\x20not\x20specified','description','appendFileSync','emit','Abort\x20parser','abort','SystemError','step','CREATE\x20TABLE\x20','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','contact','contactId','contactTypeId','orderBy','DROP\x20TABLE\x20','affectedRows','contact:import:','unlink','catch','complete','argv','root','existsSync','file\x20doesn\x27t\x20exists','parse','binding','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','squel','ioredis','../../../mysqldb','redis','defaults','localhost','socket.io-emitter','YYYY-MM-DD\x20HH:mm:ss','cm_contacts_temp_','format','YYYYMMDDHHmmss','test','field','phone','from','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','sequelize','select\x20*\x20from\x20','spread','length','isNil','push','all','then','error','message','AdditionalPhones','split','CmContactHasItem','findOne','updated','create','PHONE','inserted','CmContact','update','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt'];(function(_0x4bdd56,_0x219c46){var _0x5c1151=function(_0x34a036){while(--_0x34a036){_0x4bdd56['push'](_0x4bdd56['shift']());}};_0x5c1151(++_0x219c46);}(_0x6582,0x108));var _0x2658=function(_0x4c858f,_0xcd21d1){_0x4c858f=_0x4c858f-0x0;var _0x322921=_0x6582[_0x4c858f];return _0x322921;};'use strict';var fs=require('fs');var path=require(_0x2658('0x0'));var _=require(_0x2658('0x1'));var Papa=require(_0x2658('0x2'));var util=require(_0x2658('0x3'));var BPromise=require(_0x2658('0x4'));var moment=require('moment');var squel=require(_0x2658('0x5'));var Redis=require(_0x2658('0x6'));var db=require(_0x2658('0x7'))['db'];var config=require('../../../config/environment');var logger=require('../../../config/logger')('import');config[_0x2658('0x8')]=_[_0x2658('0x9')](config[_0x2658('0x8')],{'host':_0x2658('0xa'),'port':0x18eb});var socket=require(_0x2658('0xb'))(new Redis(config[_0x2658('0x8')]));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'](_0x2658('0xc'));var tempTableName=_0x2658('0xd')+moment()[_0x2658('0xe')](_0x2658('0xf'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x455ff9){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))*$/[_0x2658('0x10')](_0x455ff9);}function selectNotIn(_0x3f22a5,_0x1aaaac,_0x428f52,_0x56a3c6,_0x20fe6d){return squel['select']()[_0x2658('0x11')](_0x2658('0x12'))[_0x2658('0x13')](_0x56a3c6)[_0x2658('0x14')](_0x1aaaac,null,_0x1aaaac+_0x2658('0x15')+_0x56a3c6+'.'+_0x428f52)[_0x2658('0x16')](_0x56a3c6+'.'+_0x428f52+_0x2658('0x17')+_0x3f22a5+'.'+_0x428f52)['where'](_0x1aaaac+_0x2658('0x18')+_0x20fe6d[_0x2658('0x14')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x2187bd,_0x44422a){promisesAdditionalPhones=[];promisesContact=[];return db[_0x2658('0x19')]['query'](_0x2658('0x1a')+tempTableName)[_0x2658('0x1b')](function(_0x15bd54){if(_0x15bd54!==null){var _0x496524=[];for(var _0xc820a=0x0;_0xc820a<_0x15bd54[_0x2658('0x1c')];_0xc820a++){var _0x3ebf10=_0x15bd54[_0xc820a];if(!_[_0x2658('0x1d')](_0x3ebf10['phone'])){if(!_[_0x2658('0x1d')](_0x3ebf10['AdditionalPhones']))_0x496524[_0x2658('0x1e')](insertAdditionalPhones(_0x3ebf10));promisesContact[_0x2658('0x1e')]({'contact':_0x3ebf10});}}}Promise[_0x2658('0x1f')](_0x496524)[_0x2658('0x20')](function(){_0x2187bd({'val':0x1});});})['catch'](function(_0x13b1d1){logger[_0x2658('0x21')](_0x13b1d1[_0x2658('0x22')]);});});}function insertAdditionalPhones(_0xb0dab8){return new Promise(function(_0x23cf70,_0x386294){var _0x587754=_0xb0dab8[_0x2658('0x23')];if(_['isNil'](_0x587754))_0x386294({'val':0x0});else{var _0x59c9e4=_0x587754[_0x2658('0x24')](';');var _0x132000=[];orderBy=0x0;for(var _0x499ca6=0x0;_0x499ca6<_0x59c9e4[_0x2658('0x1c')];_0x499ca6++){_0x132000['push'](splitAdditionalPhone(_0xb0dab8['id'],_0x59c9e4[_0x499ca6]));}Promise[_0x2658('0x1f')](_0x132000)[_0x2658('0x20')](function(){_0x23cf70({'val':_0x59c9e4[_0x2658('0x1c')]});});}});}function splitAdditionalPhone(_0x2e6d6a,_0x31231c){return new Promise(function(_0x2e80fc,_0xe9f81){var _0xaeaa95=_0x31231c[_0x2658('0x24')](':');var _0x43b6c0=_0xaeaa95[0x0];var _0x566cec=_0xaeaa95[0x1];if(_0x566cec!==''){var _0x2062ef=_0x566cec[_0x2658('0x24')]('|');var _0x338f06=[];for(var _0x3d251e=0x0;_0x3d251e<_0x2062ef[_0x2658('0x1c')];_0x3d251e++){if(_0x2062ef[_0x3d251e]!==''){var _0x3a4b45=_['filter'](promisesAdditionalPhones,{'contactId':_0x2e6d6a,'phone':_0x2062ef[_0x3d251e]});if(_0x3a4b45[_0x2658('0x1c')]==0x0){orderBy++;promisesAdditionalPhones[_0x2658('0x1e')]({'contactId':_0x2e6d6a,'contactTypeId':_0x43b6c0,'phone':_0x2062ef[_0x3d251e],'orderBy':orderBy});}}}_0x2e80fc({'ok':0x1});}else _0x2e80fc({'res':0x0});});}function createAdditionalPhone(_0x2a3141,_0x255759,_0x27e0f5,_0x1492cb){var _0x256172='';var _0xb8d245='';var _0xd891fe=_0x27e0f5[_0x2658('0x24')]('§');_0x256172=_0xd891fe[0x0];if(_0xd891fe[_0x2658('0x1c')]==0x2)_0xb8d245=_0xd891fe[0x1];return new Promise(function(_0x1433b0,_0x291bb4){return db[_0x2658('0x25')][_0x2658('0x26')]({'where':{'CmContactId':_0x2a3141,'item':_0x256172}})[_0x2658('0x20')](function(_0x89f2e2){if(_0x89f2e2){return db[_0x2658('0x25')]['update']({'ItemTypeId':_0x255759,'description':_0xb8d245,'OrderBy':_0x1492cb},{'where':{'CmContactId':_0x2a3141,'item':_0x256172}})[_0x2658('0x20')](function(_0x556dca){_0x1433b0({'res':_0x2658('0x27')});});}else{return db['CmContactHasItem'][_0x2658('0x28')]({'CmContactId':_0x2a3141,'item':_0x256172,'ItemTypeId':_0x255759,'description':_0xb8d245,'OrderBy':_0x1492cb,'ItemClass':_0x2658('0x29')})[_0x2658('0x20')](function(_0x5e9e6f){_0x1433b0({'res':_0x2658('0x2a')});});}});});}function updateContact(_0x3e6f3d){return new Promise(function(_0x324403,_0x455e1b){var _0x28b0bf=_0x3e6f3d['id'];delete _0x3e6f3d['id'];return db[_0x2658('0x2b')][_0x2658('0x2c')](_0x3e6f3d,{'where':{'id':_0x28b0bf}})[_0x2658('0x20')](function(_0xfc7d10){updatedRows+=0x1;return db['CmHopper'][_0x2658('0x2c')]({'phone':_0x3e6f3d[_0x2658('0x12')]},{'where':{'ContactId':_0x28b0bf}})[_0x2658('0x20')](function(_0x4e7578){_0x324403({'ret':'OK'});});});});}function insertCmHopper(_0x5d94b6,_0x5c0f51,_0x15e7ec,_0x202d6e,_0x8d636b){var _0x20fa0a=[_0x2658('0x2d'),_0x2658('0x2e'),'cm_contacts.id',_0x2658('0x2f'),_0x5c0f51+'.'+_0x202d6e,_0x2658('0x30'),_0x2658('0x31'),'cm_contacts.priority',_0x2658('0x32'),'\x22'+_0x8d636b+'\x22'];return squel[_0x2658('0x33')]()[_0x2658('0x34')](_0x2658('0x35'))['fromQuery']([_0x2658('0x12'),_0x2658('0x36'),'ContactId','ListId',_0x202d6e,'createdAt','updatedAt',_0x2658('0x37'),_0x2658('0x38'),_0x2658('0x39')],squel['select']()[_0x2658('0x3a')](_0x20fa0a)['from'](_0x5c0f51)['join'](_0x2658('0x3b'),null,_0x2658('0x3c')+_0x5c0f51+_0x2658('0x3d'))['join'](_0x15e7ec,null,_0x15e7ec+'.id\x20=\x20'+_0x5c0f51+'.'+_0x202d6e)['where'](_0x5c0f51+'.CmListId\x20=\x20?',_0x5d94b6)[_0x2658('0x16')](_0x2658('0x3e'),NOW)[_0x2658('0x16')](_0x2658('0x3f'),selectNotIn(_0x5c0f51,_0x15e7ec,_0x202d6e,'cm_hopper',[_0x2658('0x40'),_0x2658('0x41')]))[_0x2658('0x16')](_0x2658('0x3f'),selectNotIn(_0x5c0f51,_0x15e7ec,_0x202d6e,_0x2658('0x35'),['\x22always\x22'])))[_0x2658('0x42')]();}function insertCmHopperBlack(_0x3152c0,_0x3eec7f,_0x24e8dc,_0x120b41){var _0xd0bfb1=[_0x2658('0x2d'),_0x2658('0x43'),_0x2658('0x2f'),_0x3eec7f+'.'+_0x120b41,_0x2658('0x30'),_0x2658('0x31')];return squel[_0x2658('0x33')]()['into']('cm_hopper_black')[_0x2658('0x44')]([_0x2658('0x12'),_0x2658('0x45'),'ListId',_0x120b41,_0x2658('0x46'),_0x2658('0x47')],squel[_0x2658('0x48')]()[_0x2658('0x3a')](_0xd0bfb1)['from'](_0x3eec7f)[_0x2658('0x14')](_0x2658('0x3b'),null,_0x2658('0x3c')+_0x3eec7f+_0x2658('0x3d'))[_0x2658('0x14')](_0x24e8dc,null,_0x24e8dc+_0x2658('0x15')+_0x3eec7f+'.'+_0x120b41)['where'](_0x3eec7f+_0x2658('0x49'),_0x3152c0)['where'](_0x2658('0x3e'),NOW)[_0x2658('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x2658('0x48')]()[_0x2658('0x11')]('phone')[_0x2658('0x13')](_0x2658('0x4a'))[_0x2658('0x16')](_0x2658('0x4b'),_0x3152c0)[_0x2658('0x16')](_0x120b41+'\x20=\x20?',_0x3eec7f+'.'+_0x120b41)))[_0x2658('0x42')]();}function insertCmHopperAdditionalPhones(_0x2a43f3){var _0x51e795=[_0x2658('0x4c'),_0x2658('0x4d'),_0x2658('0x4e'),_0x2658('0x4f'),'cm_contact_has_items.updatedAt'];return squel[_0x2658('0x33')]()[_0x2658('0x34')](_0x2658('0x50'))[_0x2658('0x44')]([_0x2658('0x51'),_0x2658('0x12'),_0x2658('0x52'),'createdAt',_0x2658('0x47')],squel['select']()[_0x2658('0x3a')](_0x51e795)['from'](_0x2658('0x35'))[_0x2658('0x14')](_0x2658('0x3b'),null,_0x2658('0x53'))[_0x2658('0x14')]('cm_contact_has_items',null,_0x2658('0x54'))[_0x2658('0x16')](_0x2658('0x55'),_0x2a43f3)['where'](_0x2658('0x3e'),NOW))[_0x2658('0x42')]();}function insertCmContact(_0x6cf818,_0x952c04,_0x519205,_0xacf7ae){var _0x4b85d5=_['concat'](_[_0x2658('0x56')](_0xacf7ae),[_0x2658('0x57'),_0x2658('0x58'),'createdAt',_0x2658('0x47')]);return squel[_0x2658('0x33')]()['into'](_0x2658('0x3b'))['fromQuery'](_0x4b85d5,squel['select']()[_0x2658('0x3a')](_0x4b85d5)[_0x2658('0x13')](_0x952c04)['where']('('+_0x519205[_0x2658('0x14')](',')+_0x2658('0x59'),squel[_0x2658('0x48')]()['fields'](_0x519205)['from'](_0x2658('0x3b'))['where']('ListId\x20=\x20?',_0x6cf818))[_0x2658('0x16')]('id\x20IN\x20?',squel[_0x2658('0x48')]()[_0x2658('0x11')](_0x2658('0x5a'),_0x2658('0x5b'))[_0x2658('0x13')](_0x952c04)[_0x2658('0x5c')](_0x519205[_0x2658('0x14')](','))))['toString']();}function handleStop(){logger[_0x2658('0x5d')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x3fad65){logger[_0x2658('0x21')](_0x3fad65[_0x2658('0x22')]);process[_0x2658('0x5e')](0x1);}function handleError(_0x4a9011,_0x5ee554){stats[_0x2658('0x5f')][_0x2658('0x1e')]({'name':_0x5ee554['code'],'message':_0x5ee554['message'],'row':_0x4a9011});}function handleQuery(_0x23c8e8){logger[_0x2658('0x5d')](_0x23c8e8);return db[_0x2658('0x19')][_0x2658('0x60')](_0x23c8e8)[_0x2658('0x1b')](function(_0x4f66b5){results[_0x2658('0x1e')](_0x4f66b5);})['catch'](function(_0x44abd2){logger[_0x2658('0x21')](_0x44abd2['message']);});}function main(_0x2ae859,_0x20a7bb,_0x55b1ec,_0x2405e3){logger[_0x2658('0x5d')](_0x2658('0x61'),_0x2ae859,JSON[_0x2658('0x62')](_0x20a7bb));process['send']('start');var _0x517b2e=_0x20a7bb['binding'];var _0x26edaa=_['clone'](_0x517b2e);var _0x1bf0cf=_0x20a7bb[_0x2658('0x63')];var _0x308db5=path[_0x2658('0x14')](config['root'],_0x2658('0x64'),_0x1bf0cf+'.csv');logger[_0x2658('0x5d')](_0x2658('0x65'),_0x20a7bb);db[_0x2658('0x66')][_0x2658('0x67')]({'raw':!![],'attributes':['id','name']})[_0x2658('0x20')](function(_0x4b1610){for(var _0x191889=0x0;_0x191889<_0x4b1610[_0x2658('0x1c')];_0x191889++){if(_0x4b1610[_0x191889][_0x2658('0x68')]in _0x517b2e){contactItemTypes[_0x2658('0x1e')](_0x4b1610[_0x191889]);delete _0x26edaa[_0x4b1610[_0x191889][_0x2658('0x68')]];hasAdditionalPhones=!![];}for(var _0x42a066 in _0x517b2e){if(_0x4b1610[_0x191889][_0x2658('0x68')]+_0x2658('0x69')===_0x42a066){phoneDescriptions['push']({'itemTypeId':_0x4b1610[_0x191889]['id'],'description':_0x42a066});delete _0x26edaa[_0x42a066];}}}if(hasAdditionalPhones)_0x26edaa[_0x2658('0x23')]='';var _0x1cc0ed=_[_0x2658('0x56')](_0x26edaa)['join']();logger[_0x2658('0x5d')]('header',_0x1cc0ed);fs[_0x2658('0x6a')](_0x308db5,_0x1cc0ed+'\x0a');Papa['parse'](fs[_0x2658('0x6b')](_0x2ae859),{'header':!![],'skipEmptyLines':!![],'step':function(_0xf1665b,_0x3950e8){try{for(var _0x550509=0x0,_0x59d09c=[];_0x550509<_0xf1665b['data']['length'];_0x550509++){stats['rows']+=0x1;if(_0xf1665b[_0x2658('0x5f')][_0x550509]){handleError(_0xf1665b[_0x2658('0x6c')][_0x550509],_0xf1665b[_0x2658('0x5f')][_0x550509]);}else{var _0x107a9e=[];var _0x4e26f2=[];var _0x4267c1={};for(var _0x4383fa in _0x517b2e){let _0x50db6b=contactItemTypes[_0x2658('0x6d')](_0x57eeb7=>_0x57eeb7[_0x2658('0x68')]===_0x4383fa);let _0x3f62c9=contactItemTypes[_0x2658('0x6d')](_0x10848a=>_0x10848a[_0x2658('0x68')]+_0x2658('0x69')===_0x4383fa);if(_[_0x2658('0x1d')](_0x50db6b)&&_[_0x2658('0x1d')](_0x3f62c9)){if(_0x517b2e[_0x2658('0x6e')](_0x4383fa)){if(_0xf1665b['data'][_0x550509][_0x517b2e[_0x4383fa]]){var _0x13e029=_[_0x2658('0x6f')](_0xf1665b[_0x2658('0x6c')][_0x550509][_0x517b2e[_0x4383fa]][_0x2658('0x70')](/"/g,'\x27'));switch(_0x4383fa){case'scheduledat':var _0x335650=moment(_0x13e029,_0x2658('0xc'),!![]);if(_0x335650[_0x2658('0x71')]()){_0x59d09c[_0x2658('0x1e')]('\x22'+_0x13e029+'\x22');}else{_0x107a9e[_0x2658('0x1e')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x2658('0x37'):var _0x405ff4=parseInt(_0x13e029);_0x13e029=_[_0x2658('0x72')](_0x405ff4)||_0x405ff4<0x0||_0x405ff4>0x4?_0x2405e3?0x3:0x2:_0x405ff4;_0x59d09c['push']('\x22'+_0x13e029+'\x22');break;case _0x2658('0x38'):var _0x2f5445=parseInt(_0x13e029);if(_[_0x2658('0x73')](_0x2f5445)&&_[_0x2658('0x74')](_0x55b1ec,_0x2f5445)){_0x59d09c['push']('\x22'+_0x2f5445+'\x22');}else{_0x107a9e['push']('agent\x20not\x20exists');}break;case _0x2658('0x75'):if(isEmail(_0x13e029)){_0x59d09c[_0x2658('0x1e')]('\x22'+_0x13e029+'\x22');}else{_0x107a9e[_0x2658('0x1e')](_0x2658('0x76'));}break;case _0x2658('0x77'):var _0x169817=moment(_0x13e029,_0x2658('0x78'),!![]);if(_0x169817['isValid']()){_0x59d09c['push']('\x22'+_0x13e029+'\x22');}else{_0x107a9e[_0x2658('0x1e')](_0x2658('0x79'));}break;default:_0x59d09c['push']('\x22'+_0x13e029+'\x22');}}else{switch(_0x4383fa){case'firstName':case _0x2658('0x12'):_0x107a9e[_0x2658('0x1e')](_0x4383fa+_0x2658('0x7a'));break;default:_0x59d09c[_0x2658('0x1e')]('\x22\x22');}}}}else{var _0x41b4ee='';if(!_[_0x2658('0x1d')](_0x50db6b)){if(!_0x4267c1[_0x2658('0x6e')](_0x50db6b['id'])){for(var _0x4c526c=0x0;_0x4c526c<_0x517b2e[_0x4383fa]['length'];_0x4c526c++){var _0x13e029=_['trim'](_0xf1665b[_0x2658('0x6c')][_0x550509][_0x517b2e[_0x4383fa][_0x4c526c]][_0x2658('0x70')](/"/g,'\x27'));var _0x152bd0=phoneDescriptions[_0x2658('0x6d')](_0x358ea1=>_0x358ea1['itemTypeId']===_0x50db6b['id']);if(!_[_0x2658('0x1d')](_0x152bd0)){var _0x4318b7=_[_0x2658('0x6f')](_0xf1665b[_0x2658('0x6c')][_0x550509][_0x517b2e[_0x152bd0[_0x2658('0x7b')]][0x0]]['replace'](/"/g,'\x27'));if(!_[_0x2658('0x1d')](_0x4318b7))_0x13e029=_0x13e029+'§'+_0x4318b7;}if(_0x41b4ee=='')_0x41b4ee=_0x13e029;else _0x41b4ee+='|'+_0x13e029;}_0x4e26f2['push'](_0x50db6b['id']+':'+_0x41b4ee);_0x4267c1[_0x50db6b['id']]=0x1;}}}}if(hasAdditionalPhones){_0x59d09c[_0x2658('0x1e')]('\x22'+_0x4e26f2[_0x2658('0x14')](';')+'\x22');}if(_0x107a9e['length']){handleError(_0xf1665b[_0x2658('0x6c')][_0x550509],{'code':'SystemRow','message':_0x107a9e[_0x2658('0x14')]()});}else{fs[_0x2658('0x7c')](_0x308db5,_0x59d09c[_0x2658('0x14')]()+'\x0a');}_0x59d09c=[];}if(!(stats['rows']%0xc8)){socket[_0x2658('0x7d')]('contact:import:'+_0x1bf0cf,stats);stats['errors']=[];}}if(stopped){logger['info'](_0x2658('0x7e'));_0x3950e8[_0x2658('0x7f')]();}}catch(_0x2711cd){handleError(_0xf1665b[_0x2658('0x6c')][_0x550509],{'code':_0x2658('0x80'),'message':_0x2711cd['message']});logger[_0x2658('0x21')](_0x2658('0x81'),_0x2711cd[_0x2658('0x22')]);}},'complete':function(){try{var _0x15ba41=[];var _0x368696=tempTableName;_0x15ba41[_0x2658('0x1e')](_0x2658('0x82')+_0x368696+'\x20LIKE\x20cm_contacts;');logger['info'](_0x2658('0x83'),contactItemTypes[_0x2658('0x1c')]);var _0x2fa9ce=util['format'](_0x2658('0x84'),_0x308db5,_0x368696,_0x1cc0ed,_0x20a7bb[_0x2658('0x57')],_0x20a7bb[_0x2658('0x58')]||null,NOW,NOW);if(_[_0x2658('0x1d')](_0x517b2e['scheduledat'])){_0x2fa9ce+=_0x2658('0x85');}_0x15ba41[_0x2658('0x1e')](_0x2fa9ce);BPromise[_0x2658('0x86')](_0x15ba41,handleQuery)['then'](function(_0x1a3d83){BPromise['all']([handleAdditionalPhones()])['then'](function(){_0x15ba41=[];for(var _0x2a131f=0x0;_0x2a131f<promisesContact['length'];_0x2a131f++){_0x15ba41[_0x2658('0x1e')](updateContact(promisesContact[_0x2a131f][_0x2658('0x87')]));}BPromise[_0x2658('0x1f')](_0x15ba41)[_0x2658('0x20')](function(){_0x15ba41=[];for(var _0x33fd1f=0x0;_0x33fd1f<promisesAdditionalPhones[_0x2658('0x1c')];_0x33fd1f++){_0x15ba41[_0x2658('0x1e')](createAdditionalPhone(promisesAdditionalPhones[_0x33fd1f][_0x2658('0x88')],promisesAdditionalPhones[_0x33fd1f][_0x2658('0x89')],promisesAdditionalPhones[_0x33fd1f][_0x2658('0x12')],promisesAdditionalPhones[_0x33fd1f][_0x2658('0x8a')]));}BPromise[_0x2658('0x1f')](_0x15ba41)[_0x2658('0x20')](function(){_0x15ba41=[];_0x15ba41[_0x2658('0x1e')](insertCmHopperAdditionalPhones(_0x20a7bb[_0x2658('0x57')]));_0x15ba41[_0x2658('0x1e')](_0x2658('0x8b')+_0x368696+';');BPromise[_0x2658('0x86')](_0x15ba41,handleQuery)[_0x2658('0x20')](function(_0x495058){stats['finish']=!![];stats[_0x2658('0x8c')]=updatedRows;socket[_0x2658('0x7d')](_0x2658('0x8d')+_0x1bf0cf,stats);fs[_0x2658('0x8e')](_0x2ae859);fs['unlink'](_0x308db5);process[_0x2658('0x5e')](0x0);})['catch'](function(_0x2ebc78){logger['error'](_0x2ebc78[_0x2658('0x22')]);process[_0x2658('0x5e')](0x1);});});});});})[_0x2658('0x8f')](function(_0x33efa1){logger[_0x2658('0x21')](_0x33efa1['message']);process[_0x2658('0x5e')](0x1);});}catch(_0xd5188e){logger[_0x2658('0x21')](_0x2658('0x90'),_0xd5188e[_0x2658('0x22')]);process['exit'](0x1);}},'error':function(_0x2b09df,_0x24a4be,_0x2e16c1,_0x97232f){throw new Error(_0x97232f);}});});}function validate(){if(process[_0x2658('0x91')]&&process[_0x2658('0x91')][_0x2658('0x1c')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x40e652=path[_0x2658('0x14')](config[_0x2658('0x92')],_0x2658('0x64'),process['argv'][0x2]);if(!fs[_0x2658('0x93')](_0x40e652)){throw new Error(_0x2658('0x94'));}var _0x19c57f={};try{_0x19c57f=JSON[_0x2658('0x95')](process[_0x2658('0x91')][0x3]);if(!_0x19c57f[_0x2658('0x96')]){throw new Error('binding\x20doesn\x27t\x20exists');}var _0x3aea50=0x0;if(_0x19c57f[_0x2658('0x96')]['UserId']){_0x3aea50=0x1;}if(!_0x19c57f[_0x2658('0x57')]){throw new Error(_0x2658('0x97'));}}catch(_0x1b0fcb){throw new Error(_0x2658('0x98'));}var _0x5b2fd4=[];try{_0x5b2fd4=_[_0x2658('0x99')](JSON[_0x2658('0x95')](process[_0x2658('0x91')][0x4]),'id');}catch(_0x38c519){logger[_0x2658('0x5d')](_0x2658('0x9a'));}main(_0x40e652,_0x19c57f,_0x5b2fd4,_0x3aea50);}validate();process['on'](_0x2658('0x9b'),handleStop);process['on'](_0x2658('0x9c'),handleUncaughtException);