d39e8615b38a3347feb9797f07265fc5756f9c44
[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 _0x7835=['groupBy','uniqueid','queue','queuecallerexit','queuecallerleaveAt','queuecallerjoinAt','seconds','queuecallerabandonAt','queuecallerexitAt','diff','queuecallercomplete','duration','ANSWERED','billableseconds','initCampaigns','campaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','faxAccounts','bluebird','util','lodash','moment','../model/agent','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','triggers','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','zendeskAccounts','salesforceAccounts','freshdeskAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','hasOwnProperty','mapKeys','format','SIP/%s','interface','total','answered','sumHoldTime','sumDuration','ivrTotalCallsDays','isEmpty','abandoned','sumBillable','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerAgiCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isNil','name','isUndefined','initTrunks','initVoiceQueues','voiceQueues','initTriggers','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','zohoAccounts','sugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports'];(function(_0x1abeb2,_0x79f462){var _0x48da20=function(_0x42a90b){while(--_0x42a90b){_0x1abeb2['push'](_0x1abeb2['shift']());}};_0x48da20(++_0x79f462);}(_0x7835,0xec));var _0x5783=function(_0x5d1711,_0x48ac5e){_0x5d1711=_0x5d1711-0x0;var _0xb80692=_0x7835[_0x5d1711];return _0xb80692;};'use strict';var BPromise=require(_0x5783('0x0'));var util=require(_0x5783('0x1'));var _=require(_0x5783('0x2'));var moment=require(_0x5783('0x3'));var Agent=require(_0x5783('0x4'));var Telephone=require('../model/telephone');var Trunk=require(_0x5783('0x5'));var VoiceQueue=require(_0x5783('0x6'));var Trigger=require(_0x5783('0x7'));var Template=require('../model/template');var Campaign=require(_0x5783('0x8'));var VoiceExtension=require(_0x5783('0x9'));var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0x5783('0xa'));var FreshdeskAccount=require(_0x5783('0xb'));var SugarcrmAccount=require(_0x5783('0xc'));var ZohoAccount=require(_0x5783('0xd'));var DeskAccount=require(_0x5783('0xe'));var VtigerAccount=require(_0x5783('0xf'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x5783('0x10'));var FreshsalesAccount=require(_0x5783('0x11'));var FaxAccount=require(_0x5783('0x12'));var Realtime=function(){this[_0x5783('0x13')]={};this[_0x5783('0x14')]={};this[_0x5783('0x15')]={};this['voiceQueues']={};this[_0x5783('0x16')]={};this['campaigns']={};this[_0x5783('0x17')]={};this[_0x5783('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x5783('0x19')]={};this[_0x5783('0x1a')]={};this[_0x5783('0x1b')]={};this[_0x5783('0x1c')]={};this['timers']={};this[_0x5783('0x1d')]={};this[_0x5783('0x1e')]={};this['sugarcrmAccounts']={};this[_0x5783('0x1f')]={};this['zohoAccounts']={};this[_0x5783('0x20')]={};this[_0x5783('0x21')]={};this[_0x5783('0x22')]={};this[_0x5783('0x23')]={};this[_0x5783('0x24')]={};this['faxAccounts']={};};function freeIsNotKey(_0x100b2b,_0x45c077,_0x4f08d8){var _0x41b522=_['mapKeys'](_0x100b2b,function(_0xdcbe14,_0x47a23b){return _0xdcbe14[_0x4f08d8];});for(var _0x3782d1 in _0x45c077){if(_0x45c077[_0x5783('0x25')](_0x3782d1)){if(!_0x41b522[_0x3782d1]){delete _0x45c077[_0x3782d1];}}}}function freeIsNotKeySip(_0x23728b,_0x489426){var _0x3cadc3=_[_0x5783('0x26')](_0x23728b,function(_0x2a5ce2,_0x3d2d43){return util[_0x5783('0x27')](_0x5783('0x28'),_0x2a5ce2['name']);});for(var _0x4a7f89 in _0x489426){if(_0x489426[_0x5783('0x25')](_0x4a7f89)){if(!_0x3cadc3[_0x4a7f89]){delete _0x489426[_0x4a7f89];}}}}function freeIsNotKeyAgent(_0x5c76d3,_0x3a6941){var _0x419aa1=_[_0x5783('0x26')](_0x5c76d3,function(_0x1269fc,_0x4b9661){var _0x15a784=_['isNil'](_0x1269fc[_0x5783('0x29')])?util[_0x5783('0x27')](_0x5783('0x28'),_0x1269fc['name']):_0x1269fc[_0x5783('0x29')];return _0x15a784;});for(var _0x5a4b08 in _0x3a6941){if(_0x3a6941['hasOwnProperty'](_0x5a4b08)){if(!_0x419aa1[_0x5a4b08]){delete _0x3a6941[_0x5a4b08];}}}}function clearVoiceCallReports(_0x512af6){_0x512af6[_0x5783('0x2a')]=0x0;_0x512af6[_0x5783('0x2b')]=0x0;_0x512af6[_0x5783('0x2c')]=0x0;_0x512af6[_0x5783('0x2d')]=0x0;_0x512af6['sumBillable']=0x0;}function clearCampaigns(_0x440a94){if(!_['isEmpty'](_0x440a94)){for(var _0x60a68d in _0x440a94){if(_0x440a94[_0x5783('0x25')](_0x60a68d)){_0x440a94[_0x60a68d][_0x5783('0x2e')]=0x0;_0x440a94[_0x60a68d]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0xf5b6e7){if(!_[_0x5783('0x2f')](_0xf5b6e7)){for(var _0x1a5701 in _0xf5b6e7){if(_0xf5b6e7[_0x5783('0x25')](_0x1a5701)){_0xf5b6e7[_0x1a5701][_0x5783('0x2a')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x2b')]=0x0;_0xf5b6e7[_0x1a5701]['unmanaged']=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x30')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x2c')]=0x0;_0xf5b6e7[_0x1a5701]['sumDuration']=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x31')]=0x0;_0xf5b6e7[_0x1a5701]['outboundAnswerAgiCallsDay']=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x32')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x33')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x34')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x35')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x36')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x37')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x38')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x39')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x3a')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x3b')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x3c')]=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x3d')]=0x0;_0xf5b6e7[_0x1a5701]['outboundAnswerCallsDay']=0x0;_0xf5b6e7[_0x1a5701][_0x5783('0x3e')]=!![];}}}}Realtime[_0x5783('0x3f')][_0x5783('0x40')]=function(_0x5e929e,_0x4b277f){for(var _0x24011d in _0x4b277f){if(_0x5e929e[_0x5783('0x25')](_0x24011d)){_0x5e929e[_0x24011d]=_0x4b277f[_0x24011d];}}};Realtime[_0x5783('0x3f')][_0x5783('0x41')]=function(){var _0x117c4c=this;return function(_0x5512d3){if(_0x5512d3){freeIsNotKeyAgent(_0x5512d3,_0x117c4c[_0x5783('0x13')]);for(var _0x12a522=0x0,_0x27d660={},_0x37ea46={};_0x12a522<_0x5512d3[_0x5783('0x42')];_0x12a522+=0x1){_0x27d660=_0x5512d3[_0x12a522];var _0x42bcbf=_[_0x5783('0x43')](_0x27d660['interface'])?util['format'](_0x5783('0x28'),_0x27d660[_0x5783('0x44')]):_0x27d660[_0x5783('0x29')];if(_['isUndefined'](_0x117c4c[_0x5783('0x13')][_0x42bcbf])){_0x117c4c['agents'][_0x42bcbf]=new Agent(_0x27d660);}else{_0x117c4c[_0x5783('0x40')](_0x117c4c[_0x5783('0x13')][_0x42bcbf],_0x27d660);}}}return _0x117c4c[_0x5783('0x13')];};};Realtime[_0x5783('0x3f')]['initTelephones']=function(){var _0x2f7e9a=this;return function(_0x17e251){if(_0x17e251){freeIsNotKeySip(_0x17e251,_0x2f7e9a[_0x5783('0x14')]);for(var _0x1558ab=0x0,_0x5ac270={},_0x10023f={};_0x1558ab<_0x17e251['length'];_0x1558ab+=0x1){_0x5ac270=_0x17e251[_0x1558ab];if(_[_0x5783('0x45')](_0x2f7e9a['telephones'][util[_0x5783('0x27')]('SIP/%s',_0x5ac270['name'])])){_0x2f7e9a['telephones'][util[_0x5783('0x27')](_0x5783('0x28'),_0x5ac270[_0x5783('0x44')])]=new Telephone(_0x5ac270);}else{_0x2f7e9a[_0x5783('0x40')](_0x2f7e9a[_0x5783('0x14')][util['format'](_0x5783('0x28'),_0x5ac270[_0x5783('0x44')])],_0x5ac270);}}}return _0x2f7e9a[_0x5783('0x14')];};};Realtime[_0x5783('0x3f')][_0x5783('0x46')]=function(){var _0x39c451=this;return function(_0x4378a0){if(_0x4378a0){freeIsNotKeySip(_0x4378a0,_0x39c451[_0x5783('0x15')]);for(var _0x519788=0x0,_0x438aca={},_0x136ce0={};_0x519788<_0x4378a0[_0x5783('0x42')];_0x519788+=0x1){_0x438aca=_0x4378a0[_0x519788];if(_[_0x5783('0x45')](_0x39c451[_0x5783('0x15')][util[_0x5783('0x27')](_0x5783('0x28'),_0x438aca[_0x5783('0x44')])])){_0x39c451[_0x5783('0x15')][util[_0x5783('0x27')](_0x5783('0x28'),_0x438aca[_0x5783('0x44')])]=new Trunk(_0x438aca);}else{_0x39c451[_0x5783('0x40')](_0x39c451['trunks'][util['format']('SIP/%s',_0x438aca[_0x5783('0x44')])],_0x438aca);}}}return _0x39c451[_0x5783('0x15')];};};Realtime[_0x5783('0x3f')][_0x5783('0x47')]=function(){var _0xbb3263=this;return function(_0x2533b3){if(_0x2533b3){freeIsNotKey(_0x2533b3,_0xbb3263[_0x5783('0x48')],_0x5783('0x44'));for(var _0xd9dbab=0x0,_0xb7a490={},_0x2c7278={};_0xd9dbab<_0x2533b3[_0x5783('0x42')];_0xd9dbab+=0x1){_0xb7a490=_0x2533b3[_0xd9dbab];if(_[_0x5783('0x45')](_0xbb3263[_0x5783('0x48')][_0xb7a490['name']])){_0xbb3263[_0x5783('0x48')][_0xb7a490[_0x5783('0x44')]]=new VoiceQueue(_0xb7a490);}else{_0xbb3263[_0x5783('0x40')](_0xbb3263['voiceQueues'][_0xb7a490[_0x5783('0x44')]],_0xb7a490);}}}return _0xbb3263[_0x5783('0x48')];};};Realtime[_0x5783('0x3f')][_0x5783('0x49')]=function(){var _0x3c315c=this;return function(_0x594aac){if(_0x594aac){freeIsNotKey(_0x594aac,_0x3c315c['triggers'],'id');for(var _0x538468=0x0,_0x2dc4fc={},_0x2dacde={};_0x538468<_0x594aac[_0x5783('0x42')];_0x538468+=0x1){_0x2dc4fc=_0x594aac[_0x538468];if(_[_0x5783('0x45')](_0x3c315c['triggers'][_0x2dc4fc['id']])){_0x3c315c['triggers'][_0x2dc4fc['id']]=new Trigger(_0x2dc4fc);}else{_0x3c315c[_0x5783('0x40')](_0x3c315c[_0x5783('0x16')][_0x2dc4fc['id']],_0x2dc4fc);}}}return _0x3c315c['triggers'];};};Realtime[_0x5783('0x3f')]['initTemplates']=function(){var _0x3aa643=this;return function(_0x27b537){if(_0x27b537){freeIsNotKey(_0x27b537,_0x3aa643[_0x5783('0x17')],'id');for(var _0x344170=0x0,_0x105ed6={},_0x5012db={};_0x344170<_0x27b537[_0x5783('0x42')];_0x344170+=0x1){_0x105ed6=_0x27b537[_0x344170];if(_[_0x5783('0x45')](_0x3aa643['templates'][_0x105ed6['id']])){_0x3aa643[_0x5783('0x17')][_0x105ed6['id']]=new Template(_0x105ed6);}else{_0x3aa643[_0x5783('0x40')](_0x3aa643[_0x5783('0x17')][_0x105ed6['id']],_0x105ed6);}}}return _0x3aa643[_0x5783('0x17')];};};Realtime['prototype'][_0x5783('0x4a')]=function(){var _0x27e660=this;return function(_0x36efc9){if(_0x36efc9){freeIsNotKey(_0x36efc9,_0x27e660['zendeskAccounts'],'id');for(var _0x37bed9=0x0,_0x349d27={},_0x5acd5d={};_0x37bed9<_0x36efc9[_0x5783('0x42')];_0x37bed9+=0x1){_0x349d27=_0x36efc9[_0x37bed9];if(_[_0x5783('0x45')](_0x27e660[_0x5783('0x1d')][_0x349d27['id']])){_0x27e660[_0x5783('0x1d')][_0x349d27['id']]=new ZendeskAccount(_0x349d27);}else{_0x27e660[_0x5783('0x40')](_0x27e660[_0x5783('0x1d')][_0x349d27['id']],_0x349d27);}}}return _0x27e660[_0x5783('0x1d')];};};Realtime[_0x5783('0x3f')][_0x5783('0x4b')]=function(){var _0x5230ca=this;return function(_0x55e004){if(_0x55e004){freeIsNotKey(_0x55e004,_0x5230ca[_0x5783('0x1e')],'id');for(var _0x131518=0x0,_0x1dd123={},_0x486671={};_0x131518<_0x55e004[_0x5783('0x42')];_0x131518+=0x1){_0x1dd123=_0x55e004[_0x131518];if(_['isUndefined'](_0x5230ca['salesforceAccounts'][_0x1dd123['id']])){_0x5230ca['salesforceAccounts'][_0x1dd123['id']]=new SalesforceAccount(_0x1dd123);}else{_0x5230ca[_0x5783('0x40')](_0x5230ca[_0x5783('0x1e')][_0x1dd123['id']],_0x1dd123);}}}return _0x5230ca[_0x5783('0x1e')];};};Realtime[_0x5783('0x3f')][_0x5783('0x4c')]=function(){var _0x1bb9cd=this;return function(_0x1cb2bc){if(_0x1cb2bc){freeIsNotKey(_0x1cb2bc,_0x1bb9cd[_0x5783('0x1f')],'id');for(var _0x58cbd4=0x0,_0x5e117d={},_0x20ebad={};_0x58cbd4<_0x1cb2bc[_0x5783('0x42')];_0x58cbd4+=0x1){_0x5e117d=_0x1cb2bc[_0x58cbd4];if(_['isUndefined'](_0x1bb9cd[_0x5783('0x1f')][_0x5e117d['id']])){_0x1bb9cd[_0x5783('0x1f')][_0x5e117d['id']]=new FreshdeskAccount(_0x5e117d);}else{_0x1bb9cd[_0x5783('0x40')](_0x1bb9cd[_0x5783('0x1f')][_0x5e117d['id']],_0x5e117d);}}}return _0x1bb9cd[_0x5783('0x1f')];};};Realtime['prototype']['initZohoAccounts']=function(){var _0x23dd02=this;return function(_0x4a1157){if(_0x4a1157){freeIsNotKey(_0x4a1157,_0x23dd02[_0x5783('0x4d')],'id');for(var _0x189e2e=0x0,_0x13b194={},_0xdcf92d={};_0x189e2e<_0x4a1157[_0x5783('0x42')];_0x189e2e+=0x1){_0x13b194=_0x4a1157[_0x189e2e];if(_[_0x5783('0x45')](_0x23dd02[_0x5783('0x4d')][_0x13b194['id']])){_0x23dd02[_0x5783('0x4d')][_0x13b194['id']]=new ZohoAccount(_0x13b194);}else{_0x23dd02['mergeFromDatabase'](_0x23dd02[_0x5783('0x4d')][_0x13b194['id']],_0x13b194);}}}return _0x23dd02[_0x5783('0x4d')];};};Realtime[_0x5783('0x3f')]['initDeskAccounts']=function(){var _0x502d97=this;return function(_0x4530ef){if(_0x4530ef){freeIsNotKey(_0x4530ef,_0x502d97['deskAccounts'],'id');for(var _0x42e7a5=0x0,_0x483426={},_0x5e9293={};_0x42e7a5<_0x4530ef[_0x5783('0x42')];_0x42e7a5+=0x1){_0x483426=_0x4530ef[_0x42e7a5];if(_[_0x5783('0x45')](_0x502d97[_0x5783('0x20')][_0x483426['id']])){_0x502d97[_0x5783('0x20')][_0x483426['id']]=new DeskAccount(_0x483426);}else{_0x502d97[_0x5783('0x40')](_0x502d97['deskAccounts'][_0x483426['id']],_0x483426);}}}return _0x502d97['deskAccounts'];};};Realtime[_0x5783('0x3f')]['initSugarcrmAccounts']=function(){var _0x3748f3=this;return function(_0x55b421){if(_0x55b421){freeIsNotKey(_0x55b421,_0x3748f3[_0x5783('0x4e')],'id');for(var _0x174fec=0x0,_0xbc923f={},_0x5a7884={};_0x174fec<_0x55b421[_0x5783('0x42')];_0x174fec+=0x1){_0xbc923f=_0x55b421[_0x174fec];if(_[_0x5783('0x45')](_0x3748f3['sugarcrmAccounts'][_0xbc923f['id']])){_0x3748f3[_0x5783('0x4e')][_0xbc923f['id']]=new SugarcrmAccount(_0xbc923f);}else{_0x3748f3[_0x5783('0x40')](_0x3748f3[_0x5783('0x4e')][_0xbc923f['id']],_0xbc923f);}}}return _0x3748f3[_0x5783('0x4e')];};};Realtime[_0x5783('0x3f')][_0x5783('0x4f')]=function(){var _0x3aa474=this;return function(_0x387907){if(_0x387907){freeIsNotKey(_0x387907,_0x3aa474['vtigerAccounts'],'id');for(var _0x2327e3=0x0,_0x165dcb={},_0xf5acd8={};_0x2327e3<_0x387907['length'];_0x2327e3+=0x1){_0x165dcb=_0x387907[_0x2327e3];if(_[_0x5783('0x45')](_0x3aa474[_0x5783('0x21')][_0x165dcb['id']])){_0x3aa474['vtigerAccounts'][_0x165dcb['id']]=new VtigerAccount(_0x165dcb);}else{_0x3aa474[_0x5783('0x40')](_0x3aa474[_0x5783('0x21')][_0x165dcb['id']],_0x165dcb);}}}return _0x3aa474[_0x5783('0x21')];};};Realtime[_0x5783('0x3f')][_0x5783('0x50')]=function(){var _0x1f608f=this;return function(_0x5ee23c){if(_0x5ee23c){freeIsNotKey(_0x5ee23c,_0x1f608f['servicenowAccounts'],'id');for(var _0x4a6607=0x0,_0x5e891d={},_0x5a301d={};_0x4a6607<_0x5ee23c[_0x5783('0x42')];_0x4a6607+=0x1){_0x5e891d=_0x5ee23c[_0x4a6607];if(_[_0x5783('0x45')](_0x1f608f[_0x5783('0x22')][_0x5e891d['id']])){_0x1f608f[_0x5783('0x22')][_0x5e891d['id']]=new ServicenowAccount(_0x5e891d);}else{_0x1f608f[_0x5783('0x40')](_0x1f608f['servicenowAccounts'][_0x5e891d['id']],_0x5e891d);}}}return _0x1f608f[_0x5783('0x22')];};};Realtime['prototype'][_0x5783('0x51')]=function(){var _0x4b2247=this;return function(_0x187a3a){if(_0x187a3a){freeIsNotKey(_0x187a3a,_0x4b2247['dynamics365Accounts'],'id');for(var _0x6ceecc=0x0,_0x62f6d4={},_0x1e3278={};_0x6ceecc<_0x187a3a['length'];_0x6ceecc+=0x1){_0x62f6d4=_0x187a3a[_0x6ceecc];if(_[_0x5783('0x45')](_0x4b2247[_0x5783('0x23')][_0x62f6d4['id']])){_0x4b2247[_0x5783('0x23')][_0x62f6d4['id']]=new Dynamics365Account(_0x62f6d4);}else{_0x4b2247['mergeFromDatabase'](_0x4b2247[_0x5783('0x23')][_0x62f6d4['id']],_0x62f6d4);}}}return _0x4b2247['dynamics365Accounts'];};};Realtime[_0x5783('0x3f')]['initFreshsalesAccounts']=function(){var _0x465891=this;return function(_0x2e431f){if(_0x2e431f){freeIsNotKey(_0x2e431f,_0x465891['freshsalesAccounts'],'id');for(var _0xa76f3=0x0,_0x148f92={},_0x512bad={};_0xa76f3<_0x2e431f['length'];_0xa76f3+=0x1){_0x148f92=_0x2e431f[_0xa76f3];if(_[_0x5783('0x45')](_0x465891[_0x5783('0x24')][_0x148f92['id']])){_0x465891[_0x5783('0x24')][_0x148f92['id']]=new FreshsalesAccount(_0x148f92);}else{_0x465891[_0x5783('0x40')](_0x465891[_0x5783('0x24')][_0x148f92['id']],_0x148f92);}}}return _0x465891[_0x5783('0x24')];};};Realtime[_0x5783('0x3f')][_0x5783('0x52')]=function(){var _0x100ff0=this;return function(_0x1784d5){for(var _0xd7dc32=0x0;_0xd7dc32<_0x1784d5[_0x5783('0x42')];_0xd7dc32+=0x1){_[_0x5783('0x53')](_0x100ff0[_0x5783('0x48')][_0x1784d5[_0xd7dc32][_0x5783('0x44')]],_0x1784d5[_0xd7dc32]);}return _0x100ff0['voiceQueues'];};};Realtime[_0x5783('0x3f')][_0x5783('0x54')]=function(){var _0x4f16d1=this;return function(_0x572f65){clearVoiceQueues(_0x4f16d1[_0x5783('0x48')]);if(_0x572f65){_0x572f65=_[_0x5783('0x55')](_0x572f65,_0x5783('0x56'));for(var _0x1a3df7 in _0x572f65){if(_0x572f65[_0x5783('0x25')](_0x1a3df7)){var _0x10b8d5={};for(var _0x214aaf=0x0;_0x214aaf<_0x572f65[_0x1a3df7][_0x5783('0x42')];_0x214aaf+=0x1){var _0x477946=_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x57')];if(_0x4f16d1['voiceQueues'][_0x477946]){if(_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x58')]){_0x4f16d1[_0x5783('0x48')][_0x477946]['unmanaged']+=0x1;}if(_0x572f65[_0x1a3df7][_0x214aaf]['queuecallerabandon']){_0x4f16d1[_0x5783('0x48')][_0x477946][_0x5783('0x30')]+=0x1;}_0x4f16d1[_0x5783('0x48')][_0x477946][_0x5783('0x2c')]+=moment(_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x59')])['diff'](moment(_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x5a')]),_0x5783('0x5b'))||0x0;if(_0x214aaf===_0x572f65[_0x1a3df7][_0x5783('0x42')]-0x1){_0x4f16d1[_0x5783('0x48')][_0x477946][_0x5783('0x2d')]+=moment(_0x572f65[_0x1a3df7][_0x214aaf]['queuecallercompleteAt']||_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x5c')]||_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x5d')])[_0x5783('0x5e')](moment(_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x5a')]),_0x5783('0x5b'))||0x0;_0x4f16d1[_0x5783('0x48')][_0x477946][_0x5783('0x2a')]+=0x1;if(_0x572f65[_0x1a3df7][_0x214aaf][_0x5783('0x5f')]){_0x4f16d1[_0x5783('0x48')][_0x477946][_0x5783('0x2b')]+=0x1;_0x4f16d1[_0x5783('0x48')][_0x477946][_0x5783('0x31')]+=moment(_0x572f65[_0x1a3df7][_0x214aaf]['queuecallercompleteAt'])['diff'](moment(_0x572f65[_0x1a3df7][_0x214aaf]['queuecallerleaveAt']),_0x5783('0x5b'))||0x0;}}else{_0x4f16d1[_0x5783('0x48')][_0x477946]['sumDuration']+=_0x4f16d1['voiceQueues'][_0x477946][_0x5783('0x2c')]||0x0;}}}}}}return _0x4f16d1[_0x5783('0x48')];};};Realtime[_0x5783('0x3f')]['initVoiceCallReports']=function(){var _0x46ace9=this;return function(_0x16d305){clearVoiceCallReports(_0x46ace9[_0x5783('0x18')]);if(_0x16d305){for(var _0x226632=0x0;_0x226632<_0x16d305[_0x5783('0x42')];_0x226632+=0x1){_0x46ace9[_0x5783('0x18')][_0x5783('0x2a')]+=0x1;_0x46ace9['outbound']['sumDuration']+=_0x16d305[_0x226632][_0x5783('0x60')];if(_0x16d305[_0x226632]['disposition']===_0x5783('0x61')){_0x46ace9['outbound']['answered']+=0x1;_0x46ace9[_0x5783('0x18')][_0x5783('0x2c')]+=_0x16d305[_0x226632][_0x5783('0x60')]-_0x16d305[_0x226632][_0x5783('0x62')]||0x0;_0x46ace9['outbound'][_0x5783('0x31')]+=_0x16d305[_0x226632][_0x5783('0x62')];}}}return _0x46ace9[_0x5783('0x18')];};};Realtime['prototype'][_0x5783('0x63')]=function(){var _0x2b24a8=this;return function(_0x156dc6){if(_0x156dc6){freeIsNotKey(_0x156dc6,_0x2b24a8[_0x5783('0x64')],_0x5783('0x44'));for(var _0x461199=0x0,_0xd1f6f={};_0x461199<_0x156dc6[_0x5783('0x42')];_0x461199+=0x1){_0xd1f6f=_0x156dc6[_0x461199];if(_[_0x5783('0x45')](_0x2b24a8[_0x5783('0x64')][_0xd1f6f[_0x5783('0x44')]])){_0x2b24a8['campaigns'][_0xd1f6f[_0x5783('0x44')]]=new Campaign(_0xd1f6f);}else{_0x2b24a8[_0x5783('0x40')](_0x2b24a8[_0x5783('0x64')][_0xd1f6f['name']],_0xd1f6f);_0x2b24a8['campaigns'][_0xd1f6f[_0x5783('0x44')]][_0x5783('0x65')]=_0xd1f6f[_0x5783('0x66')]?_0xd1f6f['SquareProject']['name']:undefined;}}}return _0x2b24a8[_0x5783('0x64')];};};Realtime[_0x5783('0x3f')][_0x5783('0x67')]=function(){var _0x530966=this;return function(_0x98fcfb){if(_0x98fcfb){freeIsNotKey(_0x98fcfb,_0x530966[_0x5783('0x19')],'id');for(var _0x51f467=0x0,_0x1f3a61={};_0x51f467<_0x98fcfb[_0x5783('0x42')];_0x51f467+=0x1){_0x1f3a61=_0x98fcfb[_0x51f467];if(_['isUndefined'](_0x530966[_0x5783('0x19')][_0x1f3a61['id']])){_0x530966[_0x5783('0x19')][_0x1f3a61['id']]=new VoiceExtension(_0x1f3a61);}else{_0x530966[_0x5783('0x40')](_0x530966[_0x5783('0x19')][_0x1f3a61['id']],_0x1f3a61);}}}return _0x530966['voiceExtensions'];};};Realtime[_0x5783('0x3f')][_0x5783('0x68')]=function(){var _0x568baa=this;return function(_0x5a766c){clearCampaigns(_0x568baa[_0x5783('0x64')]);for(var _0x277039=0x0;_0x277039<_0x5a766c[_0x5783('0x42')];_0x277039+=0x1){_[_0x5783('0x53')](_0x568baa[_0x5783('0x64')][_0x5a766c[_0x277039][_0x5783('0x44')]],_0x5a766c[_0x277039]);}return _0x568baa['campaigns'];};};Realtime[_0x5783('0x3f')][_0x5783('0x69')]=function(){var _0x2b9adc=this;return function(_0xf33523){if(_0xf33523){freeIsNotKey(_0xf33523,_0x2b9adc['faxAccounts'],'id');for(var _0x1e4bfc=0x0,_0x9d75ab={},_0x396120={};_0x1e4bfc<_0xf33523[_0x5783('0x42')];_0x1e4bfc+=0x1){_0x9d75ab=_0xf33523[_0x1e4bfc];if(_['isUndefined'](_0x2b9adc[_0x5783('0x6a')][_0x9d75ab['id']])){_0x2b9adc[_0x5783('0x6a')][_0x9d75ab['id']]=new FaxAccount(_0x9d75ab);}else{_0x2b9adc['mergeFromDatabase'](_0x2b9adc['faxAccounts'][_0x9d75ab['id']],_0x9d75ab);}}}return _0x2b9adc[_0x5783('0x6a')];};};module['exports']=Realtime;