Built motion from commit (unavailable).|2.4.21
[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 _0x1df6=['sumBillable','ivrTotalCallsDays','ivrAnswerCallsDay','isEmpty','total','abandoned','sumHoldTime','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','prototype','length','mergeFromDatabase','isUndefined','initTrunks','initVoiceQueues','voiceQueues','initTriggers','initTemplates','templates','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initDynamics365Accounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','uniqueid','queue','queuecallerexit','unmanaged','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallercomplete','initVoiceCallReports','disposition','ANSWERED','duration','billableseconds','initCampaigns','initFaxAccounts','exports','bluebird','lodash','../model/agent','../model/telephone','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/zohoAccount','../model/deskAccount','../model/servicenowAccount','agents','telephones','trunks','triggers','campaigns','outbound','voiceExtensions','channels','queueChannels','timers','salesforceAccounts','sugarcrmAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','hasOwnProperty','mapKeys','name','isNil','interface','format','SIP/%s','answered','sumDuration'];(function(_0x16e389,_0x34ad37){var _0x2db233=function(_0x551cb3){while(--_0x551cb3){_0x16e389['push'](_0x16e389['shift']());}};_0x2db233(++_0x34ad37);}(_0x1df6,0x9e));var _0x61df=function(_0x4e676e,_0x2a7c6d){_0x4e676e=_0x4e676e-0x0;var _0x336a3c=_0x1df6[_0x4e676e];return _0x336a3c;};'use strict';var BPromise=require(_0x61df('0x0'));var util=require('util');var _=require(_0x61df('0x1'));var moment=require('moment');var Agent=require(_0x61df('0x2'));var Telephone=require(_0x61df('0x3'));var Trunk=require('../model/trunk');var VoiceQueue=require(_0x61df('0x4'));var Trigger=require(_0x61df('0x5'));var Template=require('../model/template');var Campaign=require(_0x61df('0x6'));var VoiceExtension=require(_0x61df('0x7'));var ZendeskAccount=require(_0x61df('0x8'));var SalesforceAccount=require(_0x61df('0x9'));var FreshdeskAccount=require(_0x61df('0xa'));var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0x61df('0xb'));var DeskAccount=require(_0x61df('0xc'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x61df('0xd'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0x61df('0xe')]={};this[_0x61df('0xf')]={};this[_0x61df('0x10')]={};this['voiceQueues']={};this[_0x61df('0x11')]={};this[_0x61df('0x12')]={};this['templates']={};this[_0x61df('0x13')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x61df('0x14')]={};this[_0x61df('0x15')]={};this[_0x61df('0x16')]={};this['outboundChannels']={};this[_0x61df('0x17')]={};this['zendeskAccounts']={};this[_0x61df('0x18')]={};this[_0x61df('0x19')]={};this['freshdeskAccounts']={};this[_0x61df('0x1a')]={};this[_0x61df('0x1b')]={};this[_0x61df('0x1c')]={};this[_0x61df('0x1d')]={};this[_0x61df('0x1e')]={};this[_0x61df('0x1f')]={};this[_0x61df('0x20')]={};};function freeIsNotKey(_0x1fb2b6,_0x2c6ff2,_0x3e4da9){var _0x4034a5=_['mapKeys'](_0x1fb2b6,function(_0x59e919,_0x4361c6){return _0x59e919[_0x3e4da9];});for(var _0x28f1b1 in _0x2c6ff2){if(_0x2c6ff2[_0x61df('0x21')](_0x28f1b1)){if(!_0x4034a5[_0x28f1b1]){delete _0x2c6ff2[_0x28f1b1];}}}}function freeIsNotKeySip(_0x444b55,_0x53bf98){var _0x1656c8=_[_0x61df('0x22')](_0x444b55,function(_0x44eaef,_0x52b9e2){return util['format']('SIP/%s',_0x44eaef[_0x61df('0x23')]);});for(var _0x1b9569 in _0x53bf98){if(_0x53bf98[_0x61df('0x21')](_0x1b9569)){if(!_0x1656c8[_0x1b9569]){delete _0x53bf98[_0x1b9569];}}}}function freeIsNotKeyAgent(_0x45643c,_0x3725fd){var _0x1da03e=_[_0x61df('0x22')](_0x45643c,function(_0x3b74c7,_0x5564e7){var _0x20e991=_[_0x61df('0x24')](_0x3b74c7[_0x61df('0x25')])?util[_0x61df('0x26')](_0x61df('0x27'),_0x3b74c7[_0x61df('0x23')]):_0x3b74c7[_0x61df('0x25')];return _0x20e991;});for(var _0x1035b2 in _0x3725fd){if(_0x3725fd[_0x61df('0x21')](_0x1035b2)){if(!_0x1da03e[_0x1035b2]){delete _0x3725fd[_0x1035b2];}}}}function clearVoiceCallReports(_0x3a10f3){_0x3a10f3['total']=0x0;_0x3a10f3[_0x61df('0x28')]=0x0;_0x3a10f3['sumHoldTime']=0x0;_0x3a10f3[_0x61df('0x29')]=0x0;_0x3a10f3[_0x61df('0x2a')]=0x0;}function clearCampaigns(_0x2d3af0){if(!_['isEmpty'](_0x2d3af0)){for(var _0x1b4e9b in _0x2d3af0){if(_0x2d3af0[_0x61df('0x21')](_0x1b4e9b)){_0x2d3af0[_0x1b4e9b][_0x61df('0x2b')]=0x0;_0x2d3af0[_0x1b4e9b][_0x61df('0x2c')]=0x0;}}}}function clearVoiceQueues(_0x39448c){if(!_[_0x61df('0x2d')](_0x39448c)){for(var _0x334db6 in _0x39448c){if(_0x39448c['hasOwnProperty'](_0x334db6)){_0x39448c[_0x334db6][_0x61df('0x2e')]=0x0;_0x39448c[_0x334db6][_0x61df('0x28')]=0x0;_0x39448c[_0x334db6]['unmanaged']=0x0;_0x39448c[_0x334db6][_0x61df('0x2f')]=0x0;_0x39448c[_0x334db6][_0x61df('0x30')]=0x0;_0x39448c[_0x334db6][_0x61df('0x29')]=0x0;_0x39448c[_0x334db6][_0x61df('0x2a')]=0x0;_0x39448c[_0x334db6][_0x61df('0x31')]=0x0;_0x39448c[_0x334db6][_0x61df('0x32')]=0x0;_0x39448c[_0x334db6]['outboundBusyCallsDay']=0x0;_0x39448c[_0x334db6]['outboundCongestionCallsDay']=0x0;_0x39448c[_0x334db6][_0x61df('0x33')]=0x0;_0x39448c[_0x334db6][_0x61df('0x34')]=0x0;_0x39448c[_0x334db6][_0x61df('0x35')]=0x0;_0x39448c[_0x334db6]['outboundDropCallsDayCallersExit']=0x0;_0x39448c[_0x334db6]['outboundBlacklistCallsDay']=0x0;_0x39448c[_0x334db6][_0x61df('0x36')]=0x0;_0x39448c[_0x334db6][_0x61df('0x37')]=0x0;_0x39448c[_0x334db6][_0x61df('0x38')]=0x0;_0x39448c[_0x334db6][_0x61df('0x31')]=0x0;_0x39448c[_0x334db6][_0x61df('0x39')]=0x0;_0x39448c[_0x334db6]['queueStatusComplete']=!![];}}}}Realtime['prototype']['mergeFromDatabase']=function(_0x417a7c,_0x2afc58){for(var _0x33cb1f in _0x2afc58){if(_0x417a7c[_0x61df('0x21')](_0x33cb1f)){_0x417a7c[_0x33cb1f]=_0x2afc58[_0x33cb1f];}}};Realtime[_0x61df('0x3a')]['initAgents']=function(){var _0x2ba3aa=this;return function(_0x593314){if(_0x593314){freeIsNotKeyAgent(_0x593314,_0x2ba3aa['agents']);for(var _0x3c673b=0x0,_0x102eb8={},_0x2537a6={};_0x3c673b<_0x593314[_0x61df('0x3b')];_0x3c673b+=0x1){_0x102eb8=_0x593314[_0x3c673b];var _0x3448d7=_[_0x61df('0x24')](_0x102eb8[_0x61df('0x25')])?util['format'](_0x61df('0x27'),_0x102eb8[_0x61df('0x23')]):_0x102eb8[_0x61df('0x25')];if(_['isUndefined'](_0x2ba3aa[_0x61df('0xe')][_0x3448d7])){_0x2ba3aa['agents'][_0x3448d7]=new Agent(_0x102eb8);}else{_0x2ba3aa[_0x61df('0x3c')](_0x2ba3aa[_0x61df('0xe')][_0x3448d7],_0x102eb8);}}}return _0x2ba3aa['agents'];};};Realtime[_0x61df('0x3a')]['initTelephones']=function(){var _0x59dd=this;return function(_0x5bac5a){if(_0x5bac5a){freeIsNotKeySip(_0x5bac5a,_0x59dd[_0x61df('0xf')]);for(var _0x4c52b5=0x0,_0x2b6be6={},_0x458155={};_0x4c52b5<_0x5bac5a[_0x61df('0x3b')];_0x4c52b5+=0x1){_0x2b6be6=_0x5bac5a[_0x4c52b5];if(_[_0x61df('0x3d')](_0x59dd[_0x61df('0xf')][util[_0x61df('0x26')](_0x61df('0x27'),_0x2b6be6[_0x61df('0x23')])])){_0x59dd['telephones'][util[_0x61df('0x26')](_0x61df('0x27'),_0x2b6be6['name'])]=new Telephone(_0x2b6be6);}else{_0x59dd[_0x61df('0x3c')](_0x59dd[_0x61df('0xf')][util['format'](_0x61df('0x27'),_0x2b6be6['name'])],_0x2b6be6);}}}return _0x59dd[_0x61df('0xf')];};};Realtime[_0x61df('0x3a')][_0x61df('0x3e')]=function(){var _0x3fc557=this;return function(_0x4095e0){if(_0x4095e0){freeIsNotKeySip(_0x4095e0,_0x3fc557[_0x61df('0x10')]);for(var _0x35f325=0x0,_0x4ada25={},_0x5a16fe={};_0x35f325<_0x4095e0['length'];_0x35f325+=0x1){_0x4ada25=_0x4095e0[_0x35f325];if(_[_0x61df('0x3d')](_0x3fc557[_0x61df('0x10')][util[_0x61df('0x26')](_0x61df('0x27'),_0x4ada25[_0x61df('0x23')])])){_0x3fc557[_0x61df('0x10')][util[_0x61df('0x26')](_0x61df('0x27'),_0x4ada25['name'])]=new Trunk(_0x4ada25);}else{_0x3fc557[_0x61df('0x3c')](_0x3fc557[_0x61df('0x10')][util[_0x61df('0x26')]('SIP/%s',_0x4ada25[_0x61df('0x23')])],_0x4ada25);}}}return _0x3fc557[_0x61df('0x10')];};};Realtime[_0x61df('0x3a')][_0x61df('0x3f')]=function(){var _0x296b63=this;return function(_0x5632ba){if(_0x5632ba){freeIsNotKey(_0x5632ba,_0x296b63[_0x61df('0x40')],_0x61df('0x23'));for(var _0x5cb94d=0x0,_0x1afb69={},_0x1c6c12={};_0x5cb94d<_0x5632ba[_0x61df('0x3b')];_0x5cb94d+=0x1){_0x1afb69=_0x5632ba[_0x5cb94d];if(_[_0x61df('0x3d')](_0x296b63[_0x61df('0x40')][_0x1afb69['name']])){_0x296b63[_0x61df('0x40')][_0x1afb69[_0x61df('0x23')]]=new VoiceQueue(_0x1afb69);}else{_0x296b63[_0x61df('0x3c')](_0x296b63[_0x61df('0x40')][_0x1afb69[_0x61df('0x23')]],_0x1afb69);}}}return _0x296b63[_0x61df('0x40')];};};Realtime['prototype'][_0x61df('0x41')]=function(){var _0x16f68a=this;return function(_0x3fdf13){if(_0x3fdf13){freeIsNotKey(_0x3fdf13,_0x16f68a[_0x61df('0x11')],'id');for(var _0x117f9b=0x0,_0x5058d4={},_0x3395f5={};_0x117f9b<_0x3fdf13[_0x61df('0x3b')];_0x117f9b+=0x1){_0x5058d4=_0x3fdf13[_0x117f9b];if(_[_0x61df('0x3d')](_0x16f68a[_0x61df('0x11')][_0x5058d4['id']])){_0x16f68a[_0x61df('0x11')][_0x5058d4['id']]=new Trigger(_0x5058d4);}else{_0x16f68a['mergeFromDatabase'](_0x16f68a['triggers'][_0x5058d4['id']],_0x5058d4);}}}return _0x16f68a['triggers'];};};Realtime['prototype'][_0x61df('0x42')]=function(){var _0x5953ee=this;return function(_0x2c2a8a){if(_0x2c2a8a){freeIsNotKey(_0x2c2a8a,_0x5953ee[_0x61df('0x43')],'id');for(var _0x8172bb=0x0,_0x185784={},_0x42b03f={};_0x8172bb<_0x2c2a8a['length'];_0x8172bb+=0x1){_0x185784=_0x2c2a8a[_0x8172bb];if(_[_0x61df('0x3d')](_0x5953ee[_0x61df('0x43')][_0x185784['id']])){_0x5953ee[_0x61df('0x43')][_0x185784['id']]=new Template(_0x185784);}else{_0x5953ee[_0x61df('0x3c')](_0x5953ee['templates'][_0x185784['id']],_0x185784);}}}return _0x5953ee[_0x61df('0x43')];};};Realtime[_0x61df('0x3a')][_0x61df('0x44')]=function(){var _0x12bd89=this;return function(_0x5010c8){if(_0x5010c8){freeIsNotKey(_0x5010c8,_0x12bd89[_0x61df('0x45')],'id');for(var _0x401b32=0x0,_0x277108={},_0x102390={};_0x401b32<_0x5010c8[_0x61df('0x3b')];_0x401b32+=0x1){_0x277108=_0x5010c8[_0x401b32];if(_[_0x61df('0x3d')](_0x12bd89[_0x61df('0x45')][_0x277108['id']])){_0x12bd89[_0x61df('0x45')][_0x277108['id']]=new ZendeskAccount(_0x277108);}else{_0x12bd89['mergeFromDatabase'](_0x12bd89['zendeskAccounts'][_0x277108['id']],_0x277108);}}}return _0x12bd89[_0x61df('0x45')];};};Realtime[_0x61df('0x3a')][_0x61df('0x46')]=function(){var _0x3180b8=this;return function(_0x583b72){if(_0x583b72){freeIsNotKey(_0x583b72,_0x3180b8[_0x61df('0x18')],'id');for(var _0x57c6cf=0x0,_0x1a6656={},_0x25b213={};_0x57c6cf<_0x583b72['length'];_0x57c6cf+=0x1){_0x1a6656=_0x583b72[_0x57c6cf];if(_['isUndefined'](_0x3180b8[_0x61df('0x18')][_0x1a6656['id']])){_0x3180b8[_0x61df('0x18')][_0x1a6656['id']]=new SalesforceAccount(_0x1a6656);}else{_0x3180b8[_0x61df('0x3c')](_0x3180b8[_0x61df('0x18')][_0x1a6656['id']],_0x1a6656);}}}return _0x3180b8['salesforceAccounts'];};};Realtime['prototype'][_0x61df('0x47')]=function(){var _0x3ad05d=this;return function(_0x22a1f6){if(_0x22a1f6){freeIsNotKey(_0x22a1f6,_0x3ad05d[_0x61df('0x48')],'id');for(var _0x3b2a34=0x0,_0x4c8f39={},_0x14ba0d={};_0x3b2a34<_0x22a1f6[_0x61df('0x3b')];_0x3b2a34+=0x1){_0x4c8f39=_0x22a1f6[_0x3b2a34];if(_['isUndefined'](_0x3ad05d[_0x61df('0x48')][_0x4c8f39['id']])){_0x3ad05d[_0x61df('0x48')][_0x4c8f39['id']]=new FreshdeskAccount(_0x4c8f39);}else{_0x3ad05d['mergeFromDatabase'](_0x3ad05d[_0x61df('0x48')][_0x4c8f39['id']],_0x4c8f39);}}}return _0x3ad05d[_0x61df('0x48')];};};Realtime[_0x61df('0x3a')][_0x61df('0x49')]=function(){var _0x271ad2=this;return function(_0x78cc49){if(_0x78cc49){freeIsNotKey(_0x78cc49,_0x271ad2[_0x61df('0x1a')],'id');for(var _0xc9cf7d=0x0,_0x5a5ba8={},_0x2842fe={};_0xc9cf7d<_0x78cc49[_0x61df('0x3b')];_0xc9cf7d+=0x1){_0x5a5ba8=_0x78cc49[_0xc9cf7d];if(_[_0x61df('0x3d')](_0x271ad2['zohoAccounts'][_0x5a5ba8['id']])){_0x271ad2[_0x61df('0x1a')][_0x5a5ba8['id']]=new ZohoAccount(_0x5a5ba8);}else{_0x271ad2['mergeFromDatabase'](_0x271ad2['zohoAccounts'][_0x5a5ba8['id']],_0x5a5ba8);}}}return _0x271ad2[_0x61df('0x1a')];};};Realtime[_0x61df('0x3a')][_0x61df('0x4a')]=function(){var _0xf7ce12=this;return function(_0x5185cd){if(_0x5185cd){freeIsNotKey(_0x5185cd,_0xf7ce12[_0x61df('0x1b')],'id');for(var _0x5608b2=0x0,_0x30a1ff={},_0x5a25a3={};_0x5608b2<_0x5185cd[_0x61df('0x3b')];_0x5608b2+=0x1){_0x30a1ff=_0x5185cd[_0x5608b2];if(_['isUndefined'](_0xf7ce12[_0x61df('0x1b')][_0x30a1ff['id']])){_0xf7ce12[_0x61df('0x1b')][_0x30a1ff['id']]=new DeskAccount(_0x30a1ff);}else{_0xf7ce12[_0x61df('0x3c')](_0xf7ce12[_0x61df('0x1b')][_0x30a1ff['id']],_0x30a1ff);}}}return _0xf7ce12[_0x61df('0x1b')];};};Realtime['prototype'][_0x61df('0x4b')]=function(){var _0x12daad=this;return function(_0x2653d4){if(_0x2653d4){freeIsNotKey(_0x2653d4,_0x12daad['sugarcrmAccounts'],'id');for(var _0x357a31=0x0,_0x42ea52={},_0x594689={};_0x357a31<_0x2653d4[_0x61df('0x3b')];_0x357a31+=0x1){_0x42ea52=_0x2653d4[_0x357a31];if(_[_0x61df('0x3d')](_0x12daad[_0x61df('0x19')][_0x42ea52['id']])){_0x12daad[_0x61df('0x19')][_0x42ea52['id']]=new SugarcrmAccount(_0x42ea52);}else{_0x12daad['mergeFromDatabase'](_0x12daad[_0x61df('0x19')][_0x42ea52['id']],_0x42ea52);}}}return _0x12daad[_0x61df('0x19')];};};Realtime['prototype'][_0x61df('0x4c')]=function(){var _0x545964=this;return function(_0x484557){if(_0x484557){freeIsNotKey(_0x484557,_0x545964['vtigerAccounts'],'id');for(var _0x6a7fe0=0x0,_0x3ce985={},_0x3729a5={};_0x6a7fe0<_0x484557[_0x61df('0x3b')];_0x6a7fe0+=0x1){_0x3ce985=_0x484557[_0x6a7fe0];if(_['isUndefined'](_0x545964[_0x61df('0x1c')][_0x3ce985['id']])){_0x545964[_0x61df('0x1c')][_0x3ce985['id']]=new VtigerAccount(_0x3ce985);}else{_0x545964['mergeFromDatabase'](_0x545964[_0x61df('0x1c')][_0x3ce985['id']],_0x3ce985);}}}return _0x545964[_0x61df('0x1c')];};};Realtime[_0x61df('0x3a')]['initServicenowAccounts']=function(){var _0x2eb1dd=this;return function(_0x518d56){if(_0x518d56){freeIsNotKey(_0x518d56,_0x2eb1dd[_0x61df('0x1d')],'id');for(var _0x487833=0x0,_0x4f6349={},_0xd730ee={};_0x487833<_0x518d56['length'];_0x487833+=0x1){_0x4f6349=_0x518d56[_0x487833];if(_[_0x61df('0x3d')](_0x2eb1dd[_0x61df('0x1d')][_0x4f6349['id']])){_0x2eb1dd[_0x61df('0x1d')][_0x4f6349['id']]=new ServicenowAccount(_0x4f6349);}else{_0x2eb1dd['mergeFromDatabase'](_0x2eb1dd['servicenowAccounts'][_0x4f6349['id']],_0x4f6349);}}}return _0x2eb1dd[_0x61df('0x1d')];};};Realtime[_0x61df('0x3a')][_0x61df('0x4d')]=function(){var _0x3bff08=this;return function(_0x3d934d){if(_0x3d934d){freeIsNotKey(_0x3d934d,_0x3bff08[_0x61df('0x1e')],'id');for(var _0x506777=0x0,_0x25b046={},_0x59ecc1={};_0x506777<_0x3d934d[_0x61df('0x3b')];_0x506777+=0x1){_0x25b046=_0x3d934d[_0x506777];if(_[_0x61df('0x3d')](_0x3bff08[_0x61df('0x1e')][_0x25b046['id']])){_0x3bff08[_0x61df('0x1e')][_0x25b046['id']]=new Dynamics365Account(_0x25b046);}else{_0x3bff08[_0x61df('0x3c')](_0x3bff08[_0x61df('0x1e')][_0x25b046['id']],_0x25b046);}}}return _0x3bff08[_0x61df('0x1e')];};};Realtime[_0x61df('0x3a')]['initFreshsalesAccounts']=function(){var _0x1b3a76=this;return function(_0x29a446){if(_0x29a446){freeIsNotKey(_0x29a446,_0x1b3a76['freshsalesAccounts'],'id');for(var _0x304953=0x0,_0x533193={},_0x8a9653={};_0x304953<_0x29a446[_0x61df('0x3b')];_0x304953+=0x1){_0x533193=_0x29a446[_0x304953];if(_[_0x61df('0x3d')](_0x1b3a76['freshsalesAccounts'][_0x533193['id']])){_0x1b3a76[_0x61df('0x1f')][_0x533193['id']]=new FreshsalesAccount(_0x533193);}else{_0x1b3a76['mergeFromDatabase'](_0x1b3a76[_0x61df('0x1f')][_0x533193['id']],_0x533193);}}}return _0x1b3a76[_0x61df('0x1f')];};};Realtime[_0x61df('0x3a')][_0x61df('0x4e')]=function(){var _0x5c7111=this;return function(_0x4fb9ac){for(var _0x54e58c=0x0;_0x54e58c<_0x4fb9ac[_0x61df('0x3b')];_0x54e58c+=0x1){_[_0x61df('0x4f')](_0x5c7111[_0x61df('0x40')][_0x4fb9ac[_0x54e58c][_0x61df('0x23')]],_0x4fb9ac[_0x54e58c]);}return _0x5c7111[_0x61df('0x40')];};};Realtime[_0x61df('0x3a')][_0x61df('0x50')]=function(){var _0xcd80d4=this;return function(_0x574873){clearVoiceQueues(_0xcd80d4[_0x61df('0x40')]);if(_0x574873){_0x574873=_['groupBy'](_0x574873,_0x61df('0x51'));for(var _0x43433d in _0x574873){if(_0x574873[_0x61df('0x21')](_0x43433d)){var _0x43ca19={};for(var _0x23a954=0x0;_0x23a954<_0x574873[_0x43433d]['length'];_0x23a954+=0x1){var _0x5818bd=_0x574873[_0x43433d][_0x23a954][_0x61df('0x52')];if(_0xcd80d4[_0x61df('0x40')][_0x5818bd]){if(_0x574873[_0x43433d][_0x23a954][_0x61df('0x53')]){_0xcd80d4['voiceQueues'][_0x5818bd][_0x61df('0x54')]+=0x1;}if(_0x574873[_0x43433d][_0x23a954][_0x61df('0x55')]){_0xcd80d4['voiceQueues'][_0x5818bd][_0x61df('0x2f')]+=0x1;}_0xcd80d4['voiceQueues'][_0x5818bd]['sumHoldTime']+=moment(_0x574873[_0x43433d][_0x23a954][_0x61df('0x56')])[_0x61df('0x57')](moment(_0x574873[_0x43433d][_0x23a954][_0x61df('0x58')]),_0x61df('0x59'))||0x0;if(_0x23a954===_0x574873[_0x43433d][_0x61df('0x3b')]-0x1){_0xcd80d4[_0x61df('0x40')][_0x5818bd][_0x61df('0x29')]+=moment(_0x574873[_0x43433d][_0x23a954][_0x61df('0x5a')]||_0x574873[_0x43433d][_0x23a954]['queuecallerabandonAt']||_0x574873[_0x43433d][_0x23a954]['queuecallerexitAt'])[_0x61df('0x57')](moment(_0x574873[_0x43433d][_0x23a954]['queuecallerjoinAt']),_0x61df('0x59'))||0x0;_0xcd80d4['voiceQueues'][_0x5818bd][_0x61df('0x2e')]+=0x1;if(_0x574873[_0x43433d][_0x23a954][_0x61df('0x5b')]){_0xcd80d4[_0x61df('0x40')][_0x5818bd][_0x61df('0x28')]+=0x1;_0xcd80d4[_0x61df('0x40')][_0x5818bd][_0x61df('0x2a')]+=moment(_0x574873[_0x43433d][_0x23a954][_0x61df('0x5a')])[_0x61df('0x57')](moment(_0x574873[_0x43433d][_0x23a954][_0x61df('0x56')]),_0x61df('0x59'))||0x0;}}else{_0xcd80d4[_0x61df('0x40')][_0x5818bd][_0x61df('0x29')]+=_0xcd80d4[_0x61df('0x40')][_0x5818bd][_0x61df('0x30')]||0x0;}}}}}}return _0xcd80d4['voiceQueues'];};};Realtime['prototype'][_0x61df('0x5c')]=function(){var _0x1042d4=this;return function(_0x4fe7f3){clearVoiceCallReports(_0x1042d4[_0x61df('0x13')]);if(_0x4fe7f3){for(var _0x3bcb76=0x0;_0x3bcb76<_0x4fe7f3[_0x61df('0x3b')];_0x3bcb76+=0x1){_0x1042d4['outbound'][_0x61df('0x2e')]+=0x1;_0x1042d4['outbound']['sumDuration']+=_0x4fe7f3[_0x3bcb76]['duration'];if(_0x4fe7f3[_0x3bcb76][_0x61df('0x5d')]===_0x61df('0x5e')){_0x1042d4['outbound'][_0x61df('0x28')]+=0x1;_0x1042d4['outbound']['sumHoldTime']+=_0x4fe7f3[_0x3bcb76][_0x61df('0x5f')]-_0x4fe7f3[_0x3bcb76][_0x61df('0x60')]||0x0;_0x1042d4['outbound'][_0x61df('0x2a')]+=_0x4fe7f3[_0x3bcb76][_0x61df('0x60')];}}}return _0x1042d4[_0x61df('0x13')];};};Realtime[_0x61df('0x3a')][_0x61df('0x61')]=function(){var _0x8eac79=this;return function(_0x49943b){if(_0x49943b){freeIsNotKey(_0x49943b,_0x8eac79[_0x61df('0x12')],'name');for(var _0x4af1f7=0x0,_0x313467={};_0x4af1f7<_0x49943b['length'];_0x4af1f7+=0x1){_0x313467=_0x49943b[_0x4af1f7];if(_[_0x61df('0x3d')](_0x8eac79[_0x61df('0x12')][_0x313467['name']])){_0x8eac79[_0x61df('0x12')][_0x313467[_0x61df('0x23')]]=new Campaign(_0x313467);}else{_0x8eac79[_0x61df('0x3c')](_0x8eac79[_0x61df('0x12')][_0x313467[_0x61df('0x23')]],_0x313467);}}}return _0x8eac79['campaigns'];};};Realtime[_0x61df('0x3a')]['initVoiceExtensions']=function(){var _0x2896fa=this;return function(_0x2ae9de){if(_0x2ae9de){freeIsNotKey(_0x2ae9de,_0x2896fa[_0x61df('0x14')],'id');for(var _0x3008f7=0x0,_0x2259b7={};_0x3008f7<_0x2ae9de['length'];_0x3008f7+=0x1){_0x2259b7=_0x2ae9de[_0x3008f7];if(_[_0x61df('0x3d')](_0x2896fa[_0x61df('0x14')][_0x2259b7['id']])){_0x2896fa[_0x61df('0x14')][_0x2259b7['id']]=new VoiceExtension(_0x2259b7);}else{_0x2896fa['mergeFromDatabase'](_0x2896fa[_0x61df('0x14')][_0x2259b7['id']],_0x2259b7);}}}return _0x2896fa[_0x61df('0x14')];};};Realtime['prototype']['initCampaignHopperHistory']=function(){var _0x11a327=this;return function(_0x46b9fd){clearCampaigns(_0x11a327['campaigns']);for(var _0x27880d=0x0;_0x27880d<_0x46b9fd[_0x61df('0x3b')];_0x27880d+=0x1){_['merge'](_0x11a327['campaigns'][_0x46b9fd[_0x27880d]['name']],_0x46b9fd[_0x27880d]);}return _0x11a327[_0x61df('0x12')];};};Realtime[_0x61df('0x3a')][_0x61df('0x62')]=function(){var _0x2845fb=this;return function(_0x3e29ca){if(_0x3e29ca){freeIsNotKey(_0x3e29ca,_0x2845fb['faxAccounts'],'id');for(var _0x32f96f=0x0,_0x3ebc64={},_0x3c1618={};_0x32f96f<_0x3e29ca[_0x61df('0x3b')];_0x32f96f+=0x1){_0x3ebc64=_0x3e29ca[_0x32f96f];if(_[_0x61df('0x3d')](_0x2845fb[_0x61df('0x20')][_0x3ebc64['id']])){_0x2845fb[_0x61df('0x20')][_0x3ebc64['id']]=new FaxAccount(_0x3ebc64);}else{_0x2845fb[_0x61df('0x3c')](_0x2845fb[_0x61df('0x20')][_0x3ebc64['id']],_0x3ebc64);}}}return _0x2845fb[_0x61df('0x20')];};};module[_0x61df('0x63')]=Realtime;