eefe0ab51a1e0d1a7c9bd8de37b7ea8b04aa72fb
[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 _0xb897=['name','_description','writeFileSync','parse','createReadStream','data','rows','errors','find','isNil','hasOwnProperty','trim','replace','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','priority','isNumber','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','isValid','firstName','\x20not\x20specified','itemTypeId','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','CompanyId',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','contactId','contactTypeId','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','binding','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','papaparse','bluebird','moment','squel','ioredis','../../../config/environment/shared','../../../config/logger','import','redis','defaults','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','from','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','then','push','all','AdditionalPhones','split','length','findOne','CmContactHasItem','update','updated','create','PHONE','inserted','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','insert','into','cm_hopper','fromQuery','phone','ContactId','ListId','createdAt','updatedAt','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','toString','cm_hopper_black','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.priority','cm_contacts.UserId','scheduledat','UserId','\x22onlyIfOpen\x22','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys','scheduledAt',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','group','info','Received\x20SIGINT','exit','message','query','spread','catch','campaigns.id','campaigns','campaigns_has_cm_lists','campaigns_has_cm_lists.CmListId=','sequelize','voice_queues.id','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','error','timezones','dialTimezone','utcOffset','set','send','start','clone','socket_timestamp','root','server/files/tmp','.csv','header'];(function(_0x1c0490,_0x11ec08){var _0x48098e=function(_0x1ca60a){while(--_0x1ca60a){_0x1c0490['push'](_0x1c0490['shift']());}};_0x48098e(++_0x11ec08);}(_0xb897,0x1b2));var _0x7b89=function(_0x110c3d,_0x12ee06){_0x110c3d=_0x110c3d-0x0;var _0x226d67=_0xb897[_0x110c3d];return _0x226d67;};'use strict';var fs=require('fs');var path=require(_0x7b89('0x0'));var _=require('lodash');var Papa=require(_0x7b89('0x1'));var util=require('util');var BPromise=require(_0x7b89('0x2'));var moment=require(_0x7b89('0x3'));var squel=require(_0x7b89('0x4'));var Redis=require(_0x7b89('0x5'));var db=require('../../../mysqldb')['db'];var config=require('../../../config/environment');var shared=require(_0x7b89('0x6'));var logger=require(_0x7b89('0x7'))(_0x7b89('0x8'));config[_0x7b89('0x9')]=_[_0x7b89('0xa')](config[_0x7b89('0x9')],{'host':'localhost','port':0x18eb});var socket=require(_0x7b89('0xb'))(new Redis(config[_0x7b89('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x7b89('0xc')](_0x7b89('0xd'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x7b89('0xc')](_0x7b89('0xd'));function isEmail(_0x5c0fca){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))*$/[_0x7b89('0xe')](_0x5c0fca);}function selectNotIn(_0x14edf3,_0x223674,_0x234b4e,_0x56dff7,_0x4678a3){return squel[_0x7b89('0xf')]()[_0x7b89('0x10')]('phone')[_0x7b89('0x11')](_0x56dff7)[_0x7b89('0x12')](_0x223674,null,_0x223674+_0x7b89('0x13')+_0x56dff7+'.'+_0x234b4e)[_0x7b89('0x14')](_0x56dff7+'.'+_0x234b4e+_0x7b89('0x15')+_0x14edf3+'.'+_0x234b4e)[_0x7b89('0x14')](_0x223674+_0x7b89('0x16')+_0x4678a3['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0x2f71ce,_0x1531ad){promisesAdditionalPhones=[];return db[_0x7b89('0x17')][_0x7b89('0x18')]({'raw':!![],'attributes':['id','AdditionalPhones'],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x7b89('0x19')](function(_0xd3b443){if(_0xd3b443!==null){var _0x34b025=[];for(var _0x3143c7=0x0;_0x3143c7<_0xd3b443['length'];_0x3143c7++){var _0x12ad9c=_0xd3b443[_0x3143c7];_0x34b025[_0x7b89('0x1a')](insertAdditionalPhones(_0x12ad9c));}}Promise[_0x7b89('0x1b')](_0x34b025)['then'](function(){_0x2f71ce({'val':0x1});});});});}function insertAdditionalPhones(_0x150e67){return new Promise(function(_0x519ce5,_0x57af20){var _0x45903c=_0x150e67[_0x7b89('0x1c')];var _0x277cae=_0x45903c[_0x7b89('0x1d')](';');var _0x3b87d2=[];orderBy=0x0;for(var _0x5e4e51=0x0;_0x5e4e51<_0x277cae[_0x7b89('0x1e')];_0x5e4e51++){_0x3b87d2[_0x7b89('0x1a')](splitAdditionalPhone(_0x150e67['id'],_0x277cae[_0x5e4e51]));}Promise[_0x7b89('0x1b')](_0x3b87d2)[_0x7b89('0x19')](function(){_0x519ce5({'val':_0x277cae['length']});});});}function splitAdditionalPhone(_0x4bf36e,_0xbb9152){return new Promise(function(_0x4a5d19,_0x11675c){var _0x22780e=_0xbb9152[_0x7b89('0x1d')](':');var _0x27dc21=_0x22780e[0x0];var _0x81ff19=_0x22780e[0x1];if(!_['isNil'](_0x81ff19)){var _0x5e5366=_0x81ff19[_0x7b89('0x1d')]('|');var _0x3d8873=[];for(var _0x1a255f=0x0;_0x1a255f<_0x5e5366[_0x7b89('0x1e')];_0x1a255f++){if(_0x5e5366[_0x1a255f]!==''){var _0x567334=_['filter'](promisesAdditionalPhones,{'contactId':_0x4bf36e,'phone':_0x5e5366[_0x1a255f]});if(_0x567334['length']==0x0){orderBy++;promisesAdditionalPhones[_0x7b89('0x1a')]({'contactId':_0x4bf36e,'contactTypeId':_0x27dc21,'phone':_0x5e5366[_0x1a255f],'orderBy':orderBy});}}}_0x4a5d19({'ok':0x1});}else _0x4a5d19({'res':0x0});});}function createAdditionalPhone(_0x588c3a,_0x44df99,_0x55241c,_0x1004ca){var _0x2f12e4='';var _0x51782d='';var _0x47ce98=_0x55241c[_0x7b89('0x1d')]('§');_0x2f12e4=_0x47ce98[0x0];if(_0x47ce98[_0x7b89('0x1e')]==0x2)_0x51782d=_0x47ce98[0x1];return new Promise(function(_0x16b29a,_0x668136){return db['CmContactHasItem'][_0x7b89('0x1f')]({'where':{'CmContactId':_0x588c3a,'item':_0x2f12e4}})[_0x7b89('0x19')](function(_0x4623ab){if(_0x4623ab){return db[_0x7b89('0x20')][_0x7b89('0x21')]({'ItemTypeId':_0x44df99,'description':_0x51782d,'OrderBy':_0x1004ca},{'where':{'CmContactId':_0x588c3a,'item':_0x2f12e4}})[_0x7b89('0x19')](function(_0x21e426){_0x16b29a({'res':_0x7b89('0x22')});});}else{return db['CmContactHasItem'][_0x7b89('0x23')]({'CmContactId':_0x588c3a,'item':_0x2f12e4,'description':_0x51782d,'ItemTypeId':_0x44df99,'OrderBy':_0x1004ca,'ItemClass':_0x7b89('0x24')})[_0x7b89('0x19')](function(_0x2a4db1){_0x16b29a({'res':_0x7b89('0x25')});});}});});}function insertCmHopper(_0x21c1b1,_0x1c93ae,_0x54fbd7,_0x39f6c4,_0x1b45e7){var _0x2580f9=[_0x7b89('0x26'),_0x7b89('0x27'),_0x7b89('0x28'),_0x7b89('0x29'),_0x1c93ae+'.'+_0x39f6c4,_0x7b89('0x2a'),_0x7b89('0x2b'),'cm_contacts.priority','cm_contacts.UserId','\x22'+_0x1b45e7+'\x22'];return squel[_0x7b89('0x2c')]()[_0x7b89('0x2d')](_0x7b89('0x2e'))[_0x7b89('0x2f')]([_0x7b89('0x30'),'scheduledat',_0x7b89('0x31'),_0x7b89('0x32'),_0x39f6c4,_0x7b89('0x33'),_0x7b89('0x34'),'priority','UserId',_0x7b89('0x35')],squel[_0x7b89('0xf')]()[_0x7b89('0x36')](_0x2580f9)['from'](_0x1c93ae)[_0x7b89('0x12')](_0x7b89('0x37'),null,_0x7b89('0x38')+_0x1c93ae+_0x7b89('0x39'))[_0x7b89('0x12')](_0x54fbd7,null,_0x54fbd7+_0x7b89('0x13')+_0x1c93ae+'.'+_0x39f6c4)[_0x7b89('0x14')](_0x1c93ae+_0x7b89('0x3a'),_0x21c1b1)[_0x7b89('0x14')](_0x7b89('0x3b'),NOW)[_0x7b89('0x14')](_0x7b89('0x3c'),selectNotIn(_0x1c93ae,_0x54fbd7,_0x39f6c4,'cm_hopper',[_0x7b89('0x3d'),'\x22onlyIfOpen\x22']))[_0x7b89('0x14')](_0x7b89('0x3c'),selectNotIn(_0x1c93ae,_0x54fbd7,_0x39f6c4,_0x7b89('0x2e'),['\x22always\x22'])))[_0x7b89('0x3e')]();}function insertCmHopperBlack(_0x3ce0b7,_0x373432,_0x5d4f5e,_0x271c6d){var _0x4ac4f4=[_0x7b89('0x26'),'cm_contacts.id','cm_contacts.ListId',_0x373432+'.'+_0x271c6d,_0x7b89('0x2a'),'cm_contacts.updatedAt'];return squel[_0x7b89('0x2c')]()[_0x7b89('0x2d')](_0x7b89('0x3f'))[_0x7b89('0x2f')]([_0x7b89('0x30'),'ContactId','ListId',_0x271c6d,'createdAt',_0x7b89('0x34')],squel['select']()['fields'](_0x4ac4f4)[_0x7b89('0x11')](_0x373432)[_0x7b89('0x12')]('cm_contacts',null,_0x7b89('0x38')+_0x373432+_0x7b89('0x39'))[_0x7b89('0x12')](_0x5d4f5e,null,_0x5d4f5e+'.id\x20=\x20'+_0x373432+'.'+_0x271c6d)['where'](_0x373432+_0x7b89('0x3a'),_0x3ce0b7)[_0x7b89('0x14')](_0x7b89('0x3b'),NOW)[_0x7b89('0x14')](_0x7b89('0x3c'),squel[_0x7b89('0xf')]()['field']('phone')[_0x7b89('0x11')](_0x7b89('0x3f'))[_0x7b89('0x14')](_0x7b89('0x40'),_0x3ce0b7)[_0x7b89('0x14')](_0x271c6d+_0x7b89('0x15')+_0x373432+'.'+_0x271c6d)))[_0x7b89('0x3e')]();}function insertTzCmHopper(_0x3105e7,_0x43587e,_0x4764c7,_0x258657,_0x477bcb,_0x52ea5c){var _0x490c07=[_0x7b89('0x26'),_0x7b89('0x41')+_0x52ea5c+_0x7b89('0x42'),_0x7b89('0x28'),_0x7b89('0x29'),_0x43587e+'.'+_0x258657,_0x7b89('0x2a'),_0x7b89('0x2b'),_0x7b89('0x43'),_0x7b89('0x44'),'\x22'+_0x477bcb+'\x22'];var _0x463aff=squel[_0x7b89('0x2c')]()[_0x7b89('0x2d')](_0x7b89('0x2e'))[_0x7b89('0x2f')](['phone',_0x7b89('0x45'),_0x7b89('0x31'),_0x7b89('0x32'),_0x258657,_0x7b89('0x33'),_0x7b89('0x34'),'priority',_0x7b89('0x46'),_0x7b89('0x35')],squel[_0x7b89('0xf')]()[_0x7b89('0x36')](_0x490c07)['from'](_0x43587e)[_0x7b89('0x12')]('cm_contacts',null,_0x7b89('0x38')+_0x43587e+_0x7b89('0x39'))[_0x7b89('0x12')](_0x4764c7,null,_0x4764c7+_0x7b89('0x13')+_0x43587e+'.'+_0x258657)[_0x7b89('0x12')](_0x52ea5c,null,_0x52ea5c+_0x7b89('0x13')+_0x43587e+'.'+_0x258657)['where'](_0x43587e+_0x7b89('0x3a'),_0x3105e7)['where'](_0x7b89('0x3b'),NOW)[_0x7b89('0x14')](_0x7b89('0x3c'),selectNotIn(_0x43587e,_0x4764c7,_0x258657,'cm_hopper',[_0x7b89('0x3d'),_0x7b89('0x47')]))[_0x7b89('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x43587e,_0x4764c7,_0x258657,_0x7b89('0x2e'),['\x22always\x22'])))['toString']();return _0x463aff;}function insertTzCmHopperBlack(_0x141956,_0x549c8f,_0xa35861,_0x39846e){var _0x13a717=['cm_contacts.phone',_0x7b89('0x28'),_0x7b89('0x29'),_0x549c8f+'.'+_0x39846e,_0x7b89('0x2a'),_0x7b89('0x2b')];return squel[_0x7b89('0x2c')]()[_0x7b89('0x2d')]('cm_hopper_black')[_0x7b89('0x2f')]([_0x7b89('0x30'),_0x7b89('0x31'),'ListId',_0x39846e,_0x7b89('0x33'),'updatedAt'],squel[_0x7b89('0xf')]()[_0x7b89('0x36')](_0x13a717)['from'](_0x549c8f)[_0x7b89('0x12')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x549c8f+_0x7b89('0x39'))[_0x7b89('0x12')](_0xa35861,null,_0xa35861+_0x7b89('0x13')+_0x549c8f+'.'+_0x39846e)[_0x7b89('0x14')](_0x549c8f+'.CmListId\x20=\x20?',_0x141956)[_0x7b89('0x14')](_0x7b89('0x3b'),NOW)['where'](_0x7b89('0x3c'),squel[_0x7b89('0xf')]()[_0x7b89('0x10')](_0x7b89('0x30'))[_0x7b89('0x11')](_0x7b89('0x3f'))[_0x7b89('0x14')](_0x7b89('0x40'),_0x141956)[_0x7b89('0x14')](_0x39846e+'\x20=\x20'+_0x549c8f+'.'+_0x39846e)))[_0x7b89('0x3e')]();}function insertCmHopperAdditionalPhones(_0x15af71){var _0x150657=[_0x7b89('0x48'),_0x7b89('0x49'),_0x7b89('0x4a'),_0x7b89('0x4b'),_0x7b89('0x4c')];return squel[_0x7b89('0x2c')]()[_0x7b89('0x2d')]('cm_hopper_additional_phones')[_0x7b89('0x2f')](['CmHopperId','phone',_0x7b89('0x4d'),'createdAt',_0x7b89('0x34')],squel[_0x7b89('0xf')]()[_0x7b89('0x36')](_0x150657)['from']('cm_hopper')[_0x7b89('0x12')](_0x7b89('0x37'),null,_0x7b89('0x4e'))[_0x7b89('0x12')](_0x7b89('0x4f'),null,_0x7b89('0x50'))[_0x7b89('0x14')](_0x7b89('0x51'),_0x15af71)[_0x7b89('0x14')](_0x7b89('0x3b'),NOW))[_0x7b89('0x3e')]();}function insertCmContact(_0x5037b,_0x55dfed,_0xa46ccd,_0x18bf49){var _0x286ada=_[_0x7b89('0x52')](_[_0x7b89('0x53')](_0x18bf49),[_0x7b89('0x32'),'CompanyId',_0x7b89('0x33'),_0x7b89('0x34'),_0x7b89('0x54')]);return squel['insert']()[_0x7b89('0x2d')](_0x7b89('0x37'))[_0x7b89('0x2f')](_0x286ada,squel[_0x7b89('0xf')]()[_0x7b89('0x36')](_0x286ada)['from'](_0x55dfed)[_0x7b89('0x14')]('('+_0xa46ccd[_0x7b89('0x12')](',')+_0x7b89('0x55'),squel[_0x7b89('0xf')]()['fields'](_0xa46ccd)[_0x7b89('0x11')](_0x7b89('0x37'))[_0x7b89('0x14')](_0x7b89('0x40'),_0x5037b)[_0x7b89('0x14')](_0x7b89('0x56')))[_0x7b89('0x14')](_0x7b89('0x57'),squel[_0x7b89('0xf')]()[_0x7b89('0x10')](_0x7b89('0x58'),_0x7b89('0x59'))[_0x7b89('0x11')](_0x55dfed)[_0x7b89('0x5a')](_0xa46ccd[_0x7b89('0x12')](','))))[_0x7b89('0x3e')]();}function handleStop(){logger[_0x7b89('0x5b')](_0x7b89('0x5c'));stopped=!![];}function handleUncaughtException(_0x327c77){logger['error'](_0x327c77['message']);process[_0x7b89('0x5d')](0x1);}function handleError(_0x386bac,_0x277756){stats['errors']['push']({'name':_0x277756['code'],'message':_0x277756[_0x7b89('0x5e')],'row':_0x386bac});}function handleQuery(_0x1bd7d1){logger[_0x7b89('0x5b')](_0x1bd7d1);return db['sequelize'][_0x7b89('0x5f')](_0x1bd7d1)[_0x7b89('0x60')](function(_0x51e196){results[_0x7b89('0x1a')](_0x51e196);})[_0x7b89('0x61')](function(_0x81d41c){logger['error'](_0x81d41c[_0x7b89('0x5e')]);});}function updateTzCampaigns(_0x184664){return new Promise(function(_0x39c5c4,_0x1bd147){var _0x171bbe=squel[_0x7b89('0xf')]()['fields']([_0x7b89('0x62'),'campaigns.dialTimezone'])['from'](_0x7b89('0x63'))[_0x7b89('0x12')](_0x7b89('0x64'),null,'campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId')[_0x7b89('0x14')](_0x7b89('0x65')+_0x184664);db[_0x7b89('0x66')][_0x7b89('0x5f')](_0x171bbe['toString']())[_0x7b89('0x60')](function(_0x55915d){var _0x55404d=[];for(var _0x2db702=0x0;_0x2db702<_0x55915d[_0x7b89('0x1e')];_0x2db702++){_0x55404d['push'](getTimezoneData(_0x55915d[_0x2db702],tmp_campaigns));}BPromise[_0x7b89('0x1b')](_0x55404d)['then'](function(){_0x39c5c4({'val':0x1});});})[_0x7b89('0x61')](function(_0x546f40){logger['error'](_0x546f40[_0x7b89('0x5e')]);_0x39c5c4({'val':0x0});});});}function updateTzVoiceQueues(_0x13250b){return new Promise(function(_0x5a8462,_0x1931d4){var _0x26e1eb=squel[_0x7b89('0xf')]()[_0x7b89('0x36')]([_0x7b89('0x67'),'voice_queues.dialTimezone'])['from'](_0x7b89('0x68'))[_0x7b89('0x12')](_0x7b89('0x69'),null,_0x7b89('0x6a'))[_0x7b89('0x14')](_0x7b89('0x6b')+_0x13250b);db[_0x7b89('0x66')][_0x7b89('0x5f')](_0x26e1eb['toString']())[_0x7b89('0x60')](function(_0x5e8c12){var _0x1a87ac=[];for(var _0x13c718=0x0;_0x13c718<_0x5e8c12['length'];_0x13c718++){_0x1a87ac['push'](getTimezoneData(_0x5e8c12[_0x13c718],tmp_voice_queues));}BPromise[_0x7b89('0x1b')](_0x1a87ac)[_0x7b89('0x19')](function(){_0x5a8462({'val':0x1});});})[_0x7b89('0x61')](function(_0x4f232b){logger[_0x7b89('0x6c')](_0x4f232b[_0x7b89('0x5e')]);_0x5a8462({'val':0x0});});});}function getTimezoneData(_0x3daccb,_0x4c98e7){return new Promise(function(_0xfca8fb,_0x58252f){var _0x271467=shared[_0x7b89('0x6d')];var _0x2d4854=_0x271467[_0x3daccb[_0x7b89('0x6e')]];if(_['isNil'](_0x2d4854)){_0xfca8fb({'ret':0x1});}else{var _0x4b6d29=_0x2d4854[_0x7b89('0x6f')];var _0x1c9578=squel[_0x7b89('0x2c')]()[_0x7b89('0x2d')](_0x4c98e7)['set']('id',_0x3daccb['id'])[_0x7b89('0x70')]('offset',_0x4b6d29)[_0x7b89('0x70')](_0x7b89('0x6e'),_0x3daccb['dialTimezone'])[_0x7b89('0x3e')]();return db[_0x7b89('0x66')][_0x7b89('0x5f')](_0x1c9578)[_0x7b89('0x60')](function(_0xd59d74){_0xfca8fb({'ret':0x1});})[_0x7b89('0x61')](function(_0x103282){logger[_0x7b89('0x6c')](_0x103282[_0x7b89('0x5e')]);_0x58252f({'ret':0x1});});}});}function handleTZQuery(_0xf69d07){logger[_0x7b89('0x5b')](_0xf69d07);return db[_0x7b89('0x66')][_0x7b89('0x5f')](_0xf69d07)[_0x7b89('0x60')](function(_0x504041){})['catch'](function(_0x2a8278){logger['error'](_0x2a8278[_0x7b89('0x5e')]);});}function main(_0x2d0d34,_0x5d71ee,_0x4a6a3f,_0x6572e8){logger[_0x7b89('0x5b')]('main',_0x2d0d34,JSON['stringify'](_0x5d71ee));process[_0x7b89('0x71')](_0x7b89('0x72'));var _0x4a0919=_0x5d71ee['binding'];var _0x4e14e5=_[_0x7b89('0x73')](_0x4a0919);var _0x2075ca=_0x5d71ee[_0x7b89('0x74')];var _0x4958bf=path[_0x7b89('0x12')](config[_0x7b89('0x75')],_0x7b89('0x76'),_0x2075ca+_0x7b89('0x77'));hasTZ=_[_0x7b89('0x53')](_0x4a0919)['includes'](_0x7b89('0x6e'));var _0x3004e6=_[_0x7b89('0x53')](_0x4a0919)[_0x7b89('0x12')]();logger[_0x7b89('0x5b')](_0x7b89('0x78'),_0x3004e6);db['ContactItemType'][_0x7b89('0x18')]({'raw':!![],'attributes':['id',_0x7b89('0x79')]})[_0x7b89('0x19')](function(_0x4f0d44){for(var _0x5a2929=0x0;_0x5a2929<_0x4f0d44[_0x7b89('0x1e')];_0x5a2929++){if(_0x4f0d44[_0x5a2929][_0x7b89('0x79')]in _0x4a0919){contactItemTypes[_0x7b89('0x1a')](_0x4f0d44[_0x5a2929]);delete _0x4e14e5[_0x4f0d44[_0x5a2929][_0x7b89('0x79')]];hasAdditionalPhones=!![];}for(var _0x250e13 in _0x4a0919){if(_0x4f0d44[_0x5a2929]['name']+_0x7b89('0x7a')===_0x250e13){phoneDescriptions[_0x7b89('0x1a')]({'itemTypeId':_0x4f0d44[_0x5a2929]['id'],'description':_0x250e13});delete _0x4e14e5[_0x250e13];}}}if(hasAdditionalPhones)_0x4e14e5[_0x7b89('0x1c')]='';var _0x488fb7=_['keys'](_0x4e14e5)[_0x7b89('0x12')]();logger[_0x7b89('0x5b')](_0x7b89('0x78'),_0x488fb7);fs[_0x7b89('0x7b')](_0x4958bf,_0x488fb7+'\x0a');Papa[_0x7b89('0x7c')](fs[_0x7b89('0x7d')](_0x2d0d34),{'header':!![],'skipEmptyLines':!![],'step':function(_0x1bc676,_0x4d4c72){try{for(var _0x478b27=0x0,_0x16bc95=[];_0x478b27<_0x1bc676[_0x7b89('0x7e')][_0x7b89('0x1e')];_0x478b27++){stats[_0x7b89('0x7f')]+=0x1;if(_0x1bc676[_0x7b89('0x80')][_0x478b27]){handleError(_0x1bc676[_0x7b89('0x7e')][_0x478b27],_0x1bc676[_0x7b89('0x80')][_0x478b27]);}else{var _0x4b612b=[];var _0x162702=[];var _0x475a83={};for(var _0x3c20fe in _0x4a0919){let _0x2e2963=contactItemTypes[_0x7b89('0x81')](_0x510491=>_0x510491[_0x7b89('0x79')]===_0x3c20fe);let _0x3b6bc2=contactItemTypes[_0x7b89('0x81')](_0x3fe630=>_0x3fe630[_0x7b89('0x79')]+_0x7b89('0x7a')===_0x3c20fe);if(_[_0x7b89('0x82')](_0x2e2963)&&_['isNil'](_0x3b6bc2)){if(_0x4a0919[_0x7b89('0x83')](_0x3c20fe)){if(_0x1bc676[_0x7b89('0x7e')][_0x478b27][_0x4a0919[_0x3c20fe]]){var _0x4710c7=_[_0x7b89('0x84')](_0x1bc676[_0x7b89('0x7e')][_0x478b27][_0x4a0919[_0x3c20fe]][_0x7b89('0x85')](/"/g,'\x27'));switch(_0x3c20fe){case'scheduledat':var _0x20bcd8=moment(_0x4710c7,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x20bcd8['isValid']()){_0x16bc95['push']('\x22'+_0x4710c7+'\x22');}else{_0x4b612b[_0x7b89('0x1a')](_0x7b89('0x86'));}break;case _0x7b89('0x87'):var _0x148c68=parseInt(_0x4710c7);_0x4710c7=_['isNaN'](_0x148c68)||_0x148c68<0x0||_0x148c68>0x4?_0x6572e8?0x3:0x2:_0x148c68;_0x16bc95['push']('\x22'+_0x4710c7+'\x22');break;case'UserId':var _0x5993ad=parseInt(_0x4710c7);if(_[_0x7b89('0x88')](_0x5993ad)&&_[_0x7b89('0x89')](_0x4a6a3f,_0x5993ad)){_0x16bc95[_0x7b89('0x1a')]('\x22'+_0x5993ad+'\x22');}else{_0x4b612b['push'](_0x7b89('0x8a'));}break;case _0x7b89('0x8b'):if(isEmail(_0x4710c7)){_0x16bc95[_0x7b89('0x1a')]('\x22'+_0x4710c7+'\x22');}else{_0x4b612b[_0x7b89('0x1a')](_0x7b89('0x8c'));}break;case _0x7b89('0x8d'):var _0x554e21=moment(_0x4710c7,_0x7b89('0x8e'),!![]);if(_0x554e21[_0x7b89('0x8f')]()){_0x16bc95[_0x7b89('0x1a')]('\x22'+_0x4710c7+'\x22');}else{_0x4b612b[_0x7b89('0x1a')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x7b89('0x6e'):var _0x3f81ee=shared[_0x7b89('0x6d')];var _0x30c3f1=_0x3f81ee[_0x4710c7];if(!_[_0x7b89('0x82')](_0x30c3f1)){var _0x8b5d86=_0x30c3f1[_0x7b89('0x6f')];_0x16bc95[_0x7b89('0x1a')]('\x22'+_0x4710c7+'\x22');_0x16bc95[_0x7b89('0x1a')]('\x22'+_0x8b5d86+'\x22');}break;default:_0x16bc95[_0x7b89('0x1a')]('\x22'+_0x4710c7+'\x22');}}else{switch(_0x3c20fe){case _0x7b89('0x90'):case _0x7b89('0x30'):_0x4b612b[_0x7b89('0x1a')](_0x3c20fe+_0x7b89('0x91'));break;default:_0x16bc95[_0x7b89('0x1a')]('\x22\x22');}}}}else{var _0x53fab1='';if(!_[_0x7b89('0x82')](_0x2e2963)){if(!_0x475a83[_0x7b89('0x83')](_0x2e2963['id'])){if(!_['isNil'](_0x1bc676[_0x7b89('0x7e')][_0x478b27][_0x4a0919[_0x3c20fe]])){var _0x4710c7=_[_0x7b89('0x84')](_0x1bc676['data'][_0x478b27][_0x4a0919[_0x3c20fe]][_0x7b89('0x85')](/"/g,'\x27'));var _0x46747c=phoneDescriptions[_0x7b89('0x81')](_0x452319=>_0x452319[_0x7b89('0x92')]===_0x2e2963['id']);if(!_[_0x7b89('0x82')](_0x46747c)){var _0x57def1=_['trim'](_0x1bc676['data'][_0x478b27][_0x4a0919[_0x46747c['description']]][_0x7b89('0x85')](/"/g,'\x27'));if(!_['isNil'](_0x57def1))_0x4710c7=_0x4710c7+'§'+_0x57def1;}if(_0x53fab1=='')_0x53fab1=_0x4710c7;else _0x53fab1+='|'+_0x4710c7;}_0x162702[_0x7b89('0x1a')](_0x2e2963['id']+':'+_0x53fab1);_0x475a83[_0x2e2963['id']]=0x1;}}}}if(hasAdditionalPhones){_0x16bc95[_0x7b89('0x1a')]('\x22'+_0x162702['join'](';')+'\x22');}if(_0x4b612b['length']){handleError(_0x1bc676[_0x7b89('0x7e')][_0x478b27],{'code':_0x7b89('0x93'),'message':_0x4b612b[_0x7b89('0x12')]()});}else{fs[_0x7b89('0x94')](_0x4958bf,_0x16bc95['join']()+'\x0a');}_0x16bc95=[];}if(!(stats[_0x7b89('0x7f')]%0xc8)){socket[_0x7b89('0x95')](_0x7b89('0x96')+_0x2075ca,stats);stats[_0x7b89('0x80')]=[];}}if(stopped){logger[_0x7b89('0x5b')](_0x7b89('0x97'));_0x4d4c72[_0x7b89('0x98')]();}}catch(_0x42bdb8){handleError(_0x1bc676[_0x7b89('0x7e')][_0x478b27],{'code':_0x7b89('0x99'),'message':_0x42bdb8[_0x7b89('0x5e')]});logger[_0x7b89('0x6c')](_0x7b89('0x9a'),_0x42bdb8[_0x7b89('0x5e')]);}},'complete':function(){try{var _0x2892d5=[];var _0x168f13=[];var _0x48cbd9=_0x7b89('0x37');if(_0x5d71ee[_0x7b89('0x9b')]&&_0x5d71ee[_0x7b89('0x9b')][_0x7b89('0x1e')]){_0x48cbd9=_0x7b89('0x9c')+_0x2075ca;_0x2892d5['push'](_0x7b89('0x9d')+_0x48cbd9+_0x7b89('0x9e'));}tmp_campaigns=_0x7b89('0x9f')+_0x2075ca;tmp_voice_queues='voice_queues_'+_0x2075ca;_0x168f13[_0x7b89('0x1a')]('CREATE\x20TABLE\x20'+tmp_campaigns+_0x7b89('0xa0'));_0x168f13[_0x7b89('0x1a')](_0x7b89('0x9d')+tmp_voice_queues+_0x7b89('0xa0'));BPromise[_0x7b89('0xa1')](_0x168f13,handleTZQuery)[_0x7b89('0x19')](function(_0x1a1920){updateTzCampaigns(_0x5d71ee['ListId'])[_0x7b89('0x19')](function(_0x50f1f6){updateTzVoiceQueues(_0x5d71ee[_0x7b89('0x32')])[_0x7b89('0x19')](function(_0x2786e2){if(hasTZ)_0x488fb7=_0x488fb7[_0x7b89('0x85')](_0x7b89('0x6e'),'dialTimezone,utcOffset');var _0x31e400=util[_0x7b89('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',_0x4958bf,_0x48cbd9,_0x488fb7,_0x5d71ee[_0x7b89('0x32')],_0x5d71ee[_0x7b89('0xa2')]||null,NOW,NOW);if(_[_0x7b89('0x82')](_0x4a0919[_0x7b89('0x45')])){_0x31e400+=_0x7b89('0xa3');}_0x2892d5[_0x7b89('0x1a')](_0x31e400);if(_0x5d71ee[_0x7b89('0x9b')]&&_0x5d71ee['duplicates'][_0x7b89('0x1e')]){_0x2892d5[_0x7b89('0x1a')](insertCmContact(_0x5d71ee[_0x7b89('0x32')],_0x48cbd9,_0x5d71ee[_0x7b89('0x9b')],_0x4a0919));_0x2892d5['push'](_0x7b89('0xa4')+_0x48cbd9+';');}BPromise[_0x7b89('0xa1')](_0x2892d5,handleQuery)[_0x7b89('0x19')](function(_0x5ce213){BPromise[_0x7b89('0x1b')]([handleAdditionalPhones()])[_0x7b89('0x19')](function(){_0x2892d5=[];for(var _0x58636e=0x0;_0x58636e<promisesAdditionalPhones[_0x7b89('0x1e')];_0x58636e++){if(promisesAdditionalPhones[_0x58636e]['phone']!='§'){_0x2892d5[_0x7b89('0x1a')](createAdditionalPhone(promisesAdditionalPhones[_0x58636e][_0x7b89('0xa5')],promisesAdditionalPhones[_0x58636e][_0x7b89('0xa6')],promisesAdditionalPhones[_0x58636e][_0x7b89('0x30')],promisesAdditionalPhones[_0x58636e]['orderBy']));}}BPromise['all'](_0x2892d5)[_0x7b89('0x19')](function(){_0x2892d5=[];if(hasTZ){_0x2892d5[_0x7b89('0x1a')](insertTzCmHopper(_0x5d71ee[_0x7b89('0x32')],'voice_queues_has_cm_lists',_0x7b89('0x68'),_0x7b89('0xa7'),_0x6572e8,tmp_voice_queues));_0x2892d5[_0x7b89('0x1a')](insertTzCmHopperBlack(_0x5d71ee[_0x7b89('0x32')],_0x7b89('0xa8'),_0x7b89('0x68'),_0x7b89('0xa7')));_0x2892d5[_0x7b89('0x1a')](insertTzCmHopper(_0x5d71ee['ListId'],_0x7b89('0x64'),'campaigns',_0x7b89('0xa9'),_0x6572e8,tmp_campaigns));_0x2892d5[_0x7b89('0x1a')](insertTzCmHopperBlack(_0x5d71ee[_0x7b89('0x32')],'campaigns_has_cm_blacklists',_0x7b89('0x63'),_0x7b89('0xa9')));_0x2892d5[_0x7b89('0x1a')](insertCmHopperAdditionalPhones(_0x5d71ee[_0x7b89('0x32')]));}else{_0x2892d5[_0x7b89('0x1a')](insertCmHopper(_0x5d71ee[_0x7b89('0x32')],_0x7b89('0x69'),'voice_queues','VoiceQueueId',_0x6572e8));_0x2892d5[_0x7b89('0x1a')](insertCmHopperBlack(_0x5d71ee[_0x7b89('0x32')],_0x7b89('0xa8'),'voice_queues',_0x7b89('0xa7')));_0x2892d5['push'](insertCmHopper(_0x5d71ee[_0x7b89('0x32')],_0x7b89('0x64'),_0x7b89('0x63'),_0x7b89('0xa9'),_0x6572e8));_0x2892d5[_0x7b89('0x1a')](insertCmHopperBlack(_0x5d71ee['ListId'],_0x7b89('0xaa'),_0x7b89('0x63'),_0x7b89('0xa9')));_0x2892d5[_0x7b89('0x1a')](insertCmHopperAdditionalPhones(_0x5d71ee['ListId']));}_0x2892d5[_0x7b89('0x1a')](_0x7b89('0xa4')+tmp_campaigns+';');_0x2892d5[_0x7b89('0x1a')](_0x7b89('0xa4')+tmp_voice_queues+';');BPromise[_0x7b89('0xa1')](_0x2892d5,handleQuery)[_0x7b89('0x19')](function(_0x39b795){stats[_0x7b89('0xab')]=!![];stats[_0x7b89('0xac')]=_0x5d71ee[_0x7b89('0x9b')]&&_0x5d71ee[_0x7b89('0x9b')]['length']?results[0x2]['affectedRows']:results[0x0][_0x7b89('0xac')];socket[_0x7b89('0x95')](_0x7b89('0x96')+_0x2075ca,stats);fs['unlink'](_0x2d0d34);fs[_0x7b89('0xad')](_0x4958bf);process[_0x7b89('0x5d')](0x0);})[_0x7b89('0x61')](function(_0x11f1a1){logger[_0x7b89('0x6c')](_0x11f1a1[_0x7b89('0x5e')]);process[_0x7b89('0x5d')](0x1);});});});})[_0x7b89('0x61')](function(_0x443cb4){logger[_0x7b89('0x6c')](_0x443cb4[_0x7b89('0x5e')]);process['exit'](0x1);});});});});}catch(_0xd9bfbb){logger[_0x7b89('0x6c')](_0x7b89('0xae'),_0xd9bfbb['message']);process[_0x7b89('0x5d')](0x1);}},'error':function(_0x3775e2,_0x36d685,_0x80d2b0,_0x23f75c){throw new Error(_0x23f75c);}});});}function validate(){if(process[_0x7b89('0xaf')]&&process['argv']['length']<0x4){throw new Error(_0x7b89('0xb0'));}var _0x59eba8=path[_0x7b89('0x12')](config[_0x7b89('0x75')],_0x7b89('0x76'),process[_0x7b89('0xaf')][0x2]);if(!fs['existsSync'](_0x59eba8)){throw new Error(_0x7b89('0xb1'));}var _0x456fdf={};try{_0x456fdf=JSON['parse'](process['argv'][0x3]);if(!_0x456fdf['binding']){throw new Error(_0x7b89('0xb2'));}if(!_0x456fdf[_0x7b89('0xb3')][_0x7b89('0x30')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x456fdf[_0x7b89('0xb3')][_0x7b89('0x90')]){throw new Error('firstName\x20is\x20mandatory');}var _0x596d03=0x0;if(_0x456fdf[_0x7b89('0xb3')][_0x7b89('0x46')]){_0x596d03=0x1;}if(!_0x456fdf[_0x7b89('0x32')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x193579){throw new Error(_0x7b89('0xb4'));}var _0x1e6f68=[];try{_0x1e6f68=_[_0x7b89('0xb5')](JSON[_0x7b89('0x7c')](process['argv'][0x4]),'id');}catch(_0x1f65dc){logger[_0x7b89('0x5b')](_0x7b89('0xb6'));}main(_0x59eba8,_0x456fdf,_0x1e6f68,_0x596d03);}validate();process['on'](_0x7b89('0xb7'),handleStop);process['on'](_0x7b89('0xb8'),handleUncaughtException);