e99652c18d19c28a1ef4b3ead530232fb5b526c5
[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 _0xb6e1=['field','phone','from','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','CmContact','AdditionalPhones','length','push','split','isNil','filter','CmContactHasItem','findOne','update','then','updated','inserted','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.priority','cm_contacts.UserId','into','fromQuery','scheduledat','ContactId','ListId','createdAt','priority','recallme','select','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','cm_hopper','\x22always\x22','cm_contacts.id','cm_contacts.createdAt','cm_contacts.updatedAt','insert','cm_hopper_black','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','updatedAt','\x22onlyIfOpen\x22','toString','cm_contact_has_items.item','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?','CompanyId','scheduledAt',')\x20NOT\x20IN\x20?','ListId\x20=\x20?','id\x20IN\x20?','MIN(id)','group','Received\x20SIGINT','error','exit','errors','code','message','info','query','spread','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','sequelize','all','voice_queues.id','voice_queues.dialTimezone','voice_queues','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','root','.csv','keys','header','ContactItemType','name','parse','createReadStream','rows','data','find','trim','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','UserId','includes','email','email\x20wrong\x20format','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','replace','itemTypeId','SystemRow','appendFileSync','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','dialTimezone,utcOffset','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27',',\x20scheduledAt\x20=\x20NOW()','contactId','contactTypeId','orderBy','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_blacklists','CampaignId','DROP\x20TABLE\x20','finish','affectedRows','emit','unlink','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','server/files/tmp','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','ListId\x20is\x20mandatory','map','path','papaparse','util','bluebird','moment','ioredis','../../../config/environment','../../../config/environment/shared','../../../config/logger','import','redis','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test'];(function(_0x46f4c0,_0x4f0f28){var _0x5d25c7=function(_0x1da1fe){while(--_0x1da1fe){_0x46f4c0['push'](_0x46f4c0['shift']());}};_0x5d25c7(++_0x4f0f28);}(_0xb6e1,0xa4));var _0x1b6e=function(_0x29cfba,_0x28c40f){_0x29cfba=_0x29cfba-0x0;var _0x1f694c=_0xb6e1[_0x29cfba];return _0x1f694c;};'use strict';var fs=require('fs');var path=require(_0x1b6e('0x0'));var _=require('lodash');var Papa=require(_0x1b6e('0x1'));var util=require(_0x1b6e('0x2'));var BPromise=require(_0x1b6e('0x3'));var moment=require(_0x1b6e('0x4'));var squel=require('squel');var Redis=require(_0x1b6e('0x5'));var db=require('../../../mysqldb')['db'];var config=require(_0x1b6e('0x6'));var shared=require(_0x1b6e('0x7'));var logger=require(_0x1b6e('0x8'))(_0x1b6e('0x9'));config[_0x1b6e('0xa')]=_['defaults'](config[_0x1b6e('0xa')],{'host':_0x1b6e('0xb'),'port':0x18eb});var socket=require(_0x1b6e('0xc'))(new Redis(config[_0x1b6e('0xa')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x1b6e('0xd')](_0x1b6e('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()['format'](_0x1b6e('0xe'));function isEmail(_0x491d37){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))*$/[_0x1b6e('0xf')](_0x491d37);}function selectNotIn(_0x166675,_0x27d642,_0x161222,_0xcde67d,_0x43fe97){return squel['select']()[_0x1b6e('0x10')](_0x1b6e('0x11'))[_0x1b6e('0x12')](_0xcde67d)['join'](_0x27d642,null,_0x27d642+_0x1b6e('0x13')+_0xcde67d+'.'+_0x161222)[_0x1b6e('0x14')](_0xcde67d+'.'+_0x161222+_0x1b6e('0x15')+_0x166675+'.'+_0x161222)[_0x1b6e('0x14')](_0x27d642+_0x1b6e('0x16')+_0x43fe97[_0x1b6e('0x17')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0xece09,_0x15d9ac){promisesAdditionalPhones=[];return db[_0x1b6e('0x18')]['findAll']({'raw':!![],'attributes':['id',_0x1b6e('0x19')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})['then'](function(_0x500c5b){if(_0x500c5b!==null){var _0x55221e=[];for(var _0x5d132a=0x0;_0x5d132a<_0x500c5b[_0x1b6e('0x1a')];_0x5d132a++){var _0x5470d1=_0x500c5b[_0x5d132a];_0x55221e[_0x1b6e('0x1b')](insertAdditionalPhones(_0x5470d1));}}Promise['all'](_0x55221e)['then'](function(){_0xece09({'val':0x1});});});});}function insertAdditionalPhones(_0x389f23){return new Promise(function(_0x1b27a6,_0x3df995){var _0x1dc84e=_0x389f23[_0x1b6e('0x19')];var _0xb39e9c=_0x1dc84e[_0x1b6e('0x1c')](';');var _0x426762=[];orderBy=0x0;for(var _0x1ca1c0=0x0;_0x1ca1c0<_0xb39e9c[_0x1b6e('0x1a')];_0x1ca1c0++){_0x426762[_0x1b6e('0x1b')](splitAdditionalPhone(_0x389f23['id'],_0xb39e9c[_0x1ca1c0]));}Promise['all'](_0x426762)['then'](function(){_0x1b27a6({'val':_0xb39e9c[_0x1b6e('0x1a')]});});});}function splitAdditionalPhone(_0x2f04eb,_0xdf813d){return new Promise(function(_0x4c4967,_0x1da2d2){var _0x2da1be=_0xdf813d[_0x1b6e('0x1c')](':');var _0x3a8bd9=_0x2da1be[0x0];var _0x1f790b=_0x2da1be[0x1];if(!_[_0x1b6e('0x1d')](_0x1f790b)){var _0x484e59=_0x1f790b[_0x1b6e('0x1c')]('|');var _0x441043=[];for(var _0xdefb3d=0x0;_0xdefb3d<_0x484e59[_0x1b6e('0x1a')];_0xdefb3d++){if(_0x484e59[_0xdefb3d]!==''){var _0x9b9366=_[_0x1b6e('0x1e')](promisesAdditionalPhones,{'contactId':_0x2f04eb,'phone':_0x484e59[_0xdefb3d]});if(_0x9b9366[_0x1b6e('0x1a')]==0x0){orderBy++;promisesAdditionalPhones[_0x1b6e('0x1b')]({'contactId':_0x2f04eb,'contactTypeId':_0x3a8bd9,'phone':_0x484e59[_0xdefb3d],'orderBy':orderBy});}}}_0x4c4967({'ok':0x1});}else _0x4c4967({'res':0x0});});}function createAdditionalPhone(_0x1bc402,_0x589b0a,_0x22957c,_0x169e8b){var _0x1ba8af='';var _0x3f2689='';var _0x223b2a=_0x22957c[_0x1b6e('0x1c')]('§');_0x1ba8af=_0x223b2a[0x0];if(_0x223b2a[_0x1b6e('0x1a')]==0x2)_0x3f2689=_0x223b2a[0x1];return new Promise(function(_0x1ea3a4,_0x1560da){return db[_0x1b6e('0x1f')][_0x1b6e('0x20')]({'where':{'CmContactId':_0x1bc402,'item':_0x1ba8af}})['then'](function(_0x4df62c){if(_0x4df62c){return db[_0x1b6e('0x1f')][_0x1b6e('0x21')]({'ItemTypeId':_0x589b0a,'description':_0x3f2689,'OrderBy':_0x169e8b},{'where':{'CmContactId':_0x1bc402,'item':_0x1ba8af}})[_0x1b6e('0x22')](function(_0x285243){_0x1ea3a4({'res':_0x1b6e('0x23')});});}else{return db[_0x1b6e('0x1f')]['create']({'CmContactId':_0x1bc402,'item':_0x1ba8af,'description':_0x3f2689,'ItemTypeId':_0x589b0a,'OrderBy':_0x169e8b,'ItemClass':'PHONE'})[_0x1b6e('0x22')](function(_0x3693cb){_0x1ea3a4({'res':_0x1b6e('0x24')});});}});});}function insertCmHopper(_0x39c9f5,_0x5380ac,_0x21e49c,_0x38ab88,_0x39463b){var _0x44d058=[_0x1b6e('0x25'),_0x1b6e('0x26'),'cm_contacts.id',_0x1b6e('0x27'),_0x5380ac+'.'+_0x38ab88,'cm_contacts.createdAt','cm_contacts.updatedAt',_0x1b6e('0x28'),_0x1b6e('0x29'),'\x22'+_0x39463b+'\x22'];return squel['insert']()[_0x1b6e('0x2a')]('cm_hopper')[_0x1b6e('0x2b')](['phone',_0x1b6e('0x2c'),_0x1b6e('0x2d'),_0x1b6e('0x2e'),_0x38ab88,_0x1b6e('0x2f'),'updatedAt',_0x1b6e('0x30'),'UserId',_0x1b6e('0x31')],squel[_0x1b6e('0x32')]()[_0x1b6e('0x33')](_0x44d058)[_0x1b6e('0x12')](_0x5380ac)['join'](_0x1b6e('0x34'),null,_0x1b6e('0x35')+_0x5380ac+_0x1b6e('0x36'))[_0x1b6e('0x17')](_0x21e49c,null,_0x21e49c+_0x1b6e('0x13')+_0x5380ac+'.'+_0x38ab88)[_0x1b6e('0x14')](_0x5380ac+_0x1b6e('0x37'),_0x39c9f5)[_0x1b6e('0x14')](_0x1b6e('0x38'),NOW)[_0x1b6e('0x14')](_0x1b6e('0x39'),selectNotIn(_0x5380ac,_0x21e49c,_0x38ab88,'cm_hopper',['\x22always\x22','\x22onlyIfOpen\x22']))[_0x1b6e('0x14')](_0x1b6e('0x39'),selectNotIn(_0x5380ac,_0x21e49c,_0x38ab88,_0x1b6e('0x3a'),[_0x1b6e('0x3b')])))['toString']();}function insertCmHopperBlack(_0xa7aa55,_0x284e7c,_0x3fb74c,_0x1b528e){var _0x279def=[_0x1b6e('0x25'),_0x1b6e('0x3c'),_0x1b6e('0x27'),_0x284e7c+'.'+_0x1b528e,_0x1b6e('0x3d'),_0x1b6e('0x3e')];return squel[_0x1b6e('0x3f')]()[_0x1b6e('0x2a')](_0x1b6e('0x40'))[_0x1b6e('0x2b')]([_0x1b6e('0x11'),_0x1b6e('0x2d'),'ListId',_0x1b528e,_0x1b6e('0x2f'),'updatedAt'],squel[_0x1b6e('0x32')]()[_0x1b6e('0x33')](_0x279def)[_0x1b6e('0x12')](_0x284e7c)['join'](_0x1b6e('0x34'),null,_0x1b6e('0x35')+_0x284e7c+_0x1b6e('0x36'))[_0x1b6e('0x17')](_0x3fb74c,null,_0x3fb74c+_0x1b6e('0x13')+_0x284e7c+'.'+_0x1b528e)['where'](_0x284e7c+_0x1b6e('0x37'),_0xa7aa55)[_0x1b6e('0x14')](_0x1b6e('0x38'),NOW)[_0x1b6e('0x14')](_0x1b6e('0x39'),squel[_0x1b6e('0x32')]()[_0x1b6e('0x10')](_0x1b6e('0x11'))[_0x1b6e('0x12')]('cm_hopper_black')[_0x1b6e('0x14')]('ListId\x20=\x20?',_0xa7aa55)[_0x1b6e('0x14')](_0x1b528e+_0x1b6e('0x15')+_0x284e7c+'.'+_0x1b528e)))['toString']();}function insertTzCmHopper(_0x5ddfd9,_0x490851,_0x3f9e58,_0xa3cfb2,_0x336e8b,_0x4f6ea5){var _0x215bee=[_0x1b6e('0x25'),_0x1b6e('0x41')+_0x4f6ea5+_0x1b6e('0x42'),_0x1b6e('0x3c'),_0x1b6e('0x27'),_0x490851+'.'+_0xa3cfb2,_0x1b6e('0x3d'),_0x1b6e('0x3e'),_0x1b6e('0x28'),'cm_contacts.UserId','\x22'+_0x336e8b+'\x22'];var _0x4b8c15=squel[_0x1b6e('0x3f')]()[_0x1b6e('0x2a')](_0x1b6e('0x3a'))[_0x1b6e('0x2b')]([_0x1b6e('0x11'),_0x1b6e('0x2c'),_0x1b6e('0x2d'),'ListId',_0xa3cfb2,'createdAt',_0x1b6e('0x43'),'priority','UserId',_0x1b6e('0x31')],squel[_0x1b6e('0x32')]()['fields'](_0x215bee)[_0x1b6e('0x12')](_0x490851)[_0x1b6e('0x17')](_0x1b6e('0x34'),null,_0x1b6e('0x35')+_0x490851+_0x1b6e('0x36'))['join'](_0x3f9e58,null,_0x3f9e58+_0x1b6e('0x13')+_0x490851+'.'+_0xa3cfb2)[_0x1b6e('0x17')](_0x4f6ea5,null,_0x4f6ea5+_0x1b6e('0x13')+_0x490851+'.'+_0xa3cfb2)[_0x1b6e('0x14')](_0x490851+_0x1b6e('0x37'),_0x5ddfd9)[_0x1b6e('0x14')](_0x1b6e('0x38'),NOW)[_0x1b6e('0x14')](_0x1b6e('0x39'),selectNotIn(_0x490851,_0x3f9e58,_0xa3cfb2,_0x1b6e('0x3a'),[_0x1b6e('0x3b'),_0x1b6e('0x44')]))[_0x1b6e('0x14')](_0x1b6e('0x39'),selectNotIn(_0x490851,_0x3f9e58,_0xa3cfb2,_0x1b6e('0x3a'),[_0x1b6e('0x3b')])))[_0x1b6e('0x45')]();return _0x4b8c15;}function insertTzCmHopperBlack(_0x457688,_0xce0a89,_0xcbcdb9,_0x1b359d){var _0x21173c=['cm_contacts.phone',_0x1b6e('0x3c'),_0x1b6e('0x27'),_0xce0a89+'.'+_0x1b359d,_0x1b6e('0x3d'),_0x1b6e('0x3e')];return squel[_0x1b6e('0x3f')]()[_0x1b6e('0x2a')]('cm_hopper_black')[_0x1b6e('0x2b')]([_0x1b6e('0x11'),'ContactId',_0x1b6e('0x2e'),_0x1b359d,_0x1b6e('0x2f'),_0x1b6e('0x43')],squel['select']()[_0x1b6e('0x33')](_0x21173c)[_0x1b6e('0x12')](_0xce0a89)['join'](_0x1b6e('0x34'),null,_0x1b6e('0x35')+_0xce0a89+_0x1b6e('0x36'))[_0x1b6e('0x17')](_0xcbcdb9,null,_0xcbcdb9+'.id\x20=\x20'+_0xce0a89+'.'+_0x1b359d)[_0x1b6e('0x14')](_0xce0a89+_0x1b6e('0x37'),_0x457688)[_0x1b6e('0x14')](_0x1b6e('0x38'),NOW)[_0x1b6e('0x14')](_0x1b6e('0x39'),squel['select']()[_0x1b6e('0x10')](_0x1b6e('0x11'))['from'](_0x1b6e('0x40'))[_0x1b6e('0x14')]('ListId\x20=\x20?',_0x457688)['where'](_0x1b359d+'\x20=\x20'+_0xce0a89+'.'+_0x1b359d)))[_0x1b6e('0x45')]();}function insertCmHopperAdditionalPhones(_0x56e321){var _0x414097=['cm_hopper.id',_0x1b6e('0x46'),'cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt',_0x1b6e('0x47')];return squel['insert']()[_0x1b6e('0x2a')]('cm_hopper_additional_phones')[_0x1b6e('0x2b')](['CmHopperId',_0x1b6e('0x11'),_0x1b6e('0x48'),'createdAt',_0x1b6e('0x43')],squel[_0x1b6e('0x32')]()[_0x1b6e('0x33')](_0x414097)[_0x1b6e('0x12')](_0x1b6e('0x3a'))[_0x1b6e('0x17')](_0x1b6e('0x34'),null,_0x1b6e('0x49'))[_0x1b6e('0x17')](_0x1b6e('0x4a'),null,_0x1b6e('0x4b'))[_0x1b6e('0x14')](_0x1b6e('0x4c'),_0x56e321)[_0x1b6e('0x14')](_0x1b6e('0x38'),NOW))[_0x1b6e('0x45')]();}function insertCmContact(_0x544b7e,_0x2b09f1,_0xfe429a,_0x2467cf){var _0x182e72=_['concat'](_['keys'](_0x2467cf),[_0x1b6e('0x2e'),_0x1b6e('0x4d'),_0x1b6e('0x2f'),_0x1b6e('0x43'),_0x1b6e('0x4e')]);return squel[_0x1b6e('0x3f')]()[_0x1b6e('0x2a')](_0x1b6e('0x34'))[_0x1b6e('0x2b')](_0x182e72,squel[_0x1b6e('0x32')]()[_0x1b6e('0x33')](_0x182e72)[_0x1b6e('0x12')](_0x2b09f1)[_0x1b6e('0x14')]('('+_0xfe429a['join'](',')+_0x1b6e('0x4f'),squel[_0x1b6e('0x32')]()[_0x1b6e('0x33')](_0xfe429a)['from'](_0x1b6e('0x34'))[_0x1b6e('0x14')](_0x1b6e('0x50'),_0x544b7e)['where']('deletedAt\x20IS\x20NULL'))[_0x1b6e('0x14')](_0x1b6e('0x51'),squel['select']()['field'](_0x1b6e('0x52'),'min_id')[_0x1b6e('0x12')](_0x2b09f1)[_0x1b6e('0x53')](_0xfe429a[_0x1b6e('0x17')](','))))['toString']();}function handleStop(){logger['info'](_0x1b6e('0x54'));stopped=!![];}function handleUncaughtException(_0x1e1244){logger[_0x1b6e('0x55')](_0x1e1244['message']);process[_0x1b6e('0x56')](0x1);}function handleError(_0x33e607,_0x521c9f){stats[_0x1b6e('0x57')]['push']({'name':_0x521c9f[_0x1b6e('0x58')],'message':_0x521c9f[_0x1b6e('0x59')],'row':_0x33e607});}function handleQuery(_0x18e8b9){logger[_0x1b6e('0x5a')](_0x18e8b9);return db['sequelize'][_0x1b6e('0x5b')](_0x18e8b9)[_0x1b6e('0x5c')](function(_0x244725){results[_0x1b6e('0x1b')](_0x244725);})[_0x1b6e('0x5d')](function(_0xf93feb){logger['error'](_0xf93feb['message']);});}function updateTzCampaigns(_0x5b0ee8){return new Promise(function(_0x439e60,_0x4fd59d){var _0x5a37df=squel[_0x1b6e('0x32')]()[_0x1b6e('0x33')]([_0x1b6e('0x5e'),_0x1b6e('0x5f')])[_0x1b6e('0x12')](_0x1b6e('0x60'))['join'](_0x1b6e('0x61'),null,_0x1b6e('0x62'))[_0x1b6e('0x14')](_0x1b6e('0x63')+_0x5b0ee8);db[_0x1b6e('0x64')][_0x1b6e('0x5b')](_0x5a37df['toString']())['spread'](function(_0x235ef9){var _0x432e96=[];for(var _0x4286fa=0x0;_0x4286fa<_0x235ef9[_0x1b6e('0x1a')];_0x4286fa++){_0x432e96[_0x1b6e('0x1b')](getTimezoneData(_0x235ef9[_0x4286fa],tmp_campaigns));}BPromise[_0x1b6e('0x65')](_0x432e96)[_0x1b6e('0x22')](function(){_0x439e60({'val':0x1});});})[_0x1b6e('0x5d')](function(_0x56b8aa){logger[_0x1b6e('0x55')](_0x56b8aa['message']);_0x439e60({'val':0x0});});});}function updateTzVoiceQueues(_0x4eb4a6){return new Promise(function(_0x4d30bf,_0x5a5a2e){var _0x43408d=squel[_0x1b6e('0x32')]()['fields']([_0x1b6e('0x66'),_0x1b6e('0x67')])[_0x1b6e('0x12')](_0x1b6e('0x68'))['join']('voice_queues_has_cm_lists',null,_0x1b6e('0x69'))[_0x1b6e('0x14')](_0x1b6e('0x6a')+_0x4eb4a6);db[_0x1b6e('0x64')][_0x1b6e('0x5b')](_0x43408d['toString']())['spread'](function(_0x18e9c2){var _0x3942a1=[];for(var _0x206ee4=0x0;_0x206ee4<_0x18e9c2[_0x1b6e('0x1a')];_0x206ee4++){_0x3942a1['push'](getTimezoneData(_0x18e9c2[_0x206ee4],tmp_voice_queues));}BPromise[_0x1b6e('0x65')](_0x3942a1)[_0x1b6e('0x22')](function(){_0x4d30bf({'val':0x1});});})['catch'](function(_0x13ffc5){logger['error'](_0x13ffc5['message']);_0x4d30bf({'val':0x0});});});}function getTimezoneData(_0x593dcc,_0x42ed95){return new Promise(function(_0x305042,_0x3affdf){var _0x3e7429=shared[_0x1b6e('0x6b')];var _0x76af64=_0x3e7429[_0x593dcc[_0x1b6e('0x6c')]];if(_[_0x1b6e('0x1d')](_0x76af64)){_0x305042({'ret':0x1});}else{var _0x1744ca=_0x76af64[_0x1b6e('0x6d')];var _0x2e194a=squel[_0x1b6e('0x3f')]()[_0x1b6e('0x2a')](_0x42ed95)['set']('id',_0x593dcc['id'])[_0x1b6e('0x6e')](_0x1b6e('0x6f'),_0x1744ca)[_0x1b6e('0x6e')](_0x1b6e('0x6c'),_0x593dcc[_0x1b6e('0x6c')])[_0x1b6e('0x45')]();return db[_0x1b6e('0x64')][_0x1b6e('0x5b')](_0x2e194a)[_0x1b6e('0x5c')](function(_0x295f86){_0x305042({'ret':0x1});})[_0x1b6e('0x5d')](function(_0x4a396c){logger[_0x1b6e('0x55')](_0x4a396c[_0x1b6e('0x59')]);_0x3affdf({'ret':0x1});});}});}function handleTZQuery(_0xeb4cd6){logger['info'](_0xeb4cd6);return db[_0x1b6e('0x64')][_0x1b6e('0x5b')](_0xeb4cd6)[_0x1b6e('0x5c')](function(_0x29d447){})[_0x1b6e('0x5d')](function(_0xdd33c5){logger[_0x1b6e('0x55')](_0xdd33c5[_0x1b6e('0x59')]);});}function main(_0xcd5922,_0x5b0474,_0x26e44d,_0x1f4b83){logger[_0x1b6e('0x5a')](_0x1b6e('0x70'),_0xcd5922,JSON['stringify'](_0x5b0474));process[_0x1b6e('0x71')]('start');var _0x3f157f=_0x5b0474[_0x1b6e('0x72')];var _0x1e69b2=_[_0x1b6e('0x73')](_0x3f157f);var _0x56e452=_0x5b0474['socket_timestamp'];var _0x14c799=path[_0x1b6e('0x17')](config[_0x1b6e('0x74')],'server/files/tmp',_0x56e452+_0x1b6e('0x75'));hasTZ=_['keys'](_0x3f157f)['includes'](_0x1b6e('0x6c'));var _0x585e58=_[_0x1b6e('0x76')](_0x3f157f)[_0x1b6e('0x17')]();logger['info'](_0x1b6e('0x77'),_0x585e58);db[_0x1b6e('0x78')]['findAll']({'raw':!![],'attributes':['id',_0x1b6e('0x79')]})[_0x1b6e('0x22')](function(_0x2b6687){for(var _0x315a02=0x0;_0x315a02<_0x2b6687[_0x1b6e('0x1a')];_0x315a02++){if(_0x2b6687[_0x315a02]['name']in _0x3f157f){contactItemTypes[_0x1b6e('0x1b')](_0x2b6687[_0x315a02]);delete _0x1e69b2[_0x2b6687[_0x315a02][_0x1b6e('0x79')]];hasAdditionalPhones=!![];}for(var _0x34ab20 in _0x3f157f){if(_0x2b6687[_0x315a02][_0x1b6e('0x79')]+'_description'===_0x34ab20){phoneDescriptions[_0x1b6e('0x1b')]({'itemTypeId':_0x2b6687[_0x315a02]['id'],'description':_0x34ab20});delete _0x1e69b2[_0x34ab20];}}}if(hasAdditionalPhones)_0x1e69b2[_0x1b6e('0x19')]='';var _0x3cbd4d=_[_0x1b6e('0x76')](_0x1e69b2)[_0x1b6e('0x17')]();logger[_0x1b6e('0x5a')](_0x1b6e('0x77'),_0x3cbd4d);fs['writeFileSync'](_0x14c799,_0x3cbd4d+'\x0a');Papa[_0x1b6e('0x7a')](fs[_0x1b6e('0x7b')](_0xcd5922),{'header':!![],'skipEmptyLines':!![],'step':function(_0x25c268,_0x56f5ee){try{for(var _0x35b806=0x0,_0x5f4409=[];_0x35b806<_0x25c268['data'][_0x1b6e('0x1a')];_0x35b806++){stats[_0x1b6e('0x7c')]+=0x1;if(_0x25c268['errors'][_0x35b806]){handleError(_0x25c268[_0x1b6e('0x7d')][_0x35b806],_0x25c268[_0x1b6e('0x57')][_0x35b806]);}else{var _0x458f9d=[];var _0xc9a6b=[];var _0x23a240={};for(var _0x2ef3a6 in _0x3f157f){let _0x2e86b5=contactItemTypes[_0x1b6e('0x7e')](_0x8ae0e2=>_0x8ae0e2[_0x1b6e('0x79')]===_0x2ef3a6);let _0x3a59fc=contactItemTypes[_0x1b6e('0x7e')](_0x34bc62=>_0x34bc62[_0x1b6e('0x79')]+'_description'===_0x2ef3a6);if(_[_0x1b6e('0x1d')](_0x2e86b5)&&_[_0x1b6e('0x1d')](_0x3a59fc)){if(_0x3f157f['hasOwnProperty'](_0x2ef3a6)){if(_0x25c268[_0x1b6e('0x7d')][_0x35b806][_0x3f157f[_0x2ef3a6]]){var _0x126647=_[_0x1b6e('0x7f')](_0x25c268[_0x1b6e('0x7d')][_0x35b806][_0x3f157f[_0x2ef3a6]]['replace'](/"/g,'\x27'));switch(_0x2ef3a6){case _0x1b6e('0x2c'):var _0x6a409e=moment(_0x126647,_0x1b6e('0xe'),!![]);if(_0x6a409e[_0x1b6e('0x80')]()){_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0x126647+'\x22');}else{_0x458f9d['push'](_0x1b6e('0x81'));}break;case'priority':var _0x3c02b4=parseInt(_0x126647);_0x126647=_[_0x1b6e('0x82')](_0x3c02b4)||_0x3c02b4<0x0||_0x3c02b4>0x4?_0x1f4b83?0x3:0x2:_0x3c02b4;_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0x126647+'\x22');break;case _0x1b6e('0x83'):var _0x4c7f67=parseInt(_0x126647);if(_['isNumber'](_0x4c7f67)&&_[_0x1b6e('0x84')](_0x26e44d,_0x4c7f67)){_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0x4c7f67+'\x22');}else{_0x458f9d[_0x1b6e('0x1b')]('agent\x20not\x20exists');}break;case _0x1b6e('0x85'):if(isEmail(_0x126647)){_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0x126647+'\x22');}else{_0x458f9d[_0x1b6e('0x1b')](_0x1b6e('0x86'));}break;case'dateOfBirth':var _0x11c236=moment(_0x126647,_0x1b6e('0x87'),!![]);if(_0x11c236[_0x1b6e('0x80')]()){_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0x126647+'\x22');}else{_0x458f9d['push'](_0x1b6e('0x88'));}break;case _0x1b6e('0x6c'):var _0x17b8a0=shared[_0x1b6e('0x6b')];var _0x221408=_0x17b8a0[_0x126647];if(!_[_0x1b6e('0x1d')](_0x221408)){var _0xbd183b=_0x221408[_0x1b6e('0x6d')];_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0x126647+'\x22');_0x5f4409['push']('\x22'+_0xbd183b+'\x22');}break;default:_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0x126647+'\x22');}}else{switch(_0x2ef3a6){case _0x1b6e('0x89'):case _0x1b6e('0x11'):_0x458f9d[_0x1b6e('0x1b')](_0x2ef3a6+_0x1b6e('0x8a'));break;default:_0x5f4409['push']('\x22\x22');}}}}else{var _0x1c35ab='';if(!_[_0x1b6e('0x1d')](_0x2e86b5)){if(!_0x23a240['hasOwnProperty'](_0x2e86b5['id'])){if(!_['isNil'](_0x25c268[_0x1b6e('0x7d')][_0x35b806][_0x3f157f[_0x2ef3a6]])){var _0x126647=_[_0x1b6e('0x7f')](_0x25c268[_0x1b6e('0x7d')][_0x35b806][_0x3f157f[_0x2ef3a6]][_0x1b6e('0x8b')](/"/g,'\x27'));var _0x53863f=phoneDescriptions[_0x1b6e('0x7e')](_0x554519=>_0x554519[_0x1b6e('0x8c')]===_0x2e86b5['id']);if(!_[_0x1b6e('0x1d')](_0x53863f)){var _0x45ce4a=_['trim'](_0x25c268['data'][_0x35b806][_0x3f157f[_0x53863f['description']]][_0x1b6e('0x8b')](/"/g,'\x27'));if(!_['isNil'](_0x45ce4a))_0x126647=_0x126647+'§'+_0x45ce4a;}if(_0x1c35ab=='')_0x1c35ab=_0x126647;else _0x1c35ab+='|'+_0x126647;}_0xc9a6b[_0x1b6e('0x1b')](_0x2e86b5['id']+':'+_0x1c35ab);_0x23a240[_0x2e86b5['id']]=0x1;}}}}if(hasAdditionalPhones){_0x5f4409[_0x1b6e('0x1b')]('\x22'+_0xc9a6b[_0x1b6e('0x17')](';')+'\x22');}if(_0x458f9d[_0x1b6e('0x1a')]){handleError(_0x25c268[_0x1b6e('0x7d')][_0x35b806],{'code':_0x1b6e('0x8d'),'message':_0x458f9d[_0x1b6e('0x17')]()});}else{fs[_0x1b6e('0x8e')](_0x14c799,_0x5f4409[_0x1b6e('0x17')]()+'\x0a');}_0x5f4409=[];}if(!(stats[_0x1b6e('0x7c')]%0xc8)){socket['emit'](_0x1b6e('0x8f')+_0x56e452,stats);stats[_0x1b6e('0x57')]=[];}}if(stopped){logger[_0x1b6e('0x5a')](_0x1b6e('0x90'));_0x56f5ee[_0x1b6e('0x91')]();}}catch(_0xa87754){handleError(_0x25c268[_0x1b6e('0x7d')][_0x35b806],{'code':_0x1b6e('0x92'),'message':_0xa87754[_0x1b6e('0x59')]});logger[_0x1b6e('0x55')](_0x1b6e('0x93'),_0xa87754[_0x1b6e('0x59')]);}},'complete':function(){try{var _0xc547d1=[];var _0x52d047=[];var _0x20eb82=_0x1b6e('0x34');if(_0x5b0474[_0x1b6e('0x94')]&&_0x5b0474[_0x1b6e('0x94')]['length']){_0x20eb82=_0x1b6e('0x95')+_0x56e452;_0xc547d1['push'](_0x1b6e('0x96')+_0x20eb82+_0x1b6e('0x97'));}tmp_campaigns=_0x1b6e('0x98')+_0x56e452;tmp_voice_queues=_0x1b6e('0x99')+_0x56e452;_0x52d047[_0x1b6e('0x1b')](_0x1b6e('0x96')+tmp_campaigns+_0x1b6e('0x9a'));_0x52d047[_0x1b6e('0x1b')](_0x1b6e('0x96')+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise[_0x1b6e('0x9b')](_0x52d047,handleTZQuery)[_0x1b6e('0x22')](function(_0x34064f){updateTzCampaigns(_0x5b0474[_0x1b6e('0x2e')])[_0x1b6e('0x22')](function(_0x42da2d){updateTzVoiceQueues(_0x5b0474[_0x1b6e('0x2e')])[_0x1b6e('0x22')](function(_0x1a4486){if(hasTZ)_0x3cbd4d=_0x3cbd4d[_0x1b6e('0x8b')](_0x1b6e('0x6c'),_0x1b6e('0x9c'));var _0xb75f27=util[_0x1b6e('0xd')](_0x1b6e('0x9d'),_0x14c799,_0x20eb82,_0x3cbd4d,_0x5b0474[_0x1b6e('0x2e')],_0x5b0474['CompanyId']||null,NOW,NOW);if(_[_0x1b6e('0x1d')](_0x3f157f['scheduledat'])){_0xb75f27+=_0x1b6e('0x9e');}_0xc547d1['push'](_0xb75f27);if(_0x5b0474[_0x1b6e('0x94')]&&_0x5b0474['duplicates'][_0x1b6e('0x1a')]){_0xc547d1[_0x1b6e('0x1b')](insertCmContact(_0x5b0474[_0x1b6e('0x2e')],_0x20eb82,_0x5b0474['duplicates'],_0x3f157f));_0xc547d1[_0x1b6e('0x1b')]('DROP\x20TABLE\x20'+_0x20eb82+';');}BPromise[_0x1b6e('0x9b')](_0xc547d1,handleQuery)['then'](function(_0x1f5d09){BPromise[_0x1b6e('0x65')]([handleAdditionalPhones()])['then'](function(){_0xc547d1=[];for(var _0x1e3dde=0x0;_0x1e3dde<promisesAdditionalPhones[_0x1b6e('0x1a')];_0x1e3dde++){if(promisesAdditionalPhones[_0x1e3dde][_0x1b6e('0x11')]!='§'){_0xc547d1[_0x1b6e('0x1b')](createAdditionalPhone(promisesAdditionalPhones[_0x1e3dde][_0x1b6e('0x9f')],promisesAdditionalPhones[_0x1e3dde][_0x1b6e('0xa0')],promisesAdditionalPhones[_0x1e3dde]['phone'],promisesAdditionalPhones[_0x1e3dde][_0x1b6e('0xa1')]));}}BPromise['all'](_0xc547d1)[_0x1b6e('0x22')](function(){_0xc547d1=[];if(hasTZ){_0xc547d1[_0x1b6e('0x1b')](insertTzCmHopper(_0x5b0474[_0x1b6e('0x2e')],_0x1b6e('0xa2'),_0x1b6e('0x68'),'VoiceQueueId',_0x1f4b83,tmp_voice_queues));_0xc547d1[_0x1b6e('0x1b')](insertTzCmHopperBlack(_0x5b0474[_0x1b6e('0x2e')],'voice_queues_has_cm_blacklists',_0x1b6e('0x68'),_0x1b6e('0xa3')));_0xc547d1[_0x1b6e('0x1b')](insertTzCmHopper(_0x5b0474[_0x1b6e('0x2e')],_0x1b6e('0x61'),'campaigns','CampaignId',_0x1f4b83,tmp_campaigns));_0xc547d1[_0x1b6e('0x1b')](insertTzCmHopperBlack(_0x5b0474[_0x1b6e('0x2e')],'campaigns_has_cm_blacklists',_0x1b6e('0x60'),'CampaignId'));_0xc547d1[_0x1b6e('0x1b')](insertCmHopperAdditionalPhones(_0x5b0474[_0x1b6e('0x2e')]));}else{_0xc547d1['push'](insertCmHopper(_0x5b0474[_0x1b6e('0x2e')],_0x1b6e('0xa2'),_0x1b6e('0x68'),_0x1b6e('0xa3'),_0x1f4b83));_0xc547d1['push'](insertCmHopperBlack(_0x5b0474[_0x1b6e('0x2e')],_0x1b6e('0xa4'),_0x1b6e('0x68'),_0x1b6e('0xa3')));_0xc547d1[_0x1b6e('0x1b')](insertCmHopper(_0x5b0474[_0x1b6e('0x2e')],_0x1b6e('0x61'),_0x1b6e('0x60'),'CampaignId',_0x1f4b83));_0xc547d1[_0x1b6e('0x1b')](insertCmHopperBlack(_0x5b0474[_0x1b6e('0x2e')],_0x1b6e('0xa5'),_0x1b6e('0x60'),_0x1b6e('0xa6')));_0xc547d1[_0x1b6e('0x1b')](insertCmHopperAdditionalPhones(_0x5b0474['ListId']));}_0xc547d1[_0x1b6e('0x1b')](_0x1b6e('0xa7')+tmp_campaigns+';');_0xc547d1['push'](_0x1b6e('0xa7')+tmp_voice_queues+';');BPromise[_0x1b6e('0x9b')](_0xc547d1,handleQuery)[_0x1b6e('0x22')](function(_0x157e0b){stats[_0x1b6e('0xa8')]=!![];stats[_0x1b6e('0xa9')]=_0x5b0474[_0x1b6e('0x94')]&&_0x5b0474[_0x1b6e('0x94')][_0x1b6e('0x1a')]?results[0x2][_0x1b6e('0xa9')]:results[0x0]['affectedRows'];socket[_0x1b6e('0xaa')]('contact:import:'+_0x56e452,stats);fs['unlink'](_0xcd5922);fs[_0x1b6e('0xab')](_0x14c799);process['exit'](0x0);})[_0x1b6e('0x5d')](function(_0x4814f2){logger[_0x1b6e('0x55')](_0x4814f2[_0x1b6e('0x59')]);process[_0x1b6e('0x56')](0x1);});});});})[_0x1b6e('0x5d')](function(_0x21d446){logger['error'](_0x21d446[_0x1b6e('0x59')]);process[_0x1b6e('0x56')](0x1);});});});});}catch(_0x1325a7){logger[_0x1b6e('0x55')]('complete',_0x1325a7[_0x1b6e('0x59')]);process[_0x1b6e('0x56')](0x1);}},'error':function(_0x10b86e,_0x5705ed,_0x1386fa,_0xdac2fd){throw new Error(_0xdac2fd);}});});}function validate(){if(process[_0x1b6e('0xac')]&&process[_0x1b6e('0xac')][_0x1b6e('0x1a')]<0x4){throw new Error(_0x1b6e('0xad'));}var _0x2e84e7=path[_0x1b6e('0x17')](config[_0x1b6e('0x74')],_0x1b6e('0xae'),process[_0x1b6e('0xac')][0x2]);if(!fs['existsSync'](_0x2e84e7)){throw new Error(_0x1b6e('0xaf'));}var _0x45f9f1={};try{_0x45f9f1=JSON[_0x1b6e('0x7a')](process[_0x1b6e('0xac')][0x3]);if(!_0x45f9f1['binding']){throw new Error(_0x1b6e('0xb0'));}if(!_0x45f9f1[_0x1b6e('0x72')][_0x1b6e('0x11')]){throw new Error(_0x1b6e('0xb1'));}if(!_0x45f9f1[_0x1b6e('0x72')][_0x1b6e('0x89')]){throw new Error('firstName\x20is\x20mandatory');}var _0x449262=0x0;if(_0x45f9f1['binding'][_0x1b6e('0x83')]){_0x449262=0x1;}if(!_0x45f9f1[_0x1b6e('0x2e')]){throw new Error(_0x1b6e('0xb2'));}}catch(_0x541d88){throw new Error('body\x20id\x20mandatory');}var _0x44cd36=[];try{_0x44cd36=_[_0x1b6e('0xb3')](JSON[_0x1b6e('0x7a')](process[_0x1b6e('0xac')][0x4]),'id');}catch(_0x2686bc){logger[_0x1b6e('0x5a')]('No\x20agent\x20available');}main(_0x2e84e7,_0x45f9f1,_0x44cd36,_0x449262);}validate();process['on']('SIGINT',handleStop);process['on']('uncaughtException',handleUncaughtException);