39c502e4bc282daa9041889e3556f1510e685fab
[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 _0xb49b=['errors','code','message','query','catch','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','sequelize','spread','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','timezones','dialTimezone','utcOffset','set','offset','main','send','binding','clone','socket_timestamp','server/files/tmp','.csv','includes','header','name','writeFileSync','parse','createReadStream','data','rows','find','hasOwnProperty','replace','isValid','priority','isNaN','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','itemTypeId','trim','description','SystemRow','Abort\x20parser','abort','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','dialTimezone,utcOffset','CompanyId',',\x20scheduledAt\x20=\x20NOW()','contactTypeId','orderBy','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','DROP\x20TABLE\x20','finish','affectedRows','emit','contact:import:','unlink','complete','argv','root','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','map','No\x20agent\x20available','SIGINT','lodash','papaparse','util','bluebird','moment','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','redis','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','phone','from','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','length','push','all','then','AdditionalPhones','split','isNil','filter','CmContactHasItem','updated','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.UserId','insert','cm_hopper','scheduledat','ContactId','ListId','createdAt','updatedAt','UserId','recallme','fields','join','cm_contacts.ListId\x20=\x20','.CmListId','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22onlyIfOpen\x22','\x22always\x22','toString','cm_contacts.id','into','fromQuery','cm_contacts','.CmListId\x20=\x20?','cm_hopper_black','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','cm_contacts.createdAt','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','MIN(id)','min_id','info','error','exit'];(function(_0x2a201e,_0x132ea9){var _0xca3922=function(_0x1e03ba){while(--_0x1e03ba){_0x2a201e['push'](_0x2a201e['shift']());}};_0xca3922(++_0x132ea9);}(_0xb49b,0x1ba));var _0xbb49=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0xb49b[_0x2dafbe];return _0x58a45a;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0xbb49('0x0'));var Papa=require(_0xbb49('0x1'));var util=require(_0xbb49('0x2'));var BPromise=require(_0xbb49('0x3'));var moment=require(_0xbb49('0x4'));var squel=require('squel');var Redis=require('ioredis');var db=require(_0xbb49('0x5'))['db'];var config=require(_0xbb49('0x6'));var shared=require(_0xbb49('0x7'));var logger=require(_0xbb49('0x8'))('import');config[_0xbb49('0x9')]=_['defaults'](config[_0xbb49('0x9')],{'host':_0xbb49('0xa'),'port':0x18eb});var socket=require(_0xbb49('0xb'))(new Redis(config[_0xbb49('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0xbb49('0xc')](_0xbb49('0xd'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0xbb49('0xc')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x392bc1){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))*$/[_0xbb49('0xe')](_0x392bc1);}function selectNotIn(_0x2bacb1,_0x1a1865,_0x419fd3,_0x20898f,_0x5c19be){return squel[_0xbb49('0xf')]()[_0xbb49('0x10')](_0xbb49('0x11'))[_0xbb49('0x12')](_0x20898f)['join'](_0x1a1865,null,_0x1a1865+_0xbb49('0x13')+_0x20898f+'.'+_0x419fd3)[_0xbb49('0x14')](_0x20898f+'.'+_0x419fd3+_0xbb49('0x15')+_0x2bacb1+'.'+_0x419fd3)['where'](_0x1a1865+_0xbb49('0x16')+_0x5c19be['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0x34a27d,_0x55ea95){promisesAdditionalPhones=[];return db[_0xbb49('0x17')][_0xbb49('0x18')]({'raw':!![],'attributes':['id','AdditionalPhones'],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})['then'](function(_0x210e4f){if(_0x210e4f!==null){var _0xa3660f=[];for(var _0x21c183=0x0;_0x21c183<_0x210e4f[_0xbb49('0x19')];_0x21c183++){var _0x3ad79f=_0x210e4f[_0x21c183];_0xa3660f[_0xbb49('0x1a')](insertAdditionalPhones(_0x3ad79f));}}Promise[_0xbb49('0x1b')](_0xa3660f)[_0xbb49('0x1c')](function(){_0x34a27d({'val':0x1});});});});}function insertAdditionalPhones(_0x109f67){return new Promise(function(_0x5f49bf,_0x31a439){var _0xb06c70=_0x109f67[_0xbb49('0x1d')];var _0x332fdb=_0xb06c70[_0xbb49('0x1e')](';');var _0xbe630b=[];orderBy=0x0;for(var _0x2571ce=0x0;_0x2571ce<_0x332fdb[_0xbb49('0x19')];_0x2571ce++){_0xbe630b[_0xbb49('0x1a')](splitAdditionalPhone(_0x109f67['id'],_0x332fdb[_0x2571ce]));}Promise[_0xbb49('0x1b')](_0xbe630b)[_0xbb49('0x1c')](function(){_0x5f49bf({'val':_0x332fdb[_0xbb49('0x19')]});});});}function splitAdditionalPhone(_0x35aab3,_0x2e4bbe){return new Promise(function(_0x3d4c2e,_0x5ef19e){var _0x46f7ee=_0x2e4bbe[_0xbb49('0x1e')](':');var _0x4b8f45=_0x46f7ee[0x0];var _0x553a21=_0x46f7ee[0x1];if(!_[_0xbb49('0x1f')](_0x553a21)){var _0x4cbf5a=_0x553a21[_0xbb49('0x1e')]('|');var _0x51d021=[];for(var _0x4741ac=0x0;_0x4741ac<_0x4cbf5a[_0xbb49('0x19')];_0x4741ac++){if(_0x4cbf5a[_0x4741ac]!==''){var _0x5401e7=_[_0xbb49('0x20')](promisesAdditionalPhones,{'contactId':_0x35aab3,'phone':_0x4cbf5a[_0x4741ac]});if(_0x5401e7[_0xbb49('0x19')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x35aab3,'contactTypeId':_0x4b8f45,'phone':_0x4cbf5a[_0x4741ac],'orderBy':orderBy});}}}_0x3d4c2e({'ok':0x1});}else _0x3d4c2e({'res':0x0});});}function createAdditionalPhone(_0x53ecf6,_0x5b32a8,_0x45fc06,_0x408683){var _0x1f4c71='';var _0x3be3d2='';var _0xd8de56=_0x45fc06[_0xbb49('0x1e')]('§');_0x1f4c71=_0xd8de56[0x0];if(_0xd8de56[_0xbb49('0x19')]==0x2)_0x3be3d2=_0xd8de56[0x1];return new Promise(function(_0x4f6bae,_0x3981bc){return db['CmContactHasItem']['findOne']({'where':{'CmContactId':_0x53ecf6,'item':_0x1f4c71}})[_0xbb49('0x1c')](function(_0x180104){if(_0x180104){return db[_0xbb49('0x21')]['update']({'ItemTypeId':_0x5b32a8,'description':_0x3be3d2,'OrderBy':_0x408683},{'where':{'CmContactId':_0x53ecf6,'item':_0x1f4c71}})['then'](function(_0x38aa33){_0x4f6bae({'res':_0xbb49('0x22')});});}else{return db[_0xbb49('0x21')]['create']({'CmContactId':_0x53ecf6,'item':_0x1f4c71,'description':_0x3be3d2,'ItemTypeId':_0x5b32a8,'OrderBy':_0x408683,'ItemClass':'PHONE'})['then'](function(_0x1b3158){_0x4f6bae({'res':'inserted'});});}});});}function insertCmHopper(_0x56ed28,_0x43130f,_0x3818d8,_0x2dc811,_0x9e454e){var _0x198963=[_0xbb49('0x23'),_0xbb49('0x24'),'cm_contacts.id',_0xbb49('0x25'),_0x43130f+'.'+_0x2dc811,'cm_contacts.createdAt',_0xbb49('0x26'),'cm_contacts.priority',_0xbb49('0x27'),'\x22'+_0x9e454e+'\x22'];return squel[_0xbb49('0x28')]()['into'](_0xbb49('0x29'))['fromQuery']([_0xbb49('0x11'),_0xbb49('0x2a'),_0xbb49('0x2b'),_0xbb49('0x2c'),_0x2dc811,_0xbb49('0x2d'),_0xbb49('0x2e'),'priority',_0xbb49('0x2f'),_0xbb49('0x30')],squel[_0xbb49('0xf')]()[_0xbb49('0x31')](_0x198963)['from'](_0x43130f)[_0xbb49('0x32')]('cm_contacts',null,_0xbb49('0x33')+_0x43130f+_0xbb49('0x34'))[_0xbb49('0x32')](_0x3818d8,null,_0x3818d8+'.id\x20=\x20'+_0x43130f+'.'+_0x2dc811)['where'](_0x43130f+'.CmListId\x20=\x20?',_0x56ed28)[_0xbb49('0x14')](_0xbb49('0x35'),NOW)['where'](_0xbb49('0x36'),selectNotIn(_0x43130f,_0x3818d8,_0x2dc811,'cm_hopper',['\x22always\x22',_0xbb49('0x37')]))[_0xbb49('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x43130f,_0x3818d8,_0x2dc811,_0xbb49('0x29'),[_0xbb49('0x38')])))[_0xbb49('0x39')]();}function insertCmHopperBlack(_0x35e825,_0x498dcd,_0x50422f,_0x2f8807){var _0x1c4fd1=['cm_contacts.phone',_0xbb49('0x3a'),_0xbb49('0x25'),_0x498dcd+'.'+_0x2f8807,'cm_contacts.createdAt',_0xbb49('0x26')];return squel[_0xbb49('0x28')]()[_0xbb49('0x3b')]('cm_hopper_black')[_0xbb49('0x3c')](['phone',_0xbb49('0x2b'),_0xbb49('0x2c'),_0x2f8807,'createdAt',_0xbb49('0x2e')],squel[_0xbb49('0xf')]()[_0xbb49('0x31')](_0x1c4fd1)['from'](_0x498dcd)[_0xbb49('0x32')](_0xbb49('0x3d'),null,_0xbb49('0x33')+_0x498dcd+'.CmListId')[_0xbb49('0x32')](_0x50422f,null,_0x50422f+'.id\x20=\x20'+_0x498dcd+'.'+_0x2f8807)[_0xbb49('0x14')](_0x498dcd+_0xbb49('0x3e'),_0x35e825)[_0xbb49('0x14')](_0xbb49('0x35'),NOW)['where'](_0xbb49('0x36'),squel['select']()['field']('phone')['from'](_0xbb49('0x3f'))['where'](_0xbb49('0x40'),_0x35e825)['where'](_0x2f8807+_0xbb49('0x15')+_0x498dcd+'.'+_0x2f8807)))[_0xbb49('0x39')]();}function insertTzCmHopper(_0x5be565,_0x317c0c,_0x2be874,_0x25ce01,_0x3c7146,_0x4d014e){var _0x966a9=[_0xbb49('0x23'),_0xbb49('0x41')+_0x4d014e+'.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.id',_0xbb49('0x25'),_0x317c0c+'.'+_0x25ce01,_0xbb49('0x42'),_0xbb49('0x26'),'cm_contacts.priority','cm_contacts.UserId','\x22'+_0x3c7146+'\x22'];var _0x5a91bd=squel[_0xbb49('0x28')]()[_0xbb49('0x3b')](_0xbb49('0x29'))[_0xbb49('0x3c')]([_0xbb49('0x11'),'scheduledat',_0xbb49('0x2b'),_0xbb49('0x2c'),_0x25ce01,_0xbb49('0x2d'),_0xbb49('0x2e'),'priority',_0xbb49('0x2f'),_0xbb49('0x30')],squel['select']()[_0xbb49('0x31')](_0x966a9)[_0xbb49('0x12')](_0x317c0c)[_0xbb49('0x32')](_0xbb49('0x3d'),null,_0xbb49('0x33')+_0x317c0c+_0xbb49('0x34'))['join'](_0x2be874,null,_0x2be874+_0xbb49('0x13')+_0x317c0c+'.'+_0x25ce01)[_0xbb49('0x32')](_0x4d014e,null,_0x4d014e+_0xbb49('0x13')+_0x317c0c+'.'+_0x25ce01)[_0xbb49('0x14')](_0x317c0c+'.CmListId\x20=\x20?',_0x5be565)[_0xbb49('0x14')](_0xbb49('0x35'),NOW)[_0xbb49('0x14')](_0xbb49('0x36'),selectNotIn(_0x317c0c,_0x2be874,_0x25ce01,'cm_hopper',[_0xbb49('0x38'),_0xbb49('0x37')]))[_0xbb49('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x317c0c,_0x2be874,_0x25ce01,_0xbb49('0x29'),[_0xbb49('0x38')])))[_0xbb49('0x39')]();return _0x5a91bd;}function insertTzCmHopperBlack(_0x1fb2aa,_0x540300,_0x7025ef,_0x3f775c){var _0x278765=['cm_contacts.phone',_0xbb49('0x3a'),_0xbb49('0x25'),_0x540300+'.'+_0x3f775c,_0xbb49('0x42'),_0xbb49('0x26')];return squel['insert']()['into']('cm_hopper_black')[_0xbb49('0x3c')](['phone',_0xbb49('0x2b'),_0xbb49('0x2c'),_0x3f775c,_0xbb49('0x2d'),_0xbb49('0x2e')],squel[_0xbb49('0xf')]()[_0xbb49('0x31')](_0x278765)[_0xbb49('0x12')](_0x540300)[_0xbb49('0x32')](_0xbb49('0x3d'),null,'cm_contacts.ListId\x20=\x20'+_0x540300+_0xbb49('0x34'))[_0xbb49('0x32')](_0x7025ef,null,_0x7025ef+_0xbb49('0x13')+_0x540300+'.'+_0x3f775c)[_0xbb49('0x14')](_0x540300+_0xbb49('0x3e'),_0x1fb2aa)[_0xbb49('0x14')](_0xbb49('0x35'),NOW)[_0xbb49('0x14')](_0xbb49('0x36'),squel['select']()[_0xbb49('0x10')](_0xbb49('0x11'))['from'](_0xbb49('0x3f'))['where'](_0xbb49('0x40'),_0x1fb2aa)['where'](_0x3f775c+_0xbb49('0x15')+_0x540300+'.'+_0x3f775c)))['toString']();}function insertCmHopperAdditionalPhones(_0x5702ef){var _0x579fe7=[_0xbb49('0x43'),_0xbb49('0x44'),_0xbb49('0x45'),_0xbb49('0x46'),_0xbb49('0x47')];return squel['insert']()[_0xbb49('0x3b')](_0xbb49('0x48'))[_0xbb49('0x3c')]([_0xbb49('0x49'),_0xbb49('0x11'),_0xbb49('0x4a'),_0xbb49('0x2d'),_0xbb49('0x2e')],squel[_0xbb49('0xf')]()[_0xbb49('0x31')](_0x579fe7)[_0xbb49('0x12')](_0xbb49('0x29'))[_0xbb49('0x32')](_0xbb49('0x3d'),null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0xbb49('0x32')]('cm_contact_has_items',null,_0xbb49('0x4b'))[_0xbb49('0x14')](_0xbb49('0x4c'),_0x5702ef)[_0xbb49('0x14')](_0xbb49('0x35'),NOW))[_0xbb49('0x39')]();}function insertCmContact(_0x53ef13,_0x256380,_0x5e8d26,_0xd9edfa){var _0x4770d8=_[_0xbb49('0x4d')](_[_0xbb49('0x4e')](_0xd9edfa),[_0xbb49('0x2c'),'CompanyId',_0xbb49('0x2d'),_0xbb49('0x2e')]);return squel[_0xbb49('0x28')]()[_0xbb49('0x3b')](_0xbb49('0x3d'))[_0xbb49('0x3c')](_0x4770d8,squel[_0xbb49('0xf')]()['fields'](_0x4770d8)['from'](_0x256380)['where']('('+_0x5e8d26[_0xbb49('0x32')](',')+_0xbb49('0x4f'),squel[_0xbb49('0xf')]()['fields'](_0x5e8d26)[_0xbb49('0x12')]('cm_contacts')[_0xbb49('0x14')](_0xbb49('0x40'),_0x53ef13)[_0xbb49('0x14')](_0xbb49('0x50')))[_0xbb49('0x14')]('id\x20IN\x20?',squel[_0xbb49('0xf')]()['field'](_0xbb49('0x51'),_0xbb49('0x52'))[_0xbb49('0x12')](_0x256380)['group'](_0x5e8d26[_0xbb49('0x32')](','))))[_0xbb49('0x39')]();}function handleStop(){logger[_0xbb49('0x53')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x154051){logger[_0xbb49('0x54')](_0x154051['message']);process[_0xbb49('0x55')](0x1);}function handleError(_0x4c7752,_0x4f118b){stats[_0xbb49('0x56')][_0xbb49('0x1a')]({'name':_0x4f118b[_0xbb49('0x57')],'message':_0x4f118b[_0xbb49('0x58')],'row':_0x4c7752});}function handleQuery(_0x9fe4f0){logger['info'](_0x9fe4f0);return db['sequelize'][_0xbb49('0x59')](_0x9fe4f0)['spread'](function(_0xcb4c42){results[_0xbb49('0x1a')](_0xcb4c42);})[_0xbb49('0x5a')](function(_0x900da4){logger['error'](_0x900da4[_0xbb49('0x58')]);});}function updateTzCampaigns(_0x33c38b){return new Promise(function(_0x367fea,_0x5d3a37){var _0x5a695a=squel[_0xbb49('0xf')]()[_0xbb49('0x31')](['campaigns.id','campaigns.dialTimezone'])['from'](_0xbb49('0x5b'))[_0xbb49('0x32')](_0xbb49('0x5c'),null,_0xbb49('0x5d'))[_0xbb49('0x14')](_0xbb49('0x5e')+_0x33c38b);db[_0xbb49('0x5f')][_0xbb49('0x59')](_0x5a695a[_0xbb49('0x39')]())[_0xbb49('0x60')](function(_0x4702e8){var _0x1d2d4d=[];for(var _0xc32942=0x0;_0xc32942<_0x4702e8['length'];_0xc32942++){_0x1d2d4d[_0xbb49('0x1a')](getTimezoneData(_0x4702e8[_0xc32942],tmp_campaigns));}BPromise[_0xbb49('0x1b')](_0x1d2d4d)['then'](function(){_0x367fea({'val':0x1});});})[_0xbb49('0x5a')](function(_0x334f88){logger[_0xbb49('0x54')](_0x334f88[_0xbb49('0x58')]);_0x367fea({'val':0x0});});});}function updateTzVoiceQueues(_0x23b8f1){return new Promise(function(_0x43f718,_0x463135){var _0x3503f9=squel['select']()[_0xbb49('0x31')]([_0xbb49('0x61'),_0xbb49('0x62')])[_0xbb49('0x12')](_0xbb49('0x63'))[_0xbb49('0x32')](_0xbb49('0x64'),null,_0xbb49('0x65'))[_0xbb49('0x14')](_0xbb49('0x66')+_0x23b8f1);db[_0xbb49('0x5f')][_0xbb49('0x59')](_0x3503f9[_0xbb49('0x39')]())[_0xbb49('0x60')](function(_0x257077){var _0x225a1b=[];for(var _0x28cdb7=0x0;_0x28cdb7<_0x257077[_0xbb49('0x19')];_0x28cdb7++){_0x225a1b[_0xbb49('0x1a')](getTimezoneData(_0x257077[_0x28cdb7],tmp_voice_queues));}BPromise[_0xbb49('0x1b')](_0x225a1b)['then'](function(){_0x43f718({'val':0x1});});})[_0xbb49('0x5a')](function(_0x52437f){logger[_0xbb49('0x54')](_0x52437f[_0xbb49('0x58')]);_0x43f718({'val':0x0});});});}function getTimezoneData(_0x1fb065,_0x13910d){return new Promise(function(_0xf5749b,_0x25c116){var _0x364521=shared[_0xbb49('0x67')];var _0x1d40bf=_0x364521[_0x1fb065[_0xbb49('0x68')]];if(_[_0xbb49('0x1f')](_0x1d40bf)){_0xf5749b({'ret':0x1});}else{var _0x4f9f26=_0x1d40bf[_0xbb49('0x69')];var _0x1a8c65=squel[_0xbb49('0x28')]()['into'](_0x13910d)[_0xbb49('0x6a')]('id',_0x1fb065['id'])[_0xbb49('0x6a')](_0xbb49('0x6b'),_0x4f9f26)[_0xbb49('0x6a')](_0xbb49('0x68'),_0x1fb065[_0xbb49('0x68')])[_0xbb49('0x39')]();return db[_0xbb49('0x5f')]['query'](_0x1a8c65)[_0xbb49('0x60')](function(_0x2d04c3){_0xf5749b({'ret':0x1});})[_0xbb49('0x5a')](function(_0x52ce4a){logger[_0xbb49('0x54')](_0x52ce4a[_0xbb49('0x58')]);_0x25c116({'ret':0x1});});}});}function handleTZQuery(_0x53828a){logger['info'](_0x53828a);return db['sequelize'][_0xbb49('0x59')](_0x53828a)['spread'](function(_0x60b6f7){})['catch'](function(_0x2156b3){logger[_0xbb49('0x54')](_0x2156b3[_0xbb49('0x58')]);});}function main(_0x1a06e8,_0x5443f0,_0x2d84e4,_0x7fcba9){logger[_0xbb49('0x53')](_0xbb49('0x6c'),_0x1a06e8,JSON['stringify'](_0x5443f0));process[_0xbb49('0x6d')]('start');var _0x4b134f=_0x5443f0[_0xbb49('0x6e')];var _0x543e13=_[_0xbb49('0x6f')](_0x4b134f);var _0x2f3859=_0x5443f0[_0xbb49('0x70')];var _0x33c077=path[_0xbb49('0x32')](config['root'],_0xbb49('0x71'),_0x2f3859+_0xbb49('0x72'));hasTZ=_[_0xbb49('0x4e')](_0x4b134f)[_0xbb49('0x73')](_0xbb49('0x68'));var _0x230767=_[_0xbb49('0x4e')](_0x4b134f)[_0xbb49('0x32')]();logger[_0xbb49('0x53')](_0xbb49('0x74'),_0x230767);db['ContactItemType'][_0xbb49('0x18')]({'raw':!![],'attributes':['id',_0xbb49('0x75')]})['then'](function(_0x5f1312){for(var _0x26a8f0=0x0;_0x26a8f0<_0x5f1312[_0xbb49('0x19')];_0x26a8f0++){if(_0x5f1312[_0x26a8f0][_0xbb49('0x75')]in _0x4b134f){contactItemTypes[_0xbb49('0x1a')](_0x5f1312[_0x26a8f0]);delete _0x543e13[_0x5f1312[_0x26a8f0]['name']];hasAdditionalPhones=!![];}for(var _0x2b2036 in _0x4b134f){if(_0x5f1312[_0x26a8f0]['name']+'_description'===_0x2b2036){phoneDescriptions[_0xbb49('0x1a')]({'itemTypeId':_0x5f1312[_0x26a8f0]['id'],'description':_0x2b2036});delete _0x543e13[_0x2b2036];}}}if(hasAdditionalPhones)_0x543e13[_0xbb49('0x1d')]='';var _0x3c057b=_[_0xbb49('0x4e')](_0x543e13)['join']();logger[_0xbb49('0x53')](_0xbb49('0x74'),_0x3c057b);fs[_0xbb49('0x76')](_0x33c077,_0x3c057b+'\x0a');Papa[_0xbb49('0x77')](fs[_0xbb49('0x78')](_0x1a06e8),{'header':!![],'skipEmptyLines':!![],'step':function(_0x5dfe8d,_0x46611f){try{for(var _0x120d84=0x0,_0x3de7e9=[];_0x120d84<_0x5dfe8d[_0xbb49('0x79')]['length'];_0x120d84++){stats[_0xbb49('0x7a')]+=0x1;if(_0x5dfe8d[_0xbb49('0x56')][_0x120d84]){handleError(_0x5dfe8d[_0xbb49('0x79')][_0x120d84],_0x5dfe8d[_0xbb49('0x56')][_0x120d84]);}else{var _0x2a3717=[];var _0x160dc0=[];var _0x5a35f8={};for(var _0x1a6e82 in _0x4b134f){let _0x552e44=contactItemTypes[_0xbb49('0x7b')](_0x4de28b=>_0x4de28b['name']===_0x1a6e82);let _0x246166=contactItemTypes[_0xbb49('0x7b')](_0x1e5035=>_0x1e5035[_0xbb49('0x75')]+'_description'===_0x1a6e82);if(_[_0xbb49('0x1f')](_0x552e44)&&_[_0xbb49('0x1f')](_0x246166)){if(_0x4b134f[_0xbb49('0x7c')](_0x1a6e82)){if(_0x5dfe8d[_0xbb49('0x79')][_0x120d84][_0x4b134f[_0x1a6e82]]){var _0x44e609=_['trim'](_0x5dfe8d[_0xbb49('0x79')][_0x120d84][_0x4b134f[_0x1a6e82]][_0xbb49('0x7d')](/"/g,'\x27'));switch(_0x1a6e82){case _0xbb49('0x2a'):var _0x1a1931=moment(_0x44e609,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x1a1931[_0xbb49('0x7e')]()){_0x3de7e9['push']('\x22'+_0x44e609+'\x22');}else{_0x2a3717['push']('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0xbb49('0x7f'):var _0x2e7179=parseInt(_0x44e609);_0x44e609=_[_0xbb49('0x80')](_0x2e7179)||_0x2e7179<0x0||_0x2e7179>0x4?_0x7fcba9?0x3:0x2:_0x2e7179;_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x44e609+'\x22');break;case _0xbb49('0x2f'):var _0x2c3735=parseInt(_0x44e609);if(_[_0xbb49('0x81')](_0x2c3735)&&_['includes'](_0x2d84e4,_0x2c3735)){_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x2c3735+'\x22');}else{_0x2a3717[_0xbb49('0x1a')](_0xbb49('0x82'));}break;case _0xbb49('0x83'):if(isEmail(_0x44e609)){_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x44e609+'\x22');}else{_0x2a3717['push'](_0xbb49('0x84'));}break;case _0xbb49('0x85'):var _0x4cc2e0=moment(_0x44e609,_0xbb49('0x86'),!![]);if(_0x4cc2e0[_0xbb49('0x7e')]()){_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x44e609+'\x22');}else{_0x2a3717[_0xbb49('0x1a')](_0xbb49('0x87'));}break;case _0xbb49('0x68'):var _0x29fc26=shared['timezones'];var _0x2cb701=_0x29fc26[_0x44e609];if(!_['isNil'](_0x2cb701)){var _0x445b22=_0x2cb701[_0xbb49('0x69')];_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x44e609+'\x22');_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x445b22+'\x22');}break;default:_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x44e609+'\x22');}}else{switch(_0x1a6e82){case _0xbb49('0x88'):case'phone':_0x2a3717['push'](_0x1a6e82+_0xbb49('0x89'));break;default:_0x3de7e9[_0xbb49('0x1a')]('\x22\x22');}}}}else{var _0x580376='';if(!_[_0xbb49('0x1f')](_0x552e44)){if(!_0x5a35f8[_0xbb49('0x7c')](_0x552e44['id'])){if(!_[_0xbb49('0x1f')](_0x5dfe8d['data'][_0x120d84][_0x4b134f[_0x1a6e82]])){var _0x44e609=_['trim'](_0x5dfe8d[_0xbb49('0x79')][_0x120d84][_0x4b134f[_0x1a6e82]][_0xbb49('0x7d')](/"/g,'\x27'));var _0x58e301=phoneDescriptions[_0xbb49('0x7b')](_0x345189=>_0x345189[_0xbb49('0x8a')]===_0x552e44['id']);if(!_[_0xbb49('0x1f')](_0x58e301)){var _0x178082=_[_0xbb49('0x8b')](_0x5dfe8d[_0xbb49('0x79')][_0x120d84][_0x4b134f[_0x58e301[_0xbb49('0x8c')]]][_0xbb49('0x7d')](/"/g,'\x27'));if(!_[_0xbb49('0x1f')](_0x178082))_0x44e609=_0x44e609+'§'+_0x178082;}if(_0x580376=='')_0x580376=_0x44e609;else _0x580376+='|'+_0x44e609;}_0x160dc0[_0xbb49('0x1a')](_0x552e44['id']+':'+_0x580376);_0x5a35f8[_0x552e44['id']]=0x1;}}}}if(hasAdditionalPhones){_0x3de7e9[_0xbb49('0x1a')]('\x22'+_0x160dc0[_0xbb49('0x32')](';')+'\x22');}if(_0x2a3717[_0xbb49('0x19')]){handleError(_0x5dfe8d[_0xbb49('0x79')][_0x120d84],{'code':_0xbb49('0x8d'),'message':_0x2a3717[_0xbb49('0x32')]()});}else{fs['appendFileSync'](_0x33c077,_0x3de7e9[_0xbb49('0x32')]()+'\x0a');}_0x3de7e9=[];}if(!(stats[_0xbb49('0x7a')]%0xc8)){socket['emit']('contact:import:'+_0x2f3859,stats);stats[_0xbb49('0x56')]=[];}}if(stopped){logger[_0xbb49('0x53')](_0xbb49('0x8e'));_0x46611f[_0xbb49('0x8f')]();}}catch(_0x3fd65d){handleError(_0x5dfe8d[_0xbb49('0x79')][_0x120d84],{'code':'SystemError','message':_0x3fd65d[_0xbb49('0x58')]});logger[_0xbb49('0x54')](_0xbb49('0x90'),_0x3fd65d['message']);}},'complete':function(){try{var _0x5c4a65=[];var _0x3082aa=[];var _0x18cf18='cm_contacts';if(_0x5443f0[_0xbb49('0x91')]&&_0x5443f0[_0xbb49('0x91')][_0xbb49('0x19')]){_0x18cf18=_0xbb49('0x92')+_0x2f3859;_0x5c4a65[_0xbb49('0x1a')](_0xbb49('0x93')+_0x18cf18+_0xbb49('0x94'));}tmp_campaigns='campaigns_'+_0x2f3859;tmp_voice_queues='voice_queues_'+_0x2f3859;_0x3082aa[_0xbb49('0x1a')](_0xbb49('0x93')+tmp_campaigns+_0xbb49('0x95'));_0x3082aa['push'](_0xbb49('0x93')+tmp_voice_queues+_0xbb49('0x95'));BPromise[_0xbb49('0x96')](_0x3082aa,handleTZQuery)['then'](function(_0x3c7bec){updateTzCampaigns(_0x5443f0['ListId'])[_0xbb49('0x1c')](function(_0x5501db){updateTzVoiceQueues(_0x5443f0[_0xbb49('0x2c')])['then'](function(_0x5e5358){if(hasTZ)_0x3c057b=_0x3c057b['replace'](_0xbb49('0x68'),_0xbb49('0x97'));var _0x3a0d5d=util[_0xbb49('0xc')]('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',_0x33c077,_0x18cf18,_0x3c057b,_0x5443f0['ListId'],_0x5443f0[_0xbb49('0x98')]||null,NOW,NOW);if(_[_0xbb49('0x1f')](_0x4b134f[_0xbb49('0x2a')])){_0x3a0d5d+=_0xbb49('0x99');}_0x5c4a65[_0xbb49('0x1a')](_0x3a0d5d);if(_0x5443f0[_0xbb49('0x91')]&&_0x5443f0[_0xbb49('0x91')][_0xbb49('0x19')]){_0x5c4a65[_0xbb49('0x1a')](insertCmContact(_0x5443f0[_0xbb49('0x2c')],_0x18cf18,_0x5443f0['duplicates'],_0x4b134f));_0x5c4a65['push']('DROP\x20TABLE\x20'+_0x18cf18+';');}BPromise[_0xbb49('0x96')](_0x5c4a65,handleQuery)[_0xbb49('0x1c')](function(_0x4d9f7f){BPromise[_0xbb49('0x1b')]([handleAdditionalPhones()])[_0xbb49('0x1c')](function(){_0x5c4a65=[];for(var _0x8d97aa=0x0;_0x8d97aa<promisesAdditionalPhones[_0xbb49('0x19')];_0x8d97aa++){if(promisesAdditionalPhones[_0x8d97aa]['phone']!='§'){_0x5c4a65[_0xbb49('0x1a')](createAdditionalPhone(promisesAdditionalPhones[_0x8d97aa]['contactId'],promisesAdditionalPhones[_0x8d97aa][_0xbb49('0x9a')],promisesAdditionalPhones[_0x8d97aa]['phone'],promisesAdditionalPhones[_0x8d97aa][_0xbb49('0x9b')]));}}BPromise[_0xbb49('0x1b')](_0x5c4a65)[_0xbb49('0x1c')](function(){_0x5c4a65=[];if(hasTZ){_0x5c4a65[_0xbb49('0x1a')](insertTzCmHopper(_0x5443f0[_0xbb49('0x2c')],_0xbb49('0x64'),_0xbb49('0x63'),'VoiceQueueId',_0x7fcba9,tmp_voice_queues));_0x5c4a65[_0xbb49('0x1a')](insertTzCmHopperBlack(_0x5443f0[_0xbb49('0x2c')],'voice_queues_has_cm_blacklists',_0xbb49('0x63'),_0xbb49('0x9c')));_0x5c4a65[_0xbb49('0x1a')](insertTzCmHopper(_0x5443f0[_0xbb49('0x2c')],_0xbb49('0x5c'),_0xbb49('0x5b'),'CampaignId',_0x7fcba9,tmp_campaigns));_0x5c4a65[_0xbb49('0x1a')](insertTzCmHopperBlack(_0x5443f0[_0xbb49('0x2c')],'campaigns_has_cm_blacklists',_0xbb49('0x5b'),'CampaignId'));_0x5c4a65['push'](insertCmHopperAdditionalPhones(_0x5443f0['ListId']));}else{_0x5c4a65[_0xbb49('0x1a')](insertCmHopper(_0x5443f0[_0xbb49('0x2c')],_0xbb49('0x64'),_0xbb49('0x63'),_0xbb49('0x9c'),_0x7fcba9));_0x5c4a65[_0xbb49('0x1a')](insertCmHopperBlack(_0x5443f0[_0xbb49('0x2c')],_0xbb49('0x9d'),_0xbb49('0x63'),_0xbb49('0x9c')));_0x5c4a65['push'](insertCmHopper(_0x5443f0[_0xbb49('0x2c')],'campaigns_has_cm_lists',_0xbb49('0x5b'),_0xbb49('0x9e'),_0x7fcba9));_0x5c4a65[_0xbb49('0x1a')](insertCmHopperBlack(_0x5443f0['ListId'],'campaigns_has_cm_blacklists','campaigns',_0xbb49('0x9e')));_0x5c4a65[_0xbb49('0x1a')](insertCmHopperAdditionalPhones(_0x5443f0[_0xbb49('0x2c')]));}_0x5c4a65[_0xbb49('0x1a')](_0xbb49('0x9f')+tmp_campaigns+';');_0x5c4a65[_0xbb49('0x1a')](_0xbb49('0x9f')+tmp_voice_queues+';');BPromise[_0xbb49('0x96')](_0x5c4a65,handleQuery)['then'](function(_0x3860dc){stats[_0xbb49('0xa0')]=!![];stats[_0xbb49('0xa1')]=_0x5443f0[_0xbb49('0x91')]&&_0x5443f0[_0xbb49('0x91')][_0xbb49('0x19')]?results[0x2]['affectedRows']:results[0x0][_0xbb49('0xa1')];socket[_0xbb49('0xa2')](_0xbb49('0xa3')+_0x2f3859,stats);fs[_0xbb49('0xa4')](_0x1a06e8);fs[_0xbb49('0xa4')](_0x33c077);process[_0xbb49('0x55')](0x0);})[_0xbb49('0x5a')](function(_0x25c63a){logger['error'](_0x25c63a['message']);process['exit'](0x1);});});});})['catch'](function(_0x5e5b5c){logger[_0xbb49('0x54')](_0x5e5b5c[_0xbb49('0x58')]);process[_0xbb49('0x55')](0x1);});});});});}catch(_0x41e51b){logger[_0xbb49('0x54')](_0xbb49('0xa5'),_0x41e51b['message']);process[_0xbb49('0x55')](0x1);}},'error':function(_0x3bf3ac,_0x4cbdd4,_0x561983,_0x163880){throw new Error(_0x163880);}});});}function validate(){if(process['argv']&&process[_0xbb49('0xa6')][_0xbb49('0x19')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x1db55b=path['join'](config[_0xbb49('0xa7')],_0xbb49('0x71'),process[_0xbb49('0xa6')][0x2]);if(!fs['existsSync'](_0x1db55b)){throw new Error(_0xbb49('0xa8'));}var _0x1aac90={};try{_0x1aac90=JSON['parse'](process[_0xbb49('0xa6')][0x3]);if(!_0x1aac90['binding']){throw new Error(_0xbb49('0xa9'));}if(!_0x1aac90[_0xbb49('0x6e')][_0xbb49('0x11')]){throw new Error(_0xbb49('0xaa'));}if(!_0x1aac90[_0xbb49('0x6e')][_0xbb49('0x88')]){throw new Error(_0xbb49('0xab'));}var _0x4a0e4e=0x0;if(_0x1aac90['binding'][_0xbb49('0x2f')]){_0x4a0e4e=0x1;}if(!_0x1aac90[_0xbb49('0x2c')]){throw new Error(_0xbb49('0xac'));}}catch(_0x18f657){throw new Error('body\x20id\x20mandatory');}var _0x425b87=[];try{_0x425b87=_[_0xbb49('0xad')](JSON[_0xbb49('0x77')](process[_0xbb49('0xa6')][0x4]),'id');}catch(_0x352736){logger['info'](_0xbb49('0xae'));}main(_0x1db55b,_0x1aac90,_0x425b87,_0x4a0e4e);}validate();process['on'](_0xbb49('0xaf'),handleStop);process['on']('uncaughtException',handleUncaughtException);