0307507427d51c471948dc92e8ab1a2ab9727542
[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 _0x1e82=['join','.id\x20=\x20','where','select\x20*\x20from\x20','spread','length','isNil','AdditionalPhones','all','then','catch','message','push','split','filter','CmContactHasItem','findOne','PHONE','inserted','CmContact','CmHopper','update','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','fields','from','cm_contacts','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.phone\x20NOT\x20IN\x20(?)','toString','cm_hopper_black','field','ListId\x20=\x20?','\x20=\x20?','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_hopper_additional_phones','CmHopperId','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys',')\x20NOT\x20IN\x20?','id\x20IN\x20?','MIN(id)','min_id','Received\x20SIGINT','exit','errors','code','info','query','error','main','stringify','send','start','binding','socket_timestamp','.csv','body','ContactItemType','findAll','name','_description','header','writeFileSync','parse','createReadStream','data','find','hasOwnProperty','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','includes','agent\x20not\x20exists','email','YYYY-MM-DD','firstName','\x20not\x20specified','trim','itemTypeId','description','SystemRow','appendFileSync','rows','emit','Abort\x20parser','abort','SystemError','step','\x20LIKE\x20cm_contacts;','CIS\x20len','CompanyId','scheduledat','each','contact','contactTypeId','DROP\x20TABLE\x20','finish','affectedRows','contact:import:','unlink','complete','argv','root','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','moment','ioredis','../../../mysqldb','../../../config/logger','redis','defaults','localhost','format','YYYY-MM-DD\x20HH:mm:ss','YYYYMMDDHHmmss','test','select','phone'];(function(_0x447a5c,_0x1e994d){var _0x19ed40=function(_0x3364c7){while(--_0x3364c7){_0x447a5c['push'](_0x447a5c['shift']());}};_0x19ed40(++_0x1e994d);}(_0x1e82,0x8b));var _0x21e8=function(_0x56995b,_0x4276aa){_0x56995b=_0x56995b-0x0;var _0x43eece=_0x1e82[_0x56995b];return _0x43eece;};'use strict';var fs=require('fs');var path=require(_0x21e8('0x0'));var _=require(_0x21e8('0x1'));var Papa=require(_0x21e8('0x2'));var util=require(_0x21e8('0x3'));var BPromise=require(_0x21e8('0x4'));var moment=require(_0x21e8('0x5'));var squel=require('squel');var Redis=require(_0x21e8('0x6'));var db=require(_0x21e8('0x7'))['db'];var config=require('../../../config/environment');var logger=require(_0x21e8('0x8'))('import');config[_0x21e8('0x9')]=_[_0x21e8('0xa')](config[_0x21e8('0x9')],{'host':_0x21e8('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x21e8('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()[_0x21e8('0xc')](_0x21e8('0xd'));var tempTableName='cm_contacts_temp_'+moment()[_0x21e8('0xc')](_0x21e8('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x2f4a82){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))*$/[_0x21e8('0xf')](_0x2f4a82);}function selectNotIn(_0x5c6d17,_0x4d561a,_0x265ea1,_0x5501d7,_0x131349){return squel[_0x21e8('0x10')]()['field'](_0x21e8('0x11'))['from'](_0x5501d7)[_0x21e8('0x12')](_0x4d561a,null,_0x4d561a+_0x21e8('0x13')+_0x5501d7+'.'+_0x265ea1)[_0x21e8('0x14')](_0x5501d7+'.'+_0x265ea1+'\x20=\x20'+_0x5c6d17+'.'+_0x265ea1)[_0x21e8('0x14')](_0x4d561a+'.dialCheckDuplicateType\x20IN\x20('+_0x131349[_0x21e8('0x12')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x3c6bf2,_0x158da6){promisesAdditionalPhones=[];promisesContact=[];return db['sequelize']['query'](_0x21e8('0x15')+tempTableName)[_0x21e8('0x16')](function(_0x2b6ad6){if(_0x2b6ad6!==null){var _0x18915a=[];for(var _0x1697d4=0x0;_0x1697d4<_0x2b6ad6[_0x21e8('0x17')];_0x1697d4++){var _0x29d932=_0x2b6ad6[_0x1697d4];if(!_[_0x21e8('0x18')](_0x29d932[_0x21e8('0x11')])){if(!_['isNil'](_0x29d932[_0x21e8('0x19')]))_0x18915a['push'](insertAdditionalPhones(_0x29d932));promisesContact['push']({'contact':_0x29d932});}}}Promise[_0x21e8('0x1a')](_0x18915a)[_0x21e8('0x1b')](function(){_0x3c6bf2({'val':0x1});});})[_0x21e8('0x1c')](function(_0x2030bb){logger['error'](_0x2030bb[_0x21e8('0x1d')]);});});}function insertAdditionalPhones(_0x1be10b){return new Promise(function(_0x25b678,_0x2e5d89){var _0xa969eb=_0x1be10b[_0x21e8('0x19')];if(_[_0x21e8('0x18')](_0xa969eb))_0x2e5d89({'val':0x0});else{var _0x31501c=_0xa969eb['split'](';');var _0xc9673c=[];orderBy=0x0;for(var _0x34937f=0x0;_0x34937f<_0x31501c['length'];_0x34937f++){_0xc9673c[_0x21e8('0x1e')](splitAdditionalPhone(_0x1be10b['id'],_0x31501c[_0x34937f]));}Promise[_0x21e8('0x1a')](_0xc9673c)[_0x21e8('0x1b')](function(){_0x25b678({'val':_0x31501c[_0x21e8('0x17')]});});}});}function splitAdditionalPhone(_0x2a4a59,_0xfa4021){return new Promise(function(_0x1e5819,_0x3ed4c3){var _0x565c96=_0xfa4021[_0x21e8('0x1f')](':');var _0x5964ab=_0x565c96[0x0];var _0x232351=_0x565c96[0x1];if(_0x232351!==''){var _0x364dad=_0x232351[_0x21e8('0x1f')]('|');var _0x559509=[];for(var _0x1bdd15=0x0;_0x1bdd15<_0x364dad['length'];_0x1bdd15++){if(_0x364dad[_0x1bdd15]!==''){var _0x537902=_[_0x21e8('0x20')](promisesAdditionalPhones,{'contactId':_0x2a4a59,'phone':_0x364dad[_0x1bdd15]});if(_0x537902[_0x21e8('0x17')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x2a4a59,'contactTypeId':_0x5964ab,'phone':_0x364dad[_0x1bdd15],'orderBy':orderBy});}}}_0x1e5819({'ok':0x1});}else _0x1e5819({'res':0x0});});}function createAdditionalPhone(_0x1f6796,_0x2312a5,_0x364cd8,_0x5e79c5){var _0x3348b0='';var _0x3a5ff1='';var _0x10131a=_0x364cd8[_0x21e8('0x1f')]('§');_0x3348b0=_0x10131a[0x0];if(_0x10131a[_0x21e8('0x17')]==0x2)_0x3a5ff1=_0x10131a[0x1];return new Promise(function(_0x304f00,_0x2116f2){return db[_0x21e8('0x21')][_0x21e8('0x22')]({'where':{'CmContactId':_0x1f6796,'item':_0x3348b0}})[_0x21e8('0x1b')](function(_0x4711a4){if(_0x4711a4){return db[_0x21e8('0x21')]['update']({'ItemTypeId':_0x2312a5,'description':_0x3a5ff1,'OrderBy':_0x5e79c5},{'where':{'CmContactId':_0x1f6796,'item':_0x3348b0}})[_0x21e8('0x1b')](function(_0x418d46){_0x304f00({'res':'updated'});});}else{return db['CmContactHasItem']['create']({'CmContactId':_0x1f6796,'item':_0x3348b0,'ItemTypeId':_0x2312a5,'description':_0x3a5ff1,'OrderBy':_0x5e79c5,'ItemClass':_0x21e8('0x23')})['then'](function(_0x45be6f){_0x304f00({'res':_0x21e8('0x24')});});}});});}function updateContact(_0xd4fdd0){return new Promise(function(_0x8a1d94,_0x4d73cd){var _0x5b5291=_0xd4fdd0['id'];delete _0xd4fdd0['id'];return db[_0x21e8('0x25')]['update'](_0xd4fdd0,{'where':{'id':_0x5b5291}})[_0x21e8('0x1b')](function(_0x1cf161){updatedRows+=0x1;return db[_0x21e8('0x26')][_0x21e8('0x27')]({'phone':_0xd4fdd0['phone']},{'where':{'ContactId':_0x5b5291}})[_0x21e8('0x1b')](function(_0x2acb3b){_0x8a1d94({'ret':'OK'});});});});}function insertCmHopper(_0x27c8bd,_0x31cb59,_0x175ab9,_0x4e1e49,_0x2f6fef){var _0x899d39=[_0x21e8('0x28'),_0x21e8('0x29'),_0x21e8('0x2a'),_0x21e8('0x2b'),_0x31cb59+'.'+_0x4e1e49,_0x21e8('0x2c'),_0x21e8('0x2d'),_0x21e8('0x2e'),_0x21e8('0x2f'),'\x22'+_0x2f6fef+'\x22'];return squel[_0x21e8('0x30')]()[_0x21e8('0x31')](_0x21e8('0x32'))[_0x21e8('0x33')]([_0x21e8('0x11'),'scheduledat',_0x21e8('0x34'),_0x21e8('0x35'),_0x4e1e49,_0x21e8('0x36'),_0x21e8('0x37'),_0x21e8('0x38'),_0x21e8('0x39'),_0x21e8('0x3a')],squel[_0x21e8('0x10')]()[_0x21e8('0x3b')](_0x899d39)[_0x21e8('0x3c')](_0x31cb59)['join'](_0x21e8('0x3d'),null,'cm_contacts.ListId\x20=\x20'+_0x31cb59+_0x21e8('0x3e'))[_0x21e8('0x12')](_0x175ab9,null,_0x175ab9+'.id\x20=\x20'+_0x31cb59+'.'+_0x4e1e49)[_0x21e8('0x14')](_0x31cb59+_0x21e8('0x3f'),_0x27c8bd)[_0x21e8('0x14')](_0x21e8('0x40'),NOW)[_0x21e8('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x31cb59,_0x175ab9,_0x4e1e49,'cm_hopper',[_0x21e8('0x41'),_0x21e8('0x42')]))[_0x21e8('0x14')](_0x21e8('0x43'),selectNotIn(_0x31cb59,_0x175ab9,_0x4e1e49,_0x21e8('0x32'),[_0x21e8('0x41')])))[_0x21e8('0x44')]();}function insertCmHopperBlack(_0x4d47a3,_0x14d437,_0x5af28d,_0x44094d){var _0x1671f2=[_0x21e8('0x28'),_0x21e8('0x2a'),_0x21e8('0x2b'),_0x14d437+'.'+_0x44094d,_0x21e8('0x2c'),_0x21e8('0x2d')];return squel[_0x21e8('0x30')]()[_0x21e8('0x31')](_0x21e8('0x45'))['fromQuery']([_0x21e8('0x11'),_0x21e8('0x34'),_0x21e8('0x35'),_0x44094d,'createdAt',_0x21e8('0x37')],squel[_0x21e8('0x10')]()[_0x21e8('0x3b')](_0x1671f2)['from'](_0x14d437)['join'](_0x21e8('0x3d'),null,'cm_contacts.ListId\x20=\x20'+_0x14d437+'.CmListId')['join'](_0x5af28d,null,_0x5af28d+_0x21e8('0x13')+_0x14d437+'.'+_0x44094d)[_0x21e8('0x14')](_0x14d437+_0x21e8('0x3f'),_0x4d47a3)[_0x21e8('0x14')](_0x21e8('0x40'),NOW)[_0x21e8('0x14')](_0x21e8('0x43'),squel[_0x21e8('0x10')]()[_0x21e8('0x46')]('phone')[_0x21e8('0x3c')](_0x21e8('0x45'))[_0x21e8('0x14')](_0x21e8('0x47'),_0x4d47a3)['where'](_0x44094d+_0x21e8('0x48'),_0x14d437+'.'+_0x44094d)))['toString']();}function insertCmHopperAdditionalPhones(_0x39e4bf){var _0x2bdd65=['cm_hopper.id',_0x21e8('0x49'),_0x21e8('0x4a'),_0x21e8('0x4b'),'cm_contact_has_items.updatedAt'];return squel['insert']()[_0x21e8('0x31')](_0x21e8('0x4c'))[_0x21e8('0x33')]([_0x21e8('0x4d'),'phone','OrderBy','createdAt',_0x21e8('0x37')],squel[_0x21e8('0x10')]()['fields'](_0x2bdd65)[_0x21e8('0x3c')](_0x21e8('0x32'))[_0x21e8('0x12')](_0x21e8('0x3d'),null,_0x21e8('0x4e'))[_0x21e8('0x12')]('cm_contact_has_items',null,_0x21e8('0x4f'))[_0x21e8('0x14')](_0x21e8('0x50'),_0x39e4bf)[_0x21e8('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW))['toString']();}function insertCmContact(_0x2082ae,_0x5ab80d,_0x446efb,_0x2ba157){var _0x446577=_[_0x21e8('0x51')](_[_0x21e8('0x52')](_0x2ba157),[_0x21e8('0x35'),'CompanyId','createdAt','updatedAt']);return squel['insert']()[_0x21e8('0x31')](_0x21e8('0x3d'))[_0x21e8('0x33')](_0x446577,squel[_0x21e8('0x10')]()[_0x21e8('0x3b')](_0x446577)['from'](_0x5ab80d)['where']('('+_0x446efb[_0x21e8('0x12')](',')+_0x21e8('0x53'),squel[_0x21e8('0x10')]()[_0x21e8('0x3b')](_0x446efb)['from'](_0x21e8('0x3d'))[_0x21e8('0x14')](_0x21e8('0x47'),_0x2082ae))[_0x21e8('0x14')](_0x21e8('0x54'),squel[_0x21e8('0x10')]()['field'](_0x21e8('0x55'),_0x21e8('0x56'))[_0x21e8('0x3c')](_0x5ab80d)['group'](_0x446efb[_0x21e8('0x12')](','))))[_0x21e8('0x44')]();}function handleStop(){logger['info'](_0x21e8('0x57'));stopped=!![];}function handleUncaughtException(_0x4c0329){logger['error'](_0x4c0329[_0x21e8('0x1d')]);process[_0x21e8('0x58')](0x1);}function handleError(_0x1c591f,_0x352ce8){stats[_0x21e8('0x59')][_0x21e8('0x1e')]({'name':_0x352ce8[_0x21e8('0x5a')],'message':_0x352ce8[_0x21e8('0x1d')],'row':_0x1c591f});}function handleQuery(_0x43c211){logger[_0x21e8('0x5b')](_0x43c211);return db['sequelize'][_0x21e8('0x5c')](_0x43c211)[_0x21e8('0x16')](function(_0x56aa55){results['push'](_0x56aa55);})[_0x21e8('0x1c')](function(_0x13df1c){logger[_0x21e8('0x5d')](_0x13df1c[_0x21e8('0x1d')]);});}function main(_0x104f68,_0x10e95a,_0x1e3e24,_0x159adf){logger['info'](_0x21e8('0x5e'),_0x104f68,JSON[_0x21e8('0x5f')](_0x10e95a));process[_0x21e8('0x60')](_0x21e8('0x61'));var _0xb26591=_0x10e95a[_0x21e8('0x62')];var _0xe5dd78=_['clone'](_0xb26591);var _0x3af8a1=_0x10e95a[_0x21e8('0x63')];var _0x448c95=path[_0x21e8('0x12')](config['root'],'server/files/tmp',_0x3af8a1+_0x21e8('0x64'));logger[_0x21e8('0x5b')](_0x21e8('0x65'),_0x10e95a);db[_0x21e8('0x66')][_0x21e8('0x67')]({'raw':!![],'attributes':['id',_0x21e8('0x68')]})[_0x21e8('0x1b')](function(_0x13d5ba){for(var _0x5d471c=0x0;_0x5d471c<_0x13d5ba[_0x21e8('0x17')];_0x5d471c++){if(_0x13d5ba[_0x5d471c][_0x21e8('0x68')]in _0xb26591){contactItemTypes['push'](_0x13d5ba[_0x5d471c]);delete _0xe5dd78[_0x13d5ba[_0x5d471c][_0x21e8('0x68')]];hasAdditionalPhones=!![];}for(var _0x24c3ab in _0xb26591){if(_0x13d5ba[_0x5d471c]['name']+_0x21e8('0x69')===_0x24c3ab){phoneDescriptions[_0x21e8('0x1e')]({'itemTypeId':_0x13d5ba[_0x5d471c]['id'],'description':_0x24c3ab});delete _0xe5dd78[_0x24c3ab];}}}if(hasAdditionalPhones)_0xe5dd78[_0x21e8('0x19')]='';var _0x990898=_[_0x21e8('0x52')](_0xe5dd78)[_0x21e8('0x12')]();logger[_0x21e8('0x5b')](_0x21e8('0x6a'),_0x990898);fs[_0x21e8('0x6b')](_0x448c95,_0x990898+'\x0a');Papa[_0x21e8('0x6c')](fs[_0x21e8('0x6d')](_0x104f68),{'header':!![],'skipEmptyLines':!![],'step':function(_0x41e2e3,_0xb0553a){try{for(var _0x30730a=0x0,_0x590a9f=[];_0x30730a<_0x41e2e3[_0x21e8('0x6e')][_0x21e8('0x17')];_0x30730a++){stats['rows']+=0x1;if(_0x41e2e3[_0x21e8('0x59')][_0x30730a]){handleError(_0x41e2e3[_0x21e8('0x6e')][_0x30730a],_0x41e2e3['errors'][_0x30730a]);}else{var _0x31cf80=[];var _0x436f6a=[];var _0x2c0230={};for(var _0x595fa3 in _0xb26591){let _0x238001=contactItemTypes[_0x21e8('0x6f')](_0x2cba6e=>_0x2cba6e[_0x21e8('0x68')]===_0x595fa3);let _0x5aed5d=contactItemTypes[_0x21e8('0x6f')](_0x1974fc=>_0x1974fc[_0x21e8('0x68')]+'_description'===_0x595fa3);if(_[_0x21e8('0x18')](_0x238001)&&_[_0x21e8('0x18')](_0x5aed5d)){if(_0xb26591[_0x21e8('0x70')](_0x595fa3)){if(_0x41e2e3[_0x21e8('0x6e')][_0x30730a][_0xb26591[_0x595fa3]]){var _0x1e3384=_['trim'](_0x41e2e3[_0x21e8('0x6e')][_0x30730a][_0xb26591[_0x595fa3]][_0x21e8('0x71')](/"/g,'\x27'));switch(_0x595fa3){case'scheduledat':var _0x53a8a8=moment(_0x1e3384,_0x21e8('0xd'),!![]);if(_0x53a8a8[_0x21e8('0x72')]()){_0x590a9f[_0x21e8('0x1e')]('\x22'+_0x1e3384+'\x22');}else{_0x31cf80[_0x21e8('0x1e')](_0x21e8('0x73'));}break;case'priority':var _0x365cbf=parseInt(_0x1e3384);_0x1e3384=_[_0x21e8('0x74')](_0x365cbf)||_0x365cbf<0x0||_0x365cbf>0x4?_0x159adf?0x3:0x2:_0x365cbf;_0x590a9f['push']('\x22'+_0x1e3384+'\x22');break;case _0x21e8('0x39'):var _0xf99d0e=parseInt(_0x1e3384);if(_[_0x21e8('0x75')](_0xf99d0e)&&_[_0x21e8('0x76')](_0x1e3e24,_0xf99d0e)){_0x590a9f['push']('\x22'+_0xf99d0e+'\x22');}else{_0x31cf80[_0x21e8('0x1e')](_0x21e8('0x77'));}break;case _0x21e8('0x78'):if(isEmail(_0x1e3384)){_0x590a9f[_0x21e8('0x1e')]('\x22'+_0x1e3384+'\x22');}else{_0x31cf80[_0x21e8('0x1e')]('email\x20wrong\x20format');}break;case'dateOfBirth':var _0x94a132=moment(_0x1e3384,_0x21e8('0x79'),!![]);if(_0x94a132[_0x21e8('0x72')]()){_0x590a9f[_0x21e8('0x1e')]('\x22'+_0x1e3384+'\x22');}else{_0x31cf80['push']('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;default:_0x590a9f[_0x21e8('0x1e')]('\x22'+_0x1e3384+'\x22');}}else{switch(_0x595fa3){case _0x21e8('0x7a'):case _0x21e8('0x11'):_0x31cf80[_0x21e8('0x1e')](_0x595fa3+_0x21e8('0x7b'));break;default:_0x590a9f[_0x21e8('0x1e')]('\x22\x22');}}}}else{var _0x50d9be='';if(!_['isNil'](_0x238001)){if(!_0x2c0230[_0x21e8('0x70')](_0x238001['id'])){for(var _0x15aaf4=0x0;_0x15aaf4<_0xb26591[_0x595fa3][_0x21e8('0x17')];_0x15aaf4++){var _0x1e3384=_[_0x21e8('0x7c')](_0x41e2e3[_0x21e8('0x6e')][_0x30730a][_0xb26591[_0x595fa3][_0x15aaf4]]['replace'](/"/g,'\x27'));var _0x491596=phoneDescriptions[_0x21e8('0x6f')](_0x441c88=>_0x441c88[_0x21e8('0x7d')]===_0x238001['id']);if(!_[_0x21e8('0x18')](_0x491596)){var _0x1fa20e=_[_0x21e8('0x7c')](_0x41e2e3[_0x21e8('0x6e')][_0x30730a][_0xb26591[_0x491596[_0x21e8('0x7e')]][0x0]]['replace'](/"/g,'\x27'));if(!_[_0x21e8('0x18')](_0x1fa20e))_0x1e3384=_0x1e3384+'§'+_0x1fa20e;}if(_0x50d9be=='')_0x50d9be=_0x1e3384;else _0x50d9be+='|'+_0x1e3384;}_0x436f6a['push'](_0x238001['id']+':'+_0x50d9be);_0x2c0230[_0x238001['id']]=0x1;}}}}if(hasAdditionalPhones){_0x590a9f[_0x21e8('0x1e')]('\x22'+_0x436f6a[_0x21e8('0x12')](';')+'\x22');}if(_0x31cf80[_0x21e8('0x17')]){handleError(_0x41e2e3[_0x21e8('0x6e')][_0x30730a],{'code':_0x21e8('0x7f'),'message':_0x31cf80[_0x21e8('0x12')]()});}else{fs[_0x21e8('0x80')](_0x448c95,_0x590a9f['join']()+'\x0a');}_0x590a9f=[];}if(!(stats[_0x21e8('0x81')]%0xc8)){socket[_0x21e8('0x82')]('contact:import:'+_0x3af8a1,stats);stats['errors']=[];}}if(stopped){logger[_0x21e8('0x5b')](_0x21e8('0x83'));_0xb0553a[_0x21e8('0x84')]();}}catch(_0x547880){handleError(_0x41e2e3[_0x21e8('0x6e')][_0x30730a],{'code':_0x21e8('0x85'),'message':_0x547880['message']});logger[_0x21e8('0x5d')](_0x21e8('0x86'),_0x547880[_0x21e8('0x1d')]);}},'complete':function(){try{var _0x53b4df=[];var _0x2537b0=tempTableName;_0x53b4df[_0x21e8('0x1e')]('CREATE\x20TABLE\x20'+_0x2537b0+_0x21e8('0x87'));logger[_0x21e8('0x5b')](_0x21e8('0x88'),contactItemTypes['length']);var _0x346d55=util['format']('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',_0x448c95,_0x2537b0,_0x990898,_0x10e95a[_0x21e8('0x35')],_0x10e95a[_0x21e8('0x89')]||null,NOW,NOW);if(_['isNil'](_0xb26591[_0x21e8('0x8a')])){_0x346d55+=',\x20scheduledAt\x20=\x20NOW()';}_0x53b4df['push'](_0x346d55);BPromise[_0x21e8('0x8b')](_0x53b4df,handleQuery)['then'](function(_0x2ddd66){BPromise[_0x21e8('0x1a')]([handleAdditionalPhones()])['then'](function(){_0x53b4df=[];for(var _0x742181=0x0;_0x742181<promisesContact[_0x21e8('0x17')];_0x742181++){_0x53b4df['push'](updateContact(promisesContact[_0x742181][_0x21e8('0x8c')]));}BPromise['all'](_0x53b4df)[_0x21e8('0x1b')](function(){_0x53b4df=[];for(var _0x2d1a8e=0x0;_0x2d1a8e<promisesAdditionalPhones[_0x21e8('0x17')];_0x2d1a8e++){_0x53b4df[_0x21e8('0x1e')](createAdditionalPhone(promisesAdditionalPhones[_0x2d1a8e]['contactId'],promisesAdditionalPhones[_0x2d1a8e][_0x21e8('0x8d')],promisesAdditionalPhones[_0x2d1a8e][_0x21e8('0x11')],promisesAdditionalPhones[_0x2d1a8e]['orderBy']));}BPromise['all'](_0x53b4df)[_0x21e8('0x1b')](function(){_0x53b4df=[];_0x53b4df['push'](insertCmHopperAdditionalPhones(_0x10e95a[_0x21e8('0x35')]));_0x53b4df[_0x21e8('0x1e')](_0x21e8('0x8e')+_0x2537b0+';');BPromise[_0x21e8('0x8b')](_0x53b4df,handleQuery)[_0x21e8('0x1b')](function(_0x3133a7){stats[_0x21e8('0x8f')]=!![];stats[_0x21e8('0x90')]=updatedRows;socket['emit'](_0x21e8('0x91')+_0x3af8a1,stats);fs[_0x21e8('0x92')](_0x104f68);fs[_0x21e8('0x92')](_0x448c95);process[_0x21e8('0x58')](0x0);})[_0x21e8('0x1c')](function(_0x4eb54e){logger[_0x21e8('0x5d')](_0x4eb54e[_0x21e8('0x1d')]);process[_0x21e8('0x58')](0x1);});});});});})['catch'](function(_0x4789e3){logger['error'](_0x4789e3[_0x21e8('0x1d')]);process[_0x21e8('0x58')](0x1);});}catch(_0x5048cb){logger[_0x21e8('0x5d')](_0x21e8('0x93'),_0x5048cb[_0x21e8('0x1d')]);process[_0x21e8('0x58')](0x1);}},'error':function(_0x4efebc,_0x524bd6,_0x2a8d57,_0x395d24){throw new Error(_0x395d24);}});});}function validate(){if(process[_0x21e8('0x94')]&&process[_0x21e8('0x94')]['length']<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x307851=path[_0x21e8('0x12')](config[_0x21e8('0x95')],'server/files/tmp',process['argv'][0x2]);if(!fs['existsSync'](_0x307851)){throw new Error(_0x21e8('0x96'));}var _0x2fac3a={};try{_0x2fac3a=JSON[_0x21e8('0x6c')](process[_0x21e8('0x94')][0x3]);if(!_0x2fac3a[_0x21e8('0x62')]){throw new Error(_0x21e8('0x97'));}var _0x17ae6c=0x0;if(_0x2fac3a[_0x21e8('0x62')][_0x21e8('0x39')]){_0x17ae6c=0x1;}if(!_0x2fac3a[_0x21e8('0x35')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x1f5c23){throw new Error(_0x21e8('0x98'));}var _0x322ef8=[];try{_0x322ef8=_[_0x21e8('0x99')](JSON[_0x21e8('0x6c')](process[_0x21e8('0x94')][0x4]),'id');}catch(_0x585e8c){logger[_0x21e8('0x5b')](_0x21e8('0x9a'));}main(_0x307851,_0x2fac3a,_0x322ef8,_0x17ae6c);}validate();process['on'](_0x21e8('0x9b'),handleStop);process['on'](_0x21e8('0x9c'),handleUncaughtException);