Built motion from commit 092f8824.|2.5.49
[motion2.git] / server / components / import / cm / csv2.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 _0x7161=['binding','socket_timestamp','server/files/tmp','.csv','includes','header','writeFileSync','parse','createReadStream','data','rows','hasOwnProperty','trim','replace','YYYY-MM-DD\x20HH:mm:ss','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','agent\x20not\x20exists','email','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','utcOffset','SystemRow','appendFileSync','emit','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','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\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27',',\x20scheduledAt\x20=\x20NOW()','voice_queues','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns','CampaignId','campaigns_has_cm_blacklists','DROP\x20TABLE\x20','finish','affectedRows','contact:import:','unlink','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','binding\x20doesn\x27t\x20exists','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','lodash','papaparse','util','bluebird','squel','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','test','select','field','phone','from','join','.id\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','cm_contacts.scheduledat','cm_contacts.createdAt','cm_contacts.updatedAt','into','scheduledat','ContactId','ListId','createdAt','priority','UserId','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','cm_hopper','toString','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','insert','cm_hopper_black','fromQuery','updatedAt','.CmListId\x20=\x20?','\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','recallme','\x22onlyIfOpen\x22','concat','keys','CompanyId',')\x20NOT\x20IN\x20?','ListId\x20=\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','info','Received\x20SIGINT','error','message','exit','errors','query','spread','catch','campaigns.id','campaigns_has_cm_lists','campaigns_has_cm_lists.CmListId=','sequelize','length','push','all','then','voice_queues.id','voice_queues.dialTimezone','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','isNil','set','offset','main','stringify','send','start'];(function(_0x488ada,_0x44b0eb){var _0x29c731=function(_0x181e72){while(--_0x181e72){_0x488ada['push'](_0x488ada['shift']());}};_0x29c731(++_0x44b0eb);}(_0x7161,0x178));var _0x1716=function(_0x325a83,_0xff04b8){_0x325a83=_0x325a83-0x0;var _0x1163b3=_0x7161[_0x325a83];return _0x1163b3;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0x1716('0x0'));var Papa=require(_0x1716('0x1'));var util=require(_0x1716('0x2'));var BPromise=require(_0x1716('0x3'));var moment=require('moment');var squel=require(_0x1716('0x4'));var Redis=require('ioredis');var db=require(_0x1716('0x5'))['db'];var config=require(_0x1716('0x6'));var shared=require(_0x1716('0x7'));var logger=require(_0x1716('0x8'))(_0x1716('0x9'));config[_0x1716('0xa')]=_[_0x1716('0xb')](config[_0x1716('0xa')],{'host':_0x1716('0xc'),'port':0x18eb});var socket=require(_0x1716('0xd'))(new Redis(config[_0x1716('0xa')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x1716('0xe')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x178b59){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))*$/[_0x1716('0xf')](_0x178b59);}function selectNotIn(_0x3e10f7,_0x303ff5,_0xb52e38,_0x384e1b,_0x213e36){return squel[_0x1716('0x10')]()[_0x1716('0x11')](_0x1716('0x12'))[_0x1716('0x13')](_0x384e1b)[_0x1716('0x14')](_0x303ff5,null,_0x303ff5+_0x1716('0x15')+_0x384e1b+'.'+_0xb52e38)[_0x1716('0x16')](_0x384e1b+'.'+_0xb52e38+'\x20=\x20'+_0x3e10f7+'.'+_0xb52e38)[_0x1716('0x16')](_0x303ff5+_0x1716('0x17')+_0x213e36[_0x1716('0x14')]()+')');}function insertCmHopper(_0x33692f,_0xce0b73,_0x324b61,_0x4a7be7,_0x1a36da){var _0x2c1d65=['cm_contacts.phone',_0x1716('0x18'),'cm_contacts.id','cm_contacts.ListId',_0xce0b73+'.'+_0x4a7be7,_0x1716('0x19'),_0x1716('0x1a'),'cm_contacts.priority','cm_contacts.UserId','\x22'+_0x1a36da+'\x22'];return squel['insert']()[_0x1716('0x1b')]('cm_hopper')['fromQuery']([_0x1716('0x12'),_0x1716('0x1c'),_0x1716('0x1d'),_0x1716('0x1e'),_0x4a7be7,_0x1716('0x1f'),'updatedAt',_0x1716('0x20'),_0x1716('0x21'),'recallme'],squel[_0x1716('0x10')]()[_0x1716('0x22')](_0x2c1d65)[_0x1716('0x13')](_0xce0b73)[_0x1716('0x14')](_0x1716('0x23'),null,_0x1716('0x24')+_0xce0b73+_0x1716('0x25'))['join'](_0x324b61,null,_0x324b61+_0x1716('0x15')+_0xce0b73+'.'+_0x4a7be7)[_0x1716('0x16')](_0xce0b73+'.CmListId\x20=\x20?',_0x33692f)[_0x1716('0x16')](_0x1716('0x26'),NOW)[_0x1716('0x16')](_0x1716('0x27'),selectNotIn(_0xce0b73,_0x324b61,_0x4a7be7,'cm_hopper',[_0x1716('0x28'),'\x22onlyIfOpen\x22']))[_0x1716('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0xce0b73,_0x324b61,_0x4a7be7,_0x1716('0x29'),[_0x1716('0x28')])))[_0x1716('0x2a')]();}function insertCmHopperBlack(_0x2ff0ac,_0x5bfd00,_0x2d9f9f,_0xfbcebf){var _0x4483b7=[_0x1716('0x2b'),_0x1716('0x2c'),_0x1716('0x2d'),_0x5bfd00+'.'+_0xfbcebf,_0x1716('0x19'),_0x1716('0x1a')];return squel[_0x1716('0x2e')]()['into'](_0x1716('0x2f'))[_0x1716('0x30')](['phone',_0x1716('0x1d'),_0x1716('0x1e'),_0xfbcebf,'createdAt',_0x1716('0x31')],squel[_0x1716('0x10')]()['fields'](_0x4483b7)[_0x1716('0x13')](_0x5bfd00)[_0x1716('0x14')](_0x1716('0x23'),null,'cm_contacts.ListId\x20=\x20'+_0x5bfd00+_0x1716('0x25'))[_0x1716('0x14')](_0x2d9f9f,null,_0x2d9f9f+_0x1716('0x15')+_0x5bfd00+'.'+_0xfbcebf)['where'](_0x5bfd00+_0x1716('0x32'),_0x2ff0ac)[_0x1716('0x16')](_0x1716('0x26'),NOW)[_0x1716('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel['select']()['field']('phone')[_0x1716('0x13')](_0x1716('0x2f'))[_0x1716('0x16')]('ListId\x20=\x20?',_0x2ff0ac)[_0x1716('0x16')](_0xfbcebf+_0x1716('0x33'),_0x5bfd00+'.'+_0xfbcebf)))[_0x1716('0x2a')]();}function insertTzCmHopper(_0x32c84a,_0x52af9d,_0x1557f8,_0x3e5eac,_0x8cc96f,_0x3cfac4){var _0x4ae2f3=[_0x1716('0x2b'),_0x1716('0x34')+_0x3cfac4+_0x1716('0x35'),'cm_contacts.id',_0x1716('0x2d'),_0x52af9d+'.'+_0x3e5eac,'cm_contacts.createdAt',_0x1716('0x1a'),'cm_contacts.priority','cm_contacts.UserId','\x22'+_0x8cc96f+'\x22'];var _0x1df743=squel[_0x1716('0x2e')]()[_0x1716('0x1b')]('cm_hopper')['fromQuery']([_0x1716('0x12'),_0x1716('0x1c'),_0x1716('0x1d'),_0x1716('0x1e'),_0x3e5eac,_0x1716('0x1f'),'updatedAt',_0x1716('0x20'),_0x1716('0x21'),_0x1716('0x36')],squel['select']()[_0x1716('0x22')](_0x4ae2f3)['from'](_0x52af9d)['join'](_0x1716('0x23'),null,_0x1716('0x24')+_0x52af9d+_0x1716('0x25'))[_0x1716('0x14')](_0x1557f8,null,_0x1557f8+_0x1716('0x15')+_0x52af9d+'.'+_0x3e5eac)[_0x1716('0x14')](_0x3cfac4,null,_0x3cfac4+_0x1716('0x15')+_0x52af9d+'.'+_0x3e5eac)[_0x1716('0x16')](_0x52af9d+_0x1716('0x32'),_0x32c84a)['where'](_0x1716('0x26'),NOW)[_0x1716('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x52af9d,_0x1557f8,_0x3e5eac,_0x1716('0x29'),[_0x1716('0x28'),_0x1716('0x37')]))[_0x1716('0x16')](_0x1716('0x27'),selectNotIn(_0x52af9d,_0x1557f8,_0x3e5eac,_0x1716('0x29'),[_0x1716('0x28')])))[_0x1716('0x2a')]();return _0x1df743;}function insertTzCmHopperBlack(_0x4ddd77,_0x585426,_0x2cfca5,_0x22857e){var _0xb2c9de=[_0x1716('0x2b'),_0x1716('0x2c'),_0x1716('0x2d'),_0x585426+'.'+_0x22857e,'cm_contacts.createdAt',_0x1716('0x1a')];return squel['insert']()[_0x1716('0x1b')](_0x1716('0x2f'))[_0x1716('0x30')](['phone',_0x1716('0x1d'),'ListId',_0x22857e,_0x1716('0x1f'),_0x1716('0x31')],squel[_0x1716('0x10')]()[_0x1716('0x22')](_0xb2c9de)[_0x1716('0x13')](_0x585426)[_0x1716('0x14')](_0x1716('0x23'),null,'cm_contacts.ListId\x20=\x20'+_0x585426+'.CmListId')['join'](_0x2cfca5,null,_0x2cfca5+_0x1716('0x15')+_0x585426+'.'+_0x22857e)[_0x1716('0x16')](_0x585426+'.CmListId\x20=\x20?',_0x4ddd77)[_0x1716('0x16')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x1716('0x16')](_0x1716('0x27'),squel[_0x1716('0x10')]()[_0x1716('0x11')]('phone')[_0x1716('0x13')](_0x1716('0x2f'))[_0x1716('0x16')]('ListId\x20=\x20?',_0x4ddd77)['where'](_0x22857e+_0x1716('0x33'),_0x585426+'.'+_0x22857e)))[_0x1716('0x2a')]();}function insertCmContact(_0x570ff2,_0x52db25,_0x285ef2,_0x462813){var _0x51099f=_[_0x1716('0x38')](_[_0x1716('0x39')](_0x462813),['ListId',_0x1716('0x3a'),'createdAt','updatedAt']);return squel['insert']()[_0x1716('0x1b')](_0x1716('0x23'))[_0x1716('0x30')](_0x51099f,squel[_0x1716('0x10')]()[_0x1716('0x22')](_0x51099f)[_0x1716('0x13')](_0x52db25)[_0x1716('0x16')]('('+_0x285ef2[_0x1716('0x14')](',')+_0x1716('0x3b'),squel[_0x1716('0x10')]()[_0x1716('0x22')](_0x285ef2)['from'](_0x1716('0x23'))[_0x1716('0x16')](_0x1716('0x3c'),_0x570ff2)[_0x1716('0x16')](_0x1716('0x3d')))[_0x1716('0x16')](_0x1716('0x3e'),squel['select']()[_0x1716('0x11')](_0x1716('0x3f'),_0x1716('0x40'))[_0x1716('0x13')](_0x52db25)['group'](_0x285ef2[_0x1716('0x14')](','))))[_0x1716('0x2a')]();}function handleStop(){logger[_0x1716('0x41')](_0x1716('0x42'));stopped=!![];}function handleUncaughtException(_0x4009ea){logger[_0x1716('0x43')](_0x4009ea[_0x1716('0x44')]);process[_0x1716('0x45')](0x1);}function handleError(_0x5e9f7a,_0x54a909){stats[_0x1716('0x46')]['push']({'name':_0x54a909['code'],'message':_0x54a909[_0x1716('0x44')],'row':_0x5e9f7a});}function handleQuery(_0x3bb7b5){logger[_0x1716('0x41')](_0x3bb7b5);return db['sequelize'][_0x1716('0x47')](_0x3bb7b5)[_0x1716('0x48')](function(_0xc1c9a2){results['push'](_0xc1c9a2);})[_0x1716('0x49')](function(_0x1212fa){logger['error'](_0x1212fa['message']);});}function updateTzCampaigns(_0x1905c0){return new Promise(function(_0x27e93e,_0x5b7b21){var _0x358b2d=squel[_0x1716('0x10')]()['fields']([_0x1716('0x4a'),'campaigns.dialTimezone'])[_0x1716('0x13')]('campaigns')['join'](_0x1716('0x4b'),null,'campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId')[_0x1716('0x16')](_0x1716('0x4c')+_0x1905c0);db[_0x1716('0x4d')]['query'](_0x358b2d[_0x1716('0x2a')]())['spread'](function(_0x238348){var _0x1c0060=[];for(var _0x399a8c=0x0;_0x399a8c<_0x238348[_0x1716('0x4e')];_0x399a8c++){_0x1c0060[_0x1716('0x4f')](getTimezoneData(_0x238348[_0x399a8c],tmp_campaigns));}BPromise[_0x1716('0x50')](_0x1c0060)[_0x1716('0x51')](function(){_0x27e93e({'val':0x1});});})[_0x1716('0x49')](function(_0x3ec968){logger['error'](_0x3ec968[_0x1716('0x44')]);_0x27e93e({'val':0x0});});});}function updateTzVoiceQueues(_0x933e9){return new Promise(function(_0x583760,_0x20dc9c){var _0x47f06c=squel[_0x1716('0x10')]()[_0x1716('0x22')]([_0x1716('0x52'),_0x1716('0x53')])[_0x1716('0x13')]('voice_queues')[_0x1716('0x14')](_0x1716('0x54'),null,_0x1716('0x55'))[_0x1716('0x16')]('voice_queues_has_cm_lists.CmListId='+_0x933e9);db['sequelize'][_0x1716('0x47')](_0x47f06c[_0x1716('0x2a')]())['spread'](function(_0x3c879c){var _0x322ee0=[];for(var _0x15fdc8=0x0;_0x15fdc8<_0x3c879c['length'];_0x15fdc8++){_0x322ee0[_0x1716('0x4f')](getTimezoneData(_0x3c879c[_0x15fdc8],tmp_voice_queues));}BPromise['all'](_0x322ee0)['then'](function(){_0x583760({'val':0x1});});})[_0x1716('0x49')](function(_0x38247f){logger[_0x1716('0x43')](_0x38247f['message']);_0x583760({'val':0x0});});});}function getTimezoneData(_0x214685,_0x29bc51){return new Promise(function(_0x4426c5,_0x5ab2fc){var _0x1231cf=shared[_0x1716('0x56')];var _0x38a6f5=_0x1231cf[_0x214685[_0x1716('0x57')]];if(_[_0x1716('0x58')](_0x38a6f5)){_0x4426c5({'ret':0x1});}else{var _0x23d4c0=_0x38a6f5['utcOffset'];var _0x3a14c9=squel[_0x1716('0x2e')]()[_0x1716('0x1b')](_0x29bc51)['set']('id',_0x214685['id'])[_0x1716('0x59')](_0x1716('0x5a'),_0x23d4c0)[_0x1716('0x59')](_0x1716('0x57'),_0x214685[_0x1716('0x57')])[_0x1716('0x2a')]();return db['sequelize'][_0x1716('0x47')](_0x3a14c9)[_0x1716('0x48')](function(_0x607a9b){_0x4426c5({'ret':0x1});})[_0x1716('0x49')](function(_0x3ac102){logger[_0x1716('0x43')](_0x3ac102[_0x1716('0x44')]);_0x5ab2fc({'ret':0x1});});}});}function handleTZQuery(_0xf9cc97){logger['info'](_0xf9cc97);return db[_0x1716('0x4d')][_0x1716('0x47')](_0xf9cc97)[_0x1716('0x48')](function(_0x5b00fb){})[_0x1716('0x49')](function(_0x4b8e50){logger[_0x1716('0x43')](_0x4b8e50['message']);});}function main(_0x53817c,_0x19e13f,_0x33c5f2,_0x27c707){logger[_0x1716('0x41')](_0x1716('0x5b'),_0x53817c,JSON[_0x1716('0x5c')](_0x19e13f));process[_0x1716('0x5d')](_0x1716('0x5e'));var _0x4a7f1a=_0x19e13f[_0x1716('0x5f')];var _0x270c54=_0x19e13f[_0x1716('0x60')];var _0x442b3a=path['join'](config['root'],_0x1716('0x61'),_0x270c54+_0x1716('0x62'));hasTZ=_[_0x1716('0x39')](_0x4a7f1a)[_0x1716('0x63')](_0x1716('0x57'));var _0x5c4ba7=_['keys'](_0x4a7f1a)['join']();logger['info'](_0x1716('0x64'),_0x5c4ba7);if(hasTZ)_0x5c4ba7+=',utcOffset';fs[_0x1716('0x65')](_0x442b3a,_0x5c4ba7+'\x0a');Papa[_0x1716('0x66')](fs[_0x1716('0x67')](_0x53817c),{'header':!![],'skipEmptyLines':!![],'step':function(_0x4824f7,_0x4043b3){try{for(var _0xf902c1=0x0,_0x103393=[];_0xf902c1<_0x4824f7[_0x1716('0x68')]['length'];_0xf902c1++){stats[_0x1716('0x69')]+=0x1;if(_0x4824f7[_0x1716('0x46')][_0xf902c1]){handleError(_0x4824f7[_0x1716('0x68')][_0xf902c1],_0x4824f7[_0x1716('0x46')][_0xf902c1]);}else{var _0x3ff997=[];for(var _0x51fc5c in _0x4a7f1a){if(_0x4a7f1a[_0x1716('0x6a')](_0x51fc5c)){if(_0x4824f7['data'][_0xf902c1][_0x4a7f1a[_0x51fc5c]]){var _0x2b1df0=_[_0x1716('0x6b')](_0x4824f7['data'][_0xf902c1][_0x4a7f1a[_0x51fc5c]][_0x1716('0x6c')](/"/g,'\x27'));switch(_0x51fc5c){case _0x1716('0x1c'):var _0x1a213a=moment(_0x2b1df0,_0x1716('0x6d'),!![]);if(_0x1a213a[_0x1716('0x6e')]()){_0x103393['push']('\x22'+_0x2b1df0+'\x22');}else{_0x3ff997[_0x1716('0x4f')](_0x1716('0x6f'));}break;case _0x1716('0x20'):var _0x3cf5d5=parseInt(_0x2b1df0);_0x2b1df0=_[_0x1716('0x70')](_0x3cf5d5)||_0x3cf5d5<0x0||_0x3cf5d5>0x4?_0x27c707?0x3:0x2:_0x3cf5d5;_0x103393[_0x1716('0x4f')]('\x22'+_0x2b1df0+'\x22');break;case _0x1716('0x21'):var _0x9d2816=parseInt(_0x2b1df0);if(_[_0x1716('0x71')](_0x9d2816)&&_[_0x1716('0x63')](_0x33c5f2,_0x9d2816)){_0x103393[_0x1716('0x4f')]('\x22'+_0x9d2816+'\x22');}else{_0x3ff997[_0x1716('0x4f')](_0x1716('0x72'));}break;case _0x1716('0x73'):if(isEmail(_0x2b1df0)){_0x103393[_0x1716('0x4f')]('\x22'+_0x2b1df0+'\x22');}else{_0x3ff997['push']('email\x20wrong\x20format');}break;case _0x1716('0x74'):var _0x581fb7=moment(_0x2b1df0,_0x1716('0x75'),!![]);if(_0x581fb7[_0x1716('0x6e')]()){_0x103393[_0x1716('0x4f')]('\x22'+_0x2b1df0+'\x22');}else{_0x3ff997[_0x1716('0x4f')](_0x1716('0x76'));}break;case _0x1716('0x57'):var _0x37b192=shared[_0x1716('0x56')];var _0x55707b=_0x37b192[_0x2b1df0];if(!_['isNil'](_0x55707b)){var _0x318abb=_0x55707b[_0x1716('0x77')];_0x103393[_0x1716('0x4f')]('\x22'+_0x2b1df0+'\x22');_0x103393[_0x1716('0x4f')]('\x22'+_0x318abb+'\x22');}break;default:_0x103393[_0x1716('0x4f')]('\x22'+_0x2b1df0+'\x22');}}else{switch(_0x51fc5c){case'firstName':case _0x1716('0x12'):_0x3ff997[_0x1716('0x4f')](_0x51fc5c+'\x20not\x20specified');break;default:_0x103393[_0x1716('0x4f')]('\x22\x22');}}}}if(_0x3ff997[_0x1716('0x4e')]){handleError(_0x4824f7[_0x1716('0x68')][_0xf902c1],{'code':_0x1716('0x78'),'message':_0x3ff997[_0x1716('0x14')]()});}else{fs[_0x1716('0x79')](_0x442b3a,_0x103393['join']()+'\x0a');}_0x103393=[];}if(!(stats[_0x1716('0x69')]%0xc8)){socket[_0x1716('0x7a')]('contact:import:'+_0x270c54,stats);stats[_0x1716('0x46')]=[];}}if(stopped){logger[_0x1716('0x41')](_0x1716('0x7b'));_0x4043b3[_0x1716('0x7c')]();}}catch(_0x117df9){handleError(_0x4824f7['data'][_0xf902c1],{'code':_0x1716('0x7d'),'message':_0x117df9[_0x1716('0x44')]});logger[_0x1716('0x43')](_0x1716('0x7e'),_0x117df9[_0x1716('0x44')]);}},'complete':function(){try{var _0x306f26=[];var _0x48c21f=[];var _0x36aa48='cm_contacts';if(_0x19e13f[_0x1716('0x7f')]&&_0x19e13f[_0x1716('0x7f')][_0x1716('0x4e')]){_0x36aa48=_0x1716('0x80')+_0x270c54;_0x306f26[_0x1716('0x4f')](_0x1716('0x81')+_0x36aa48+'\x20LIKE\x20cm_contacts;');}tmp_campaigns='campaigns_'+_0x270c54;tmp_voice_queues=_0x1716('0x82')+_0x270c54;_0x48c21f['push'](_0x1716('0x81')+tmp_campaigns+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');_0x48c21f[_0x1716('0x4f')](_0x1716('0x81')+tmp_voice_queues+_0x1716('0x83'));BPromise[_0x1716('0x84')](_0x48c21f,handleTZQuery)[_0x1716('0x51')](function(_0x4caa5c){updateTzCampaigns(_0x19e13f[_0x1716('0x1e')])[_0x1716('0x51')](function(_0x31c124){updateTzVoiceQueues(_0x19e13f[_0x1716('0x1e')])[_0x1716('0x51')](function(_0x194cce){var _0x328beb=util[_0x1716('0xe')](_0x1716('0x85'),_0x442b3a,_0x36aa48,_0x5c4ba7,_0x19e13f[_0x1716('0x1e')],_0x19e13f[_0x1716('0x3a')]||null,NOW,NOW);if(_[_0x1716('0x58')](_0x4a7f1a[_0x1716('0x1c')])){_0x328beb+=_0x1716('0x86');}_0x306f26[_0x1716('0x4f')](_0x328beb);if(_0x19e13f['duplicates']&&_0x19e13f['duplicates'][_0x1716('0x4e')]){_0x306f26[_0x1716('0x4f')](insertCmContact(_0x19e13f[_0x1716('0x1e')],_0x36aa48,_0x19e13f[_0x1716('0x7f')],_0x4a7f1a));_0x306f26[_0x1716('0x4f')]('DROP\x20TABLE\x20'+_0x36aa48+';');}if(hasTZ){_0x306f26[_0x1716('0x4f')](insertTzCmHopper(_0x19e13f[_0x1716('0x1e')],_0x1716('0x54'),_0x1716('0x87'),_0x1716('0x88'),_0x27c707,tmp_voice_queues));_0x306f26[_0x1716('0x4f')](insertTzCmHopperBlack(_0x19e13f['ListId'],_0x1716('0x89'),_0x1716('0x87'),_0x1716('0x88')));_0x306f26[_0x1716('0x4f')](insertTzCmHopper(_0x19e13f['ListId'],_0x1716('0x4b'),_0x1716('0x8a'),'CampaignId',_0x27c707,tmp_campaigns));_0x306f26['push'](insertTzCmHopperBlack(_0x19e13f[_0x1716('0x1e')],'campaigns_has_cm_blacklists',_0x1716('0x8a'),'CampaignId'));}else{_0x306f26[_0x1716('0x4f')](insertCmHopper(_0x19e13f['ListId'],_0x1716('0x54'),_0x1716('0x87'),_0x1716('0x88'),_0x27c707));_0x306f26[_0x1716('0x4f')](insertCmHopperBlack(_0x19e13f['ListId'],_0x1716('0x89'),_0x1716('0x87'),'VoiceQueueId'));_0x306f26['push'](insertCmHopper(_0x19e13f[_0x1716('0x1e')],_0x1716('0x4b'),_0x1716('0x8a'),_0x1716('0x8b'),_0x27c707));_0x306f26[_0x1716('0x4f')](insertCmHopperBlack(_0x19e13f[_0x1716('0x1e')],_0x1716('0x8c'),_0x1716('0x8a'),_0x1716('0x8b')));}_0x306f26[_0x1716('0x4f')](_0x1716('0x8d')+tmp_campaigns+';');_0x306f26['push'](_0x1716('0x8d')+tmp_voice_queues+';');BPromise[_0x1716('0x84')](_0x306f26,handleQuery)[_0x1716('0x51')](function(_0x13906e){stats[_0x1716('0x8e')]=!![];stats[_0x1716('0x8f')]=_0x19e13f['duplicates']&&_0x19e13f[_0x1716('0x7f')][_0x1716('0x4e')]?results[0x2][_0x1716('0x8f')]:results[0x0][_0x1716('0x8f')];socket[_0x1716('0x7a')](_0x1716('0x90')+_0x270c54,stats);fs[_0x1716('0x91')](_0x53817c);fs[_0x1716('0x91')](_0x442b3a);process['exit'](0x0);})[_0x1716('0x49')](function(_0x4e6c69){logger['error'](_0x4e6c69[_0x1716('0x44')]);process['exit'](0x1);});});});});}catch(_0x5bf827){logger[_0x1716('0x43')]('complete',_0x5bf827[_0x1716('0x44')]);process['exit'](0x1);}},'error':function(_0x443409,_0xd828e4,_0x57c28b,_0x17053d){throw new Error(_0x17053d);}});}function validate(){if(process[_0x1716('0x92')]&&process['argv'][_0x1716('0x4e')]<0x4){throw new Error(_0x1716('0x93'));}var _0x3bebd3=path[_0x1716('0x14')](config['root'],_0x1716('0x61'),process['argv'][0x2]);if(!fs[_0x1716('0x94')](_0x3bebd3)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x549820={};try{_0x549820=JSON['parse'](process[_0x1716('0x92')][0x3]);if(!_0x549820[_0x1716('0x5f')]){throw new Error(_0x1716('0x95'));}if(!_0x549820[_0x1716('0x5f')]['phone']){throw new Error('phone\x20is\x20mandatory');}if(!_0x549820['binding']['firstName']){throw new Error(_0x1716('0x96'));}var _0x527004=0x0;if(_0x549820[_0x1716('0x5f')]['UserId']){_0x527004=0x1;}if(!_0x549820['ListId']){throw new Error(_0x1716('0x97'));}}catch(_0x43ac1c){throw new Error(_0x1716('0x98'));}var _0x273f0d=[];try{_0x273f0d=_[_0x1716('0x99')](JSON[_0x1716('0x66')](process[_0x1716('0x92')][0x4]),'id');}catch(_0x1e8507){logger[_0x1716('0x41')](_0x1716('0x9a'));}main(_0x3bebd3,_0x549820,_0x273f0d,_0x527004);}validate();process['on'](_0x1716('0x9b'),handleStop);process['on'](_0x1716('0x9c'),handleUncaughtException);