b2627f54a611a7d1452fd5d03913a754bb1acd94
[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 _0x0788=['cm_contacts.priority','keys','CompanyId',')\x20NOT\x20IN\x20?','id\x20IN\x20?','min_id','group','info','Received\x20SIGINT','message','exit','push','code','sequelize','query','spread','error','campaigns.dialTimezone','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','length','all','then','catch','voice_queues.dialTimezone','voice_queues','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','isNil','utcOffset','set','offset','main','stringify','send','server/files/tmp','.csv','includes','writeFileSync','createReadStream','data','rows','errors','hasOwnProperty','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','\x20not\x20specified','SystemRow','appendFileSync','emit','contact:import:','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','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\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()','DROP\x20TABLE\x20','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','CampaignId','campaigns_has_cm_blacklists','campaigns','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','file\x20doesn\x27t\x20exists','binding','phone\x20is\x20mandatory','firstName','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','map','parse','No\x20agent\x20available','uncaughtException','lodash','papaparse','util','bluebird','moment','squel','../../../config/environment','../../../config/environment/shared','redis','defaults','localhost','YYYY-MM-DD\x20HH:mm:ss','test','select','field','phone','from','join','.id\x20=\x20','\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.UserId','insert','into','fromQuery','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','cm_hopper','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_hopper_black','\x20=\x20?','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.createdAt'];(function(_0x4bdb52,_0xfe60ee){var _0x185ee3=function(_0x316855){while(--_0x316855){_0x4bdb52['push'](_0x4bdb52['shift']());}};_0x185ee3(++_0xfe60ee);}(_0x0788,0x18f));var _0x8078=function(_0x28fbb7,_0x3e6904){_0x28fbb7=_0x28fbb7-0x0;var _0x4894e1=_0x0788[_0x28fbb7];return _0x4894e1;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0x8078('0x0'));var Papa=require(_0x8078('0x1'));var util=require(_0x8078('0x2'));var BPromise=require(_0x8078('0x3'));var moment=require(_0x8078('0x4'));var squel=require(_0x8078('0x5'));var Redis=require('ioredis');var db=require('../../../mysqldb')['db'];var config=require(_0x8078('0x6'));var shared=require(_0x8078('0x7'));var logger=require('../../../config/logger')('import');config[_0x8078('0x8')]=_[_0x8078('0x9')](config['redis'],{'host':_0x8078('0xa'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x8078('0x8')]));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()['format'](_0x8078('0xb'));function isEmail(_0x6bd609){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))*$/[_0x8078('0xc')](_0x6bd609);}function selectNotIn(_0x5b7bc9,_0x288087,_0x2cbc8b,_0x43d898,_0xa141e6){return squel[_0x8078('0xd')]()[_0x8078('0xe')](_0x8078('0xf'))[_0x8078('0x10')](_0x43d898)[_0x8078('0x11')](_0x288087,null,_0x288087+_0x8078('0x12')+_0x43d898+'.'+_0x2cbc8b)['where'](_0x43d898+'.'+_0x2cbc8b+_0x8078('0x13')+_0x5b7bc9+'.'+_0x2cbc8b)[_0x8078('0x14')](_0x288087+_0x8078('0x15')+_0xa141e6[_0x8078('0x11')]()+')');}function insertCmHopper(_0x5538bb,_0x2a1aa5,_0x4653c7,_0xc1354a,_0x2321f0){var _0x4e8dcb=[_0x8078('0x16'),_0x8078('0x17'),_0x8078('0x18'),_0x8078('0x19'),_0x2a1aa5+'.'+_0xc1354a,'cm_contacts.createdAt',_0x8078('0x1a'),'cm_contacts.priority',_0x8078('0x1b'),'\x22'+_0x2321f0+'\x22'];return squel[_0x8078('0x1c')]()[_0x8078('0x1d')]('cm_hopper')[_0x8078('0x1e')]([_0x8078('0xf'),_0x8078('0x1f'),_0x8078('0x20'),_0x8078('0x21'),_0xc1354a,_0x8078('0x22'),_0x8078('0x23'),_0x8078('0x24'),_0x8078('0x25'),_0x8078('0x26')],squel['select']()[_0x8078('0x27')](_0x4e8dcb)[_0x8078('0x10')](_0x2a1aa5)[_0x8078('0x11')](_0x8078('0x28'),null,_0x8078('0x29')+_0x2a1aa5+_0x8078('0x2a'))[_0x8078('0x11')](_0x4653c7,null,_0x4653c7+_0x8078('0x12')+_0x2a1aa5+'.'+_0xc1354a)[_0x8078('0x14')](_0x2a1aa5+_0x8078('0x2b'),_0x5538bb)['where'](_0x8078('0x2c'),NOW)[_0x8078('0x14')](_0x8078('0x2d'),selectNotIn(_0x2a1aa5,_0x4653c7,_0xc1354a,_0x8078('0x2e'),[_0x8078('0x2f'),_0x8078('0x30')]))[_0x8078('0x14')](_0x8078('0x2d'),selectNotIn(_0x2a1aa5,_0x4653c7,_0xc1354a,_0x8078('0x2e'),[_0x8078('0x2f')])))[_0x8078('0x31')]();}function insertCmHopperBlack(_0x2d8d26,_0x3025ed,_0x17595e,_0xcd52cc){var _0x51ef94=[_0x8078('0x16'),_0x8078('0x18'),_0x8078('0x19'),_0x3025ed+'.'+_0xcd52cc,'cm_contacts.createdAt',_0x8078('0x1a')];return squel[_0x8078('0x1c')]()[_0x8078('0x1d')](_0x8078('0x32'))[_0x8078('0x1e')]([_0x8078('0xf'),_0x8078('0x20'),_0x8078('0x21'),_0xcd52cc,_0x8078('0x22'),_0x8078('0x23')],squel[_0x8078('0xd')]()[_0x8078('0x27')](_0x51ef94)[_0x8078('0x10')](_0x3025ed)[_0x8078('0x11')](_0x8078('0x28'),null,_0x8078('0x29')+_0x3025ed+_0x8078('0x2a'))['join'](_0x17595e,null,_0x17595e+'.id\x20=\x20'+_0x3025ed+'.'+_0xcd52cc)[_0x8078('0x14')](_0x3025ed+_0x8078('0x2b'),_0x2d8d26)['where'](_0x8078('0x2c'),NOW)[_0x8078('0x14')](_0x8078('0x2d'),squel[_0x8078('0xd')]()[_0x8078('0xe')](_0x8078('0xf'))['from']('cm_hopper_black')[_0x8078('0x14')]('ListId\x20=\x20?',_0x2d8d26)[_0x8078('0x14')](_0xcd52cc+_0x8078('0x33'),_0x3025ed+'.'+_0xcd52cc)))[_0x8078('0x31')]();}function insertTzCmHopper(_0x57bf59,_0x4685d6,_0x4b330c,_0x335aa8,_0x165603,_0x3f1303){var _0x29e712=[_0x8078('0x16'),'date_add(cm_contacts.scheduledat,interval\x20'+_0x3f1303+_0x8078('0x34'),'cm_contacts.id',_0x8078('0x19'),_0x4685d6+'.'+_0x335aa8,_0x8078('0x35'),_0x8078('0x1a'),_0x8078('0x36'),'cm_contacts.UserId','\x22'+_0x165603+'\x22'];var _0x11a4f3=squel[_0x8078('0x1c')]()[_0x8078('0x1d')](_0x8078('0x2e'))[_0x8078('0x1e')]([_0x8078('0xf'),'scheduledat',_0x8078('0x20'),_0x8078('0x21'),_0x335aa8,_0x8078('0x22'),'updatedAt','priority','UserId',_0x8078('0x26')],squel[_0x8078('0xd')]()[_0x8078('0x27')](_0x29e712)[_0x8078('0x10')](_0x4685d6)[_0x8078('0x11')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x4685d6+'.CmListId')[_0x8078('0x11')](_0x4b330c,null,_0x4b330c+_0x8078('0x12')+_0x4685d6+'.'+_0x335aa8)['join'](_0x3f1303,null,_0x3f1303+_0x8078('0x12')+_0x4685d6+'.'+_0x335aa8)[_0x8078('0x14')](_0x4685d6+'.CmListId\x20=\x20?',_0x57bf59)['where'](_0x8078('0x2c'),NOW)['where'](_0x8078('0x2d'),selectNotIn(_0x4685d6,_0x4b330c,_0x335aa8,_0x8078('0x2e'),['\x22always\x22',_0x8078('0x30')]))[_0x8078('0x14')](_0x8078('0x2d'),selectNotIn(_0x4685d6,_0x4b330c,_0x335aa8,'cm_hopper',[_0x8078('0x2f')])))['toString']();return _0x11a4f3;}function insertTzCmHopperBlack(_0x1f273,_0x4d2f8f,_0xf6325c,_0x1c4df5){var _0x2a574f=[_0x8078('0x16'),_0x8078('0x18'),_0x8078('0x19'),_0x4d2f8f+'.'+_0x1c4df5,_0x8078('0x35'),_0x8078('0x1a')];return squel[_0x8078('0x1c')]()[_0x8078('0x1d')](_0x8078('0x32'))[_0x8078('0x1e')]([_0x8078('0xf'),_0x8078('0x20'),_0x8078('0x21'),_0x1c4df5,'createdAt',_0x8078('0x23')],squel[_0x8078('0xd')]()[_0x8078('0x27')](_0x2a574f)['from'](_0x4d2f8f)[_0x8078('0x11')]('cm_contacts',null,_0x8078('0x29')+_0x4d2f8f+_0x8078('0x2a'))[_0x8078('0x11')](_0xf6325c,null,_0xf6325c+'.id\x20=\x20'+_0x4d2f8f+'.'+_0x1c4df5)[_0x8078('0x14')](_0x4d2f8f+_0x8078('0x2b'),_0x1f273)[_0x8078('0x14')](_0x8078('0x2c'),NOW)['where'](_0x8078('0x2d'),squel[_0x8078('0xd')]()[_0x8078('0xe')]('phone')[_0x8078('0x10')](_0x8078('0x32'))[_0x8078('0x14')]('ListId\x20=\x20?',_0x1f273)[_0x8078('0x14')](_0x1c4df5+_0x8078('0x33'),_0x4d2f8f+'.'+_0x1c4df5)))['toString']();}function insertCmContact(_0xa7496a,_0x4f7f61,_0x5544e6,_0x1aba18){var _0x3b32b3=_['concat'](_[_0x8078('0x37')](_0x1aba18),[_0x8078('0x21'),_0x8078('0x38'),_0x8078('0x22'),_0x8078('0x23')]);return squel[_0x8078('0x1c')]()[_0x8078('0x1d')](_0x8078('0x28'))['fromQuery'](_0x3b32b3,squel[_0x8078('0xd')]()[_0x8078('0x27')](_0x3b32b3)[_0x8078('0x10')](_0x4f7f61)[_0x8078('0x14')]('('+_0x5544e6[_0x8078('0x11')](',')+_0x8078('0x39'),squel[_0x8078('0xd')]()[_0x8078('0x27')](_0x5544e6)[_0x8078('0x10')](_0x8078('0x28'))[_0x8078('0x14')]('ListId\x20=\x20?',_0xa7496a)[_0x8078('0x14')]('deletedAt\x20IS\x20NULL'))[_0x8078('0x14')](_0x8078('0x3a'),squel['select']()[_0x8078('0xe')]('MIN(id)',_0x8078('0x3b'))[_0x8078('0x10')](_0x4f7f61)[_0x8078('0x3c')](_0x5544e6[_0x8078('0x11')](','))))[_0x8078('0x31')]();}function handleStop(){logger[_0x8078('0x3d')](_0x8078('0x3e'));stopped=!![];}function handleUncaughtException(_0x43f4e0){logger['error'](_0x43f4e0[_0x8078('0x3f')]);process[_0x8078('0x40')](0x1);}function handleError(_0x37dbd9,_0x5a803b){stats['errors'][_0x8078('0x41')]({'name':_0x5a803b[_0x8078('0x42')],'message':_0x5a803b[_0x8078('0x3f')],'row':_0x37dbd9});}function handleQuery(_0x45003b){logger[_0x8078('0x3d')](_0x45003b);return db[_0x8078('0x43')][_0x8078('0x44')](_0x45003b)[_0x8078('0x45')](function(_0x5ad74c){results['push'](_0x5ad74c);})['catch'](function(_0x56d192){logger[_0x8078('0x46')](_0x56d192[_0x8078('0x3f')]);});}function updateTzCampaigns(_0xdc5048){return new Promise(function(_0x431529,_0x21e17f){var _0x2d258c=squel[_0x8078('0xd')]()[_0x8078('0x27')](['campaigns.id',_0x8078('0x47')])['from']('campaigns')[_0x8078('0x11')]('campaigns_has_cm_lists',null,_0x8078('0x48'))['where'](_0x8078('0x49')+_0xdc5048);db[_0x8078('0x43')][_0x8078('0x44')](_0x2d258c[_0x8078('0x31')]())[_0x8078('0x45')](function(_0xd551c1){var _0x306f10=[];for(var _0x5384a5=0x0;_0x5384a5<_0xd551c1[_0x8078('0x4a')];_0x5384a5++){_0x306f10[_0x8078('0x41')](getTimezoneData(_0xd551c1[_0x5384a5],tmp_campaigns));}BPromise[_0x8078('0x4b')](_0x306f10)[_0x8078('0x4c')](function(){_0x431529({'val':0x1});});})[_0x8078('0x4d')](function(_0x189117){logger[_0x8078('0x46')](_0x189117[_0x8078('0x3f')]);_0x431529({'val':0x0});});});}function updateTzVoiceQueues(_0xb87814){return new Promise(function(_0x327834,_0x271476){var _0x6942d3=squel[_0x8078('0xd')]()[_0x8078('0x27')](['voice_queues.id',_0x8078('0x4e')])[_0x8078('0x10')](_0x8078('0x4f'))[_0x8078('0x11')]('voice_queues_has_cm_lists',null,_0x8078('0x50'))[_0x8078('0x14')]('voice_queues_has_cm_lists.CmListId='+_0xb87814);db['sequelize'][_0x8078('0x44')](_0x6942d3[_0x8078('0x31')]())[_0x8078('0x45')](function(_0x3f0f50){var _0x5b8d39=[];for(var _0x8c72a9=0x0;_0x8c72a9<_0x3f0f50[_0x8078('0x4a')];_0x8c72a9++){_0x5b8d39[_0x8078('0x41')](getTimezoneData(_0x3f0f50[_0x8c72a9],tmp_voice_queues));}BPromise['all'](_0x5b8d39)[_0x8078('0x4c')](function(){_0x327834({'val':0x1});});})[_0x8078('0x4d')](function(_0x2e4368){logger[_0x8078('0x46')](_0x2e4368[_0x8078('0x3f')]);_0x327834({'val':0x0});});});}function getTimezoneData(_0x5bac8e,_0x5e0b0f){return new Promise(function(_0x55bce8,_0x570b27){var _0x2be820=shared[_0x8078('0x51')];var _0x252277=_0x2be820[_0x5bac8e[_0x8078('0x52')]];if(_[_0x8078('0x53')](_0x252277)){_0x55bce8({'ret':0x1});}else{var _0x3df35=_0x252277[_0x8078('0x54')];var _0x5c1a09=squel['insert']()[_0x8078('0x1d')](_0x5e0b0f)[_0x8078('0x55')]('id',_0x5bac8e['id'])[_0x8078('0x55')](_0x8078('0x56'),_0x3df35)['set']('dialTimezone',_0x5bac8e[_0x8078('0x52')])[_0x8078('0x31')]();return db['sequelize']['query'](_0x5c1a09)['spread'](function(_0x1d9fe1){_0x55bce8({'ret':0x1});})[_0x8078('0x4d')](function(_0x14f972){logger[_0x8078('0x46')](_0x14f972[_0x8078('0x3f')]);_0x570b27({'ret':0x1});});}});}function handleTZQuery(_0x2b4289){logger['info'](_0x2b4289);return db['sequelize'][_0x8078('0x44')](_0x2b4289)['spread'](function(_0x35dd4e){})[_0x8078('0x4d')](function(_0x2aba6b){logger['error'](_0x2aba6b[_0x8078('0x3f')]);});}function main(_0x41fa76,_0x49fd04,_0x26862d,_0x1aedea){logger[_0x8078('0x3d')](_0x8078('0x57'),_0x41fa76,JSON[_0x8078('0x58')](_0x49fd04));process[_0x8078('0x59')]('start');var _0x187f77=_0x49fd04['binding'];var _0x4097f0=_0x49fd04['socket_timestamp'];var _0x4cc33b=path[_0x8078('0x11')](config['root'],_0x8078('0x5a'),_0x4097f0+_0x8078('0x5b'));hasTZ=_['keys'](_0x187f77)[_0x8078('0x5c')](_0x8078('0x52'));var _0x34c198=_[_0x8078('0x37')](_0x187f77)[_0x8078('0x11')]();logger['info']('header',_0x34c198);if(hasTZ)_0x34c198+=',utcOffset';fs[_0x8078('0x5d')](_0x4cc33b,_0x34c198+'\x0a');Papa['parse'](fs[_0x8078('0x5e')](_0x41fa76),{'header':!![],'skipEmptyLines':!![],'step':function(_0x9fddf,_0x3517d5){try{for(var _0x56ef6e=0x0,_0x5387c4=[];_0x56ef6e<_0x9fddf[_0x8078('0x5f')][_0x8078('0x4a')];_0x56ef6e++){stats[_0x8078('0x60')]+=0x1;if(_0x9fddf[_0x8078('0x61')][_0x56ef6e]){handleError(_0x9fddf[_0x8078('0x5f')][_0x56ef6e],_0x9fddf[_0x8078('0x61')][_0x56ef6e]);}else{var _0x123c5c=[];for(var _0x38b876 in _0x187f77){if(_0x187f77[_0x8078('0x62')](_0x38b876)){if(_0x9fddf[_0x8078('0x5f')][_0x56ef6e][_0x187f77[_0x38b876]]){var _0xe57a79=_[_0x8078('0x63')](_0x9fddf['data'][_0x56ef6e][_0x187f77[_0x38b876]][_0x8078('0x64')](/"/g,'\x27'));switch(_0x38b876){case _0x8078('0x1f'):var _0x163d65=moment(_0xe57a79,_0x8078('0xb'),!![]);if(_0x163d65[_0x8078('0x65')]()){_0x5387c4[_0x8078('0x41')]('\x22'+_0xe57a79+'\x22');}else{_0x123c5c[_0x8078('0x41')](_0x8078('0x66'));}break;case _0x8078('0x24'):var _0x45c4c8=parseInt(_0xe57a79);_0xe57a79=_[_0x8078('0x67')](_0x45c4c8)||_0x45c4c8<0x0||_0x45c4c8>0x4?_0x1aedea?0x3:0x2:_0x45c4c8;_0x5387c4['push']('\x22'+_0xe57a79+'\x22');break;case _0x8078('0x25'):var _0x58f290=parseInt(_0xe57a79);if(_[_0x8078('0x68')](_0x58f290)&&_[_0x8078('0x5c')](_0x26862d,_0x58f290)){_0x5387c4[_0x8078('0x41')]('\x22'+_0x58f290+'\x22');}else{_0x123c5c['push'](_0x8078('0x69'));}break;case _0x8078('0x6a'):if(isEmail(_0xe57a79)){_0x5387c4['push']('\x22'+_0xe57a79+'\x22');}else{_0x123c5c[_0x8078('0x41')](_0x8078('0x6b'));}break;case'dateOfBirth':var _0x21e1d4=moment(_0xe57a79,_0x8078('0x6c'),!![]);if(_0x21e1d4['isValid']()){_0x5387c4['push']('\x22'+_0xe57a79+'\x22');}else{_0x123c5c[_0x8078('0x41')](_0x8078('0x6d'));}break;case _0x8078('0x52'):var _0x394821=shared[_0x8078('0x51')];var _0x3ce216=_0x394821[_0xe57a79];if(!_[_0x8078('0x53')](_0x3ce216)){var _0x4e7f4d=_0x3ce216[_0x8078('0x54')];_0x5387c4[_0x8078('0x41')]('\x22'+_0xe57a79+'\x22');_0x5387c4[_0x8078('0x41')]('\x22'+_0x4e7f4d+'\x22');}break;default:_0x5387c4['push']('\x22'+_0xe57a79+'\x22');}}else{switch(_0x38b876){case'firstName':case _0x8078('0xf'):_0x123c5c[_0x8078('0x41')](_0x38b876+_0x8078('0x6e'));break;default:_0x5387c4['push']('\x22\x22');}}}}if(_0x123c5c[_0x8078('0x4a')]){handleError(_0x9fddf['data'][_0x56ef6e],{'code':_0x8078('0x6f'),'message':_0x123c5c['join']()});}else{fs[_0x8078('0x70')](_0x4cc33b,_0x5387c4[_0x8078('0x11')]()+'\x0a');}_0x5387c4=[];}if(!(stats[_0x8078('0x60')]%0xc8)){socket[_0x8078('0x71')](_0x8078('0x72')+_0x4097f0,stats);stats['errors']=[];}}if(stopped){logger[_0x8078('0x3d')]('Abort\x20parser');_0x3517d5[_0x8078('0x73')]();}}catch(_0x16a037){handleError(_0x9fddf['data'][_0x56ef6e],{'code':_0x8078('0x74'),'message':_0x16a037[_0x8078('0x3f')]});logger[_0x8078('0x46')](_0x8078('0x75'),_0x16a037[_0x8078('0x3f')]);}},'complete':function(){try{var _0x555764=[];var _0x37bc9c=[];var _0x341a65=_0x8078('0x28');if(_0x49fd04[_0x8078('0x76')]&&_0x49fd04[_0x8078('0x76')]['length']){_0x341a65=_0x8078('0x77')+_0x4097f0;_0x555764[_0x8078('0x41')](_0x8078('0x78')+_0x341a65+'\x20LIKE\x20cm_contacts;');}tmp_campaigns='campaigns_'+_0x4097f0;tmp_voice_queues=_0x8078('0x79')+_0x4097f0;_0x37bc9c['push'](_0x8078('0x78')+tmp_campaigns+_0x8078('0x7a'));_0x37bc9c['push'](_0x8078('0x78')+tmp_voice_queues+_0x8078('0x7a'));BPromise[_0x8078('0x7b')](_0x37bc9c,handleTZQuery)[_0x8078('0x4c')](function(_0x540db8){updateTzCampaigns(_0x49fd04[_0x8078('0x21')])[_0x8078('0x4c')](function(_0x4ae946){updateTzVoiceQueues(_0x49fd04[_0x8078('0x21')])[_0x8078('0x4c')](function(_0x570448){var _0x39e616=util[_0x8078('0x7c')](_0x8078('0x7d'),_0x4cc33b,_0x341a65,_0x34c198,_0x49fd04[_0x8078('0x21')],_0x49fd04[_0x8078('0x38')]||null,NOW,NOW);if(_['isNil'](_0x187f77['scheduledat'])){_0x39e616+=_0x8078('0x7e');}_0x555764[_0x8078('0x41')](_0x39e616);if(_0x49fd04[_0x8078('0x76')]&&_0x49fd04[_0x8078('0x76')][_0x8078('0x4a')]){_0x555764[_0x8078('0x41')](insertCmContact(_0x49fd04[_0x8078('0x21')],_0x341a65,_0x49fd04[_0x8078('0x76')],_0x187f77));_0x555764[_0x8078('0x41')](_0x8078('0x7f')+_0x341a65+';');}if(hasTZ){_0x555764[_0x8078('0x41')](insertTzCmHopper(_0x49fd04[_0x8078('0x21')],_0x8078('0x80'),_0x8078('0x4f'),_0x8078('0x81'),_0x1aedea,tmp_voice_queues));_0x555764[_0x8078('0x41')](insertTzCmHopperBlack(_0x49fd04['ListId'],_0x8078('0x82'),_0x8078('0x4f'),_0x8078('0x81')));_0x555764[_0x8078('0x41')](insertTzCmHopper(_0x49fd04[_0x8078('0x21')],_0x8078('0x83'),'campaigns',_0x8078('0x84'),_0x1aedea,tmp_campaigns));_0x555764['push'](insertTzCmHopperBlack(_0x49fd04['ListId'],_0x8078('0x85'),_0x8078('0x86'),_0x8078('0x84')));}else{_0x555764[_0x8078('0x41')](insertCmHopper(_0x49fd04[_0x8078('0x21')],'voice_queues_has_cm_lists',_0x8078('0x4f'),'VoiceQueueId',_0x1aedea));_0x555764[_0x8078('0x41')](insertCmHopperBlack(_0x49fd04[_0x8078('0x21')],_0x8078('0x82'),_0x8078('0x4f'),_0x8078('0x81')));_0x555764['push'](insertCmHopper(_0x49fd04[_0x8078('0x21')],_0x8078('0x83'),_0x8078('0x86'),_0x8078('0x84'),_0x1aedea));_0x555764[_0x8078('0x41')](insertCmHopperBlack(_0x49fd04['ListId'],_0x8078('0x85'),_0x8078('0x86'),_0x8078('0x84')));}_0x555764[_0x8078('0x41')](_0x8078('0x7f')+tmp_campaigns+';');_0x555764[_0x8078('0x41')]('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0x8078('0x7b')](_0x555764,handleQuery)[_0x8078('0x4c')](function(_0x19caf6){stats[_0x8078('0x87')]=!![];stats[_0x8078('0x88')]=_0x49fd04[_0x8078('0x76')]&&_0x49fd04['duplicates'][_0x8078('0x4a')]?results[0x2]['affectedRows']:results[0x0]['affectedRows'];socket[_0x8078('0x71')](_0x8078('0x72')+_0x4097f0,stats);fs[_0x8078('0x89')](_0x41fa76);fs['unlink'](_0x4cc33b);process[_0x8078('0x40')](0x0);})[_0x8078('0x4d')](function(_0x38ca3b){logger[_0x8078('0x46')](_0x38ca3b[_0x8078('0x3f')]);process['exit'](0x1);});});});});}catch(_0x37e246){logger[_0x8078('0x46')](_0x8078('0x8a'),_0x37e246[_0x8078('0x3f')]);process[_0x8078('0x40')](0x1);}},'error':function(_0x5aeae9,_0xc42e08,_0x4a61bc,_0x3e3664){throw new Error(_0x3e3664);}});}function validate(){if(process['argv']&&process[_0x8078('0x8b')][_0x8078('0x4a')]<0x4){throw new Error(_0x8078('0x8c'));}var _0x4b0a64=path['join'](config['root'],_0x8078('0x5a'),process['argv'][0x2]);if(!fs['existsSync'](_0x4b0a64)){throw new Error(_0x8078('0x8d'));}var _0x287213={};try{_0x287213=JSON['parse'](process[_0x8078('0x8b')][0x3]);if(!_0x287213[_0x8078('0x8e')]){throw new Error('binding\x20doesn\x27t\x20exists');}if(!_0x287213[_0x8078('0x8e')][_0x8078('0xf')]){throw new Error(_0x8078('0x8f'));}if(!_0x287213['binding'][_0x8078('0x90')]){throw new Error(_0x8078('0x91'));}var _0x40711c=0x0;if(_0x287213[_0x8078('0x8e')][_0x8078('0x25')]){_0x40711c=0x1;}if(!_0x287213[_0x8078('0x21')]){throw new Error(_0x8078('0x92'));}}catch(_0x2ce05c){throw new Error('body\x20id\x20mandatory');}var _0x5adf61=[];try{_0x5adf61=_[_0x8078('0x93')](JSON[_0x8078('0x94')](process['argv'][0x4]),'id');}catch(_0x353dd4){logger['info'](_0x8078('0x95'));}main(_0x4b0a64,_0x287213,_0x5adf61,_0x40711c);}validate();process['on']('SIGINT',handleStop);process['on'](_0x8078('0x96'),handleUncaughtException);