Built motion from commit (unavailable).|2.5.14
[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 _0xc547=['queuecallerabandon','sumHoldTime','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerexitAt','queuecallercomplete','sumDuration','initVoiceCallReports','disposition','ANSWERED','duration','billableseconds','initCampaigns','campaigns','dialQueueProject','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','util','moment','../model/telephone','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/faxAccount','telephones','trunks','voiceQueues','triggers','templates','outbound','queueChannels','outboundChannels','timers','freshdeskAccounts','deskAccounts','servicenowAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','interface','sumBillable','isEmpty','ivrAnswerCallsDay','total','answered','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','agents','length','isNil','isUndefined','initTelephones','initTrunks','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','salesforceAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','merge','groupBy','queue','queuecallerexit','unmanaged'];(function(_0x2576d7,_0x167624){var _0x16a08c=function(_0x19de1e){while(--_0x19de1e){_0x2576d7['push'](_0x2576d7['shift']());}};_0x16a08c(++_0x167624);}(_0xc547,0x153));var _0x7c54=function(_0x5846b4,_0x2a47f9){_0x5846b4=_0x5846b4-0x0;var _0x49a222=_0xc547[_0x5846b4];return _0x49a222;};'use strict';var BPromise=require('bluebird');var util=require(_0x7c54('0x0'));var _=require('lodash');var moment=require(_0x7c54('0x1'));var Agent=require('../model/agent');var Telephone=require(_0x7c54('0x2'));var Trunk=require('../model/trunk');var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x7c54('0x3'));var Template=require(_0x7c54('0x4'));var Campaign=require(_0x7c54('0x5'));var VoiceExtension=require(_0x7c54('0x6'));var ZendeskAccount=require(_0x7c54('0x7'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0x7c54('0x8'));var ZohoAccount=require(_0x7c54('0x9'));var DeskAccount=require(_0x7c54('0xa'));var VtigerAccount=require(_0x7c54('0xb'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x7c54('0xc'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x7c54('0xd'));var Realtime=function(){this['agents']={};this[_0x7c54('0xe')]={};this[_0x7c54('0xf')]={};this[_0x7c54('0x10')]={};this[_0x7c54('0x11')]={};this['campaigns']={};this[_0x7c54('0x12')]={};this[_0x7c54('0x13')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this['channels']={};this[_0x7c54('0x14')]={};this[_0x7c54('0x15')]={};this[_0x7c54('0x16')]={};this['zendeskAccounts']={};this['salesforceAccounts']={};this['sugarcrmAccounts']={};this[_0x7c54('0x17')]={};this['zohoAccounts']={};this[_0x7c54('0x18')]={};this['vtigerAccounts']={};this[_0x7c54('0x19')]={};this['dynamics365Accounts']={};this['freshsalesAccounts']={};this[_0x7c54('0x1a')]={};};function freeIsNotKey(_0x5b4e9f,_0x3f0ca3,_0x500e1c){var _0x57bf21=_[_0x7c54('0x1b')](_0x5b4e9f,function(_0x8ca09c,_0x69eb4){return _0x8ca09c[_0x500e1c];});for(var _0x44a7dc in _0x3f0ca3){if(_0x3f0ca3[_0x7c54('0x1c')](_0x44a7dc)){if(!_0x57bf21[_0x44a7dc]){delete _0x3f0ca3[_0x44a7dc];}}}}function freeIsNotKeySip(_0xed7452,_0x18a9c2){var _0x5e9415=_[_0x7c54('0x1b')](_0xed7452,function(_0x4fbcf4,_0x595e7e){return util[_0x7c54('0x1d')](_0x7c54('0x1e'),_0x4fbcf4[_0x7c54('0x1f')]);});for(var _0x70c03a in _0x18a9c2){if(_0x18a9c2['hasOwnProperty'](_0x70c03a)){if(!_0x5e9415[_0x70c03a]){delete _0x18a9c2[_0x70c03a];}}}}function freeIsNotKeyAgent(_0x3d1952,_0x54c111){var _0x54877e=_['mapKeys'](_0x3d1952,function(_0x170b85,_0x1270e6){var _0x115685=_['isNil'](_0x170b85[_0x7c54('0x20')])?util[_0x7c54('0x1d')](_0x7c54('0x1e'),_0x170b85[_0x7c54('0x1f')]):_0x170b85['interface'];return _0x115685;});for(var _0x55f5e2 in _0x54c111){if(_0x54c111[_0x7c54('0x1c')](_0x55f5e2)){if(!_0x54877e[_0x55f5e2]){delete _0x54c111[_0x55f5e2];}}}}function clearVoiceCallReports(_0x338e37){_0x338e37['total']=0x0;_0x338e37['answered']=0x0;_0x338e37['sumHoldTime']=0x0;_0x338e37['sumDuration']=0x0;_0x338e37[_0x7c54('0x21')]=0x0;}function clearCampaigns(_0x510007){if(!_[_0x7c54('0x22')](_0x510007)){for(var _0x567562 in _0x510007){if(_0x510007[_0x7c54('0x1c')](_0x567562)){_0x510007[_0x567562]['ivrTotalCallsDays']=0x0;_0x510007[_0x567562][_0x7c54('0x23')]=0x0;}}}}function clearVoiceQueues(_0x32a377){if(!_[_0x7c54('0x22')](_0x32a377)){for(var _0x38d9bd in _0x32a377){if(_0x32a377[_0x7c54('0x1c')](_0x38d9bd)){_0x32a377[_0x38d9bd][_0x7c54('0x24')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x25')]=0x0;_0x32a377[_0x38d9bd]['unmanaged']=0x0;_0x32a377[_0x38d9bd]['abandoned']=0x0;_0x32a377[_0x38d9bd]['sumHoldTime']=0x0;_0x32a377[_0x38d9bd]['sumDuration']=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x21')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x26')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x27')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x28')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x29')]=0x0;_0x32a377[_0x38d9bd]['outboundNoSuchCallsDay']=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x2a')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x2b')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x2c')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x2d')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x2e')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x2f')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x30')]=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x26')]=0x0;_0x32a377[_0x38d9bd]['outboundAnswerCallsDay']=0x0;_0x32a377[_0x38d9bd][_0x7c54('0x31')]=!![];}}}}Realtime[_0x7c54('0x32')][_0x7c54('0x33')]=function(_0x173944,_0x1ad06e){for(var _0x2e52f1 in _0x1ad06e){if(_0x173944[_0x7c54('0x1c')](_0x2e52f1)){_0x173944[_0x2e52f1]=_0x1ad06e[_0x2e52f1];}}};Realtime['prototype'][_0x7c54('0x34')]=function(){var _0x17b552=this;return function(_0xa71cf7){if(_0xa71cf7){freeIsNotKeyAgent(_0xa71cf7,_0x17b552[_0x7c54('0x35')]);for(var _0x5ba849=0x0,_0x4acb3b={},_0xaf989e={};_0x5ba849<_0xa71cf7[_0x7c54('0x36')];_0x5ba849+=0x1){_0x4acb3b=_0xa71cf7[_0x5ba849];var _0x1d2573=_[_0x7c54('0x37')](_0x4acb3b[_0x7c54('0x20')])?util['format'](_0x7c54('0x1e'),_0x4acb3b[_0x7c54('0x1f')]):_0x4acb3b['interface'];if(_[_0x7c54('0x38')](_0x17b552['agents'][_0x1d2573])){_0x17b552[_0x7c54('0x35')][_0x1d2573]=new Agent(_0x4acb3b);}else{_0x17b552[_0x7c54('0x33')](_0x17b552[_0x7c54('0x35')][_0x1d2573],_0x4acb3b);}}}return _0x17b552['agents'];};};Realtime['prototype'][_0x7c54('0x39')]=function(){var _0x354a5a=this;return function(_0x508034){if(_0x508034){freeIsNotKeySip(_0x508034,_0x354a5a['telephones']);for(var _0x31b7b0=0x0,_0x1df3f8={},_0x4804cb={};_0x31b7b0<_0x508034['length'];_0x31b7b0+=0x1){_0x1df3f8=_0x508034[_0x31b7b0];if(_[_0x7c54('0x38')](_0x354a5a[_0x7c54('0xe')][util[_0x7c54('0x1d')]('SIP/%s',_0x1df3f8[_0x7c54('0x1f')])])){_0x354a5a['telephones'][util[_0x7c54('0x1d')](_0x7c54('0x1e'),_0x1df3f8[_0x7c54('0x1f')])]=new Telephone(_0x1df3f8);}else{_0x354a5a[_0x7c54('0x33')](_0x354a5a[_0x7c54('0xe')][util[_0x7c54('0x1d')]('SIP/%s',_0x1df3f8[_0x7c54('0x1f')])],_0x1df3f8);}}}return _0x354a5a[_0x7c54('0xe')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x3a')]=function(){var _0x4428fb=this;return function(_0x2244e6){if(_0x2244e6){freeIsNotKeySip(_0x2244e6,_0x4428fb[_0x7c54('0xf')]);for(var _0x249814=0x0,_0x4fa4d9={},_0x4e4cfc={};_0x249814<_0x2244e6[_0x7c54('0x36')];_0x249814+=0x1){_0x4fa4d9=_0x2244e6[_0x249814];if(_['isUndefined'](_0x4428fb[_0x7c54('0xf')][util[_0x7c54('0x1d')]('SIP/%s',_0x4fa4d9[_0x7c54('0x1f')])])){_0x4428fb['trunks'][util['format'](_0x7c54('0x1e'),_0x4fa4d9['name'])]=new Trunk(_0x4fa4d9);}else{_0x4428fb[_0x7c54('0x33')](_0x4428fb[_0x7c54('0xf')][util[_0x7c54('0x1d')](_0x7c54('0x1e'),_0x4fa4d9[_0x7c54('0x1f')])],_0x4fa4d9);}}}return _0x4428fb[_0x7c54('0xf')];};};Realtime['prototype'][_0x7c54('0x3b')]=function(){var _0x3b637f=this;return function(_0x949459){if(_0x949459){freeIsNotKey(_0x949459,_0x3b637f[_0x7c54('0x10')],'name');for(var _0x499020=0x0,_0x224905={},_0x3da4a0={};_0x499020<_0x949459['length'];_0x499020+=0x1){_0x224905=_0x949459[_0x499020];if(_[_0x7c54('0x38')](_0x3b637f[_0x7c54('0x10')][_0x224905[_0x7c54('0x1f')]])){_0x3b637f[_0x7c54('0x10')][_0x224905[_0x7c54('0x1f')]]=new VoiceQueue(_0x224905);}else{_0x3b637f[_0x7c54('0x33')](_0x3b637f[_0x7c54('0x10')][_0x224905[_0x7c54('0x1f')]],_0x224905);}}}return _0x3b637f['voiceQueues'];};};Realtime['prototype'][_0x7c54('0x3c')]=function(){var _0x36d853=this;return function(_0x225dbf){if(_0x225dbf){freeIsNotKey(_0x225dbf,_0x36d853['triggers'],'id');for(var _0x10f9ea=0x0,_0x265397={},_0x5091cd={};_0x10f9ea<_0x225dbf[_0x7c54('0x36')];_0x10f9ea+=0x1){_0x265397=_0x225dbf[_0x10f9ea];if(_[_0x7c54('0x38')](_0x36d853[_0x7c54('0x11')][_0x265397['id']])){_0x36d853[_0x7c54('0x11')][_0x265397['id']]=new Trigger(_0x265397);}else{_0x36d853[_0x7c54('0x33')](_0x36d853[_0x7c54('0x11')][_0x265397['id']],_0x265397);}}}return _0x36d853[_0x7c54('0x11')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x3d')]=function(){var _0x2310a8=this;return function(_0x4f34d5){if(_0x4f34d5){freeIsNotKey(_0x4f34d5,_0x2310a8['templates'],'id');for(var _0x7711a6=0x0,_0xf765ec={},_0x95382d={};_0x7711a6<_0x4f34d5[_0x7c54('0x36')];_0x7711a6+=0x1){_0xf765ec=_0x4f34d5[_0x7711a6];if(_[_0x7c54('0x38')](_0x2310a8[_0x7c54('0x12')][_0xf765ec['id']])){_0x2310a8['templates'][_0xf765ec['id']]=new Template(_0xf765ec);}else{_0x2310a8[_0x7c54('0x33')](_0x2310a8[_0x7c54('0x12')][_0xf765ec['id']],_0xf765ec);}}}return _0x2310a8[_0x7c54('0x12')];};};Realtime['prototype'][_0x7c54('0x3e')]=function(){var _0x35ce1a=this;return function(_0x3656a6){if(_0x3656a6){freeIsNotKey(_0x3656a6,_0x35ce1a[_0x7c54('0x3f')],'id');for(var _0x2db6bf=0x0,_0x4d845a={},_0x129225={};_0x2db6bf<_0x3656a6[_0x7c54('0x36')];_0x2db6bf+=0x1){_0x4d845a=_0x3656a6[_0x2db6bf];if(_[_0x7c54('0x38')](_0x35ce1a['zendeskAccounts'][_0x4d845a['id']])){_0x35ce1a[_0x7c54('0x3f')][_0x4d845a['id']]=new ZendeskAccount(_0x4d845a);}else{_0x35ce1a['mergeFromDatabase'](_0x35ce1a[_0x7c54('0x3f')][_0x4d845a['id']],_0x4d845a);}}}return _0x35ce1a[_0x7c54('0x3f')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x40')]=function(){var _0x280cfa=this;return function(_0x1df2c8){if(_0x1df2c8){freeIsNotKey(_0x1df2c8,_0x280cfa[_0x7c54('0x41')],'id');for(var _0x4b8595=0x0,_0x5b94ba={},_0x394a10={};_0x4b8595<_0x1df2c8[_0x7c54('0x36')];_0x4b8595+=0x1){_0x5b94ba=_0x1df2c8[_0x4b8595];if(_[_0x7c54('0x38')](_0x280cfa[_0x7c54('0x41')][_0x5b94ba['id']])){_0x280cfa[_0x7c54('0x41')][_0x5b94ba['id']]=new SalesforceAccount(_0x5b94ba);}else{_0x280cfa[_0x7c54('0x33')](_0x280cfa[_0x7c54('0x41')][_0x5b94ba['id']],_0x5b94ba);}}}return _0x280cfa[_0x7c54('0x41')];};};Realtime['prototype']['initFreshdeskAccounts']=function(){var _0x3bb952=this;return function(_0x3b005b){if(_0x3b005b){freeIsNotKey(_0x3b005b,_0x3bb952[_0x7c54('0x17')],'id');for(var _0x50c3f9=0x0,_0x387daa={},_0x2cae0f={};_0x50c3f9<_0x3b005b[_0x7c54('0x36')];_0x50c3f9+=0x1){_0x387daa=_0x3b005b[_0x50c3f9];if(_[_0x7c54('0x38')](_0x3bb952[_0x7c54('0x17')][_0x387daa['id']])){_0x3bb952['freshdeskAccounts'][_0x387daa['id']]=new FreshdeskAccount(_0x387daa);}else{_0x3bb952[_0x7c54('0x33')](_0x3bb952[_0x7c54('0x17')][_0x387daa['id']],_0x387daa);}}}return _0x3bb952[_0x7c54('0x17')];};};Realtime[_0x7c54('0x32')]['initZohoAccounts']=function(){var _0x2b7977=this;return function(_0x75c757){if(_0x75c757){freeIsNotKey(_0x75c757,_0x2b7977[_0x7c54('0x42')],'id');for(var _0x17b153=0x0,_0x24d5e2={},_0x3d9f30={};_0x17b153<_0x75c757[_0x7c54('0x36')];_0x17b153+=0x1){_0x24d5e2=_0x75c757[_0x17b153];if(_[_0x7c54('0x38')](_0x2b7977[_0x7c54('0x42')][_0x24d5e2['id']])){_0x2b7977['zohoAccounts'][_0x24d5e2['id']]=new ZohoAccount(_0x24d5e2);}else{_0x2b7977[_0x7c54('0x33')](_0x2b7977[_0x7c54('0x42')][_0x24d5e2['id']],_0x24d5e2);}}}return _0x2b7977[_0x7c54('0x42')];};};Realtime['prototype'][_0x7c54('0x43')]=function(){var _0x2639a1=this;return function(_0xc8d5d4){if(_0xc8d5d4){freeIsNotKey(_0xc8d5d4,_0x2639a1[_0x7c54('0x18')],'id');for(var _0x1c50ea=0x0,_0x3a5351={},_0x48c24a={};_0x1c50ea<_0xc8d5d4[_0x7c54('0x36')];_0x1c50ea+=0x1){_0x3a5351=_0xc8d5d4[_0x1c50ea];if(_[_0x7c54('0x38')](_0x2639a1[_0x7c54('0x18')][_0x3a5351['id']])){_0x2639a1['deskAccounts'][_0x3a5351['id']]=new DeskAccount(_0x3a5351);}else{_0x2639a1[_0x7c54('0x33')](_0x2639a1['deskAccounts'][_0x3a5351['id']],_0x3a5351);}}}return _0x2639a1[_0x7c54('0x18')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x44')]=function(){var _0x19bf2a=this;return function(_0x5ef847){if(_0x5ef847){freeIsNotKey(_0x5ef847,_0x19bf2a[_0x7c54('0x45')],'id');for(var _0x5d44b2=0x0,_0x4a718b={},_0x2f706b={};_0x5d44b2<_0x5ef847[_0x7c54('0x36')];_0x5d44b2+=0x1){_0x4a718b=_0x5ef847[_0x5d44b2];if(_[_0x7c54('0x38')](_0x19bf2a[_0x7c54('0x45')][_0x4a718b['id']])){_0x19bf2a[_0x7c54('0x45')][_0x4a718b['id']]=new SugarcrmAccount(_0x4a718b);}else{_0x19bf2a[_0x7c54('0x33')](_0x19bf2a[_0x7c54('0x45')][_0x4a718b['id']],_0x4a718b);}}}return _0x19bf2a[_0x7c54('0x45')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x46')]=function(){var _0x50847c=this;return function(_0x290960){if(_0x290960){freeIsNotKey(_0x290960,_0x50847c['vtigerAccounts'],'id');for(var _0x5053d7=0x0,_0x4e7b89={},_0x1bcd06={};_0x5053d7<_0x290960[_0x7c54('0x36')];_0x5053d7+=0x1){_0x4e7b89=_0x290960[_0x5053d7];if(_[_0x7c54('0x38')](_0x50847c[_0x7c54('0x47')][_0x4e7b89['id']])){_0x50847c[_0x7c54('0x47')][_0x4e7b89['id']]=new VtigerAccount(_0x4e7b89);}else{_0x50847c[_0x7c54('0x33')](_0x50847c[_0x7c54('0x47')][_0x4e7b89['id']],_0x4e7b89);}}}return _0x50847c['vtigerAccounts'];};};Realtime[_0x7c54('0x32')]['initServicenowAccounts']=function(){var _0x34607f=this;return function(_0x4376d3){if(_0x4376d3){freeIsNotKey(_0x4376d3,_0x34607f[_0x7c54('0x19')],'id');for(var _0x150875=0x0,_0x1ec196={},_0xffa9e3={};_0x150875<_0x4376d3['length'];_0x150875+=0x1){_0x1ec196=_0x4376d3[_0x150875];if(_[_0x7c54('0x38')](_0x34607f[_0x7c54('0x19')][_0x1ec196['id']])){_0x34607f[_0x7c54('0x19')][_0x1ec196['id']]=new ServicenowAccount(_0x1ec196);}else{_0x34607f[_0x7c54('0x33')](_0x34607f[_0x7c54('0x19')][_0x1ec196['id']],_0x1ec196);}}}return _0x34607f[_0x7c54('0x19')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x48')]=function(){var _0x1997cc=this;return function(_0x11a316){if(_0x11a316){freeIsNotKey(_0x11a316,_0x1997cc[_0x7c54('0x49')],'id');for(var _0x30976d=0x0,_0x312c3d={},_0x45f1d1={};_0x30976d<_0x11a316[_0x7c54('0x36')];_0x30976d+=0x1){_0x312c3d=_0x11a316[_0x30976d];if(_[_0x7c54('0x38')](_0x1997cc[_0x7c54('0x49')][_0x312c3d['id']])){_0x1997cc[_0x7c54('0x49')][_0x312c3d['id']]=new Dynamics365Account(_0x312c3d);}else{_0x1997cc['mergeFromDatabase'](_0x1997cc['dynamics365Accounts'][_0x312c3d['id']],_0x312c3d);}}}return _0x1997cc[_0x7c54('0x49')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x4a')]=function(){var _0x8d5ea4=this;return function(_0x1b3689){if(_0x1b3689){freeIsNotKey(_0x1b3689,_0x8d5ea4[_0x7c54('0x4b')],'id');for(var _0xba4f4=0x0,_0x41e475={},_0x259dac={};_0xba4f4<_0x1b3689[_0x7c54('0x36')];_0xba4f4+=0x1){_0x41e475=_0x1b3689[_0xba4f4];if(_[_0x7c54('0x38')](_0x8d5ea4['freshsalesAccounts'][_0x41e475['id']])){_0x8d5ea4[_0x7c54('0x4b')][_0x41e475['id']]=new FreshsalesAccount(_0x41e475);}else{_0x8d5ea4[_0x7c54('0x33')](_0x8d5ea4[_0x7c54('0x4b')][_0x41e475['id']],_0x41e475);}}}return _0x8d5ea4['freshsalesAccounts'];};};Realtime[_0x7c54('0x32')]['initVoiceQueueHopperHistory']=function(){var _0x3c4b56=this;return function(_0x3b94e0){for(var _0x432eed=0x0;_0x432eed<_0x3b94e0[_0x7c54('0x36')];_0x432eed+=0x1){_[_0x7c54('0x4c')](_0x3c4b56[_0x7c54('0x10')][_0x3b94e0[_0x432eed][_0x7c54('0x1f')]],_0x3b94e0[_0x432eed]);}return _0x3c4b56['voiceQueues'];};};Realtime['prototype']['initVoiceQueueReports']=function(){var _0x206b2b=this;return function(_0x589fc8){clearVoiceQueues(_0x206b2b[_0x7c54('0x10')]);if(_0x589fc8){_0x589fc8=_[_0x7c54('0x4d')](_0x589fc8,'uniqueid');for(var _0x2e86f1 in _0x589fc8){if(_0x589fc8[_0x7c54('0x1c')](_0x2e86f1)){var _0x30d77a={};for(var _0x82ce39=0x0;_0x82ce39<_0x589fc8[_0x2e86f1][_0x7c54('0x36')];_0x82ce39+=0x1){var _0x18e8ab=_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x4e')];if(_0x206b2b[_0x7c54('0x10')][_0x18e8ab]){if(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x4f')]){_0x206b2b[_0x7c54('0x10')][_0x18e8ab][_0x7c54('0x50')]+=0x1;}if(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x51')]){_0x206b2b[_0x7c54('0x10')][_0x18e8ab]['abandoned']+=0x1;}_0x206b2b[_0x7c54('0x10')][_0x18e8ab][_0x7c54('0x52')]+=moment(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x53')])[_0x7c54('0x54')](moment(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x55')]),_0x7c54('0x56'))||0x0;if(_0x82ce39===_0x589fc8[_0x2e86f1]['length']-0x1){_0x206b2b[_0x7c54('0x10')][_0x18e8ab]['sumDuration']+=moment(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x57')]||_0x589fc8[_0x2e86f1][_0x82ce39]['queuecallerabandonAt']||_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x58')])[_0x7c54('0x54')](moment(_0x589fc8[_0x2e86f1][_0x82ce39]['queuecallerjoinAt']),_0x7c54('0x56'))||0x0;_0x206b2b[_0x7c54('0x10')][_0x18e8ab][_0x7c54('0x24')]+=0x1;if(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x59')]){_0x206b2b['voiceQueues'][_0x18e8ab][_0x7c54('0x25')]+=0x1;_0x206b2b[_0x7c54('0x10')][_0x18e8ab][_0x7c54('0x21')]+=moment(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x57')])[_0x7c54('0x54')](moment(_0x589fc8[_0x2e86f1][_0x82ce39][_0x7c54('0x53')]),'seconds')||0x0;}}else{_0x206b2b[_0x7c54('0x10')][_0x18e8ab][_0x7c54('0x5a')]+=_0x206b2b[_0x7c54('0x10')][_0x18e8ab][_0x7c54('0x52')]||0x0;}}}}}}return _0x206b2b[_0x7c54('0x10')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x5b')]=function(){var _0x39994=this;return function(_0x5dd2d9){clearVoiceCallReports(_0x39994[_0x7c54('0x13')]);if(_0x5dd2d9){for(var _0x2e1828=0x0;_0x2e1828<_0x5dd2d9[_0x7c54('0x36')];_0x2e1828+=0x1){_0x39994[_0x7c54('0x13')][_0x7c54('0x24')]+=0x1;_0x39994['outbound'][_0x7c54('0x5a')]+=_0x5dd2d9[_0x2e1828]['duration'];if(_0x5dd2d9[_0x2e1828][_0x7c54('0x5c')]===_0x7c54('0x5d')){_0x39994[_0x7c54('0x13')]['answered']+=0x1;_0x39994['outbound'][_0x7c54('0x52')]+=_0x5dd2d9[_0x2e1828][_0x7c54('0x5e')]-_0x5dd2d9[_0x2e1828][_0x7c54('0x5f')]||0x0;_0x39994[_0x7c54('0x13')]['sumBillable']+=_0x5dd2d9[_0x2e1828][_0x7c54('0x5f')];}}}return _0x39994[_0x7c54('0x13')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x60')]=function(){var _0x3597c9=this;return function(_0x2d1d0b){if(_0x2d1d0b){freeIsNotKey(_0x2d1d0b,_0x3597c9[_0x7c54('0x61')],_0x7c54('0x1f'));for(var _0x1387ab=0x0,_0x3b4a22={};_0x1387ab<_0x2d1d0b[_0x7c54('0x36')];_0x1387ab+=0x1){_0x3b4a22=_0x2d1d0b[_0x1387ab];if(_[_0x7c54('0x38')](_0x3597c9[_0x7c54('0x61')][_0x3b4a22[_0x7c54('0x1f')]])){_0x3597c9['campaigns'][_0x3b4a22[_0x7c54('0x1f')]]=new Campaign(_0x3b4a22);}else{_0x3597c9['mergeFromDatabase'](_0x3597c9[_0x7c54('0x61')][_0x3b4a22[_0x7c54('0x1f')]],_0x3b4a22);_0x3597c9[_0x7c54('0x61')][_0x3b4a22['name']][_0x7c54('0x62')]=_0x3b4a22[_0x7c54('0x63')]?_0x3b4a22[_0x7c54('0x63')][_0x7c54('0x1f')]:undefined;}}}return _0x3597c9[_0x7c54('0x61')];};};Realtime[_0x7c54('0x32')][_0x7c54('0x64')]=function(){var _0x551046=this;return function(_0x108b8d){if(_0x108b8d){freeIsNotKey(_0x108b8d,_0x551046[_0x7c54('0x65')],'id');for(var _0x3d02d8=0x0,_0x5b880c={};_0x3d02d8<_0x108b8d['length'];_0x3d02d8+=0x1){_0x5b880c=_0x108b8d[_0x3d02d8];if(_[_0x7c54('0x38')](_0x551046[_0x7c54('0x65')][_0x5b880c['id']])){_0x551046['voiceExtensions'][_0x5b880c['id']]=new VoiceExtension(_0x5b880c);}else{_0x551046['mergeFromDatabase'](_0x551046[_0x7c54('0x65')][_0x5b880c['id']],_0x5b880c);}}}return _0x551046[_0x7c54('0x65')];};};Realtime['prototype'][_0x7c54('0x66')]=function(){var _0x2974e1=this;return function(_0x1fc184){clearCampaigns(_0x2974e1[_0x7c54('0x61')]);for(var _0x3f32bc=0x0;_0x3f32bc<_0x1fc184[_0x7c54('0x36')];_0x3f32bc+=0x1){_[_0x7c54('0x4c')](_0x2974e1[_0x7c54('0x61')][_0x1fc184[_0x3f32bc][_0x7c54('0x1f')]],_0x1fc184[_0x3f32bc]);}return _0x2974e1['campaigns'];};};Realtime[_0x7c54('0x32')][_0x7c54('0x67')]=function(){var _0x567c8d=this;return function(_0x21a69b){if(_0x21a69b){freeIsNotKey(_0x21a69b,_0x567c8d[_0x7c54('0x1a')],'id');for(var _0x266e75=0x0,_0x4024c0={},_0x46c93f={};_0x266e75<_0x21a69b[_0x7c54('0x36')];_0x266e75+=0x1){_0x4024c0=_0x21a69b[_0x266e75];if(_[_0x7c54('0x38')](_0x567c8d[_0x7c54('0x1a')][_0x4024c0['id']])){_0x567c8d['faxAccounts'][_0x4024c0['id']]=new FaxAccount(_0x4024c0);}else{_0x567c8d['mergeFromDatabase'](_0x567c8d['faxAccounts'][_0x4024c0['id']],_0x4024c0);}}}return _0x567c8d[_0x7c54('0x1a')];};};module[_0x7c54('0x68')]=Realtime;