875413a2bc658dd0f4678ab2cdccea3120e17a7b
[motion2.git] / server / services / ami / realtime / index.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 _0x4b84=['length','isUndefined','prototype','initTelephones','initTrunks','initVoiceQueues','initTemplates','initZendeskAccounts','initSalesforceAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','deskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','unmanaged','queuecallerabandon','diff','queuecallerjoinAt','queuecallercompleteAt','seconds','queuecallerleaveAt','sumDuration','duration','disposition','ANSWERED','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','faxAccounts','bluebird','util','../model/agent','../model/voiceQueue','../model/trigger','../model/template','../model/salesforceAccount','../model/sugarcrmAccount','../model/deskAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','channels','queueChannels','timers','zendeskAccounts','salesforceAccounts','freshdeskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','answered','sumHoldTime','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','queueStatusComplete','mergeFromDatabase','initAgents','agents'];(function(_0x601506,_0x1ed317){var _0x35dae3=function(_0x317f8e){while(--_0x317f8e){_0x601506['push'](_0x601506['shift']());}};_0x35dae3(++_0x1ed317);}(_0x4b84,0x1cc));var _0x44b8=function(_0x3826ad,_0x49a30d){_0x3826ad=_0x3826ad-0x0;var _0x17b900=_0x4b84[_0x3826ad];return _0x17b900;};'use strict';var BPromise=require(_0x44b8('0x0'));var util=require(_0x44b8('0x1'));var _=require('lodash');var moment=require('moment');var Agent=require(_0x44b8('0x2'));var Telephone=require('../model/telephone');var Trunk=require('../model/trunk');var VoiceQueue=require(_0x44b8('0x3'));var Trigger=require(_0x44b8('0x4'));var Template=require(_0x44b8('0x5'));var Campaign=require('../model/campaign');var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0x44b8('0x6'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0x44b8('0x7'));var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require(_0x44b8('0x8'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x44b8('0x9'));var FreshsalesAccount=require(_0x44b8('0xa'));var FaxAccount=require(_0x44b8('0xb'));var Realtime=function(){this['agents']={};this[_0x44b8('0xc')]={};this[_0x44b8('0xd')]={};this[_0x44b8('0xe')]={};this[_0x44b8('0xf')]={};this[_0x44b8('0x10')]={};this[_0x44b8('0x11')]={};this[_0x44b8('0x12')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0x44b8('0x13')]={};this[_0x44b8('0x14')]={};this['outboundChannels']={};this[_0x44b8('0x15')]={};this['settings']={};this[_0x44b8('0x16')]={};this[_0x44b8('0x17')]={};this['sugarcrmAccounts']={};this[_0x44b8('0x18')]={};this['zohoAccounts']={};this['deskAccounts']={};this[_0x44b8('0x19')]={};this[_0x44b8('0x1a')]={};this[_0x44b8('0x1b')]={};this[_0x44b8('0x1c')]={};this['faxAccounts']={};};function freeIsNotKey(_0x495c74,_0x5d6349,_0x3fe9fb){var _0x5b7803=_[_0x44b8('0x1d')](_0x495c74,function(_0x31651b,_0x55e258){return _0x31651b[_0x3fe9fb];});for(var _0x36743e in _0x5d6349){if(_0x5d6349[_0x44b8('0x1e')](_0x36743e)){if(!_0x5b7803[_0x36743e]){delete _0x5d6349[_0x36743e];}}}}function freeIsNotKeySip(_0x5103f5,_0x89bc30){var _0x3f4688=_['mapKeys'](_0x5103f5,function(_0xcce202,_0x8b4301){return util[_0x44b8('0x1f')](_0x44b8('0x20'),_0xcce202[_0x44b8('0x21')]);});for(var _0x369c09 in _0x89bc30){if(_0x89bc30[_0x44b8('0x1e')](_0x369c09)){if(!_0x3f4688[_0x369c09]){delete _0x89bc30[_0x369c09];}}}}function freeIsNotKeyAgent(_0x9b0536,_0x429461){var _0x1e0f2d=_[_0x44b8('0x1d')](_0x9b0536,function(_0x14996c,_0x48327e){var _0x56549a=_[_0x44b8('0x22')](_0x14996c[_0x44b8('0x23')])?util[_0x44b8('0x1f')](_0x44b8('0x20'),_0x14996c['name']):_0x14996c[_0x44b8('0x23')];return _0x56549a;});for(var _0x54677c in _0x429461){if(_0x429461[_0x44b8('0x1e')](_0x54677c)){if(!_0x1e0f2d[_0x54677c]){delete _0x429461[_0x54677c];}}}}function clearVoiceCallReports(_0x228c81){_0x228c81[_0x44b8('0x24')]=0x0;_0x228c81[_0x44b8('0x25')]=0x0;_0x228c81[_0x44b8('0x26')]=0x0;_0x228c81['sumDuration']=0x0;_0x228c81[_0x44b8('0x27')]=0x0;}function clearCampaigns(_0x502acf){if(!_[_0x44b8('0x28')](_0x502acf)){for(var _0x350482 in _0x502acf){if(_0x502acf['hasOwnProperty'](_0x350482)){_0x502acf[_0x350482][_0x44b8('0x29')]=0x0;_0x502acf[_0x350482][_0x44b8('0x2a')]=0x0;}}}}function clearVoiceQueues(_0x2656d7){if(!_['isEmpty'](_0x2656d7)){for(var _0xb22107 in _0x2656d7){if(_0x2656d7[_0x44b8('0x1e')](_0xb22107)){_0x2656d7[_0xb22107]['total']=0x0;_0x2656d7[_0xb22107][_0x44b8('0x25')]=0x0;_0x2656d7[_0xb22107]['unmanaged']=0x0;_0x2656d7[_0xb22107][_0x44b8('0x2b')]=0x0;_0x2656d7[_0xb22107]['sumHoldTime']=0x0;_0x2656d7[_0xb22107]['sumDuration']=0x0;_0x2656d7[_0xb22107]['sumBillable']=0x0;_0x2656d7[_0xb22107][_0x44b8('0x2c')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x2d')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x2e')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x2f')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x30')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x31')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x32')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x33')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x34')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x35')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x36')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x37')]=0x0;_0x2656d7[_0xb22107][_0x44b8('0x2c')]=0x0;_0x2656d7[_0xb22107]['outboundAnswerCallsDay']=0x0;_0x2656d7[_0xb22107][_0x44b8('0x38')]=!![];}}}}Realtime['prototype'][_0x44b8('0x39')]=function(_0x1652cb,_0x255624){for(var _0xb64609 in _0x255624){if(_0x1652cb[_0x44b8('0x1e')](_0xb64609)){_0x1652cb[_0xb64609]=_0x255624[_0xb64609];}}};Realtime['prototype'][_0x44b8('0x3a')]=function(){var _0x2d0eda=this;return function(_0x26265f){if(_0x26265f){freeIsNotKeyAgent(_0x26265f,_0x2d0eda[_0x44b8('0x3b')]);for(var _0x46b008=0x0,_0x5f541d={},_0x3875a5={};_0x46b008<_0x26265f[_0x44b8('0x3c')];_0x46b008+=0x1){_0x5f541d=_0x26265f[_0x46b008];var _0x1a30fc=_[_0x44b8('0x22')](_0x5f541d[_0x44b8('0x23')])?util[_0x44b8('0x1f')](_0x44b8('0x20'),_0x5f541d[_0x44b8('0x21')]):_0x5f541d[_0x44b8('0x23')];if(_[_0x44b8('0x3d')](_0x2d0eda[_0x44b8('0x3b')][_0x1a30fc])){_0x2d0eda[_0x44b8('0x3b')][_0x1a30fc]=new Agent(_0x5f541d);}else{_0x2d0eda[_0x44b8('0x39')](_0x2d0eda[_0x44b8('0x3b')][_0x1a30fc],_0x5f541d);}}}return _0x2d0eda[_0x44b8('0x3b')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x3f')]=function(){var _0xeff999=this;return function(_0x28faa9){if(_0x28faa9){freeIsNotKeySip(_0x28faa9,_0xeff999[_0x44b8('0xc')]);for(var _0x2c02d6=0x0,_0x282345={},_0x59848c={};_0x2c02d6<_0x28faa9[_0x44b8('0x3c')];_0x2c02d6+=0x1){_0x282345=_0x28faa9[_0x2c02d6];if(_[_0x44b8('0x3d')](_0xeff999['telephones'][util[_0x44b8('0x1f')](_0x44b8('0x20'),_0x282345[_0x44b8('0x21')])])){_0xeff999[_0x44b8('0xc')][util['format'](_0x44b8('0x20'),_0x282345[_0x44b8('0x21')])]=new Telephone(_0x282345);}else{_0xeff999[_0x44b8('0x39')](_0xeff999[_0x44b8('0xc')][util[_0x44b8('0x1f')](_0x44b8('0x20'),_0x282345[_0x44b8('0x21')])],_0x282345);}}}return _0xeff999[_0x44b8('0xc')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x40')]=function(){var _0x1c9983=this;return function(_0x395366){if(_0x395366){freeIsNotKeySip(_0x395366,_0x1c9983[_0x44b8('0xd')]);for(var _0x31f22f=0x0,_0x2f8b59={},_0x29b43f={};_0x31f22f<_0x395366['length'];_0x31f22f+=0x1){_0x2f8b59=_0x395366[_0x31f22f];if(_[_0x44b8('0x3d')](_0x1c9983[_0x44b8('0xd')][util[_0x44b8('0x1f')]('SIP/%s',_0x2f8b59[_0x44b8('0x21')])])){_0x1c9983[_0x44b8('0xd')][util[_0x44b8('0x1f')]('SIP/%s',_0x2f8b59[_0x44b8('0x21')])]=new Trunk(_0x2f8b59);}else{_0x1c9983[_0x44b8('0x39')](_0x1c9983[_0x44b8('0xd')][util[_0x44b8('0x1f')](_0x44b8('0x20'),_0x2f8b59['name'])],_0x2f8b59);}}}return _0x1c9983['trunks'];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x41')]=function(){var _0x430257=this;return function(_0x1f2cce){if(_0x1f2cce){freeIsNotKey(_0x1f2cce,_0x430257[_0x44b8('0xe')],_0x44b8('0x21'));for(var _0x3fc41b=0x0,_0x457348={},_0x455fd6={};_0x3fc41b<_0x1f2cce[_0x44b8('0x3c')];_0x3fc41b+=0x1){_0x457348=_0x1f2cce[_0x3fc41b];if(_[_0x44b8('0x3d')](_0x430257[_0x44b8('0xe')][_0x457348[_0x44b8('0x21')]])){_0x430257[_0x44b8('0xe')][_0x457348[_0x44b8('0x21')]]=new VoiceQueue(_0x457348);}else{_0x430257[_0x44b8('0x39')](_0x430257[_0x44b8('0xe')][_0x457348[_0x44b8('0x21')]],_0x457348);}}}return _0x430257[_0x44b8('0xe')];};};Realtime['prototype']['initTriggers']=function(){var _0x3b1b12=this;return function(_0x1df74b){if(_0x1df74b){freeIsNotKey(_0x1df74b,_0x3b1b12[_0x44b8('0xf')],'id');for(var _0x269284=0x0,_0x2d0c3b={},_0x1bbf1e={};_0x269284<_0x1df74b[_0x44b8('0x3c')];_0x269284+=0x1){_0x2d0c3b=_0x1df74b[_0x269284];if(_['isUndefined'](_0x3b1b12[_0x44b8('0xf')][_0x2d0c3b['id']])){_0x3b1b12['triggers'][_0x2d0c3b['id']]=new Trigger(_0x2d0c3b);}else{_0x3b1b12[_0x44b8('0x39')](_0x3b1b12[_0x44b8('0xf')][_0x2d0c3b['id']],_0x2d0c3b);}}}return _0x3b1b12[_0x44b8('0xf')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x42')]=function(){var _0x35ca19=this;return function(_0x491600){if(_0x491600){freeIsNotKey(_0x491600,_0x35ca19[_0x44b8('0x11')],'id');for(var _0xff92fb=0x0,_0x10602c={},_0x25d266={};_0xff92fb<_0x491600['length'];_0xff92fb+=0x1){_0x10602c=_0x491600[_0xff92fb];if(_[_0x44b8('0x3d')](_0x35ca19[_0x44b8('0x11')][_0x10602c['id']])){_0x35ca19[_0x44b8('0x11')][_0x10602c['id']]=new Template(_0x10602c);}else{_0x35ca19[_0x44b8('0x39')](_0x35ca19[_0x44b8('0x11')][_0x10602c['id']],_0x10602c);}}}return _0x35ca19[_0x44b8('0x11')];};};Realtime['prototype'][_0x44b8('0x43')]=function(){var _0x450715=this;return function(_0x2c5c27){if(_0x2c5c27){freeIsNotKey(_0x2c5c27,_0x450715[_0x44b8('0x16')],'id');for(var _0x1f75e7=0x0,_0x57d0e2={},_0x493840={};_0x1f75e7<_0x2c5c27[_0x44b8('0x3c')];_0x1f75e7+=0x1){_0x57d0e2=_0x2c5c27[_0x1f75e7];if(_['isUndefined'](_0x450715[_0x44b8('0x16')][_0x57d0e2['id']])){_0x450715['zendeskAccounts'][_0x57d0e2['id']]=new ZendeskAccount(_0x57d0e2);}else{_0x450715[_0x44b8('0x39')](_0x450715[_0x44b8('0x16')][_0x57d0e2['id']],_0x57d0e2);}}}return _0x450715[_0x44b8('0x16')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x44')]=function(){var _0x32f588=this;return function(_0xdc67e8){if(_0xdc67e8){freeIsNotKey(_0xdc67e8,_0x32f588['salesforceAccounts'],'id');for(var _0x3ad278=0x0,_0x37b2c2={},_0x1e6a5e={};_0x3ad278<_0xdc67e8['length'];_0x3ad278+=0x1){_0x37b2c2=_0xdc67e8[_0x3ad278];if(_[_0x44b8('0x3d')](_0x32f588[_0x44b8('0x17')][_0x37b2c2['id']])){_0x32f588[_0x44b8('0x17')][_0x37b2c2['id']]=new SalesforceAccount(_0x37b2c2);}else{_0x32f588[_0x44b8('0x39')](_0x32f588['salesforceAccounts'][_0x37b2c2['id']],_0x37b2c2);}}}return _0x32f588[_0x44b8('0x17')];};};Realtime[_0x44b8('0x3e')]['initFreshdeskAccounts']=function(){var _0x3de425=this;return function(_0x19f22b){if(_0x19f22b){freeIsNotKey(_0x19f22b,_0x3de425[_0x44b8('0x18')],'id');for(var _0x3df6aa=0x0,_0xe86e34={},_0x546a50={};_0x3df6aa<_0x19f22b['length'];_0x3df6aa+=0x1){_0xe86e34=_0x19f22b[_0x3df6aa];if(_[_0x44b8('0x3d')](_0x3de425[_0x44b8('0x18')][_0xe86e34['id']])){_0x3de425[_0x44b8('0x18')][_0xe86e34['id']]=new FreshdeskAccount(_0xe86e34);}else{_0x3de425[_0x44b8('0x39')](_0x3de425[_0x44b8('0x18')][_0xe86e34['id']],_0xe86e34);}}}return _0x3de425[_0x44b8('0x18')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x45')]=function(){var _0x10bbd9=this;return function(_0xdff81b){if(_0xdff81b){freeIsNotKey(_0xdff81b,_0x10bbd9[_0x44b8('0x46')],'id');for(var _0x3f7576=0x0,_0x5af3e6={},_0x1367ae={};_0x3f7576<_0xdff81b[_0x44b8('0x3c')];_0x3f7576+=0x1){_0x5af3e6=_0xdff81b[_0x3f7576];if(_[_0x44b8('0x3d')](_0x10bbd9[_0x44b8('0x46')][_0x5af3e6['id']])){_0x10bbd9[_0x44b8('0x46')][_0x5af3e6['id']]=new ZohoAccount(_0x5af3e6);}else{_0x10bbd9[_0x44b8('0x39')](_0x10bbd9[_0x44b8('0x46')][_0x5af3e6['id']],_0x5af3e6);}}}return _0x10bbd9[_0x44b8('0x46')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x47')]=function(){var _0x2ecff9=this;return function(_0x15bcba){if(_0x15bcba){freeIsNotKey(_0x15bcba,_0x2ecff9[_0x44b8('0x48')],'id');for(var _0x17ff84=0x0,_0x2250bb={},_0x293c2e={};_0x17ff84<_0x15bcba[_0x44b8('0x3c')];_0x17ff84+=0x1){_0x2250bb=_0x15bcba[_0x17ff84];if(_[_0x44b8('0x3d')](_0x2ecff9['deskAccounts'][_0x2250bb['id']])){_0x2ecff9[_0x44b8('0x48')][_0x2250bb['id']]=new DeskAccount(_0x2250bb);}else{_0x2ecff9[_0x44b8('0x39')](_0x2ecff9[_0x44b8('0x48')][_0x2250bb['id']],_0x2250bb);}}}return _0x2ecff9[_0x44b8('0x48')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x49')]=function(){var _0x2ecf65=this;return function(_0x4c0869){if(_0x4c0869){freeIsNotKey(_0x4c0869,_0x2ecf65[_0x44b8('0x4a')],'id');for(var _0xc4d667=0x0,_0x5df821={},_0x2a95f6={};_0xc4d667<_0x4c0869[_0x44b8('0x3c')];_0xc4d667+=0x1){_0x5df821=_0x4c0869[_0xc4d667];if(_['isUndefined'](_0x2ecf65[_0x44b8('0x4a')][_0x5df821['id']])){_0x2ecf65[_0x44b8('0x4a')][_0x5df821['id']]=new SugarcrmAccount(_0x5df821);}else{_0x2ecf65[_0x44b8('0x39')](_0x2ecf65['sugarcrmAccounts'][_0x5df821['id']],_0x5df821);}}}return _0x2ecf65[_0x44b8('0x4a')];};};Realtime['prototype'][_0x44b8('0x4b')]=function(){var _0x5161ea=this;return function(_0x176536){if(_0x176536){freeIsNotKey(_0x176536,_0x5161ea[_0x44b8('0x19')],'id');for(var _0xf4d81f=0x0,_0xb64e26={},_0x3c6aad={};_0xf4d81f<_0x176536[_0x44b8('0x3c')];_0xf4d81f+=0x1){_0xb64e26=_0x176536[_0xf4d81f];if(_['isUndefined'](_0x5161ea[_0x44b8('0x19')][_0xb64e26['id']])){_0x5161ea['vtigerAccounts'][_0xb64e26['id']]=new VtigerAccount(_0xb64e26);}else{_0x5161ea[_0x44b8('0x39')](_0x5161ea[_0x44b8('0x19')][_0xb64e26['id']],_0xb64e26);}}}return _0x5161ea['vtigerAccounts'];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x4c')]=function(){var _0x1cf31f=this;return function(_0x30d60f){if(_0x30d60f){freeIsNotKey(_0x30d60f,_0x1cf31f[_0x44b8('0x1a')],'id');for(var _0x3774fe=0x0,_0x266447={},_0x3d4a88={};_0x3774fe<_0x30d60f[_0x44b8('0x3c')];_0x3774fe+=0x1){_0x266447=_0x30d60f[_0x3774fe];if(_[_0x44b8('0x3d')](_0x1cf31f[_0x44b8('0x1a')][_0x266447['id']])){_0x1cf31f[_0x44b8('0x1a')][_0x266447['id']]=new ServicenowAccount(_0x266447);}else{_0x1cf31f['mergeFromDatabase'](_0x1cf31f[_0x44b8('0x1a')][_0x266447['id']],_0x266447);}}}return _0x1cf31f[_0x44b8('0x1a')];};};Realtime[_0x44b8('0x3e')]['initDynamics365Accounts']=function(){var _0x1cd0eb=this;return function(_0x5cc122){if(_0x5cc122){freeIsNotKey(_0x5cc122,_0x1cd0eb['dynamics365Accounts'],'id');for(var _0x10f6cc=0x0,_0x1a8cff={},_0xb89680={};_0x10f6cc<_0x5cc122[_0x44b8('0x3c')];_0x10f6cc+=0x1){_0x1a8cff=_0x5cc122[_0x10f6cc];if(_[_0x44b8('0x3d')](_0x1cd0eb['dynamics365Accounts'][_0x1a8cff['id']])){_0x1cd0eb[_0x44b8('0x1b')][_0x1a8cff['id']]=new Dynamics365Account(_0x1a8cff);}else{_0x1cd0eb[_0x44b8('0x39')](_0x1cd0eb[_0x44b8('0x1b')][_0x1a8cff['id']],_0x1a8cff);}}}return _0x1cd0eb[_0x44b8('0x1b')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x4d')]=function(){var _0x3d7fb3=this;return function(_0x119420){if(_0x119420){freeIsNotKey(_0x119420,_0x3d7fb3['freshsalesAccounts'],'id');for(var _0x19348f=0x0,_0x174604={},_0x21f288={};_0x19348f<_0x119420[_0x44b8('0x3c')];_0x19348f+=0x1){_0x174604=_0x119420[_0x19348f];if(_['isUndefined'](_0x3d7fb3['freshsalesAccounts'][_0x174604['id']])){_0x3d7fb3['freshsalesAccounts'][_0x174604['id']]=new FreshsalesAccount(_0x174604);}else{_0x3d7fb3[_0x44b8('0x39')](_0x3d7fb3[_0x44b8('0x1c')][_0x174604['id']],_0x174604);}}}return _0x3d7fb3[_0x44b8('0x1c')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x4e')]=function(){var _0x5beb66=this;return function(_0x26745c){for(var _0x58180f=0x0;_0x58180f<_0x26745c[_0x44b8('0x3c')];_0x58180f+=0x1){_[_0x44b8('0x4f')](_0x5beb66[_0x44b8('0xe')][_0x26745c[_0x58180f]['name']],_0x26745c[_0x58180f]);}return _0x5beb66['voiceQueues'];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x50')]=function(){var _0x248e6c=this;return function(_0x536734){clearVoiceQueues(_0x248e6c[_0x44b8('0xe')]);if(_0x536734){_0x536734=_[_0x44b8('0x51')](_0x536734,_0x44b8('0x52'));for(var _0x15b209 in _0x536734){if(_0x536734[_0x44b8('0x1e')](_0x15b209)){var _0x51fd30={};for(var _0xdaebf7=0x0;_0xdaebf7<_0x536734[_0x15b209][_0x44b8('0x3c')];_0xdaebf7+=0x1){var _0xbbdab9=_0x536734[_0x15b209][_0xdaebf7][_0x44b8('0x53')];if(_0x248e6c[_0x44b8('0xe')][_0xbbdab9]){if(_0x536734[_0x15b209][_0xdaebf7]['queuecallerexit']){_0x248e6c[_0x44b8('0xe')][_0xbbdab9][_0x44b8('0x54')]+=0x1;}if(_0x536734[_0x15b209][_0xdaebf7][_0x44b8('0x55')]){_0x248e6c[_0x44b8('0xe')][_0xbbdab9][_0x44b8('0x2b')]+=0x1;}_0x248e6c[_0x44b8('0xe')][_0xbbdab9][_0x44b8('0x26')]+=moment(_0x536734[_0x15b209][_0xdaebf7]['queuecallerleaveAt'])[_0x44b8('0x56')](moment(_0x536734[_0x15b209][_0xdaebf7][_0x44b8('0x57')]),'seconds')||0x0;if(_0xdaebf7===_0x536734[_0x15b209][_0x44b8('0x3c')]-0x1){_0x248e6c[_0x44b8('0xe')][_0xbbdab9]['sumDuration']+=moment(_0x536734[_0x15b209][_0xdaebf7][_0x44b8('0x58')]||_0x536734[_0x15b209][_0xdaebf7]['queuecallerabandonAt']||_0x536734[_0x15b209][_0xdaebf7]['queuecallerexitAt'])[_0x44b8('0x56')](moment(_0x536734[_0x15b209][_0xdaebf7][_0x44b8('0x57')]),_0x44b8('0x59'))||0x0;_0x248e6c['voiceQueues'][_0xbbdab9]['total']+=0x1;if(_0x536734[_0x15b209][_0xdaebf7]['queuecallercomplete']){_0x248e6c[_0x44b8('0xe')][_0xbbdab9][_0x44b8('0x25')]+=0x1;_0x248e6c[_0x44b8('0xe')][_0xbbdab9][_0x44b8('0x27')]+=moment(_0x536734[_0x15b209][_0xdaebf7][_0x44b8('0x58')])[_0x44b8('0x56')](moment(_0x536734[_0x15b209][_0xdaebf7][_0x44b8('0x5a')]),_0x44b8('0x59'))||0x0;}}else{_0x248e6c['voiceQueues'][_0xbbdab9][_0x44b8('0x5b')]+=_0x248e6c['voiceQueues'][_0xbbdab9]['sumHoldTime']||0x0;}}}}}}return _0x248e6c['voiceQueues'];};};Realtime[_0x44b8('0x3e')]['initVoiceCallReports']=function(){var _0x2166df=this;return function(_0x1e37fd){clearVoiceCallReports(_0x2166df[_0x44b8('0x12')]);if(_0x1e37fd){for(var _0x306793=0x0;_0x306793<_0x1e37fd[_0x44b8('0x3c')];_0x306793+=0x1){_0x2166df[_0x44b8('0x12')][_0x44b8('0x24')]+=0x1;_0x2166df[_0x44b8('0x12')]['sumDuration']+=_0x1e37fd[_0x306793][_0x44b8('0x5c')];if(_0x1e37fd[_0x306793][_0x44b8('0x5d')]===_0x44b8('0x5e')){_0x2166df[_0x44b8('0x12')][_0x44b8('0x25')]+=0x1;_0x2166df[_0x44b8('0x12')][_0x44b8('0x26')]+=_0x1e37fd[_0x306793][_0x44b8('0x5c')]-_0x1e37fd[_0x306793][_0x44b8('0x5f')]||0x0;_0x2166df['outbound']['sumBillable']+=_0x1e37fd[_0x306793][_0x44b8('0x5f')];}}}return _0x2166df['outbound'];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x60')]=function(){var _0x1d4bb8=this;return function(_0x54414e){if(_0x54414e){freeIsNotKey(_0x54414e,_0x1d4bb8['campaigns'],'name');for(var _0x2e0289=0x0,_0x4860af={};_0x2e0289<_0x54414e[_0x44b8('0x3c')];_0x2e0289+=0x1){_0x4860af=_0x54414e[_0x2e0289];if(_[_0x44b8('0x3d')](_0x1d4bb8[_0x44b8('0x10')][_0x4860af[_0x44b8('0x21')]])){_0x1d4bb8[_0x44b8('0x10')][_0x4860af[_0x44b8('0x21')]]=new Campaign(_0x4860af);}else{_0x1d4bb8[_0x44b8('0x39')](_0x1d4bb8[_0x44b8('0x10')][_0x4860af[_0x44b8('0x21')]],_0x4860af);_0x1d4bb8[_0x44b8('0x10')][_0x4860af[_0x44b8('0x21')]][_0x44b8('0x61')]=_0x4860af[_0x44b8('0x62')]?_0x4860af[_0x44b8('0x62')]['name']:undefined;}}}return _0x1d4bb8[_0x44b8('0x10')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x63')]=function(){var _0x379b35=this;return function(_0x45a6c3){if(_0x45a6c3){freeIsNotKey(_0x45a6c3,_0x379b35[_0x44b8('0x64')],'id');for(var _0x2f2ebf=0x0,_0x3035ac={};_0x2f2ebf<_0x45a6c3[_0x44b8('0x3c')];_0x2f2ebf+=0x1){_0x3035ac=_0x45a6c3[_0x2f2ebf];if(_[_0x44b8('0x3d')](_0x379b35[_0x44b8('0x64')][_0x3035ac['id']])){_0x379b35[_0x44b8('0x64')][_0x3035ac['id']]=new VoiceExtension(_0x3035ac);}else{_0x379b35[_0x44b8('0x39')](_0x379b35['voiceExtensions'][_0x3035ac['id']],_0x3035ac);}}}return _0x379b35[_0x44b8('0x64')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x65')]=function(){var _0x48b710=this;return function(_0x48d33e){clearCampaigns(_0x48b710[_0x44b8('0x10')]);for(var _0x116f98=0x0;_0x116f98<_0x48d33e[_0x44b8('0x3c')];_0x116f98+=0x1){_['merge'](_0x48b710[_0x44b8('0x10')][_0x48d33e[_0x116f98][_0x44b8('0x21')]],_0x48d33e[_0x116f98]);}return _0x48b710[_0x44b8('0x10')];};};Realtime[_0x44b8('0x3e')][_0x44b8('0x66')]=function(){var _0x4695b3=this;return function(_0x327f5a){if(_0x327f5a){freeIsNotKey(_0x327f5a,_0x4695b3[_0x44b8('0x67')],'id');for(var _0x4f7216=0x0,_0x204ef8={},_0x4548b8={};_0x4f7216<_0x327f5a[_0x44b8('0x3c')];_0x4f7216+=0x1){_0x204ef8=_0x327f5a[_0x4f7216];if(_[_0x44b8('0x3d')](_0x4695b3[_0x44b8('0x67')][_0x204ef8['id']])){_0x4695b3[_0x44b8('0x67')][_0x204ef8['id']]=new FaxAccount(_0x204ef8);}else{_0x4695b3[_0x44b8('0x39')](_0x4695b3['faxAccounts'][_0x204ef8['id']],_0x204ef8);}}}return _0x4695b3['faxAccounts'];};};module['exports']=Realtime;