d4a3bfd5b583b2815d17c5d9aa386cd2aa0a30b8
[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 _0x1ecd=['replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','itemTypeId','description','appendFileSync','rows','emit','Abort\x20parser','abort','SystemError','step','duplicates','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','dialTimezone,utcOffset','contactId','contactTypeId','orderBy','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','campaigns','CampaignId','campaigns_has_cm_blacklists','DROP\x20TABLE\x20','each','finish','affectedRows','contact:import:','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','binding','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','moment','../../../config/environment','../../../config/logger','import','redis','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','phone','from','join','.id\x20=\x20','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','AdditionalPhones','then','all','split','length','push','isNil','filter','CmContactHasItem','update','create','PHONE','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.UserId','cm_hopper','fromQuery','scheduledat','ListId','createdAt','updatedAt','priority','UserId','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','where','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','insert','into','cm_hopper_black','ContactId','field','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.priority','recallme','cm_hopper.id','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_hopper.ContactId','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','keys','CompanyId',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','group','info','Received\x20SIGINT','error','message','exit','errors','code','sequelize','query','spread','catch','campaigns.id','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues_has_cm_lists.CmListId=','timezones','dialTimezone','utcOffset','set','main','send','start','root','server/files/tmp','.csv','header','name','_description','writeFileSync','parse','data','find','hasOwnProperty','trim'];(function(_0x88467b,_0x3c5135){var _0x2148a6=function(_0x87f2b4){while(--_0x87f2b4){_0x88467b['push'](_0x88467b['shift']());}};_0x2148a6(++_0x3c5135);}(_0x1ecd,0xee));var _0xd1ec=function(_0x4d94db,_0x5a2d71){_0x4d94db=_0x4d94db-0x0;var _0x41d157=_0x1ecd[_0x4d94db];return _0x41d157;};'use strict';var fs=require('fs');var path=require(_0xd1ec('0x0'));var _=require(_0xd1ec('0x1'));var Papa=require(_0xd1ec('0x2'));var util=require(_0xd1ec('0x3'));var BPromise=require(_0xd1ec('0x4'));var moment=require(_0xd1ec('0x5'));var squel=require('squel');var Redis=require('ioredis');var db=require('../../../mysqldb')['db'];var config=require(_0xd1ec('0x6'));var shared=require('../../../config/environment/shared');var logger=require(_0xd1ec('0x7'))(_0xd1ec('0x8'));config[_0xd1ec('0x9')]=_['defaults'](config[_0xd1ec('0x9')],{'host':_0xd1ec('0xa'),'port':0x18eb});var socket=require(_0xd1ec('0xb'))(new Redis(config['redis']));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0xd1ec('0xc')](_0xd1ec('0xd'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0xd1ec('0xc')](_0xd1ec('0xd'));function isEmail(_0x106720){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))*$/[_0xd1ec('0xe')](_0x106720);}function selectNotIn(_0x28d8e0,_0x55378d,_0x5dea10,_0x22db8e,_0x5d5624){return squel[_0xd1ec('0xf')]()['field'](_0xd1ec('0x10'))[_0xd1ec('0x11')](_0x22db8e)[_0xd1ec('0x12')](_0x55378d,null,_0x55378d+_0xd1ec('0x13')+_0x22db8e+'.'+_0x5dea10)['where'](_0x22db8e+'.'+_0x5dea10+_0xd1ec('0x14')+_0x28d8e0+'.'+_0x5dea10)['where'](_0x55378d+_0xd1ec('0x15')+_0x5d5624['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0x187ebe,_0x175408){promisesAdditionalPhones=[];return db[_0xd1ec('0x16')][_0xd1ec('0x17')]({'raw':!![],'attributes':['id',_0xd1ec('0x18')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0xd1ec('0x19')](function(_0x3559a7){if(_0x3559a7!==null){var _0xcf4b35=[];for(var _0x21308f=0x0;_0x21308f<_0x3559a7['length'];_0x21308f++){var _0x2f0582=_0x3559a7[_0x21308f];_0xcf4b35['push'](insertAdditionalPhones(_0x2f0582));}}Promise[_0xd1ec('0x1a')](_0xcf4b35)[_0xd1ec('0x19')](function(){_0x187ebe({'val':0x1});});});});}function insertAdditionalPhones(_0x3cfd20){return new Promise(function(_0x15408a,_0x3307a5){var _0x197f44=_0x3cfd20['AdditionalPhones'];var _0x4fef47=_0x197f44[_0xd1ec('0x1b')](';');var _0x32a058=[];orderBy=0x0;for(var _0xf05296=0x0;_0xf05296<_0x4fef47[_0xd1ec('0x1c')];_0xf05296++){_0x32a058[_0xd1ec('0x1d')](splitAdditionalPhone(_0x3cfd20['id'],_0x4fef47[_0xf05296]));}Promise[_0xd1ec('0x1a')](_0x32a058)[_0xd1ec('0x19')](function(){_0x15408a({'val':_0x4fef47[_0xd1ec('0x1c')]});});});}function splitAdditionalPhone(_0x49011e,_0x4a3ab6){return new Promise(function(_0xcc7ff8,_0x56afd7){var _0x406459=_0x4a3ab6['split'](':');var _0x3034c6=_0x406459[0x0];var _0x34f394=_0x406459[0x1];if(!_[_0xd1ec('0x1e')](_0x34f394)){var _0x4b9e45=_0x34f394['split']('|');var _0x578f5a=[];for(var _0x4ac36e=0x0;_0x4ac36e<_0x4b9e45['length'];_0x4ac36e++){if(_0x4b9e45[_0x4ac36e]!==''){var _0x52579f=_[_0xd1ec('0x1f')](promisesAdditionalPhones,{'contactId':_0x49011e,'phone':_0x4b9e45[_0x4ac36e]});if(_0x52579f[_0xd1ec('0x1c')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x49011e,'contactTypeId':_0x3034c6,'phone':_0x4b9e45[_0x4ac36e],'orderBy':orderBy});}}}_0xcc7ff8({'ok':0x1});}else _0xcc7ff8({'res':0x0});});}function createAdditionalPhone(_0xcec7e6,_0x481612,_0x291b0e,_0x3e0169){var _0x5041f2='';var _0x439157='';var _0x42b1ed=_0x291b0e[_0xd1ec('0x1b')]('§');_0x5041f2=_0x42b1ed[0x0];if(_0x42b1ed['length']==0x2)_0x439157=_0x42b1ed[0x1];return new Promise(function(_0x28bffb,_0x6283c4){return db[_0xd1ec('0x20')]['findOne']({'where':{'CmContactId':_0xcec7e6,'item':_0x5041f2}})[_0xd1ec('0x19')](function(_0x1a5af4){if(_0x1a5af4){return db['CmContactHasItem'][_0xd1ec('0x21')]({'ItemTypeId':_0x481612,'description':_0x439157,'OrderBy':_0x3e0169},{'where':{'CmContactId':_0xcec7e6,'item':_0x5041f2}})[_0xd1ec('0x19')](function(_0x4fc4e0){_0x28bffb({'res':'updated'});});}else{return db[_0xd1ec('0x20')][_0xd1ec('0x22')]({'CmContactId':_0xcec7e6,'item':_0x5041f2,'description':_0x439157,'ItemTypeId':_0x481612,'OrderBy':_0x3e0169,'ItemClass':_0xd1ec('0x23')})[_0xd1ec('0x19')](function(_0x350ce8){_0x28bffb({'res':'inserted'});});}});});}function insertCmHopper(_0x4e0d96,_0x10233c,_0x185e17,_0x12f7f4,_0x394430){var _0x2516ff=[_0xd1ec('0x24'),'cm_contacts.scheduledat',_0xd1ec('0x25'),_0xd1ec('0x26'),_0x10233c+'.'+_0x12f7f4,_0xd1ec('0x27'),_0xd1ec('0x28'),'cm_contacts.priority',_0xd1ec('0x29'),'\x22'+_0x394430+'\x22'];return squel['insert']()['into'](_0xd1ec('0x2a'))[_0xd1ec('0x2b')]([_0xd1ec('0x10'),_0xd1ec('0x2c'),'ContactId',_0xd1ec('0x2d'),_0x12f7f4,_0xd1ec('0x2e'),_0xd1ec('0x2f'),_0xd1ec('0x30'),_0xd1ec('0x31'),'recallme'],squel[_0xd1ec('0xf')]()[_0xd1ec('0x32')](_0x2516ff)[_0xd1ec('0x11')](_0x10233c)[_0xd1ec('0x12')](_0xd1ec('0x33'),null,_0xd1ec('0x34')+_0x10233c+_0xd1ec('0x35'))[_0xd1ec('0x12')](_0x185e17,null,_0x185e17+_0xd1ec('0x13')+_0x10233c+'.'+_0x12f7f4)[_0xd1ec('0x36')](_0x10233c+_0xd1ec('0x37'),_0x4e0d96)[_0xd1ec('0x36')](_0xd1ec('0x38'),NOW)[_0xd1ec('0x36')](_0xd1ec('0x39'),selectNotIn(_0x10233c,_0x185e17,_0x12f7f4,_0xd1ec('0x2a'),[_0xd1ec('0x3a'),_0xd1ec('0x3b')]))[_0xd1ec('0x36')](_0xd1ec('0x39'),selectNotIn(_0x10233c,_0x185e17,_0x12f7f4,_0xd1ec('0x2a'),[_0xd1ec('0x3a')])))[_0xd1ec('0x3c')]();}function insertCmHopperBlack(_0x1515bd,_0x11acaa,_0x94aaed,_0x190b0b){var _0xfa339f=[_0xd1ec('0x24'),_0xd1ec('0x25'),'cm_contacts.ListId',_0x11acaa+'.'+_0x190b0b,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel[_0xd1ec('0x3d')]()[_0xd1ec('0x3e')](_0xd1ec('0x3f'))[_0xd1ec('0x2b')](['phone',_0xd1ec('0x40'),_0xd1ec('0x2d'),_0x190b0b,_0xd1ec('0x2e'),_0xd1ec('0x2f')],squel[_0xd1ec('0xf')]()[_0xd1ec('0x32')](_0xfa339f)[_0xd1ec('0x11')](_0x11acaa)[_0xd1ec('0x12')]('cm_contacts',null,_0xd1ec('0x34')+_0x11acaa+_0xd1ec('0x35'))[_0xd1ec('0x12')](_0x94aaed,null,_0x94aaed+'.id\x20=\x20'+_0x11acaa+'.'+_0x190b0b)[_0xd1ec('0x36')](_0x11acaa+_0xd1ec('0x37'),_0x1515bd)[_0xd1ec('0x36')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0xd1ec('0x36')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0xd1ec('0xf')]()[_0xd1ec('0x41')](_0xd1ec('0x10'))[_0xd1ec('0x11')](_0xd1ec('0x3f'))[_0xd1ec('0x36')](_0xd1ec('0x42'),_0x1515bd)[_0xd1ec('0x36')](_0x190b0b+_0xd1ec('0x14')+_0x11acaa+'.'+_0x190b0b)))['toString']();}function insertTzCmHopper(_0x3e70e7,_0x11e820,_0x1355dc,_0x2f5e44,_0xd168d2,_0x48e974){var _0x32f117=[_0xd1ec('0x24'),_0xd1ec('0x43')+_0x48e974+_0xd1ec('0x44'),_0xd1ec('0x25'),_0xd1ec('0x26'),_0x11e820+'.'+_0x2f5e44,_0xd1ec('0x27'),_0xd1ec('0x28'),_0xd1ec('0x45'),'cm_contacts.UserId','\x22'+_0xd168d2+'\x22'];var _0x49ec41=squel['insert']()[_0xd1ec('0x3e')]('cm_hopper')[_0xd1ec('0x2b')]([_0xd1ec('0x10'),'scheduledat',_0xd1ec('0x40'),'ListId',_0x2f5e44,_0xd1ec('0x2e'),_0xd1ec('0x2f'),'priority',_0xd1ec('0x31'),_0xd1ec('0x46')],squel['select']()[_0xd1ec('0x32')](_0x32f117)[_0xd1ec('0x11')](_0x11e820)['join'](_0xd1ec('0x33'),null,_0xd1ec('0x34')+_0x11e820+_0xd1ec('0x35'))[_0xd1ec('0x12')](_0x1355dc,null,_0x1355dc+_0xd1ec('0x13')+_0x11e820+'.'+_0x2f5e44)['join'](_0x48e974,null,_0x48e974+_0xd1ec('0x13')+_0x11e820+'.'+_0x2f5e44)['where'](_0x11e820+_0xd1ec('0x37'),_0x3e70e7)[_0xd1ec('0x36')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0xd1ec('0x36')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x11e820,_0x1355dc,_0x2f5e44,'cm_hopper',['\x22always\x22',_0xd1ec('0x3b')]))['where'](_0xd1ec('0x39'),selectNotIn(_0x11e820,_0x1355dc,_0x2f5e44,_0xd1ec('0x2a'),[_0xd1ec('0x3a')])))[_0xd1ec('0x3c')]();return _0x49ec41;}function insertTzCmHopperBlack(_0x48d21d,_0x1906db,_0x2393c0,_0x47c9c1){var _0x269728=[_0xd1ec('0x24'),_0xd1ec('0x25'),_0xd1ec('0x26'),_0x1906db+'.'+_0x47c9c1,'cm_contacts.createdAt',_0xd1ec('0x28')];return squel[_0xd1ec('0x3d')]()[_0xd1ec('0x3e')](_0xd1ec('0x3f'))[_0xd1ec('0x2b')](['phone',_0xd1ec('0x40'),_0xd1ec('0x2d'),_0x47c9c1,'createdAt',_0xd1ec('0x2f')],squel[_0xd1ec('0xf')]()['fields'](_0x269728)[_0xd1ec('0x11')](_0x1906db)[_0xd1ec('0x12')](_0xd1ec('0x33'),null,_0xd1ec('0x34')+_0x1906db+'.CmListId')[_0xd1ec('0x12')](_0x2393c0,null,_0x2393c0+_0xd1ec('0x13')+_0x1906db+'.'+_0x47c9c1)[_0xd1ec('0x36')](_0x1906db+_0xd1ec('0x37'),_0x48d21d)[_0xd1ec('0x36')](_0xd1ec('0x38'),NOW)[_0xd1ec('0x36')](_0xd1ec('0x39'),squel[_0xd1ec('0xf')]()[_0xd1ec('0x41')](_0xd1ec('0x10'))[_0xd1ec('0x11')](_0xd1ec('0x3f'))[_0xd1ec('0x36')](_0xd1ec('0x42'),_0x48d21d)['where'](_0x47c9c1+_0xd1ec('0x14')+_0x1906db+'.'+_0x47c9c1)))[_0xd1ec('0x3c')]();}function insertCmHopperAdditionalPhones(_0x2726fc){var _0x4bde7f=[_0xd1ec('0x47'),'cm_contact_has_items.item',_0xd1ec('0x48'),_0xd1ec('0x49'),_0xd1ec('0x4a')];return squel[_0xd1ec('0x3d')]()['into'](_0xd1ec('0x4b'))[_0xd1ec('0x2b')]([_0xd1ec('0x4c'),_0xd1ec('0x10'),_0xd1ec('0x4d'),_0xd1ec('0x2e'),_0xd1ec('0x2f')],squel[_0xd1ec('0xf')]()['fields'](_0x4bde7f)[_0xd1ec('0x11')](_0xd1ec('0x2a'))[_0xd1ec('0x12')]('cm_contacts',null,_0xd1ec('0x4e'))['join']('cm_contact_has_items',null,_0xd1ec('0x4f'))[_0xd1ec('0x36')](_0xd1ec('0x50'),_0x2726fc)[_0xd1ec('0x36')](_0xd1ec('0x38'),NOW))[_0xd1ec('0x3c')]();}function insertCmContact(_0x1187de,_0x3dd07c,_0x4da9b4,_0x2aa975){var _0x35a5ca=_['concat'](_[_0xd1ec('0x51')](_0x2aa975),[_0xd1ec('0x2d'),_0xd1ec('0x52'),_0xd1ec('0x2e'),'updatedAt']);return squel['insert']()[_0xd1ec('0x3e')]('cm_contacts')[_0xd1ec('0x2b')](_0x35a5ca,squel[_0xd1ec('0xf')]()[_0xd1ec('0x32')](_0x35a5ca)[_0xd1ec('0x11')](_0x3dd07c)['where']('('+_0x4da9b4[_0xd1ec('0x12')](',')+_0xd1ec('0x53'),squel[_0xd1ec('0xf')]()['fields'](_0x4da9b4)[_0xd1ec('0x11')](_0xd1ec('0x33'))['where'](_0xd1ec('0x42'),_0x1187de)[_0xd1ec('0x36')](_0xd1ec('0x54')))[_0xd1ec('0x36')](_0xd1ec('0x55'),squel['select']()[_0xd1ec('0x41')](_0xd1ec('0x56'),'min_id')[_0xd1ec('0x11')](_0x3dd07c)[_0xd1ec('0x57')](_0x4da9b4[_0xd1ec('0x12')](','))))[_0xd1ec('0x3c')]();}function handleStop(){logger[_0xd1ec('0x58')](_0xd1ec('0x59'));stopped=!![];}function handleUncaughtException(_0x3d977b){logger[_0xd1ec('0x5a')](_0x3d977b[_0xd1ec('0x5b')]);process[_0xd1ec('0x5c')](0x1);}function handleError(_0x4c3aaf,_0x1a271a){stats[_0xd1ec('0x5d')][_0xd1ec('0x1d')]({'name':_0x1a271a[_0xd1ec('0x5e')],'message':_0x1a271a['message'],'row':_0x4c3aaf});}function handleQuery(_0x3c809f){logger['info'](_0x3c809f);return db[_0xd1ec('0x5f')][_0xd1ec('0x60')](_0x3c809f)[_0xd1ec('0x61')](function(_0x1b5f2c){results[_0xd1ec('0x1d')](_0x1b5f2c);})[_0xd1ec('0x62')](function(_0x43d7c7){logger['error'](_0x43d7c7[_0xd1ec('0x5b')]);});}function updateTzCampaigns(_0x3303cc){return new Promise(function(_0x51615b,_0x15490c){var _0x11921b=squel[_0xd1ec('0xf')]()[_0xd1ec('0x32')]([_0xd1ec('0x63'),'campaigns.dialTimezone'])[_0xd1ec('0x11')]('campaigns')['join']('campaigns_has_cm_lists',null,_0xd1ec('0x64'))[_0xd1ec('0x36')](_0xd1ec('0x65')+_0x3303cc);db[_0xd1ec('0x5f')][_0xd1ec('0x60')](_0x11921b[_0xd1ec('0x3c')]())['spread'](function(_0x24efc1){var _0x1fc621=[];for(var _0x420e36=0x0;_0x420e36<_0x24efc1[_0xd1ec('0x1c')];_0x420e36++){_0x1fc621['push'](getTimezoneData(_0x24efc1[_0x420e36],tmp_campaigns));}BPromise[_0xd1ec('0x1a')](_0x1fc621)['then'](function(){_0x51615b({'val':0x1});});})[_0xd1ec('0x62')](function(_0x2c6e24){logger[_0xd1ec('0x5a')](_0x2c6e24[_0xd1ec('0x5b')]);_0x51615b({'val':0x0});});});}function updateTzVoiceQueues(_0x91c60e){return new Promise(function(_0x409f3c,_0x30e88b){var _0x116b07=squel[_0xd1ec('0xf')]()['fields']([_0xd1ec('0x66'),_0xd1ec('0x67')])[_0xd1ec('0x11')](_0xd1ec('0x68'))[_0xd1ec('0x12')](_0xd1ec('0x69'),null,'voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId')[_0xd1ec('0x36')](_0xd1ec('0x6a')+_0x91c60e);db['sequelize'][_0xd1ec('0x60')](_0x116b07['toString']())[_0xd1ec('0x61')](function(_0x402287){var _0x172b50=[];for(var _0x1c6395=0x0;_0x1c6395<_0x402287[_0xd1ec('0x1c')];_0x1c6395++){_0x172b50['push'](getTimezoneData(_0x402287[_0x1c6395],tmp_voice_queues));}BPromise['all'](_0x172b50)[_0xd1ec('0x19')](function(){_0x409f3c({'val':0x1});});})[_0xd1ec('0x62')](function(_0x3d34db){logger[_0xd1ec('0x5a')](_0x3d34db[_0xd1ec('0x5b')]);_0x409f3c({'val':0x0});});});}function getTimezoneData(_0x2a1625,_0x56bd23){return new Promise(function(_0x56ee11,_0x4e44de){var _0x14800c=shared[_0xd1ec('0x6b')];var _0x2ac46f=_0x14800c[_0x2a1625[_0xd1ec('0x6c')]];if(_[_0xd1ec('0x1e')](_0x2ac46f)){_0x56ee11({'ret':0x1});}else{var _0x294b5d=_0x2ac46f[_0xd1ec('0x6d')];var _0x4a8a3a=squel[_0xd1ec('0x3d')]()[_0xd1ec('0x3e')](_0x56bd23)[_0xd1ec('0x6e')]('id',_0x2a1625['id'])[_0xd1ec('0x6e')]('offset',_0x294b5d)[_0xd1ec('0x6e')](_0xd1ec('0x6c'),_0x2a1625[_0xd1ec('0x6c')])[_0xd1ec('0x3c')]();return db[_0xd1ec('0x5f')][_0xd1ec('0x60')](_0x4a8a3a)[_0xd1ec('0x61')](function(_0x1c6dde){_0x56ee11({'ret':0x1});})[_0xd1ec('0x62')](function(_0x4130f3){logger[_0xd1ec('0x5a')](_0x4130f3['message']);_0x4e44de({'ret':0x1});});}});}function handleTZQuery(_0x297279){logger[_0xd1ec('0x58')](_0x297279);return db['sequelize']['query'](_0x297279)[_0xd1ec('0x61')](function(_0x3ace24){})[_0xd1ec('0x62')](function(_0xbafe28){logger[_0xd1ec('0x5a')](_0xbafe28[_0xd1ec('0x5b')]);});}function main(_0x2a5ba2,_0x96a9f2,_0x17d594,_0x1decc8){logger[_0xd1ec('0x58')](_0xd1ec('0x6f'),_0x2a5ba2,JSON['stringify'](_0x96a9f2));process[_0xd1ec('0x70')](_0xd1ec('0x71'));var _0x1e4ad3=_0x96a9f2['binding'];var _0x2ce821=_['clone'](_0x1e4ad3);var _0x1187af=_0x96a9f2['socket_timestamp'];var _0xe8bc70=path[_0xd1ec('0x12')](config[_0xd1ec('0x72')],_0xd1ec('0x73'),_0x1187af+_0xd1ec('0x74'));hasTZ=_[_0xd1ec('0x51')](_0x1e4ad3)['includes'](_0xd1ec('0x6c'));var _0x5b914b=_[_0xd1ec('0x51')](_0x1e4ad3)[_0xd1ec('0x12')]();logger[_0xd1ec('0x58')](_0xd1ec('0x75'),_0x5b914b);db['ContactItemType'][_0xd1ec('0x17')]({'raw':!![],'attributes':['id',_0xd1ec('0x76')]})[_0xd1ec('0x19')](function(_0x407882){for(var _0x4c5e6e=0x0;_0x4c5e6e<_0x407882['length'];_0x4c5e6e++){if(_0x407882[_0x4c5e6e][_0xd1ec('0x76')]in _0x1e4ad3){contactItemTypes[_0xd1ec('0x1d')](_0x407882[_0x4c5e6e]);delete _0x2ce821[_0x407882[_0x4c5e6e][_0xd1ec('0x76')]];hasAdditionalPhones=!![];}for(var _0x1fb364 in _0x1e4ad3){if(_0x407882[_0x4c5e6e][_0xd1ec('0x76')]+_0xd1ec('0x77')===_0x1fb364){phoneDescriptions[_0xd1ec('0x1d')]({'itemTypeId':_0x407882[_0x4c5e6e]['id'],'description':_0x1fb364});delete _0x2ce821[_0x1fb364];}}}if(hasAdditionalPhones)_0x2ce821[_0xd1ec('0x18')]='';var _0xfc690a=_[_0xd1ec('0x51')](_0x2ce821)['join']();logger[_0xd1ec('0x58')](_0xd1ec('0x75'),_0xfc690a);fs[_0xd1ec('0x78')](_0xe8bc70,_0xfc690a+'\x0a');Papa[_0xd1ec('0x79')](fs['createReadStream'](_0x2a5ba2),{'header':!![],'skipEmptyLines':!![],'step':function(_0x436d6e,_0x37b451){try{for(var _0x11b6c0=0x0,_0x1bcd02=[];_0x11b6c0<_0x436d6e[_0xd1ec('0x7a')][_0xd1ec('0x1c')];_0x11b6c0++){stats['rows']+=0x1;if(_0x436d6e[_0xd1ec('0x5d')][_0x11b6c0]){handleError(_0x436d6e[_0xd1ec('0x7a')][_0x11b6c0],_0x436d6e[_0xd1ec('0x5d')][_0x11b6c0]);}else{var _0x5f2c65=[];var _0x152e91=[];var _0x4fa1a9={};for(var _0x41f6ab in _0x1e4ad3){let _0x30cad5=contactItemTypes[_0xd1ec('0x7b')](_0x150b4f=>_0x150b4f[_0xd1ec('0x76')]===_0x41f6ab);let _0x50b3ae=contactItemTypes[_0xd1ec('0x7b')](_0x1da590=>_0x1da590[_0xd1ec('0x76')]+_0xd1ec('0x77')===_0x41f6ab);if(_[_0xd1ec('0x1e')](_0x30cad5)&&_[_0xd1ec('0x1e')](_0x50b3ae)){if(_0x1e4ad3[_0xd1ec('0x7c')](_0x41f6ab)){if(_0x436d6e[_0xd1ec('0x7a')][_0x11b6c0][_0x1e4ad3[_0x41f6ab]]){var _0x373f1a=_[_0xd1ec('0x7d')](_0x436d6e[_0xd1ec('0x7a')][_0x11b6c0][_0x1e4ad3[_0x41f6ab]][_0xd1ec('0x7e')](/"/g,'\x27'));switch(_0x41f6ab){case _0xd1ec('0x2c'):var _0x3bddb8=moment(_0x373f1a,_0xd1ec('0xd'),!![]);if(_0x3bddb8[_0xd1ec('0x7f')]()){_0x1bcd02[_0xd1ec('0x1d')]('\x22'+_0x373f1a+'\x22');}else{_0x5f2c65[_0xd1ec('0x1d')](_0xd1ec('0x80'));}break;case'priority':var _0x26bbd2=parseInt(_0x373f1a);_0x373f1a=_[_0xd1ec('0x81')](_0x26bbd2)||_0x26bbd2<0x0||_0x26bbd2>0x4?_0x1decc8?0x3:0x2:_0x26bbd2;_0x1bcd02[_0xd1ec('0x1d')]('\x22'+_0x373f1a+'\x22');break;case'UserId':var _0x5316b5=parseInt(_0x373f1a);if(_[_0xd1ec('0x82')](_0x5316b5)&&_['includes'](_0x17d594,_0x5316b5)){_0x1bcd02[_0xd1ec('0x1d')]('\x22'+_0x5316b5+'\x22');}else{_0x5f2c65[_0xd1ec('0x1d')]('agent\x20not\x20exists');}break;case'email':if(isEmail(_0x373f1a)){_0x1bcd02[_0xd1ec('0x1d')]('\x22'+_0x373f1a+'\x22');}else{_0x5f2c65[_0xd1ec('0x1d')](_0xd1ec('0x83'));}break;case _0xd1ec('0x84'):var _0x13fef8=moment(_0x373f1a,_0xd1ec('0x85'),!![]);if(_0x13fef8[_0xd1ec('0x7f')]()){_0x1bcd02[_0xd1ec('0x1d')]('\x22'+_0x373f1a+'\x22');}else{_0x5f2c65['push'](_0xd1ec('0x86'));}break;case _0xd1ec('0x6c'):var _0x580bcf=shared[_0xd1ec('0x6b')];var _0x513244=_0x580bcf[_0x373f1a];if(!_['isNil'](_0x513244)){var _0x4ba0c8=_0x513244[_0xd1ec('0x6d')];_0x1bcd02[_0xd1ec('0x1d')]('\x22'+_0x373f1a+'\x22');_0x1bcd02['push']('\x22'+_0x4ba0c8+'\x22');}break;default:_0x1bcd02[_0xd1ec('0x1d')]('\x22'+_0x373f1a+'\x22');}}else{switch(_0x41f6ab){case _0xd1ec('0x87'):case _0xd1ec('0x10'):_0x5f2c65[_0xd1ec('0x1d')](_0x41f6ab+_0xd1ec('0x88'));break;default:_0x1bcd02[_0xd1ec('0x1d')]('\x22\x22');}}}}else{var _0x400840='';if(!_['isNil'](_0x30cad5)){if(!_0x4fa1a9[_0xd1ec('0x7c')](_0x30cad5['id'])){if(!_[_0xd1ec('0x1e')](_0x436d6e[_0xd1ec('0x7a')][_0x11b6c0][_0x1e4ad3[_0x41f6ab]])){var _0x373f1a=_[_0xd1ec('0x7d')](_0x436d6e[_0xd1ec('0x7a')][_0x11b6c0][_0x1e4ad3[_0x41f6ab]]['replace'](/"/g,'\x27'));var _0x25bf9b=phoneDescriptions['find'](_0x276309=>_0x276309[_0xd1ec('0x89')]===_0x30cad5['id']);if(!_[_0xd1ec('0x1e')](_0x25bf9b)){var _0x4c07a5=_[_0xd1ec('0x7d')](_0x436d6e[_0xd1ec('0x7a')][_0x11b6c0][_0x1e4ad3[_0x25bf9b[_0xd1ec('0x8a')]]][_0xd1ec('0x7e')](/"/g,'\x27'));if(!_[_0xd1ec('0x1e')](_0x4c07a5))_0x373f1a=_0x373f1a+'§'+_0x4c07a5;}if(_0x400840=='')_0x400840=_0x373f1a;else _0x400840+='|'+_0x373f1a;}_0x152e91[_0xd1ec('0x1d')](_0x30cad5['id']+':'+_0x400840);_0x4fa1a9[_0x30cad5['id']]=0x1;}}}}if(hasAdditionalPhones){_0x1bcd02['push']('\x22'+_0x152e91['join'](';')+'\x22');}if(_0x5f2c65[_0xd1ec('0x1c')]){handleError(_0x436d6e['data'][_0x11b6c0],{'code':'SystemRow','message':_0x5f2c65[_0xd1ec('0x12')]()});}else{fs[_0xd1ec('0x8b')](_0xe8bc70,_0x1bcd02[_0xd1ec('0x12')]()+'\x0a');}_0x1bcd02=[];}if(!(stats[_0xd1ec('0x8c')]%0xc8)){socket[_0xd1ec('0x8d')]('contact:import:'+_0x1187af,stats);stats[_0xd1ec('0x5d')]=[];}}if(stopped){logger[_0xd1ec('0x58')](_0xd1ec('0x8e'));_0x37b451[_0xd1ec('0x8f')]();}}catch(_0x3cb2f7){handleError(_0x436d6e[_0xd1ec('0x7a')][_0x11b6c0],{'code':_0xd1ec('0x90'),'message':_0x3cb2f7['message']});logger[_0xd1ec('0x5a')](_0xd1ec('0x91'),_0x3cb2f7['message']);}},'complete':function(){try{var _0x5d732c=[];var _0x118660=[];var _0x5f1367=_0xd1ec('0x33');if(_0x96a9f2[_0xd1ec('0x92')]&&_0x96a9f2[_0xd1ec('0x92')][_0xd1ec('0x1c')]){_0x5f1367='cm_contacts_'+_0x1187af;_0x5d732c[_0xd1ec('0x1d')](_0xd1ec('0x93')+_0x5f1367+_0xd1ec('0x94'));}tmp_campaigns=_0xd1ec('0x95')+_0x1187af;tmp_voice_queues=_0xd1ec('0x96')+_0x1187af;_0x118660['push']('CREATE\x20TABLE\x20'+tmp_campaigns+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');_0x118660[_0xd1ec('0x1d')]('CREATE\x20TABLE\x20'+tmp_voice_queues+_0xd1ec('0x97'));BPromise['each'](_0x118660,handleTZQuery)[_0xd1ec('0x19')](function(_0x6fcc14){updateTzCampaigns(_0x96a9f2['ListId'])[_0xd1ec('0x19')](function(_0x19acf5){updateTzVoiceQueues(_0x96a9f2[_0xd1ec('0x2d')])[_0xd1ec('0x19')](function(_0x43a082){if(hasTZ)_0xfc690a=_0xfc690a['replace']('dialTimezone',_0xd1ec('0x98'));var _0x221be9=util[_0xd1ec('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',_0xe8bc70,_0x5f1367,_0xfc690a,_0x96a9f2[_0xd1ec('0x2d')],_0x96a9f2['CompanyId']||null,NOW,NOW);if(_['isNil'](_0x1e4ad3[_0xd1ec('0x2c')])){_0x221be9+=',\x20scheduledAt\x20=\x20NOW()';}_0x5d732c[_0xd1ec('0x1d')](_0x221be9);if(_0x96a9f2['duplicates']&&_0x96a9f2[_0xd1ec('0x92')][_0xd1ec('0x1c')]){_0x5d732c[_0xd1ec('0x1d')](insertCmContact(_0x96a9f2[_0xd1ec('0x2d')],_0x5f1367,_0x96a9f2[_0xd1ec('0x92')],_0x1e4ad3));_0x5d732c[_0xd1ec('0x1d')]('DROP\x20TABLE\x20'+_0x5f1367+';');}BPromise['each'](_0x5d732c,handleQuery)[_0xd1ec('0x19')](function(_0x1b7d31){BPromise[_0xd1ec('0x1a')]([handleAdditionalPhones()])[_0xd1ec('0x19')](function(){_0x5d732c=[];for(var _0x391dc9=0x0;_0x391dc9<promisesAdditionalPhones[_0xd1ec('0x1c')];_0x391dc9++){if(promisesAdditionalPhones[_0x391dc9][_0xd1ec('0x10')]!='§'){_0x5d732c[_0xd1ec('0x1d')](createAdditionalPhone(promisesAdditionalPhones[_0x391dc9][_0xd1ec('0x99')],promisesAdditionalPhones[_0x391dc9][_0xd1ec('0x9a')],promisesAdditionalPhones[_0x391dc9]['phone'],promisesAdditionalPhones[_0x391dc9][_0xd1ec('0x9b')]));}}BPromise[_0xd1ec('0x1a')](_0x5d732c)[_0xd1ec('0x19')](function(){_0x5d732c=[];if(hasTZ){_0x5d732c[_0xd1ec('0x1d')](insertTzCmHopper(_0x96a9f2['ListId'],_0xd1ec('0x69'),_0xd1ec('0x68'),_0xd1ec('0x9c'),_0x1decc8,tmp_voice_queues));_0x5d732c[_0xd1ec('0x1d')](insertTzCmHopperBlack(_0x96a9f2[_0xd1ec('0x2d')],_0xd1ec('0x9d'),_0xd1ec('0x68'),_0xd1ec('0x9c')));_0x5d732c[_0xd1ec('0x1d')](insertTzCmHopper(_0x96a9f2[_0xd1ec('0x2d')],_0xd1ec('0x9e'),_0xd1ec('0x9f'),_0xd1ec('0xa0'),_0x1decc8,tmp_campaigns));_0x5d732c[_0xd1ec('0x1d')](insertTzCmHopperBlack(_0x96a9f2['ListId'],_0xd1ec('0xa1'),'campaigns',_0xd1ec('0xa0')));_0x5d732c['push'](insertCmHopperAdditionalPhones(_0x96a9f2[_0xd1ec('0x2d')]));}else{_0x5d732c[_0xd1ec('0x1d')](insertCmHopper(_0x96a9f2[_0xd1ec('0x2d')],_0xd1ec('0x69'),'voice_queues',_0xd1ec('0x9c'),_0x1decc8));_0x5d732c[_0xd1ec('0x1d')](insertCmHopperBlack(_0x96a9f2[_0xd1ec('0x2d')],'voice_queues_has_cm_blacklists',_0xd1ec('0x68'),_0xd1ec('0x9c')));_0x5d732c[_0xd1ec('0x1d')](insertCmHopper(_0x96a9f2[_0xd1ec('0x2d')],_0xd1ec('0x9e'),_0xd1ec('0x9f'),_0xd1ec('0xa0'),_0x1decc8));_0x5d732c[_0xd1ec('0x1d')](insertCmHopperBlack(_0x96a9f2[_0xd1ec('0x2d')],_0xd1ec('0xa1'),_0xd1ec('0x9f'),_0xd1ec('0xa0')));_0x5d732c[_0xd1ec('0x1d')](insertCmHopperAdditionalPhones(_0x96a9f2['ListId']));}_0x5d732c['push'](_0xd1ec('0xa2')+tmp_campaigns+';');_0x5d732c[_0xd1ec('0x1d')](_0xd1ec('0xa2')+tmp_voice_queues+';');BPromise[_0xd1ec('0xa3')](_0x5d732c,handleQuery)[_0xd1ec('0x19')](function(_0x5b040a){stats[_0xd1ec('0xa4')]=!![];stats[_0xd1ec('0xa5')]=_0x96a9f2[_0xd1ec('0x92')]&&_0x96a9f2[_0xd1ec('0x92')][_0xd1ec('0x1c')]?results[0x2][_0xd1ec('0xa5')]:results[0x0][_0xd1ec('0xa5')];socket[_0xd1ec('0x8d')](_0xd1ec('0xa6')+_0x1187af,stats);fs[_0xd1ec('0xa7')](_0x2a5ba2);fs[_0xd1ec('0xa7')](_0xe8bc70);process['exit'](0x0);})[_0xd1ec('0x62')](function(_0x4c9bae){logger[_0xd1ec('0x5a')](_0x4c9bae[_0xd1ec('0x5b')]);process[_0xd1ec('0x5c')](0x1);});});});})[_0xd1ec('0x62')](function(_0x3a5dfb){logger[_0xd1ec('0x5a')](_0x3a5dfb[_0xd1ec('0x5b')]);process[_0xd1ec('0x5c')](0x1);});});});});}catch(_0x45f6bc){logger[_0xd1ec('0x5a')](_0xd1ec('0xa8'),_0x45f6bc[_0xd1ec('0x5b')]);process[_0xd1ec('0x5c')](0x1);}},'error':function(_0x49d99a,_0x1fa6e7,_0x304b45,_0x4bbdb7){throw new Error(_0x4bbdb7);}});});}function validate(){if(process[_0xd1ec('0xa9')]&&process[_0xd1ec('0xa9')][_0xd1ec('0x1c')]<0x4){throw new Error(_0xd1ec('0xaa'));}var _0xfbbcb2=path[_0xd1ec('0x12')](config[_0xd1ec('0x72')],_0xd1ec('0x73'),process['argv'][0x2]);if(!fs[_0xd1ec('0xab')](_0xfbbcb2)){throw new Error(_0xd1ec('0xac'));}var _0x108bd4={};try{_0x108bd4=JSON['parse'](process[_0xd1ec('0xa9')][0x3]);if(!_0x108bd4[_0xd1ec('0xad')]){throw new Error(_0xd1ec('0xae'));}if(!_0x108bd4[_0xd1ec('0xad')][_0xd1ec('0x10')]){throw new Error(_0xd1ec('0xaf'));}if(!_0x108bd4['binding'][_0xd1ec('0x87')]){throw new Error(_0xd1ec('0xb0'));}var _0x36cab0=0x0;if(_0x108bd4['binding']['UserId']){_0x36cab0=0x1;}if(!_0x108bd4[_0xd1ec('0x2d')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x572c7d){throw new Error(_0xd1ec('0xb1'));}var _0xd35181=[];try{_0xd35181=_[_0xd1ec('0xb2')](JSON[_0xd1ec('0x79')](process[_0xd1ec('0xa9')][0x4]),'id');}catch(_0x1076e9){logger[_0xd1ec('0x58')](_0xd1ec('0xb3'));}main(_0xfbbcb2,_0x108bd4,_0xd35181,_0x36cab0);}validate();process['on'](_0xd1ec('0xb4'),handleStop);process['on'](_0xd1ec('0xb5'),handleUncaughtException);