Built motion from commit a61a4a20.|2.5.46
[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 _0xefee=['cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId\x20=\x20?','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.phone\x20NOT\x20IN\x20(?)','cm_contacts.updatedAt','cm_hopper_black','fromQuery','ContactId','ListId','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','\x20=\x20?','toString','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.createdAt','scheduledat','select','fields','.CmListId','concat','keys','CompanyId','deletedAt\x20IS\x20NULL','min_id','group','info','message','exit','errors','push','code','sequelize','query','spread','campaigns','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','length','all','then','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues_has_cm_lists.CmListId=','error','timezones','dialTimezone','utcOffset','set','offset','catch','stringify','start','binding','socket_timestamp','server/files/tmp','.csv','header','writeFileSync','parse','data','rows','hasOwnProperty','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','includes','agent\x20not\x20exists','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','firstName','\x20not\x20specified','SystemRow','emit','contact:import:','Abort\x20parser','abort','SystemError','duplicates','cm_contacts_','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','CREATE\x20TABLE\x20','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','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','isNil',',\x20scheduledAt\x20=\x20NOW()','VoiceQueueId','campaigns_has_cm_lists','CampaignId','campaigns_has_cm_blacklists','voice_queues_has_cm_blacklists','DROP\x20TABLE\x20','each','affectedRows','unlink','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','root','existsSync','file\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/environment/shared','import','redis','defaults','localhost','format','YYYY-MM-DD\x20HH:mm:ss','test','field','phone','from','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','createdAt','updatedAt','priority','UserId','recallme'];(function(_0x10dc64,_0x11bb29){var _0x9cf98d=function(_0x558d71){while(--_0x558d71){_0x10dc64['push'](_0x10dc64['shift']());}};_0x9cf98d(++_0x11bb29);}(_0xefee,0x10f));var _0xeefe=function(_0x14bcfe,_0xda89f2){_0x14bcfe=_0x14bcfe-0x0;var _0x234e9a=_0xefee[_0x14bcfe];return _0x234e9a;};'use strict';var fs=require('fs');var path=require(_0xeefe('0x0'));var _=require(_0xeefe('0x1'));var Papa=require(_0xeefe('0x2'));var util=require(_0xeefe('0x3'));var BPromise=require(_0xeefe('0x4'));var moment=require(_0xeefe('0x5'));var squel=require(_0xeefe('0x6'));var Redis=require(_0xeefe('0x7'));var db=require(_0xeefe('0x8'))['db'];var config=require('../../../config/environment');var shared=require(_0xeefe('0x9'));var logger=require('../../../config/logger')(_0xeefe('0xa'));config[_0xeefe('0xb')]=_[_0xeefe('0xc')](config[_0xeefe('0xb')],{'host':_0xeefe('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xeefe('0xb')]));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()[_0xeefe('0xe')](_0xeefe('0xf'));function isEmail(_0x5c562c){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))*$/[_0xeefe('0x10')](_0x5c562c);}function selectNotIn(_0x3277a2,_0x515617,_0x123bf5,_0x2933cd,_0x544edb){return squel['select']()[_0xeefe('0x11')](_0xeefe('0x12'))[_0xeefe('0x13')](_0x2933cd)[_0xeefe('0x14')](_0x515617,null,_0x515617+_0xeefe('0x15')+_0x2933cd+'.'+_0x123bf5)[_0xeefe('0x16')](_0x2933cd+'.'+_0x123bf5+_0xeefe('0x17')+_0x3277a2+'.'+_0x123bf5)[_0xeefe('0x16')](_0x515617+_0xeefe('0x18')+_0x544edb[_0xeefe('0x14')]()+')');}function insertCmHopper(_0x4ca3b1,_0x391ab3,_0x48a578,_0x25f714,_0x4d59c7){var _0x5278bd=[_0xeefe('0x19'),_0xeefe('0x1a'),_0xeefe('0x1b'),_0xeefe('0x1c'),_0x391ab3+'.'+_0x25f714,'cm_contacts.createdAt','cm_contacts.updatedAt',_0xeefe('0x1d'),_0xeefe('0x1e'),'\x22'+_0x4d59c7+'\x22'];return squel[_0xeefe('0x1f')]()[_0xeefe('0x20')](_0xeefe('0x21'))['fromQuery']([_0xeefe('0x12'),'scheduledat','ContactId','ListId',_0x25f714,_0xeefe('0x22'),_0xeefe('0x23'),_0xeefe('0x24'),_0xeefe('0x25'),_0xeefe('0x26')],squel['select']()['fields'](_0x5278bd)[_0xeefe('0x13')](_0x391ab3)[_0xeefe('0x14')](_0xeefe('0x27'),null,_0xeefe('0x28')+_0x391ab3+'.CmListId')[_0xeefe('0x14')](_0x48a578,null,_0x48a578+_0xeefe('0x15')+_0x391ab3+'.'+_0x25f714)[_0xeefe('0x16')](_0x391ab3+_0xeefe('0x29'),_0x4ca3b1)[_0xeefe('0x16')]('cm_contacts.createdAt\x20=\x20?',NOW)['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x391ab3,_0x48a578,_0x25f714,_0xeefe('0x21'),[_0xeefe('0x2a'),_0xeefe('0x2b')]))[_0xeefe('0x16')](_0xeefe('0x2c'),selectNotIn(_0x391ab3,_0x48a578,_0x25f714,'cm_hopper',['\x22always\x22'])))['toString']();}function insertCmHopperBlack(_0xe5dff4,_0xb584c6,_0x51de59,_0xfec2e9){var _0x38d5f3=[_0xeefe('0x19'),'cm_contacts.id',_0xeefe('0x1c'),_0xb584c6+'.'+_0xfec2e9,'cm_contacts.createdAt',_0xeefe('0x2d')];return squel[_0xeefe('0x1f')]()[_0xeefe('0x20')](_0xeefe('0x2e'))[_0xeefe('0x2f')](['phone',_0xeefe('0x30'),_0xeefe('0x31'),_0xfec2e9,_0xeefe('0x22'),_0xeefe('0x23')],squel['select']()['fields'](_0x38d5f3)['from'](_0xb584c6)['join'](_0xeefe('0x27'),null,'cm_contacts.ListId\x20=\x20'+_0xb584c6+'.CmListId')[_0xeefe('0x14')](_0x51de59,null,_0x51de59+_0xeefe('0x15')+_0xb584c6+'.'+_0xfec2e9)[_0xeefe('0x16')](_0xb584c6+_0xeefe('0x29'),_0xe5dff4)['where'](_0xeefe('0x32'),NOW)[_0xeefe('0x16')](_0xeefe('0x2c'),squel['select']()[_0xeefe('0x11')](_0xeefe('0x12'))[_0xeefe('0x13')](_0xeefe('0x2e'))[_0xeefe('0x16')](_0xeefe('0x33'),_0xe5dff4)[_0xeefe('0x16')](_0xfec2e9+_0xeefe('0x34'),_0xb584c6+'.'+_0xfec2e9)))[_0xeefe('0x35')]();}function insertTzCmHopper(_0x5126c3,_0x3f4ef4,_0x1ef1d1,_0x2532d2,_0x6749e,_0x436c7f){var _0x33df91=['cm_contacts.phone',_0xeefe('0x36')+_0x436c7f+_0xeefe('0x37'),_0xeefe('0x1b'),_0xeefe('0x1c'),_0x3f4ef4+'.'+_0x2532d2,_0xeefe('0x38'),_0xeefe('0x2d'),'cm_contacts.priority',_0xeefe('0x1e'),'\x22'+_0x6749e+'\x22'];var _0x418dff=squel[_0xeefe('0x1f')]()['into'](_0xeefe('0x21'))['fromQuery']([_0xeefe('0x12'),_0xeefe('0x39'),_0xeefe('0x30'),_0xeefe('0x31'),_0x2532d2,_0xeefe('0x22'),_0xeefe('0x23'),'priority',_0xeefe('0x25'),_0xeefe('0x26')],squel[_0xeefe('0x3a')]()[_0xeefe('0x3b')](_0x33df91)[_0xeefe('0x13')](_0x3f4ef4)['join'](_0xeefe('0x27'),null,_0xeefe('0x28')+_0x3f4ef4+_0xeefe('0x3c'))[_0xeefe('0x14')](_0x1ef1d1,null,_0x1ef1d1+_0xeefe('0x15')+_0x3f4ef4+'.'+_0x2532d2)['join'](_0x436c7f,null,_0x436c7f+_0xeefe('0x15')+_0x3f4ef4+'.'+_0x2532d2)['where'](_0x3f4ef4+'.CmListId\x20=\x20?',_0x5126c3)[_0xeefe('0x16')](_0xeefe('0x32'),NOW)[_0xeefe('0x16')](_0xeefe('0x2c'),selectNotIn(_0x3f4ef4,_0x1ef1d1,_0x2532d2,'cm_hopper',[_0xeefe('0x2a'),'\x22onlyIfOpen\x22']))[_0xeefe('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x3f4ef4,_0x1ef1d1,_0x2532d2,'cm_hopper',[_0xeefe('0x2a')])))[_0xeefe('0x35')]();return _0x418dff;}function insertTzCmHopperBlack(_0x32827e,_0x1ffa68,_0x16ae9f,_0x3fedc7){var _0x3aaef4=['cm_contacts.phone',_0xeefe('0x1b'),_0xeefe('0x1c'),_0x1ffa68+'.'+_0x3fedc7,_0xeefe('0x38'),'cm_contacts.updatedAt'];return squel[_0xeefe('0x1f')]()[_0xeefe('0x20')](_0xeefe('0x2e'))[_0xeefe('0x2f')](['phone',_0xeefe('0x30'),_0xeefe('0x31'),_0x3fedc7,_0xeefe('0x22'),_0xeefe('0x23')],squel['select']()[_0xeefe('0x3b')](_0x3aaef4)[_0xeefe('0x13')](_0x1ffa68)['join']('cm_contacts',null,_0xeefe('0x28')+_0x1ffa68+'.CmListId')[_0xeefe('0x14')](_0x16ae9f,null,_0x16ae9f+_0xeefe('0x15')+_0x1ffa68+'.'+_0x3fedc7)['where'](_0x1ffa68+_0xeefe('0x29'),_0x32827e)['where'](_0xeefe('0x32'),NOW)[_0xeefe('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0xeefe('0x3a')]()[_0xeefe('0x11')](_0xeefe('0x12'))[_0xeefe('0x13')](_0xeefe('0x2e'))[_0xeefe('0x16')](_0xeefe('0x33'),_0x32827e)[_0xeefe('0x16')](_0x3fedc7+_0xeefe('0x34'),_0x1ffa68+'.'+_0x3fedc7)))[_0xeefe('0x35')]();}function insertCmContact(_0x50dac5,_0x545af7,_0x550cb4,_0x5c9bff){var _0x5b1aa2=_[_0xeefe('0x3d')](_[_0xeefe('0x3e')](_0x5c9bff),[_0xeefe('0x31'),_0xeefe('0x3f'),_0xeefe('0x22'),_0xeefe('0x23')]);return squel[_0xeefe('0x1f')]()[_0xeefe('0x20')](_0xeefe('0x27'))[_0xeefe('0x2f')](_0x5b1aa2,squel[_0xeefe('0x3a')]()[_0xeefe('0x3b')](_0x5b1aa2)[_0xeefe('0x13')](_0x545af7)[_0xeefe('0x16')]('('+_0x550cb4['join'](',')+')\x20NOT\x20IN\x20?',squel[_0xeefe('0x3a')]()[_0xeefe('0x3b')](_0x550cb4)[_0xeefe('0x13')](_0xeefe('0x27'))[_0xeefe('0x16')]('ListId\x20=\x20?',_0x50dac5)['where'](_0xeefe('0x40')))['where']('id\x20IN\x20?',squel[_0xeefe('0x3a')]()[_0xeefe('0x11')]('MIN(id)',_0xeefe('0x41'))[_0xeefe('0x13')](_0x545af7)[_0xeefe('0x42')](_0x550cb4['join'](','))))[_0xeefe('0x35')]();}function handleStop(){logger[_0xeefe('0x43')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x288556){logger['error'](_0x288556[_0xeefe('0x44')]);process[_0xeefe('0x45')](0x1);}function handleError(_0x4e4128,_0x4916c0){stats[_0xeefe('0x46')][_0xeefe('0x47')]({'name':_0x4916c0[_0xeefe('0x48')],'message':_0x4916c0[_0xeefe('0x44')],'row':_0x4e4128});}function handleQuery(_0x4912bd){logger[_0xeefe('0x43')](_0x4912bd);return db[_0xeefe('0x49')][_0xeefe('0x4a')](_0x4912bd)[_0xeefe('0x4b')](function(_0x54b139){results[_0xeefe('0x47')](_0x54b139);})['catch'](function(_0x9de909){logger['error'](_0x9de909['message']);});}function updateTzCampaigns(_0x379997){return new Promise(function(_0x434ce6,_0x2d0ee3){var _0x46a1f9=squel[_0xeefe('0x3a')]()[_0xeefe('0x3b')](['campaigns.id','campaigns.dialTimezone'])[_0xeefe('0x13')](_0xeefe('0x4c'))[_0xeefe('0x14')]('campaigns_has_cm_lists',null,_0xeefe('0x4d'))['where']('campaigns_has_cm_lists.CmListId='+_0x379997);db[_0xeefe('0x49')][_0xeefe('0x4a')](_0x46a1f9[_0xeefe('0x35')]())[_0xeefe('0x4b')](function(_0x4c9601){var _0x9bf08d=[];for(var _0x266a57=0x0;_0x266a57<_0x4c9601[_0xeefe('0x4e')];_0x266a57++){_0x9bf08d[_0xeefe('0x47')](getTimezoneData(_0x4c9601[_0x266a57],tmp_campaigns));}BPromise[_0xeefe('0x4f')](_0x9bf08d)[_0xeefe('0x50')](function(){_0x434ce6({'val':0x1});});})['catch'](function(_0x549e13){logger['error'](_0x549e13[_0xeefe('0x44')]);_0x434ce6({'val':0x0});});});}function updateTzVoiceQueues(_0x3762ad){return new Promise(function(_0x4aac39,_0x462a45){var _0x376be3=squel[_0xeefe('0x3a')]()[_0xeefe('0x3b')]([_0xeefe('0x51'),_0xeefe('0x52')])[_0xeefe('0x13')](_0xeefe('0x53'))[_0xeefe('0x14')](_0xeefe('0x54'),null,'voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId')[_0xeefe('0x16')](_0xeefe('0x55')+_0x3762ad);db['sequelize']['query'](_0x376be3[_0xeefe('0x35')]())[_0xeefe('0x4b')](function(_0xb8791c){var _0x207529=[];for(var _0x578950=0x0;_0x578950<_0xb8791c['length'];_0x578950++){_0x207529[_0xeefe('0x47')](getTimezoneData(_0xb8791c[_0x578950],tmp_voice_queues));}BPromise[_0xeefe('0x4f')](_0x207529)[_0xeefe('0x50')](function(){_0x4aac39({'val':0x1});});})['catch'](function(_0x5aaaab){logger[_0xeefe('0x56')](_0x5aaaab[_0xeefe('0x44')]);_0x4aac39({'val':0x0});});});}function getTimezoneData(_0x5392cb,_0x1f78ef){return new Promise(function(_0x58a0d7,_0x1efd7f){var _0x4914c4=shared[_0xeefe('0x57')];var _0x562e9e=_0x4914c4[_0x5392cb[_0xeefe('0x58')]];if(_['isNil'](_0x562e9e)){_0x58a0d7({'ret':0x1});}else{var _0x474e3e=_0x562e9e[_0xeefe('0x59')];var _0x193274=squel['insert']()[_0xeefe('0x20')](_0x1f78ef)[_0xeefe('0x5a')]('id',_0x5392cb['id'])[_0xeefe('0x5a')](_0xeefe('0x5b'),_0x474e3e)[_0xeefe('0x5a')]('dialTimezone',_0x5392cb[_0xeefe('0x58')])[_0xeefe('0x35')]();return db[_0xeefe('0x49')]['query'](_0x193274)[_0xeefe('0x4b')](function(_0x2168d8){_0x58a0d7({'ret':0x1});})[_0xeefe('0x5c')](function(_0x5b740e){logger[_0xeefe('0x56')](_0x5b740e['message']);_0x1efd7f({'ret':0x1});});}});}function handleTZQuery(_0xac4f1c){logger[_0xeefe('0x43')](_0xac4f1c);return db['sequelize'][_0xeefe('0x4a')](_0xac4f1c)[_0xeefe('0x4b')](function(_0x37c7d7){})[_0xeefe('0x5c')](function(_0x54dbd2){logger[_0xeefe('0x56')](_0x54dbd2[_0xeefe('0x44')]);});}function main(_0x1fe2bd,_0x375259,_0x4ba0b4,_0x45169e){logger['info']('main',_0x1fe2bd,JSON[_0xeefe('0x5d')](_0x375259));process['send'](_0xeefe('0x5e'));var _0x16f391=_0x375259[_0xeefe('0x5f')];var _0x5bbcc9=_0x375259[_0xeefe('0x60')];var _0x4a226c=path[_0xeefe('0x14')](config['root'],_0xeefe('0x61'),_0x5bbcc9+_0xeefe('0x62'));hasTZ=_[_0xeefe('0x3e')](_0x16f391)['includes'](_0xeefe('0x58'));var _0x6482ba=_[_0xeefe('0x3e')](_0x16f391)[_0xeefe('0x14')]();logger[_0xeefe('0x43')](_0xeefe('0x63'),_0x6482ba);if(hasTZ)_0x6482ba+=',utcOffset';fs[_0xeefe('0x64')](_0x4a226c,_0x6482ba+'\x0a');Papa[_0xeefe('0x65')](fs['createReadStream'](_0x1fe2bd),{'header':!![],'skipEmptyLines':!![],'step':function(_0x3d003e,_0x52ad7b){try{for(var _0x4f3541=0x0,_0x5909f8=[];_0x4f3541<_0x3d003e[_0xeefe('0x66')][_0xeefe('0x4e')];_0x4f3541++){stats[_0xeefe('0x67')]+=0x1;if(_0x3d003e[_0xeefe('0x46')][_0x4f3541]){handleError(_0x3d003e[_0xeefe('0x66')][_0x4f3541],_0x3d003e['errors'][_0x4f3541]);}else{var _0x675920=[];for(var _0x986f1c in _0x16f391){if(_0x16f391[_0xeefe('0x68')](_0x986f1c)){if(_0x3d003e[_0xeefe('0x66')][_0x4f3541][_0x16f391[_0x986f1c]]){var _0x5f0dc1=_[_0xeefe('0x69')](_0x3d003e[_0xeefe('0x66')][_0x4f3541][_0x16f391[_0x986f1c]][_0xeefe('0x6a')](/"/g,'\x27'));switch(_0x986f1c){case'scheduledat':var _0x5e04de=moment(_0x5f0dc1,_0xeefe('0xf'),!![]);if(_0x5e04de[_0xeefe('0x6b')]()){_0x5909f8[_0xeefe('0x47')]('\x22'+_0x5f0dc1+'\x22');}else{_0x675920[_0xeefe('0x47')](_0xeefe('0x6c'));}break;case _0xeefe('0x24'):var _0x1a3c58=parseInt(_0x5f0dc1);_0x5f0dc1=_[_0xeefe('0x6d')](_0x1a3c58)||_0x1a3c58<0x0||_0x1a3c58>0x4?_0x45169e?0x3:0x2:_0x1a3c58;_0x5909f8[_0xeefe('0x47')]('\x22'+_0x5f0dc1+'\x22');break;case _0xeefe('0x25'):var _0xe948fc=parseInt(_0x5f0dc1);if(_[_0xeefe('0x6e')](_0xe948fc)&&_[_0xeefe('0x6f')](_0x4ba0b4,_0xe948fc)){_0x5909f8[_0xeefe('0x47')]('\x22'+_0xe948fc+'\x22');}else{_0x675920[_0xeefe('0x47')](_0xeefe('0x70'));}break;case'email':if(isEmail(_0x5f0dc1)){_0x5909f8['push']('\x22'+_0x5f0dc1+'\x22');}else{_0x675920[_0xeefe('0x47')](_0xeefe('0x71'));}break;case _0xeefe('0x72'):var _0x2abd48=moment(_0x5f0dc1,_0xeefe('0x73'),!![]);if(_0x2abd48[_0xeefe('0x6b')]()){_0x5909f8['push']('\x22'+_0x5f0dc1+'\x22');}else{_0x675920[_0xeefe('0x47')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0xeefe('0x58'):var _0x50ec5e=shared[_0xeefe('0x57')];var _0x2637f8=_0x50ec5e[_0x5f0dc1];if(!_['isNil'](_0x2637f8)){var _0x5c76e7=_0x2637f8[_0xeefe('0x59')];_0x5909f8[_0xeefe('0x47')]('\x22'+_0x5f0dc1+'\x22');_0x5909f8[_0xeefe('0x47')]('\x22'+_0x5c76e7+'\x22');}break;default:_0x5909f8['push']('\x22'+_0x5f0dc1+'\x22');}}else{switch(_0x986f1c){case _0xeefe('0x74'):case _0xeefe('0x12'):_0x675920[_0xeefe('0x47')](_0x986f1c+_0xeefe('0x75'));break;default:_0x5909f8[_0xeefe('0x47')]('\x22\x22');}}}}if(_0x675920[_0xeefe('0x4e')]){handleError(_0x3d003e[_0xeefe('0x66')][_0x4f3541],{'code':_0xeefe('0x76'),'message':_0x675920[_0xeefe('0x14')]()});}else{fs['appendFileSync'](_0x4a226c,_0x5909f8['join']()+'\x0a');}_0x5909f8=[];}if(!(stats[_0xeefe('0x67')]%0xc8)){socket[_0xeefe('0x77')](_0xeefe('0x78')+_0x5bbcc9,stats);stats['errors']=[];}}if(stopped){logger[_0xeefe('0x43')](_0xeefe('0x79'));_0x52ad7b[_0xeefe('0x7a')]();}}catch(_0x5e989b){handleError(_0x3d003e['data'][_0x4f3541],{'code':_0xeefe('0x7b'),'message':_0x5e989b['message']});logger['error']('step',_0x5e989b['message']);}},'complete':function(){try{var _0x514bc3=[];var _0x41c075=[];var _0x29fd44=_0xeefe('0x27');if(_0x375259[_0xeefe('0x7c')]&&_0x375259[_0xeefe('0x7c')][_0xeefe('0x4e')]){_0x29fd44=_0xeefe('0x7d')+_0x5bbcc9;_0x514bc3[_0xeefe('0x47')]('CREATE\x20TABLE\x20'+_0x29fd44+_0xeefe('0x7e'));}tmp_campaigns=_0xeefe('0x7f')+_0x5bbcc9;tmp_voice_queues=_0xeefe('0x80')+_0x5bbcc9;_0x41c075[_0xeefe('0x47')](_0xeefe('0x81')+tmp_campaigns+_0xeefe('0x82'));_0x41c075[_0xeefe('0x47')]('CREATE\x20TABLE\x20'+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise['each'](_0x41c075,handleTZQuery)[_0xeefe('0x50')](function(_0x2cf25f){updateTzCampaigns(_0x375259['ListId'])[_0xeefe('0x50')](function(_0x13ec55){updateTzVoiceQueues(_0x375259['ListId'])['then'](function(_0x48deae){var _0x75db93=util[_0xeefe('0xe')](_0xeefe('0x83'),_0x4a226c,_0x29fd44,_0x6482ba,_0x375259[_0xeefe('0x31')],_0x375259[_0xeefe('0x3f')]||null,NOW,NOW);if(_[_0xeefe('0x84')](_0x16f391[_0xeefe('0x39')])){_0x75db93+=_0xeefe('0x85');}_0x514bc3[_0xeefe('0x47')](_0x75db93);if(_0x375259[_0xeefe('0x7c')]&&_0x375259[_0xeefe('0x7c')][_0xeefe('0x4e')]){_0x514bc3[_0xeefe('0x47')](insertCmContact(_0x375259[_0xeefe('0x31')],_0x29fd44,_0x375259[_0xeefe('0x7c')],_0x16f391));_0x514bc3[_0xeefe('0x47')]('DROP\x20TABLE\x20'+_0x29fd44+';');}if(hasTZ){_0x514bc3[_0xeefe('0x47')](insertTzCmHopper(_0x375259[_0xeefe('0x31')],_0xeefe('0x54'),'voice_queues','VoiceQueueId',_0x45169e,tmp_voice_queues));_0x514bc3[_0xeefe('0x47')](insertTzCmHopperBlack(_0x375259[_0xeefe('0x31')],'voice_queues_has_cm_blacklists','voice_queues',_0xeefe('0x86')));_0x514bc3['push'](insertTzCmHopper(_0x375259[_0xeefe('0x31')],_0xeefe('0x87'),'campaigns',_0xeefe('0x88'),_0x45169e,tmp_campaigns));_0x514bc3[_0xeefe('0x47')](insertTzCmHopperBlack(_0x375259[_0xeefe('0x31')],_0xeefe('0x89'),_0xeefe('0x4c'),_0xeefe('0x88')));}else{_0x514bc3[_0xeefe('0x47')](insertCmHopper(_0x375259[_0xeefe('0x31')],'voice_queues_has_cm_lists',_0xeefe('0x53'),'VoiceQueueId',_0x45169e));_0x514bc3[_0xeefe('0x47')](insertCmHopperBlack(_0x375259[_0xeefe('0x31')],_0xeefe('0x8a'),'voice_queues',_0xeefe('0x86')));_0x514bc3[_0xeefe('0x47')](insertCmHopper(_0x375259[_0xeefe('0x31')],'campaigns_has_cm_lists',_0xeefe('0x4c'),_0xeefe('0x88'),_0x45169e));_0x514bc3[_0xeefe('0x47')](insertCmHopperBlack(_0x375259[_0xeefe('0x31')],_0xeefe('0x89'),_0xeefe('0x4c'),'CampaignId'));}_0x514bc3[_0xeefe('0x47')](_0xeefe('0x8b')+tmp_campaigns+';');_0x514bc3[_0xeefe('0x47')](_0xeefe('0x8b')+tmp_voice_queues+';');BPromise[_0xeefe('0x8c')](_0x514bc3,handleQuery)[_0xeefe('0x50')](function(_0x1a897e){stats['finish']=!![];stats[_0xeefe('0x8d')]=_0x375259[_0xeefe('0x7c')]&&_0x375259[_0xeefe('0x7c')][_0xeefe('0x4e')]?results[0x2][_0xeefe('0x8d')]:results[0x0][_0xeefe('0x8d')];socket['emit']('contact:import:'+_0x5bbcc9,stats);fs[_0xeefe('0x8e')](_0x1fe2bd);fs[_0xeefe('0x8e')](_0x4a226c);process['exit'](0x0);})[_0xeefe('0x5c')](function(_0x443cc6){logger['error'](_0x443cc6['message']);process[_0xeefe('0x45')](0x1);});});});});}catch(_0xe6cf2d){logger['error']('complete',_0xe6cf2d[_0xeefe('0x44')]);process[_0xeefe('0x45')](0x1);}},'error':function(_0xf466be,_0x2d2fae,_0x31fd56,_0x41af33){throw new Error(_0x41af33);}});}function validate(){if(process[_0xeefe('0x8f')]&&process['argv'][_0xeefe('0x4e')]<0x4){throw new Error(_0xeefe('0x90'));}var _0x1e29cb=path['join'](config[_0xeefe('0x91')],'server/files/tmp',process[_0xeefe('0x8f')][0x2]);if(!fs[_0xeefe('0x92')](_0x1e29cb)){throw new Error(_0xeefe('0x93'));}var _0x46ffde={};try{_0x46ffde=JSON['parse'](process['argv'][0x3]);if(!_0x46ffde[_0xeefe('0x5f')]){throw new Error('binding\x20doesn\x27t\x20exists');}if(!_0x46ffde['binding'][_0xeefe('0x12')]){throw new Error(_0xeefe('0x94'));}if(!_0x46ffde[_0xeefe('0x5f')][_0xeefe('0x74')]){throw new Error(_0xeefe('0x95'));}var _0x5c3ffd=0x0;if(_0x46ffde[_0xeefe('0x5f')][_0xeefe('0x25')]){_0x5c3ffd=0x1;}if(!_0x46ffde[_0xeefe('0x31')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x19ffef){throw new Error(_0xeefe('0x96'));}var _0x47a93a=[];try{_0x47a93a=_[_0xeefe('0x97')](JSON[_0xeefe('0x65')](process[_0xeefe('0x8f')][0x4]),'id');}catch(_0x2110a5){logger[_0xeefe('0x43')](_0xeefe('0x98'));}main(_0x1e29cb,_0x46ffde,_0x47a93a,_0x5c3ffd);}validate();process['on'](_0xeefe('0x99'),handleStop);process['on'](_0xeefe('0x9a'),handleUncaughtException);