Built motion from commit 47436d59.|2.6.7
[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 _0x63a6=['sumBillable','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','mergeFromDatabase','prototype','agents','length','isUndefined','initTelephones','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','salesforceAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','uniqueid','queue','queuecallerabandon','diff','queuecallerjoinAt','queuecallercompleteAt','queuecallerabandonAt','seconds','queuecallercomplete','queuecallerleaveAt','initVoiceCallReports','outbound','duration','ANSWERED','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initFaxAccounts','exports','lodash','moment','../model/telephone','../model/trunk','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/sugarcrmAccount','../model/zohoAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','telephones','trunks','voiceQueues','triggers','campaigns','templates','voiceExtensions','channels','queueChannels','settings','sugarcrmAccounts','freshdeskAccounts','deskAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','name','hasOwnProperty','isNil','interface','format','SIP/%s','total','sumHoldTime','sumDuration','isEmpty','ivrAnswerCallsDay','answered','unmanaged','abandoned'];(function(_0x3dc473,_0xb1d84c){var _0x24ee41=function(_0x26be47){while(--_0x26be47){_0x3dc473['push'](_0x3dc473['shift']());}};_0x24ee41(++_0xb1d84c);}(_0x63a6,0x1c7));var _0x663a=function(_0x455ed5,_0xab57cc){_0x455ed5=_0x455ed5-0x0;var _0x481ac4=_0x63a6[_0x455ed5];return _0x481ac4;};'use strict';var util=require('util');var _=require(_0x663a('0x0'));var moment=require(_0x663a('0x1'));var Agent=require('../model/agent');var Telephone=require(_0x663a('0x2'));var Trunk=require(_0x663a('0x3'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x663a('0x4'));var Template=require(_0x663a('0x5'));var Campaign=require(_0x663a('0x6'));var VoiceExtension=require(_0x663a('0x7'));var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0x663a('0x8'));var ZohoAccount=require(_0x663a('0x9'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x663a('0xa'));var Dynamics365Account=require(_0x663a('0xb'));var FreshsalesAccount=require(_0x663a('0xc'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this['agents']={};this[_0x663a('0xd')]={};this[_0x663a('0xe')]={};this[_0x663a('0xf')]={};this[_0x663a('0x10')]={};this[_0x663a('0x11')]={};this[_0x663a('0x12')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x663a('0x13')]={};this[_0x663a('0x14')]={};this[_0x663a('0x15')]={};this['outboundChannels']={};this['timers']={};this[_0x663a('0x16')]={};this['zendeskAccounts']={};this['salesforceAccounts']={};this[_0x663a('0x17')]={};this[_0x663a('0x18')]={};this['zohoAccounts']={};this[_0x663a('0x19')]={};this['vtigerAccounts']={};this[_0x663a('0x1a')]={};this[_0x663a('0x1b')]={};this[_0x663a('0x1c')]={};this[_0x663a('0x1d')]={};};function freeIsNotKey(_0x1a8d76,_0x5acf50,_0x68575b){var _0x5cc6ab=_[_0x663a('0x1e')](_0x1a8d76,function(_0x45f489,_0x43a3c9){return _0x45f489[_0x68575b];});for(var _0x1508ab in _0x5acf50){if(_0x5acf50['hasOwnProperty'](_0x1508ab)){if(!_0x5cc6ab[_0x1508ab]){delete _0x5acf50[_0x1508ab];}}}}function freeIsNotKeySip(_0x2a1f33,_0x5d7a6a){var _0x51f325=_['mapKeys'](_0x2a1f33,function(_0x2d006c,_0x421cf3){return util['format']('SIP/%s',_0x2d006c[_0x663a('0x1f')]);});for(var _0x173a10 in _0x5d7a6a){if(_0x5d7a6a[_0x663a('0x20')](_0x173a10)){if(!_0x51f325[_0x173a10]){delete _0x5d7a6a[_0x173a10];}}}}function freeIsNotKeyAgent(_0xd25709,_0x221c83){var _0x238b7f=_[_0x663a('0x1e')](_0xd25709,function(_0x52d97b,_0x1586f3){var _0x21152c=_[_0x663a('0x21')](_0x52d97b[_0x663a('0x22')])?util[_0x663a('0x23')](_0x663a('0x24'),_0x52d97b['name']):_0x52d97b[_0x663a('0x22')];return _0x21152c;});for(var _0x8d01fc in _0x221c83){if(_0x221c83['hasOwnProperty'](_0x8d01fc)){if(!_0x238b7f[_0x8d01fc]){delete _0x221c83[_0x8d01fc];}}}}function clearVoiceCallReports(_0x32e379){_0x32e379[_0x663a('0x25')]=0x0;_0x32e379['answered']=0x0;_0x32e379[_0x663a('0x26')]=0x0;_0x32e379[_0x663a('0x27')]=0x0;_0x32e379['sumBillable']=0x0;}function clearCampaigns(_0x1e2653){if(!_[_0x663a('0x28')](_0x1e2653)){for(var _0x57131d in _0x1e2653){if(_0x1e2653[_0x663a('0x20')](_0x57131d)){_0x1e2653[_0x57131d]['ivrTotalCallsDays']=0x0;_0x1e2653[_0x57131d][_0x663a('0x29')]=0x0;}}}}function clearVoiceQueues(_0x2ab007){if(!_[_0x663a('0x28')](_0x2ab007)){for(var _0x4510cf in _0x2ab007){if(_0x2ab007[_0x663a('0x20')](_0x4510cf)){_0x2ab007[_0x4510cf]['total']=0x0;_0x2ab007[_0x4510cf][_0x663a('0x2a')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x2b')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x2c')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x26')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x27')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x2d')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x2e')]=0x0;_0x2ab007[_0x4510cf]['outboundNoAnswerCallsDay']=0x0;_0x2ab007[_0x4510cf][_0x663a('0x2f')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x30')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x31')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x32')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x33')]=0x0;_0x2ab007[_0x4510cf]['outboundDropCallsDayCallersExit']=0x0;_0x2ab007[_0x4510cf][_0x663a('0x34')]=0x0;_0x2ab007[_0x4510cf]['outboundOriginateFailureCallsDay']=0x0;_0x2ab007[_0x4510cf][_0x663a('0x35')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x36')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x2e')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x37')]=0x0;_0x2ab007[_0x4510cf][_0x663a('0x38')]=!![];}}}}Realtime['prototype'][_0x663a('0x39')]=function(_0x4921f7,_0x45ee11){for(var _0x286d3f in _0x45ee11){if(_0x4921f7[_0x663a('0x20')](_0x286d3f)){_0x4921f7[_0x286d3f]=_0x45ee11[_0x286d3f];}}};Realtime[_0x663a('0x3a')]['initAgents']=function(){var _0x385f73=this;return function(_0x87a4d9){if(_0x87a4d9){freeIsNotKeyAgent(_0x87a4d9,_0x385f73[_0x663a('0x3b')]);for(var _0x4663a0=0x0,_0x364c88={},_0x8982bb={};_0x4663a0<_0x87a4d9[_0x663a('0x3c')];_0x4663a0+=0x1){_0x364c88=_0x87a4d9[_0x4663a0];var _0x104f5c=_['isNil'](_0x364c88[_0x663a('0x22')])?util[_0x663a('0x23')]('SIP/%s',_0x364c88[_0x663a('0x1f')]):_0x364c88[_0x663a('0x22')];if(_[_0x663a('0x3d')](_0x385f73[_0x663a('0x3b')][_0x104f5c])){_0x385f73[_0x663a('0x3b')][_0x104f5c]=new Agent(_0x364c88);}else{_0x385f73['mergeFromDatabase'](_0x385f73[_0x663a('0x3b')][_0x104f5c],_0x364c88);}}}return _0x385f73['agents'];};};Realtime[_0x663a('0x3a')][_0x663a('0x3e')]=function(){var _0x49f849=this;return function(_0x52b968){if(_0x52b968){freeIsNotKeySip(_0x52b968,_0x49f849[_0x663a('0xd')]);for(var _0x1ed242=0x0,_0x5d9103={},_0x230dd5={};_0x1ed242<_0x52b968[_0x663a('0x3c')];_0x1ed242+=0x1){_0x5d9103=_0x52b968[_0x1ed242];if(_[_0x663a('0x3d')](_0x49f849['telephones'][util[_0x663a('0x23')](_0x663a('0x24'),_0x5d9103['name'])])){_0x49f849[_0x663a('0xd')][util['format'](_0x663a('0x24'),_0x5d9103[_0x663a('0x1f')])]=new Telephone(_0x5d9103);}else{_0x49f849['mergeFromDatabase'](_0x49f849[_0x663a('0xd')][util[_0x663a('0x23')]('SIP/%s',_0x5d9103[_0x663a('0x1f')])],_0x5d9103);}}}return _0x49f849[_0x663a('0xd')];};};Realtime['prototype']['initTrunks']=function(){var _0x205717=this;return function(_0x11c8bb){if(_0x11c8bb){freeIsNotKeySip(_0x11c8bb,_0x205717[_0x663a('0xe')]);for(var _0x3d63d3=0x0,_0x216891={},_0x10851a={};_0x3d63d3<_0x11c8bb[_0x663a('0x3c')];_0x3d63d3+=0x1){_0x216891=_0x11c8bb[_0x3d63d3];if(_[_0x663a('0x3d')](_0x205717['trunks'][util[_0x663a('0x23')](_0x663a('0x24'),_0x216891[_0x663a('0x1f')])])){_0x205717[_0x663a('0xe')][util['format'](_0x663a('0x24'),_0x216891['name'])]=new Trunk(_0x216891);}else{_0x205717['mergeFromDatabase'](_0x205717['trunks'][util['format'](_0x663a('0x24'),_0x216891[_0x663a('0x1f')])],_0x216891);}}}return _0x205717[_0x663a('0xe')];};};Realtime['prototype'][_0x663a('0x3f')]=function(){var _0x58d3bf=this;return function(_0xe5fa){if(_0xe5fa){freeIsNotKey(_0xe5fa,_0x58d3bf[_0x663a('0xf')],'name');for(var _0xd9e4e5=0x0,_0x784560={},_0x27f0cd={};_0xd9e4e5<_0xe5fa[_0x663a('0x3c')];_0xd9e4e5+=0x1){_0x784560=_0xe5fa[_0xd9e4e5];if(_[_0x663a('0x3d')](_0x58d3bf[_0x663a('0xf')][_0x784560[_0x663a('0x1f')]])){_0x58d3bf[_0x663a('0xf')][_0x784560['name']]=new VoiceQueue(_0x784560);}else{_0x58d3bf[_0x663a('0x39')](_0x58d3bf[_0x663a('0xf')][_0x784560['name']],_0x784560);}}}return _0x58d3bf['voiceQueues'];};};Realtime[_0x663a('0x3a')][_0x663a('0x40')]=function(){var _0x3cc6a0=this;return function(_0x418949){if(_0x418949){freeIsNotKey(_0x418949,_0x3cc6a0['triggers'],'id');for(var _0x47f171=0x0,_0x39b5b2={},_0x1ce2b8={};_0x47f171<_0x418949['length'];_0x47f171+=0x1){_0x39b5b2=_0x418949[_0x47f171];if(_['isUndefined'](_0x3cc6a0[_0x663a('0x10')][_0x39b5b2['id']])){_0x3cc6a0[_0x663a('0x10')][_0x39b5b2['id']]=new Trigger(_0x39b5b2);}else{_0x3cc6a0[_0x663a('0x39')](_0x3cc6a0[_0x663a('0x10')][_0x39b5b2['id']],_0x39b5b2);}}}return _0x3cc6a0[_0x663a('0x10')];};};Realtime[_0x663a('0x3a')][_0x663a('0x41')]=function(){var _0x5ec404=this;return function(_0x14d3ac){if(_0x14d3ac){freeIsNotKey(_0x14d3ac,_0x5ec404[_0x663a('0x12')],'id');for(var _0x3bc928=0x0,_0x334e87={},_0x19b622={};_0x3bc928<_0x14d3ac[_0x663a('0x3c')];_0x3bc928+=0x1){_0x334e87=_0x14d3ac[_0x3bc928];if(_[_0x663a('0x3d')](_0x5ec404[_0x663a('0x12')][_0x334e87['id']])){_0x5ec404[_0x663a('0x12')][_0x334e87['id']]=new Template(_0x334e87);}else{_0x5ec404[_0x663a('0x39')](_0x5ec404[_0x663a('0x12')][_0x334e87['id']],_0x334e87);}}}return _0x5ec404['templates'];};};Realtime[_0x663a('0x3a')][_0x663a('0x42')]=function(){var _0x5675ea=this;return function(_0x6d5dd){if(_0x6d5dd){freeIsNotKey(_0x6d5dd,_0x5675ea[_0x663a('0x43')],'id');for(var _0xf59e28=0x0,_0x4fc58b={},_0x4431d0={};_0xf59e28<_0x6d5dd[_0x663a('0x3c')];_0xf59e28+=0x1){_0x4fc58b=_0x6d5dd[_0xf59e28];if(_['isUndefined'](_0x5675ea[_0x663a('0x43')][_0x4fc58b['id']])){_0x5675ea[_0x663a('0x43')][_0x4fc58b['id']]=new ZendeskAccount(_0x4fc58b);}else{_0x5675ea['mergeFromDatabase'](_0x5675ea['zendeskAccounts'][_0x4fc58b['id']],_0x4fc58b);}}}return _0x5675ea[_0x663a('0x43')];};};Realtime[_0x663a('0x3a')][_0x663a('0x44')]=function(){var _0x16bc44=this;return function(_0x2c66d0){if(_0x2c66d0){freeIsNotKey(_0x2c66d0,_0x16bc44[_0x663a('0x45')],'id');for(var _0xb507f9=0x0,_0x110cd6={},_0x49b61d={};_0xb507f9<_0x2c66d0[_0x663a('0x3c')];_0xb507f9+=0x1){_0x110cd6=_0x2c66d0[_0xb507f9];if(_[_0x663a('0x3d')](_0x16bc44['salesforceAccounts'][_0x110cd6['id']])){_0x16bc44[_0x663a('0x45')][_0x110cd6['id']]=new SalesforceAccount(_0x110cd6);}else{_0x16bc44['mergeFromDatabase'](_0x16bc44[_0x663a('0x45')][_0x110cd6['id']],_0x110cd6);}}}return _0x16bc44['salesforceAccounts'];};};Realtime[_0x663a('0x3a')]['initFreshdeskAccounts']=function(){var _0x467611=this;return function(_0x4055f5){if(_0x4055f5){freeIsNotKey(_0x4055f5,_0x467611[_0x663a('0x18')],'id');for(var _0x267f22=0x0,_0x335aba={},_0x4488bb={};_0x267f22<_0x4055f5[_0x663a('0x3c')];_0x267f22+=0x1){_0x335aba=_0x4055f5[_0x267f22];if(_[_0x663a('0x3d')](_0x467611[_0x663a('0x18')][_0x335aba['id']])){_0x467611[_0x663a('0x18')][_0x335aba['id']]=new FreshdeskAccount(_0x335aba);}else{_0x467611['mergeFromDatabase'](_0x467611[_0x663a('0x18')][_0x335aba['id']],_0x335aba);}}}return _0x467611[_0x663a('0x18')];};};Realtime[_0x663a('0x3a')][_0x663a('0x46')]=function(){var _0x41c16f=this;return function(_0x1cef27){if(_0x1cef27){freeIsNotKey(_0x1cef27,_0x41c16f[_0x663a('0x47')],'id');for(var _0x15f959=0x0,_0xb01976={},_0x413e57={};_0x15f959<_0x1cef27[_0x663a('0x3c')];_0x15f959+=0x1){_0xb01976=_0x1cef27[_0x15f959];if(_['isUndefined'](_0x41c16f[_0x663a('0x47')][_0xb01976['id']])){_0x41c16f[_0x663a('0x47')][_0xb01976['id']]=new ZohoAccount(_0xb01976);}else{_0x41c16f['mergeFromDatabase'](_0x41c16f['zohoAccounts'][_0xb01976['id']],_0xb01976);}}}return _0x41c16f['zohoAccounts'];};};Realtime[_0x663a('0x3a')][_0x663a('0x48')]=function(){var _0x5783b0=this;return function(_0x6d7ff){if(_0x6d7ff){freeIsNotKey(_0x6d7ff,_0x5783b0['deskAccounts'],'id');for(var _0x453ba6=0x0,_0xa503d0={},_0x59b0f1={};_0x453ba6<_0x6d7ff['length'];_0x453ba6+=0x1){_0xa503d0=_0x6d7ff[_0x453ba6];if(_[_0x663a('0x3d')](_0x5783b0[_0x663a('0x19')][_0xa503d0['id']])){_0x5783b0[_0x663a('0x19')][_0xa503d0['id']]=new DeskAccount(_0xa503d0);}else{_0x5783b0[_0x663a('0x39')](_0x5783b0[_0x663a('0x19')][_0xa503d0['id']],_0xa503d0);}}}return _0x5783b0[_0x663a('0x19')];};};Realtime['prototype'][_0x663a('0x49')]=function(){var _0x317048=this;return function(_0x5d4ea5){if(_0x5d4ea5){freeIsNotKey(_0x5d4ea5,_0x317048[_0x663a('0x17')],'id');for(var _0x1c0cd5=0x0,_0x206be1={},_0x4833ac={};_0x1c0cd5<_0x5d4ea5[_0x663a('0x3c')];_0x1c0cd5+=0x1){_0x206be1=_0x5d4ea5[_0x1c0cd5];if(_[_0x663a('0x3d')](_0x317048[_0x663a('0x17')][_0x206be1['id']])){_0x317048[_0x663a('0x17')][_0x206be1['id']]=new SugarcrmAccount(_0x206be1);}else{_0x317048[_0x663a('0x39')](_0x317048[_0x663a('0x17')][_0x206be1['id']],_0x206be1);}}}return _0x317048[_0x663a('0x17')];};};Realtime[_0x663a('0x3a')][_0x663a('0x4a')]=function(){var _0x2a6501=this;return function(_0x202800){if(_0x202800){freeIsNotKey(_0x202800,_0x2a6501[_0x663a('0x4b')],'id');for(var _0x23b5a2=0x0,_0x4310e6={},_0x1e24e0={};_0x23b5a2<_0x202800[_0x663a('0x3c')];_0x23b5a2+=0x1){_0x4310e6=_0x202800[_0x23b5a2];if(_[_0x663a('0x3d')](_0x2a6501[_0x663a('0x4b')][_0x4310e6['id']])){_0x2a6501[_0x663a('0x4b')][_0x4310e6['id']]=new VtigerAccount(_0x4310e6);}else{_0x2a6501[_0x663a('0x39')](_0x2a6501['vtigerAccounts'][_0x4310e6['id']],_0x4310e6);}}}return _0x2a6501[_0x663a('0x4b')];};};Realtime[_0x663a('0x3a')][_0x663a('0x4c')]=function(){var _0x4072fb=this;return function(_0x587036){if(_0x587036){freeIsNotKey(_0x587036,_0x4072fb['servicenowAccounts'],'id');for(var _0x256a5f=0x0,_0x581a53={},_0x3c1cb9={};_0x256a5f<_0x587036['length'];_0x256a5f+=0x1){_0x581a53=_0x587036[_0x256a5f];if(_[_0x663a('0x3d')](_0x4072fb[_0x663a('0x1a')][_0x581a53['id']])){_0x4072fb[_0x663a('0x1a')][_0x581a53['id']]=new ServicenowAccount(_0x581a53);}else{_0x4072fb[_0x663a('0x39')](_0x4072fb['servicenowAccounts'][_0x581a53['id']],_0x581a53);}}}return _0x4072fb['servicenowAccounts'];};};Realtime['prototype']['initDynamics365Accounts']=function(){var _0x4c5668=this;return function(_0x327d19){if(_0x327d19){freeIsNotKey(_0x327d19,_0x4c5668[_0x663a('0x1b')],'id');for(var _0x1ce13b=0x0,_0x3f316b={},_0x20cfb3={};_0x1ce13b<_0x327d19['length'];_0x1ce13b+=0x1){_0x3f316b=_0x327d19[_0x1ce13b];if(_['isUndefined'](_0x4c5668['dynamics365Accounts'][_0x3f316b['id']])){_0x4c5668[_0x663a('0x1b')][_0x3f316b['id']]=new Dynamics365Account(_0x3f316b);}else{_0x4c5668[_0x663a('0x39')](_0x4c5668[_0x663a('0x1b')][_0x3f316b['id']],_0x3f316b);}}}return _0x4c5668[_0x663a('0x1b')];};};Realtime['prototype']['initFreshsalesAccounts']=function(){var _0x3aaa51=this;return function(_0x4be6da){if(_0x4be6da){freeIsNotKey(_0x4be6da,_0x3aaa51['freshsalesAccounts'],'id');for(var _0x4481e2=0x0,_0x4be14d={},_0x335080={};_0x4481e2<_0x4be6da[_0x663a('0x3c')];_0x4481e2+=0x1){_0x4be14d=_0x4be6da[_0x4481e2];if(_[_0x663a('0x3d')](_0x3aaa51[_0x663a('0x1c')][_0x4be14d['id']])){_0x3aaa51['freshsalesAccounts'][_0x4be14d['id']]=new FreshsalesAccount(_0x4be14d);}else{_0x3aaa51[_0x663a('0x39')](_0x3aaa51[_0x663a('0x1c')][_0x4be14d['id']],_0x4be14d);}}}return _0x3aaa51['freshsalesAccounts'];};};Realtime[_0x663a('0x3a')][_0x663a('0x4d')]=function(){var _0x35a9f5=this;return function(_0x614545){for(var _0xfe7ff7=0x0;_0xfe7ff7<_0x614545[_0x663a('0x3c')];_0xfe7ff7+=0x1){_[_0x663a('0x4e')](_0x35a9f5['voiceQueues'][_0x614545[_0xfe7ff7][_0x663a('0x1f')]],_0x614545[_0xfe7ff7]);}return _0x35a9f5[_0x663a('0xf')];};};Realtime[_0x663a('0x3a')][_0x663a('0x4f')]=function(){var _0xaeab5=this;return function(_0x428af8){clearVoiceQueues(_0xaeab5['voiceQueues']);if(_0x428af8){_0x428af8=_['groupBy'](_0x428af8,_0x663a('0x50'));for(var _0x1bd4f5 in _0x428af8){if(_0x428af8['hasOwnProperty'](_0x1bd4f5)){var _0x17b8fc={};for(var _0x4aefe5=0x0;_0x4aefe5<_0x428af8[_0x1bd4f5]['length'];_0x4aefe5+=0x1){var _0x5b3a36=_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x51')];if(_0xaeab5[_0x663a('0xf')][_0x5b3a36]){if(_0x428af8[_0x1bd4f5][_0x4aefe5]['queuecallerexit']){_0xaeab5[_0x663a('0xf')][_0x5b3a36][_0x663a('0x2b')]+=0x1;}if(_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x52')]){_0xaeab5[_0x663a('0xf')][_0x5b3a36][_0x663a('0x2c')]+=0x1;}_0xaeab5[_0x663a('0xf')][_0x5b3a36][_0x663a('0x26')]+=moment(_0x428af8[_0x1bd4f5][_0x4aefe5]['queuecallerleaveAt'])[_0x663a('0x53')](moment(_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x54')]),'seconds')||0x0;if(_0x4aefe5===_0x428af8[_0x1bd4f5][_0x663a('0x3c')]-0x1){_0xaeab5[_0x663a('0xf')][_0x5b3a36][_0x663a('0x27')]+=moment(_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x55')]||_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x56')]||_0x428af8[_0x1bd4f5][_0x4aefe5]['queuecallerexitAt'])[_0x663a('0x53')](moment(_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x54')]),_0x663a('0x57'))||0x0;_0xaeab5[_0x663a('0xf')][_0x5b3a36]['total']+=0x1;if(_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x58')]){_0xaeab5['voiceQueues'][_0x5b3a36]['answered']+=0x1;_0xaeab5['voiceQueues'][_0x5b3a36][_0x663a('0x2d')]+=moment(_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x55')])[_0x663a('0x53')](moment(_0x428af8[_0x1bd4f5][_0x4aefe5][_0x663a('0x59')]),_0x663a('0x57'))||0x0;}}else{_0xaeab5[_0x663a('0xf')][_0x5b3a36][_0x663a('0x27')]+=_0xaeab5[_0x663a('0xf')][_0x5b3a36][_0x663a('0x26')]||0x0;}}}}}}return _0xaeab5[_0x663a('0xf')];};};Realtime[_0x663a('0x3a')][_0x663a('0x5a')]=function(){var _0x5029a7=this;return function(_0x4a7ed4){clearVoiceCallReports(_0x5029a7[_0x663a('0x5b')]);if(_0x4a7ed4){for(var _0x362ce0=0x0;_0x362ce0<_0x4a7ed4[_0x663a('0x3c')];_0x362ce0+=0x1){_0x5029a7[_0x663a('0x5b')][_0x663a('0x25')]+=0x1;_0x5029a7[_0x663a('0x5b')][_0x663a('0x27')]+=_0x4a7ed4[_0x362ce0][_0x663a('0x5c')];if(_0x4a7ed4[_0x362ce0]['disposition']===_0x663a('0x5d')){_0x5029a7[_0x663a('0x5b')][_0x663a('0x2a')]+=0x1;_0x5029a7['outbound'][_0x663a('0x26')]+=_0x4a7ed4[_0x362ce0][_0x663a('0x5c')]-_0x4a7ed4[_0x362ce0]['billableseconds']||0x0;_0x5029a7[_0x663a('0x5b')]['sumBillable']+=_0x4a7ed4[_0x362ce0]['billableseconds'];}}}return _0x5029a7[_0x663a('0x5b')];};};Realtime['prototype'][_0x663a('0x5e')]=function(){var _0x2b83ff=this;return function(_0x5e752c){if(_0x5e752c){freeIsNotKey(_0x5e752c,_0x2b83ff[_0x663a('0x11')],_0x663a('0x1f'));for(var _0x332231=0x0,_0x175eb0={};_0x332231<_0x5e752c[_0x663a('0x3c')];_0x332231+=0x1){_0x175eb0=_0x5e752c[_0x332231];if(_[_0x663a('0x3d')](_0x2b83ff[_0x663a('0x11')][_0x175eb0['name']])){_0x2b83ff[_0x663a('0x11')][_0x175eb0[_0x663a('0x1f')]]=new Campaign(_0x175eb0);}else{_0x2b83ff['mergeFromDatabase'](_0x2b83ff[_0x663a('0x11')][_0x175eb0[_0x663a('0x1f')]],_0x175eb0);_0x2b83ff[_0x663a('0x11')][_0x175eb0[_0x663a('0x1f')]][_0x663a('0x5f')]=_0x175eb0[_0x663a('0x60')]?_0x175eb0[_0x663a('0x60')][_0x663a('0x1f')]:undefined;}}}return _0x2b83ff[_0x663a('0x11')];};};Realtime[_0x663a('0x3a')][_0x663a('0x61')]=function(){var _0x5b5d2d=this;return function(_0xd52fdd){if(_0xd52fdd){freeIsNotKey(_0xd52fdd,_0x5b5d2d[_0x663a('0x13')],'id');for(var _0x3ea2e3=0x0,_0x1fc3bf={};_0x3ea2e3<_0xd52fdd['length'];_0x3ea2e3+=0x1){_0x1fc3bf=_0xd52fdd[_0x3ea2e3];if(_[_0x663a('0x3d')](_0x5b5d2d[_0x663a('0x13')][_0x1fc3bf['id']])){_0x5b5d2d[_0x663a('0x13')][_0x1fc3bf['id']]=new VoiceExtension(_0x1fc3bf);}else{_0x5b5d2d[_0x663a('0x39')](_0x5b5d2d[_0x663a('0x13')][_0x1fc3bf['id']],_0x1fc3bf);}}}return _0x5b5d2d['voiceExtensions'];};};Realtime['prototype']['initCampaignHopperHistory']=function(){var _0x15b97a=this;return function(_0x45a2ce){clearCampaigns(_0x15b97a[_0x663a('0x11')]);for(var _0x408bcb=0x0;_0x408bcb<_0x45a2ce[_0x663a('0x3c')];_0x408bcb+=0x1){_[_0x663a('0x4e')](_0x15b97a[_0x663a('0x11')][_0x45a2ce[_0x408bcb][_0x663a('0x1f')]],_0x45a2ce[_0x408bcb]);}return _0x15b97a[_0x663a('0x11')];};};Realtime['prototype'][_0x663a('0x62')]=function(){var _0x3b1ffc=this;return function(_0xf9a8fc){if(_0xf9a8fc){freeIsNotKey(_0xf9a8fc,_0x3b1ffc['faxAccounts'],'id');for(var _0x1cbb6e=0x0,_0x3ad8bb={},_0x5ec60a={};_0x1cbb6e<_0xf9a8fc[_0x663a('0x3c')];_0x1cbb6e+=0x1){_0x3ad8bb=_0xf9a8fc[_0x1cbb6e];if(_['isUndefined'](_0x3b1ffc[_0x663a('0x1d')][_0x3ad8bb['id']])){_0x3b1ffc[_0x663a('0x1d')][_0x3ad8bb['id']]=new FaxAccount(_0x3ad8bb);}else{_0x3b1ffc[_0x663a('0x39')](_0x3b1ffc[_0x663a('0x1d')][_0x3ad8bb['id']],_0x3ad8bb);}}}return _0x3b1ffc[_0x663a('0x1d')];};};module[_0x663a('0x63')]=Realtime;