Built motion from commit f0b1811d.|2.6.6
[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 _0xa19c=['clone','socket_timestamp','root','server/files/tmp','.csv','body','ContactItemType','findAll','name','keys','header','writeFileSync','parse','data','find','trim','isValid','includes','agent\x20not\x20exists','email','dateOfBirth','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','hasOwnProperty','replace','itemTypeId','description','SystemRow','appendFileSync','contact:import:','Abort\x20parser','abort','SystemError','step','\x20LIKE\x20cm_contacts;','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','contactId','contactTypeId','DROP\x20TABLE\x20','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','moment','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','redis','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','cm_contacts_temp_','YYYYMMDDHHmmss','test','select','field','phone','from','join','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','sequelize','query','select\x20*\x20from\x20','spread','length','isNil','push','all','then','catch','error','AdditionalPhones','split','filter','findOne','CmContactHasItem','update','updated','create','inserted','CmHopper','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.priority','cm_contacts.UserId','insert','cm_hopper','scheduledat','ListId','createdAt','updatedAt','priority','UserId','recallme','fields','cm_contacts.ListId\x20=\x20','.id\x20=\x20','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','toString','cm_contacts.phone','into','cm_hopper_black','fromQuery','ContactId','cm_contacts','.CmListId','.CmListId\x20=\x20?','ListId\x20=\x20?','cm_hopper.id','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','CompanyId',')\x20NOT\x20IN\x20?','MIN(id)','min_id','info','Received\x20SIGINT','message','exit','errors','main','stringify','send','start','binding'];(function(_0x5b5466,_0x35d36e){var _0x1a1d28=function(_0x17ca4b){while(--_0x17ca4b){_0x5b5466['push'](_0x5b5466['shift']());}};_0x1a1d28(++_0x35d36e);}(_0xa19c,0xce));var _0xca19=function(_0x17609f,_0x26cdf5){_0x17609f=_0x17609f-0x0;var _0x227ace=_0xa19c[_0x17609f];return _0x227ace;};'use strict';var fs=require('fs');var path=require(_0xca19('0x0'));var _=require(_0xca19('0x1'));var Papa=require(_0xca19('0x2'));var util=require('util');var BPromise=require('bluebird');var moment=require(_0xca19('0x3'));var squel=require('squel');var Redis=require(_0xca19('0x4'));var db=require(_0xca19('0x5'))['db'];var config=require(_0xca19('0x6'));var logger=require(_0xca19('0x7'))('import');config[_0xca19('0x8')]=_['defaults'](config[_0xca19('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0xca19('0x9'))(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()[_0xca19('0xa')](_0xca19('0xb'));var tempTableName=_0xca19('0xc')+moment()[_0xca19('0xa')](_0xca19('0xd'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x53f1cf){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))*$/[_0xca19('0xe')](_0x53f1cf);}function selectNotIn(_0x3b1a8d,_0x3ff87d,_0x32434a,_0x3c6e10,_0x14fd71){return squel[_0xca19('0xf')]()[_0xca19('0x10')](_0xca19('0x11'))[_0xca19('0x12')](_0x3c6e10)[_0xca19('0x13')](_0x3ff87d,null,_0x3ff87d+'.id\x20=\x20'+_0x3c6e10+'.'+_0x32434a)[_0xca19('0x14')](_0x3c6e10+'.'+_0x32434a+_0xca19('0x15')+_0x3b1a8d+'.'+_0x32434a)[_0xca19('0x14')](_0x3ff87d+_0xca19('0x16')+_0x14fd71[_0xca19('0x13')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x3dad52,_0x4129eb){promisesAdditionalPhones=[];promisesContact=[];return db[_0xca19('0x17')][_0xca19('0x18')](_0xca19('0x19')+tempTableName)[_0xca19('0x1a')](function(_0x28c04e){if(_0x28c04e!==null){var _0x191ef5=[];for(var _0x4bc798=0x0;_0x4bc798<_0x28c04e[_0xca19('0x1b')];_0x4bc798++){var _0x2c65f1=_0x28c04e[_0x4bc798];if(!_[_0xca19('0x1c')](_0x2c65f1[_0xca19('0x11')])){if(!_[_0xca19('0x1c')](_0x2c65f1['AdditionalPhones']))_0x191ef5['push'](insertAdditionalPhones(_0x2c65f1));promisesContact[_0xca19('0x1d')]({'contact':_0x2c65f1});}}}Promise[_0xca19('0x1e')](_0x191ef5)[_0xca19('0x1f')](function(){_0x3dad52({'val':0x1});});})[_0xca19('0x20')](function(_0x797ed8){logger[_0xca19('0x21')](_0x797ed8['message']);});});}function insertAdditionalPhones(_0x383f9c){return new Promise(function(_0x8ae4f1,_0x3797e3){var _0x3facea=_0x383f9c[_0xca19('0x22')];if(_[_0xca19('0x1c')](_0x3facea))_0x3797e3({'val':0x0});else{var _0x444379=_0x3facea[_0xca19('0x23')](';');var _0x4527e4=[];orderBy=0x0;for(var _0x32af14=0x0;_0x32af14<_0x444379[_0xca19('0x1b')];_0x32af14++){_0x4527e4[_0xca19('0x1d')](splitAdditionalPhone(_0x383f9c['id'],_0x444379[_0x32af14]));}Promise[_0xca19('0x1e')](_0x4527e4)[_0xca19('0x1f')](function(){_0x8ae4f1({'val':_0x444379[_0xca19('0x1b')]});});}});}function splitAdditionalPhone(_0xbec3ec,_0x42c3ca){return new Promise(function(_0x8afa0f,_0x9d545c){var _0x40956d=_0x42c3ca[_0xca19('0x23')](':');var _0x475be9=_0x40956d[0x0];var _0x3d0803=_0x40956d[0x1];if(_0x3d0803!==''){var _0x51544f=_0x3d0803[_0xca19('0x23')]('|');var _0x1fffdd=[];for(var _0x5bf442=0x0;_0x5bf442<_0x51544f['length'];_0x5bf442++){if(_0x51544f[_0x5bf442]!==''){var _0x517086=_[_0xca19('0x24')](promisesAdditionalPhones,{'contactId':_0xbec3ec,'phone':_0x51544f[_0x5bf442]});if(_0x517086['length']==0x0){orderBy++;promisesAdditionalPhones[_0xca19('0x1d')]({'contactId':_0xbec3ec,'contactTypeId':_0x475be9,'phone':_0x51544f[_0x5bf442],'orderBy':orderBy});}}}_0x8afa0f({'ok':0x1});}else _0x8afa0f({'res':0x0});});}function createAdditionalPhone(_0x237dd9,_0x1b48cb,_0x2fabbe,_0x557388){var _0x58d17f='';var _0x2370da='';var _0x1750ce=_0x2fabbe['split']('§');_0x58d17f=_0x1750ce[0x0];if(_0x1750ce[_0xca19('0x1b')]==0x2)_0x2370da=_0x1750ce[0x1];return new Promise(function(_0x56b8ff,_0x5c5dbc){return db['CmContactHasItem'][_0xca19('0x25')]({'where':{'CmContactId':_0x237dd9,'item':_0x58d17f}})[_0xca19('0x1f')](function(_0x5b44e0){if(_0x5b44e0){return db[_0xca19('0x26')][_0xca19('0x27')]({'ItemTypeId':_0x1b48cb,'description':_0x2370da,'OrderBy':_0x557388},{'where':{'CmContactId':_0x237dd9,'item':_0x58d17f}})['then'](function(_0x2decd1){_0x56b8ff({'res':_0xca19('0x28')});});}else{return db['CmContactHasItem'][_0xca19('0x29')]({'CmContactId':_0x237dd9,'item':_0x58d17f,'ItemTypeId':_0x1b48cb,'description':_0x2370da,'OrderBy':_0x557388,'ItemClass':'PHONE'})[_0xca19('0x1f')](function(_0x118312){_0x56b8ff({'res':_0xca19('0x2a')});});}});});}function updateContact(_0x236e83){return new Promise(function(_0x4d1402,_0x2c68f2){var _0x188670=_0x236e83['id'];delete _0x236e83['id'];return db['CmContact'][_0xca19('0x27')](_0x236e83,{'where':{'id':_0x188670}})[_0xca19('0x1f')](function(_0x22aabb){updatedRows+=0x1;return db[_0xca19('0x2b')]['update']({'phone':_0x236e83[_0xca19('0x11')]},{'where':{'ContactId':_0x188670}})[_0xca19('0x1f')](function(_0x1658eb){_0x4d1402({'ret':'OK'});});});});}function insertCmHopper(_0x557f91,_0xaaad4b,_0x2d334d,_0x20064d,_0x48557a){var _0x149baf=['cm_contacts.phone',_0xca19('0x2c'),_0xca19('0x2d'),_0xca19('0x2e'),_0xaaad4b+'.'+_0x20064d,_0xca19('0x2f'),'cm_contacts.updatedAt',_0xca19('0x30'),_0xca19('0x31'),'\x22'+_0x48557a+'\x22'];return squel[_0xca19('0x32')]()['into'](_0xca19('0x33'))['fromQuery']([_0xca19('0x11'),_0xca19('0x34'),'ContactId',_0xca19('0x35'),_0x20064d,_0xca19('0x36'),_0xca19('0x37'),_0xca19('0x38'),_0xca19('0x39'),_0xca19('0x3a')],squel['select']()[_0xca19('0x3b')](_0x149baf)[_0xca19('0x12')](_0xaaad4b)[_0xca19('0x13')]('cm_contacts',null,_0xca19('0x3c')+_0xaaad4b+'.CmListId')[_0xca19('0x13')](_0x2d334d,null,_0x2d334d+_0xca19('0x3d')+_0xaaad4b+'.'+_0x20064d)[_0xca19('0x14')](_0xaaad4b+'.CmListId\x20=\x20?',_0x557f91)['where'](_0xca19('0x3e'),NOW)[_0xca19('0x14')](_0xca19('0x3f'),selectNotIn(_0xaaad4b,_0x2d334d,_0x20064d,_0xca19('0x33'),[_0xca19('0x40'),'\x22onlyIfOpen\x22']))[_0xca19('0x14')](_0xca19('0x3f'),selectNotIn(_0xaaad4b,_0x2d334d,_0x20064d,'cm_hopper',[_0xca19('0x40')])))[_0xca19('0x41')]();}function insertCmHopperBlack(_0x5325b0,_0x2a9b2f,_0x3dfbfd,_0x102791){var _0x37f12c=[_0xca19('0x42'),_0xca19('0x2d'),_0xca19('0x2e'),_0x2a9b2f+'.'+_0x102791,_0xca19('0x2f'),'cm_contacts.updatedAt'];return squel['insert']()[_0xca19('0x43')](_0xca19('0x44'))[_0xca19('0x45')]([_0xca19('0x11'),_0xca19('0x46'),_0xca19('0x35'),_0x102791,_0xca19('0x36'),_0xca19('0x37')],squel['select']()[_0xca19('0x3b')](_0x37f12c)['from'](_0x2a9b2f)[_0xca19('0x13')](_0xca19('0x47'),null,_0xca19('0x3c')+_0x2a9b2f+_0xca19('0x48'))[_0xca19('0x13')](_0x3dfbfd,null,_0x3dfbfd+_0xca19('0x3d')+_0x2a9b2f+'.'+_0x102791)[_0xca19('0x14')](_0x2a9b2f+_0xca19('0x49'),_0x5325b0)['where'](_0xca19('0x3e'),NOW)[_0xca19('0x14')](_0xca19('0x3f'),squel['select']()['field'](_0xca19('0x11'))[_0xca19('0x12')](_0xca19('0x44'))[_0xca19('0x14')](_0xca19('0x4a'),_0x5325b0)[_0xca19('0x14')](_0x102791+'\x20=\x20?',_0x2a9b2f+'.'+_0x102791)))[_0xca19('0x41')]();}function insertCmHopperAdditionalPhones(_0x27eb19){var _0x4138d=[_0xca19('0x4b'),'cm_contact_has_items.item','cm_contact_has_items.OrderBy',_0xca19('0x4c'),_0xca19('0x4d')];return squel[_0xca19('0x32')]()[_0xca19('0x43')](_0xca19('0x4e'))[_0xca19('0x45')](['CmHopperId','phone','OrderBy',_0xca19('0x36'),_0xca19('0x37')],squel[_0xca19('0xf')]()['fields'](_0x4138d)[_0xca19('0x12')](_0xca19('0x33'))['join']('cm_contacts',null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0xca19('0x13')](_0xca19('0x4f'),null,_0xca19('0x50'))[_0xca19('0x14')](_0xca19('0x51'),_0x27eb19)['where'](_0xca19('0x3e'),NOW))['toString']();}function insertCmContact(_0x3f4e92,_0x42ecf0,_0x109576,_0xbbd072){var _0x2ff09d=_['concat'](_['keys'](_0xbbd072),['ListId',_0xca19('0x52'),_0xca19('0x36'),_0xca19('0x37')]);return squel['insert']()[_0xca19('0x43')](_0xca19('0x47'))[_0xca19('0x45')](_0x2ff09d,squel['select']()[_0xca19('0x3b')](_0x2ff09d)[_0xca19('0x12')](_0x42ecf0)[_0xca19('0x14')]('('+_0x109576[_0xca19('0x13')](',')+_0xca19('0x53'),squel[_0xca19('0xf')]()['fields'](_0x109576)[_0xca19('0x12')](_0xca19('0x47'))['where']('ListId\x20=\x20?',_0x3f4e92))[_0xca19('0x14')]('id\x20IN\x20?',squel[_0xca19('0xf')]()[_0xca19('0x10')](_0xca19('0x54'),_0xca19('0x55'))['from'](_0x42ecf0)['group'](_0x109576['join'](','))))['toString']();}function handleStop(){logger[_0xca19('0x56')](_0xca19('0x57'));stopped=!![];}function handleUncaughtException(_0x3958d8){logger['error'](_0x3958d8[_0xca19('0x58')]);process[_0xca19('0x59')](0x1);}function handleError(_0x43658c,_0x1d4c0c){stats[_0xca19('0x5a')]['push']({'name':_0x1d4c0c['code'],'message':_0x1d4c0c[_0xca19('0x58')],'row':_0x43658c});}function handleQuery(_0x22a317){logger[_0xca19('0x56')](_0x22a317);return db[_0xca19('0x17')][_0xca19('0x18')](_0x22a317)[_0xca19('0x1a')](function(_0x5f50fe){results['push'](_0x5f50fe);})[_0xca19('0x20')](function(_0x1011bc){logger[_0xca19('0x21')](_0x1011bc['message']);});}function main(_0x47ecc5,_0x91965b,_0x44c361,_0x3b5247){logger[_0xca19('0x56')](_0xca19('0x5b'),_0x47ecc5,JSON[_0xca19('0x5c')](_0x91965b));process[_0xca19('0x5d')](_0xca19('0x5e'));var _0x4d3180=_0x91965b[_0xca19('0x5f')];var _0x26cb73=_[_0xca19('0x60')](_0x4d3180);var _0x11ac4f=_0x91965b[_0xca19('0x61')];var _0x379b5f=path[_0xca19('0x13')](config[_0xca19('0x62')],_0xca19('0x63'),_0x11ac4f+_0xca19('0x64'));logger['info'](_0xca19('0x65'),_0x91965b);db[_0xca19('0x66')][_0xca19('0x67')]({'raw':!![],'attributes':['id','name']})[_0xca19('0x1f')](function(_0x138a74){for(var _0x590bc4=0x0;_0x590bc4<_0x138a74[_0xca19('0x1b')];_0x590bc4++){if(_0x138a74[_0x590bc4][_0xca19('0x68')]in _0x4d3180){contactItemTypes[_0xca19('0x1d')](_0x138a74[_0x590bc4]);delete _0x26cb73[_0x138a74[_0x590bc4][_0xca19('0x68')]];hasAdditionalPhones=!![];}for(var _0x25f8c0 in _0x4d3180){if(_0x138a74[_0x590bc4][_0xca19('0x68')]+'_description'===_0x25f8c0){phoneDescriptions[_0xca19('0x1d')]({'itemTypeId':_0x138a74[_0x590bc4]['id'],'description':_0x25f8c0});delete _0x26cb73[_0x25f8c0];}}}if(hasAdditionalPhones)_0x26cb73[_0xca19('0x22')]='';var _0x521dd8=_[_0xca19('0x69')](_0x26cb73)['join']();logger[_0xca19('0x56')](_0xca19('0x6a'),_0x521dd8);fs[_0xca19('0x6b')](_0x379b5f,_0x521dd8+'\x0a');Papa[_0xca19('0x6c')](fs['createReadStream'](_0x47ecc5),{'header':!![],'skipEmptyLines':!![],'step':function(_0x5d1005,_0x43d40c){try{for(var _0x3ca50d=0x0,_0x1dc374=[];_0x3ca50d<_0x5d1005[_0xca19('0x6d')][_0xca19('0x1b')];_0x3ca50d++){stats['rows']+=0x1;if(_0x5d1005[_0xca19('0x5a')][_0x3ca50d]){handleError(_0x5d1005[_0xca19('0x6d')][_0x3ca50d],_0x5d1005[_0xca19('0x5a')][_0x3ca50d]);}else{var _0x45f9bf=[];var _0x36b08d=[];var _0x2e7be5={};for(var _0x59b146 in _0x4d3180){let _0x2938cc=contactItemTypes[_0xca19('0x6e')](_0x85bcad=>_0x85bcad['name']===_0x59b146);let _0xa3a1f1=contactItemTypes[_0xca19('0x6e')](_0x1298c0=>_0x1298c0[_0xca19('0x68')]+'_description'===_0x59b146);if(_[_0xca19('0x1c')](_0x2938cc)&&_[_0xca19('0x1c')](_0xa3a1f1)){if(_0x4d3180['hasOwnProperty'](_0x59b146)){if(_0x5d1005[_0xca19('0x6d')][_0x3ca50d][_0x4d3180[_0x59b146]]){var _0x12c1b8=_[_0xca19('0x6f')](_0x5d1005[_0xca19('0x6d')][_0x3ca50d][_0x4d3180[_0x59b146]]['replace'](/"/g,'\x27'));switch(_0x59b146){case _0xca19('0x34'):var _0x286237=moment(_0x12c1b8,_0xca19('0xb'),!![]);if(_0x286237[_0xca19('0x70')]()){_0x1dc374['push']('\x22'+_0x12c1b8+'\x22');}else{_0x45f9bf[_0xca19('0x1d')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case'priority':var _0x3359ea=parseInt(_0x12c1b8);_0x12c1b8=_['isNaN'](_0x3359ea)||_0x3359ea<0x0||_0x3359ea>0x4?_0x3b5247?0x3:0x2:_0x3359ea;_0x1dc374[_0xca19('0x1d')]('\x22'+_0x12c1b8+'\x22');break;case _0xca19('0x39'):var _0x3b4b12=parseInt(_0x12c1b8);if(_['isNumber'](_0x3b4b12)&&_[_0xca19('0x71')](_0x44c361,_0x3b4b12)){_0x1dc374[_0xca19('0x1d')]('\x22'+_0x3b4b12+'\x22');}else{_0x45f9bf[_0xca19('0x1d')](_0xca19('0x72'));}break;case _0xca19('0x73'):if(isEmail(_0x12c1b8)){_0x1dc374['push']('\x22'+_0x12c1b8+'\x22');}else{_0x45f9bf['push']('email\x20wrong\x20format');}break;case _0xca19('0x74'):var _0x46f440=moment(_0x12c1b8,'YYYY-MM-DD',!![]);if(_0x46f440[_0xca19('0x70')]()){_0x1dc374[_0xca19('0x1d')]('\x22'+_0x12c1b8+'\x22');}else{_0x45f9bf[_0xca19('0x1d')](_0xca19('0x75'));}break;default:_0x1dc374[_0xca19('0x1d')]('\x22'+_0x12c1b8+'\x22');}}else{switch(_0x59b146){case _0xca19('0x76'):case _0xca19('0x11'):_0x45f9bf[_0xca19('0x1d')](_0x59b146+_0xca19('0x77'));break;default:_0x1dc374[_0xca19('0x1d')]('\x22\x22');}}}}else{var _0x69f2f9='';if(!_[_0xca19('0x1c')](_0x2938cc)){if(!_0x2e7be5[_0xca19('0x78')](_0x2938cc['id'])){for(var _0x45dd60=0x0;_0x45dd60<_0x4d3180[_0x59b146][_0xca19('0x1b')];_0x45dd60++){var _0x12c1b8=_[_0xca19('0x6f')](_0x5d1005['data'][_0x3ca50d][_0x4d3180[_0x59b146][_0x45dd60]][_0xca19('0x79')](/"/g,'\x27'));var _0x4b3f60=phoneDescriptions[_0xca19('0x6e')](_0x55d446=>_0x55d446[_0xca19('0x7a')]===_0x2938cc['id']);if(!_[_0xca19('0x1c')](_0x4b3f60)){var _0x9d4f44=_['trim'](_0x5d1005[_0xca19('0x6d')][_0x3ca50d][_0x4d3180[_0x4b3f60[_0xca19('0x7b')]][0x0]][_0xca19('0x79')](/"/g,'\x27'));if(!_['isNil'](_0x9d4f44))_0x12c1b8=_0x12c1b8+'§'+_0x9d4f44;}if(_0x69f2f9=='')_0x69f2f9=_0x12c1b8;else _0x69f2f9+='|'+_0x12c1b8;}_0x36b08d[_0xca19('0x1d')](_0x2938cc['id']+':'+_0x69f2f9);_0x2e7be5[_0x2938cc['id']]=0x1;}}}}if(hasAdditionalPhones){_0x1dc374[_0xca19('0x1d')]('\x22'+_0x36b08d[_0xca19('0x13')](';')+'\x22');}if(_0x45f9bf[_0xca19('0x1b')]){handleError(_0x5d1005[_0xca19('0x6d')][_0x3ca50d],{'code':_0xca19('0x7c'),'message':_0x45f9bf['join']()});}else{fs[_0xca19('0x7d')](_0x379b5f,_0x1dc374[_0xca19('0x13')]()+'\x0a');}_0x1dc374=[];}if(!(stats['rows']%0xc8)){socket['emit'](_0xca19('0x7e')+_0x11ac4f,stats);stats[_0xca19('0x5a')]=[];}}if(stopped){logger['info'](_0xca19('0x7f'));_0x43d40c[_0xca19('0x80')]();}}catch(_0x186c2c){handleError(_0x5d1005[_0xca19('0x6d')][_0x3ca50d],{'code':_0xca19('0x81'),'message':_0x186c2c[_0xca19('0x58')]});logger[_0xca19('0x21')](_0xca19('0x82'),_0x186c2c[_0xca19('0x58')]);}},'complete':function(){try{var _0x1c2fbd=[];var _0x2ba190=tempTableName;_0x1c2fbd[_0xca19('0x1d')]('CREATE\x20TABLE\x20'+_0x2ba190+_0xca19('0x83'));logger[_0xca19('0x56')]('CIS\x20len',contactItemTypes['length']);var _0x11fc91=util[_0xca19('0xa')](_0xca19('0x84'),_0x379b5f,_0x2ba190,_0x521dd8,_0x91965b[_0xca19('0x35')],_0x91965b[_0xca19('0x52')]||null,NOW,NOW);if(_[_0xca19('0x1c')](_0x4d3180[_0xca19('0x34')])){_0x11fc91+=_0xca19('0x85');}_0x1c2fbd[_0xca19('0x1d')](_0x11fc91);BPromise[_0xca19('0x86')](_0x1c2fbd,handleQuery)[_0xca19('0x1f')](function(_0x543618){BPromise['all']([handleAdditionalPhones()])[_0xca19('0x1f')](function(){_0x1c2fbd=[];for(var _0x5b6fea=0x0;_0x5b6fea<promisesContact[_0xca19('0x1b')];_0x5b6fea++){_0x1c2fbd[_0xca19('0x1d')](updateContact(promisesContact[_0x5b6fea]['contact']));}BPromise['all'](_0x1c2fbd)['then'](function(){_0x1c2fbd=[];for(var _0x3c8e9c=0x0;_0x3c8e9c<promisesAdditionalPhones[_0xca19('0x1b')];_0x3c8e9c++){_0x1c2fbd[_0xca19('0x1d')](createAdditionalPhone(promisesAdditionalPhones[_0x3c8e9c][_0xca19('0x87')],promisesAdditionalPhones[_0x3c8e9c][_0xca19('0x88')],promisesAdditionalPhones[_0x3c8e9c][_0xca19('0x11')],promisesAdditionalPhones[_0x3c8e9c]['orderBy']));}BPromise[_0xca19('0x1e')](_0x1c2fbd)['then'](function(){_0x1c2fbd=[];_0x1c2fbd[_0xca19('0x1d')](insertCmHopperAdditionalPhones(_0x91965b[_0xca19('0x35')]));_0x1c2fbd[_0xca19('0x1d')](_0xca19('0x89')+_0x2ba190+';');BPromise[_0xca19('0x86')](_0x1c2fbd,handleQuery)[_0xca19('0x1f')](function(_0x2fc026){stats[_0xca19('0x8a')]=!![];stats[_0xca19('0x8b')]=updatedRows;socket['emit']('contact:import:'+_0x11ac4f,stats);fs[_0xca19('0x8c')](_0x47ecc5);fs['unlink'](_0x379b5f);process['exit'](0x0);})['catch'](function(_0x45ed73){logger[_0xca19('0x21')](_0x45ed73[_0xca19('0x58')]);process[_0xca19('0x59')](0x1);});});});});})['catch'](function(_0x136dfe){logger[_0xca19('0x21')](_0x136dfe[_0xca19('0x58')]);process[_0xca19('0x59')](0x1);});}catch(_0x34b73d){logger[_0xca19('0x21')](_0xca19('0x8d'),_0x34b73d[_0xca19('0x58')]);process[_0xca19('0x59')](0x1);}},'error':function(_0x253936,_0xf273a0,_0x2746bd,_0x56d30e){throw new Error(_0x56d30e);}});});}function validate(){if(process[_0xca19('0x8e')]&&process[_0xca19('0x8e')][_0xca19('0x1b')]<0x4){throw new Error(_0xca19('0x8f'));}var _0x3dd22a=path[_0xca19('0x13')](config['root'],_0xca19('0x63'),process['argv'][0x2]);if(!fs[_0xca19('0x90')](_0x3dd22a)){throw new Error(_0xca19('0x91'));}var _0x4b2007={};try{_0x4b2007=JSON[_0xca19('0x6c')](process[_0xca19('0x8e')][0x3]);if(!_0x4b2007[_0xca19('0x5f')]){throw new Error('binding\x20doesn\x27t\x20exists');}var _0xadccb8=0x0;if(_0x4b2007[_0xca19('0x5f')]['UserId']){_0xadccb8=0x1;}if(!_0x4b2007[_0xca19('0x35')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x2196a5){throw new Error(_0xca19('0x92'));}var _0x4b3def=[];try{_0x4b3def=_[_0xca19('0x93')](JSON[_0xca19('0x6c')](process[_0xca19('0x8e')][0x4]),'id');}catch(_0xef66a2){logger[_0xca19('0x56')](_0xca19('0x94'));}main(_0x3dd22a,_0x4b2007,_0x4b3def,_0xadccb8);}validate();process['on'](_0xca19('0x95'),handleStop);process['on'](_0xca19('0x96'),handleUncaughtException);