Built motion from commit (unavailable).|2.4.18
[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 _0x54f8=['dynamics365Accounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','interface','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','abandoned','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerAgiCallsDay','queueStatusComplete','prototype','length','isNil','isUndefined','mergeFromDatabase','initTelephones','initTrunks','initVoiceQueues','initTriggers','templates','initZendeskAccounts','initSalesforceAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','freshsalesAccounts','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','unmanaged','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallerabandonAt','queuecallerexitAt','queuecallercomplete','queuecallercompleteAt','initVoiceCallReports','outbound','total','duration','disposition','billableseconds','initCampaigns','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','lodash','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/deskAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','voiceExtensions','queueChannels','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','servicenowAccounts'];(function(_0x2be8c2,_0x14a4b5){var _0x97f531=function(_0xcee58d){while(--_0xcee58d){_0x2be8c2['push'](_0x2be8c2['shift']());}};_0x97f531(++_0x14a4b5);}(_0x54f8,0x1d4));var _0x854f=function(_0x549f5d,_0xdfab81){_0x549f5d=_0x549f5d-0x0;var _0xd55639=_0x54f8[_0x549f5d];return _0xd55639;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x854f('0x0'));var moment=require('moment');var Agent=require(_0x854f('0x1'));var Telephone=require(_0x854f('0x2'));var Trunk=require(_0x854f('0x3'));var VoiceQueue=require(_0x854f('0x4'));var Trigger=require(_0x854f('0x5'));var Template=require(_0x854f('0x6'));var Campaign=require(_0x854f('0x7'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0x854f('0x8'));var SalesforceAccount=require(_0x854f('0x9'));var FreshdeskAccount=require(_0x854f('0xa'));var SugarcrmAccount=require(_0x854f('0xb'));var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require(_0x854f('0xc'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x854f('0xd'));var Dynamics365Account=require(_0x854f('0xe'));var FreshsalesAccount=require(_0x854f('0xf'));var FaxAccount=require(_0x854f('0x10'));var Realtime=function(){this[_0x854f('0x11')]={};this[_0x854f('0x12')]={};this[_0x854f('0x13')]={};this[_0x854f('0x14')]={};this[_0x854f('0x15')]={};this[_0x854f('0x16')]={};this['templates']={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x854f('0x17')]={};this['channels']={};this[_0x854f('0x18')]={};this['outboundChannels']={};this[_0x854f('0x19')]={};this[_0x854f('0x1a')]={};this[_0x854f('0x1b')]={};this[_0x854f('0x1c')]={};this[_0x854f('0x1d')]={};this['zohoAccounts']={};this[_0x854f('0x1e')]={};this['vtigerAccounts']={};this[_0x854f('0x1f')]={};this[_0x854f('0x20')]={};this['freshsalesAccounts']={};this[_0x854f('0x21')]={};};function freeIsNotKey(_0x41e905,_0x2c3bf0,_0x36a0fb){var _0x1cad9e=_[_0x854f('0x22')](_0x41e905,function(_0x5bd6e6,_0x4fc2f1){return _0x5bd6e6[_0x36a0fb];});for(var _0x336330 in _0x2c3bf0){if(_0x2c3bf0[_0x854f('0x23')](_0x336330)){if(!_0x1cad9e[_0x336330]){delete _0x2c3bf0[_0x336330];}}}}function freeIsNotKeySip(_0x5179c9,_0x2dc751){var _0x13a1ac=_['mapKeys'](_0x5179c9,function(_0x3cec79,_0x3170fe){return util[_0x854f('0x24')](_0x854f('0x25'),_0x3cec79[_0x854f('0x26')]);});for(var _0x4c2e1e in _0x2dc751){if(_0x2dc751[_0x854f('0x23')](_0x4c2e1e)){if(!_0x13a1ac[_0x4c2e1e]){delete _0x2dc751[_0x4c2e1e];}}}}function freeIsNotKeyAgent(_0x36be51,_0x2ced07){var _0x4f41f0=_[_0x854f('0x22')](_0x36be51,function(_0xae17c3,_0x4512c4){var _0x214d76=_['isNil'](_0xae17c3['interface'])?util[_0x854f('0x24')]('SIP/%s',_0xae17c3['name']):_0xae17c3[_0x854f('0x27')];return _0x214d76;});for(var _0x201d61 in _0x2ced07){if(_0x2ced07[_0x854f('0x23')](_0x201d61)){if(!_0x4f41f0[_0x201d61]){delete _0x2ced07[_0x201d61];}}}}function clearVoiceCallReports(_0x26b7d2){_0x26b7d2['total']=0x0;_0x26b7d2[_0x854f('0x28')]=0x0;_0x26b7d2[_0x854f('0x29')]=0x0;_0x26b7d2[_0x854f('0x2a')]=0x0;_0x26b7d2[_0x854f('0x2b')]=0x0;}function clearCampaigns(_0x43a405){if(!_[_0x854f('0x2c')](_0x43a405)){for(var _0x1afeda in _0x43a405){if(_0x43a405[_0x854f('0x23')](_0x1afeda)){_0x43a405[_0x1afeda][_0x854f('0x2d')]=0x0;_0x43a405[_0x1afeda]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x497642){if(!_[_0x854f('0x2c')](_0x497642)){for(var _0xe0fd3a in _0x497642){if(_0x497642[_0x854f('0x23')](_0xe0fd3a)){_0x497642[_0xe0fd3a]['total']=0x0;_0x497642[_0xe0fd3a][_0x854f('0x28')]=0x0;_0x497642[_0xe0fd3a]['unmanaged']=0x0;_0x497642[_0xe0fd3a][_0x854f('0x2e')]=0x0;_0x497642[_0xe0fd3a][_0x854f('0x29')]=0x0;_0x497642[_0xe0fd3a][_0x854f('0x2a')]=0x0;_0x497642[_0xe0fd3a][_0x854f('0x2b')]=0x0;_0x497642[_0xe0fd3a]['outboundAnswerAgiCallsDay']=0x0;_0x497642[_0xe0fd3a]['outboundNoAnswerCallsDay']=0x0;_0x497642[_0xe0fd3a][_0x854f('0x2f')]=0x0;_0x497642[_0xe0fd3a][_0x854f('0x30')]=0x0;_0x497642[_0xe0fd3a]['outboundNoSuchCallsDay']=0x0;_0x497642[_0xe0fd3a]['outboundUnknownCallsDay']=0x0;_0x497642[_0xe0fd3a][_0x854f('0x31')]=0x0;_0x497642[_0xe0fd3a]['outboundDropCallsDayCallersExit']=0x0;_0x497642[_0xe0fd3a][_0x854f('0x32')]=0x0;_0x497642[_0xe0fd3a][_0x854f('0x33')]=0x0;_0x497642[_0xe0fd3a][_0x854f('0x34')]=0x0;_0x497642[_0xe0fd3a]['outboundReCallsDay']=0x0;_0x497642[_0xe0fd3a][_0x854f('0x35')]=0x0;_0x497642[_0xe0fd3a]['outboundAnswerCallsDay']=0x0;_0x497642[_0xe0fd3a][_0x854f('0x36')]=!![];}}}}Realtime[_0x854f('0x37')]['mergeFromDatabase']=function(_0x55efc4,_0x18bb1e){for(var _0x4b2261 in _0x18bb1e){if(_0x55efc4[_0x854f('0x23')](_0x4b2261)){_0x55efc4[_0x4b2261]=_0x18bb1e[_0x4b2261];}}};Realtime[_0x854f('0x37')]['initAgents']=function(){var _0x2012b5=this;return function(_0x9dca23){if(_0x9dca23){freeIsNotKeyAgent(_0x9dca23,_0x2012b5[_0x854f('0x11')]);for(var _0x47b9ea=0x0,_0x234529={},_0x4c15d8={};_0x47b9ea<_0x9dca23[_0x854f('0x38')];_0x47b9ea+=0x1){_0x234529=_0x9dca23[_0x47b9ea];var _0x558412=_[_0x854f('0x39')](_0x234529[_0x854f('0x27')])?util['format'](_0x854f('0x25'),_0x234529[_0x854f('0x26')]):_0x234529['interface'];if(_[_0x854f('0x3a')](_0x2012b5[_0x854f('0x11')][_0x558412])){_0x2012b5[_0x854f('0x11')][_0x558412]=new Agent(_0x234529);}else{_0x2012b5[_0x854f('0x3b')](_0x2012b5['agents'][_0x558412],_0x234529);}}}return _0x2012b5[_0x854f('0x11')];};};Realtime[_0x854f('0x37')][_0x854f('0x3c')]=function(){var _0x3be7dd=this;return function(_0x57e0b4){if(_0x57e0b4){freeIsNotKeySip(_0x57e0b4,_0x3be7dd[_0x854f('0x12')]);for(var _0x1bde81=0x0,_0xa7800d={},_0x4c6d03={};_0x1bde81<_0x57e0b4[_0x854f('0x38')];_0x1bde81+=0x1){_0xa7800d=_0x57e0b4[_0x1bde81];if(_[_0x854f('0x3a')](_0x3be7dd[_0x854f('0x12')][util['format']('SIP/%s',_0xa7800d['name'])])){_0x3be7dd['telephones'][util[_0x854f('0x24')](_0x854f('0x25'),_0xa7800d['name'])]=new Telephone(_0xa7800d);}else{_0x3be7dd[_0x854f('0x3b')](_0x3be7dd[_0x854f('0x12')][util[_0x854f('0x24')](_0x854f('0x25'),_0xa7800d[_0x854f('0x26')])],_0xa7800d);}}}return _0x3be7dd[_0x854f('0x12')];};};Realtime[_0x854f('0x37')][_0x854f('0x3d')]=function(){var _0x5d27ef=this;return function(_0x5b03b9){if(_0x5b03b9){freeIsNotKeySip(_0x5b03b9,_0x5d27ef[_0x854f('0x13')]);for(var _0x526149=0x0,_0x50dbfa={},_0x12e644={};_0x526149<_0x5b03b9[_0x854f('0x38')];_0x526149+=0x1){_0x50dbfa=_0x5b03b9[_0x526149];if(_[_0x854f('0x3a')](_0x5d27ef[_0x854f('0x13')][util[_0x854f('0x24')](_0x854f('0x25'),_0x50dbfa[_0x854f('0x26')])])){_0x5d27ef[_0x854f('0x13')][util['format'](_0x854f('0x25'),_0x50dbfa[_0x854f('0x26')])]=new Trunk(_0x50dbfa);}else{_0x5d27ef[_0x854f('0x3b')](_0x5d27ef[_0x854f('0x13')][util[_0x854f('0x24')]('SIP/%s',_0x50dbfa['name'])],_0x50dbfa);}}}return _0x5d27ef[_0x854f('0x13')];};};Realtime[_0x854f('0x37')][_0x854f('0x3e')]=function(){var _0x488ff2=this;return function(_0x25298f){if(_0x25298f){freeIsNotKey(_0x25298f,_0x488ff2[_0x854f('0x14')],_0x854f('0x26'));for(var _0x437878=0x0,_0x1b325a={},_0x29492b={};_0x437878<_0x25298f[_0x854f('0x38')];_0x437878+=0x1){_0x1b325a=_0x25298f[_0x437878];if(_[_0x854f('0x3a')](_0x488ff2[_0x854f('0x14')][_0x1b325a[_0x854f('0x26')]])){_0x488ff2[_0x854f('0x14')][_0x1b325a['name']]=new VoiceQueue(_0x1b325a);}else{_0x488ff2['mergeFromDatabase'](_0x488ff2[_0x854f('0x14')][_0x1b325a[_0x854f('0x26')]],_0x1b325a);}}}return _0x488ff2[_0x854f('0x14')];};};Realtime[_0x854f('0x37')][_0x854f('0x3f')]=function(){var _0x464da4=this;return function(_0x1c91ef){if(_0x1c91ef){freeIsNotKey(_0x1c91ef,_0x464da4['triggers'],'id');for(var _0x50bdd7=0x0,_0x4f42f9={},_0x509574={};_0x50bdd7<_0x1c91ef['length'];_0x50bdd7+=0x1){_0x4f42f9=_0x1c91ef[_0x50bdd7];if(_[_0x854f('0x3a')](_0x464da4[_0x854f('0x15')][_0x4f42f9['id']])){_0x464da4[_0x854f('0x15')][_0x4f42f9['id']]=new Trigger(_0x4f42f9);}else{_0x464da4[_0x854f('0x3b')](_0x464da4['triggers'][_0x4f42f9['id']],_0x4f42f9);}}}return _0x464da4[_0x854f('0x15')];};};Realtime[_0x854f('0x37')]['initTemplates']=function(){var _0x25af77=this;return function(_0x3f9cc5){if(_0x3f9cc5){freeIsNotKey(_0x3f9cc5,_0x25af77[_0x854f('0x40')],'id');for(var _0x51909d=0x0,_0x1b3165={},_0x306a77={};_0x51909d<_0x3f9cc5['length'];_0x51909d+=0x1){_0x1b3165=_0x3f9cc5[_0x51909d];if(_[_0x854f('0x3a')](_0x25af77[_0x854f('0x40')][_0x1b3165['id']])){_0x25af77[_0x854f('0x40')][_0x1b3165['id']]=new Template(_0x1b3165);}else{_0x25af77['mergeFromDatabase'](_0x25af77[_0x854f('0x40')][_0x1b3165['id']],_0x1b3165);}}}return _0x25af77['templates'];};};Realtime['prototype'][_0x854f('0x41')]=function(){var _0x5dea97=this;return function(_0x4d2a19){if(_0x4d2a19){freeIsNotKey(_0x4d2a19,_0x5dea97[_0x854f('0x1a')],'id');for(var _0x4672bd=0x0,_0x3a2ec1={},_0x4bb3ee={};_0x4672bd<_0x4d2a19[_0x854f('0x38')];_0x4672bd+=0x1){_0x3a2ec1=_0x4d2a19[_0x4672bd];if(_[_0x854f('0x3a')](_0x5dea97[_0x854f('0x1a')][_0x3a2ec1['id']])){_0x5dea97[_0x854f('0x1a')][_0x3a2ec1['id']]=new ZendeskAccount(_0x3a2ec1);}else{_0x5dea97[_0x854f('0x3b')](_0x5dea97[_0x854f('0x1a')][_0x3a2ec1['id']],_0x3a2ec1);}}}return _0x5dea97[_0x854f('0x1a')];};};Realtime[_0x854f('0x37')][_0x854f('0x42')]=function(){var _0x2f9cbe=this;return function(_0x4b8e6a){if(_0x4b8e6a){freeIsNotKey(_0x4b8e6a,_0x2f9cbe[_0x854f('0x1b')],'id');for(var _0x367de6=0x0,_0x44d824={},_0x3a56dc={};_0x367de6<_0x4b8e6a['length'];_0x367de6+=0x1){_0x44d824=_0x4b8e6a[_0x367de6];if(_[_0x854f('0x3a')](_0x2f9cbe['salesforceAccounts'][_0x44d824['id']])){_0x2f9cbe[_0x854f('0x1b')][_0x44d824['id']]=new SalesforceAccount(_0x44d824);}else{_0x2f9cbe[_0x854f('0x3b')](_0x2f9cbe['salesforceAccounts'][_0x44d824['id']],_0x44d824);}}}return _0x2f9cbe[_0x854f('0x1b')];};};Realtime[_0x854f('0x37')]['initFreshdeskAccounts']=function(){var _0x26e4f2=this;return function(_0x20ad72){if(_0x20ad72){freeIsNotKey(_0x20ad72,_0x26e4f2['freshdeskAccounts'],'id');for(var _0x4ebb59=0x0,_0x2b5146={},_0x17b8bd={};_0x4ebb59<_0x20ad72[_0x854f('0x38')];_0x4ebb59+=0x1){_0x2b5146=_0x20ad72[_0x4ebb59];if(_['isUndefined'](_0x26e4f2[_0x854f('0x1d')][_0x2b5146['id']])){_0x26e4f2[_0x854f('0x1d')][_0x2b5146['id']]=new FreshdeskAccount(_0x2b5146);}else{_0x26e4f2[_0x854f('0x3b')](_0x26e4f2[_0x854f('0x1d')][_0x2b5146['id']],_0x2b5146);}}}return _0x26e4f2[_0x854f('0x1d')];};};Realtime[_0x854f('0x37')]['initZohoAccounts']=function(){var _0x1fe379=this;return function(_0x44df96){if(_0x44df96){freeIsNotKey(_0x44df96,_0x1fe379[_0x854f('0x43')],'id');for(var _0x42a97d=0x0,_0x5a994b={},_0x42d60c={};_0x42a97d<_0x44df96[_0x854f('0x38')];_0x42a97d+=0x1){_0x5a994b=_0x44df96[_0x42a97d];if(_['isUndefined'](_0x1fe379[_0x854f('0x43')][_0x5a994b['id']])){_0x1fe379['zohoAccounts'][_0x5a994b['id']]=new ZohoAccount(_0x5a994b);}else{_0x1fe379['mergeFromDatabase'](_0x1fe379['zohoAccounts'][_0x5a994b['id']],_0x5a994b);}}}return _0x1fe379[_0x854f('0x43')];};};Realtime[_0x854f('0x37')][_0x854f('0x44')]=function(){var _0x54011f=this;return function(_0x970fb4){if(_0x970fb4){freeIsNotKey(_0x970fb4,_0x54011f[_0x854f('0x1e')],'id');for(var _0x487f8a=0x0,_0x173ac8={},_0x4a0e25={};_0x487f8a<_0x970fb4[_0x854f('0x38')];_0x487f8a+=0x1){_0x173ac8=_0x970fb4[_0x487f8a];if(_[_0x854f('0x3a')](_0x54011f[_0x854f('0x1e')][_0x173ac8['id']])){_0x54011f[_0x854f('0x1e')][_0x173ac8['id']]=new DeskAccount(_0x173ac8);}else{_0x54011f[_0x854f('0x3b')](_0x54011f['deskAccounts'][_0x173ac8['id']],_0x173ac8);}}}return _0x54011f[_0x854f('0x1e')];};};Realtime['prototype'][_0x854f('0x45')]=function(){var _0x485ef9=this;return function(_0x4c526d){if(_0x4c526d){freeIsNotKey(_0x4c526d,_0x485ef9['sugarcrmAccounts'],'id');for(var _0x4e3794=0x0,_0x7fdc37={},_0x5fa93f={};_0x4e3794<_0x4c526d[_0x854f('0x38')];_0x4e3794+=0x1){_0x7fdc37=_0x4c526d[_0x4e3794];if(_['isUndefined'](_0x485ef9[_0x854f('0x1c')][_0x7fdc37['id']])){_0x485ef9['sugarcrmAccounts'][_0x7fdc37['id']]=new SugarcrmAccount(_0x7fdc37);}else{_0x485ef9['mergeFromDatabase'](_0x485ef9[_0x854f('0x1c')][_0x7fdc37['id']],_0x7fdc37);}}}return _0x485ef9[_0x854f('0x1c')];};};Realtime[_0x854f('0x37')][_0x854f('0x46')]=function(){var _0x525884=this;return function(_0x1e9c72){if(_0x1e9c72){freeIsNotKey(_0x1e9c72,_0x525884[_0x854f('0x47')],'id');for(var _0x56e04d=0x0,_0x1da4be={},_0x36adb3={};_0x56e04d<_0x1e9c72[_0x854f('0x38')];_0x56e04d+=0x1){_0x1da4be=_0x1e9c72[_0x56e04d];if(_[_0x854f('0x3a')](_0x525884[_0x854f('0x47')][_0x1da4be['id']])){_0x525884[_0x854f('0x47')][_0x1da4be['id']]=new VtigerAccount(_0x1da4be);}else{_0x525884[_0x854f('0x3b')](_0x525884[_0x854f('0x47')][_0x1da4be['id']],_0x1da4be);}}}return _0x525884['vtigerAccounts'];};};Realtime[_0x854f('0x37')][_0x854f('0x48')]=function(){var _0xc8fd84=this;return function(_0x1b9c7e){if(_0x1b9c7e){freeIsNotKey(_0x1b9c7e,_0xc8fd84[_0x854f('0x1f')],'id');for(var _0x1c479d=0x0,_0xfe6bf3={},_0x579952={};_0x1c479d<_0x1b9c7e['length'];_0x1c479d+=0x1){_0xfe6bf3=_0x1b9c7e[_0x1c479d];if(_[_0x854f('0x3a')](_0xc8fd84[_0x854f('0x1f')][_0xfe6bf3['id']])){_0xc8fd84[_0x854f('0x1f')][_0xfe6bf3['id']]=new ServicenowAccount(_0xfe6bf3);}else{_0xc8fd84[_0x854f('0x3b')](_0xc8fd84[_0x854f('0x1f')][_0xfe6bf3['id']],_0xfe6bf3);}}}return _0xc8fd84[_0x854f('0x1f')];};};Realtime[_0x854f('0x37')][_0x854f('0x49')]=function(){var _0x4e9fe3=this;return function(_0x30d805){if(_0x30d805){freeIsNotKey(_0x30d805,_0x4e9fe3[_0x854f('0x20')],'id');for(var _0x228d58=0x0,_0x31328a={},_0x2b6b84={};_0x228d58<_0x30d805['length'];_0x228d58+=0x1){_0x31328a=_0x30d805[_0x228d58];if(_[_0x854f('0x3a')](_0x4e9fe3[_0x854f('0x20')][_0x31328a['id']])){_0x4e9fe3[_0x854f('0x20')][_0x31328a['id']]=new Dynamics365Account(_0x31328a);}else{_0x4e9fe3[_0x854f('0x3b')](_0x4e9fe3[_0x854f('0x20')][_0x31328a['id']],_0x31328a);}}}return _0x4e9fe3[_0x854f('0x20')];};};Realtime['prototype']['initFreshsalesAccounts']=function(){var _0x58f846=this;return function(_0x218c7a){if(_0x218c7a){freeIsNotKey(_0x218c7a,_0x58f846['freshsalesAccounts'],'id');for(var _0x4e15d4=0x0,_0x2a1823={},_0x362728={};_0x4e15d4<_0x218c7a[_0x854f('0x38')];_0x4e15d4+=0x1){_0x2a1823=_0x218c7a[_0x4e15d4];if(_[_0x854f('0x3a')](_0x58f846[_0x854f('0x4a')][_0x2a1823['id']])){_0x58f846[_0x854f('0x4a')][_0x2a1823['id']]=new FreshsalesAccount(_0x2a1823);}else{_0x58f846['mergeFromDatabase'](_0x58f846[_0x854f('0x4a')][_0x2a1823['id']],_0x2a1823);}}}return _0x58f846[_0x854f('0x4a')];};};Realtime['prototype']['initVoiceQueueHopperHistory']=function(){var _0xbb6042=this;return function(_0x5b6411){for(var _0x5117fa=0x0;_0x5117fa<_0x5b6411[_0x854f('0x38')];_0x5117fa+=0x1){_[_0x854f('0x4b')](_0xbb6042[_0x854f('0x14')][_0x5b6411[_0x5117fa][_0x854f('0x26')]],_0x5b6411[_0x5117fa]);}return _0xbb6042[_0x854f('0x14')];};};Realtime[_0x854f('0x37')][_0x854f('0x4c')]=function(){var _0x516ce3=this;return function(_0x2ae0bf){clearVoiceQueues(_0x516ce3[_0x854f('0x14')]);if(_0x2ae0bf){_0x2ae0bf=_[_0x854f('0x4d')](_0x2ae0bf,_0x854f('0x4e'));for(var _0x2cbc3a in _0x2ae0bf){if(_0x2ae0bf[_0x854f('0x23')](_0x2cbc3a)){var _0x1e106c={};for(var _0x15a442=0x0;_0x15a442<_0x2ae0bf[_0x2cbc3a][_0x854f('0x38')];_0x15a442+=0x1){var _0x2eaccb=_0x2ae0bf[_0x2cbc3a][_0x15a442]['queue'];if(_0x516ce3[_0x854f('0x14')][_0x2eaccb]){if(_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x4f')]){_0x516ce3[_0x854f('0x14')][_0x2eaccb][_0x854f('0x50')]+=0x1;}if(_0x2ae0bf[_0x2cbc3a][_0x15a442]['queuecallerabandon']){_0x516ce3[_0x854f('0x14')][_0x2eaccb][_0x854f('0x2e')]+=0x1;}_0x516ce3[_0x854f('0x14')][_0x2eaccb][_0x854f('0x29')]+=moment(_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x51')])[_0x854f('0x52')](moment(_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x53')]),_0x854f('0x54'))||0x0;if(_0x15a442===_0x2ae0bf[_0x2cbc3a][_0x854f('0x38')]-0x1){_0x516ce3[_0x854f('0x14')][_0x2eaccb][_0x854f('0x2a')]+=moment(_0x2ae0bf[_0x2cbc3a][_0x15a442]['queuecallercompleteAt']||_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x55')]||_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x56')])['diff'](moment(_0x2ae0bf[_0x2cbc3a][_0x15a442]['queuecallerjoinAt']),_0x854f('0x54'))||0x0;_0x516ce3[_0x854f('0x14')][_0x2eaccb]['total']+=0x1;if(_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x57')]){_0x516ce3[_0x854f('0x14')][_0x2eaccb][_0x854f('0x28')]+=0x1;_0x516ce3['voiceQueues'][_0x2eaccb][_0x854f('0x2b')]+=moment(_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x58')])[_0x854f('0x52')](moment(_0x2ae0bf[_0x2cbc3a][_0x15a442][_0x854f('0x51')]),'seconds')||0x0;}}else{_0x516ce3[_0x854f('0x14')][_0x2eaccb]['sumDuration']+=_0x516ce3[_0x854f('0x14')][_0x2eaccb][_0x854f('0x29')]||0x0;}}}}}}return _0x516ce3[_0x854f('0x14')];};};Realtime[_0x854f('0x37')][_0x854f('0x59')]=function(){var _0x3c0f6c=this;return function(_0x323f43){clearVoiceCallReports(_0x3c0f6c[_0x854f('0x5a')]);if(_0x323f43){for(var _0x46d692=0x0;_0x46d692<_0x323f43[_0x854f('0x38')];_0x46d692+=0x1){_0x3c0f6c[_0x854f('0x5a')][_0x854f('0x5b')]+=0x1;_0x3c0f6c[_0x854f('0x5a')]['sumDuration']+=_0x323f43[_0x46d692][_0x854f('0x5c')];if(_0x323f43[_0x46d692][_0x854f('0x5d')]==='ANSWERED'){_0x3c0f6c[_0x854f('0x5a')]['answered']+=0x1;_0x3c0f6c[_0x854f('0x5a')]['sumHoldTime']+=_0x323f43[_0x46d692]['duration']-_0x323f43[_0x46d692][_0x854f('0x5e')]||0x0;_0x3c0f6c[_0x854f('0x5a')]['sumBillable']+=_0x323f43[_0x46d692][_0x854f('0x5e')];}}}return _0x3c0f6c[_0x854f('0x5a')];};};Realtime[_0x854f('0x37')][_0x854f('0x5f')]=function(){var _0xa936d3=this;return function(_0x347124){if(_0x347124){freeIsNotKey(_0x347124,_0xa936d3[_0x854f('0x16')],_0x854f('0x26'));for(var _0x5216e5=0x0,_0x217c75={};_0x5216e5<_0x347124[_0x854f('0x38')];_0x5216e5+=0x1){_0x217c75=_0x347124[_0x5216e5];if(_['isUndefined'](_0xa936d3[_0x854f('0x16')][_0x217c75[_0x854f('0x26')]])){_0xa936d3[_0x854f('0x16')][_0x217c75[_0x854f('0x26')]]=new Campaign(_0x217c75);}else{_0xa936d3['mergeFromDatabase'](_0xa936d3['campaigns'][_0x217c75[_0x854f('0x26')]],_0x217c75);}}}return _0xa936d3[_0x854f('0x16')];};};Realtime['prototype'][_0x854f('0x60')]=function(){var _0x48c443=this;return function(_0x68dbdb){if(_0x68dbdb){freeIsNotKey(_0x68dbdb,_0x48c443[_0x854f('0x17')],'id');for(var _0x2058ef=0x0,_0x4646ab={};_0x2058ef<_0x68dbdb['length'];_0x2058ef+=0x1){_0x4646ab=_0x68dbdb[_0x2058ef];if(_[_0x854f('0x3a')](_0x48c443[_0x854f('0x17')][_0x4646ab['id']])){_0x48c443[_0x854f('0x17')][_0x4646ab['id']]=new VoiceExtension(_0x4646ab);}else{_0x48c443[_0x854f('0x3b')](_0x48c443['voiceExtensions'][_0x4646ab['id']],_0x4646ab);}}}return _0x48c443['voiceExtensions'];};};Realtime['prototype'][_0x854f('0x61')]=function(){var _0x1504e1=this;return function(_0x6ff29c){clearCampaigns(_0x1504e1[_0x854f('0x16')]);for(var _0x3940df=0x0;_0x3940df<_0x6ff29c[_0x854f('0x38')];_0x3940df+=0x1){_[_0x854f('0x4b')](_0x1504e1[_0x854f('0x16')][_0x6ff29c[_0x3940df][_0x854f('0x26')]],_0x6ff29c[_0x3940df]);}return _0x1504e1[_0x854f('0x16')];};};Realtime['prototype'][_0x854f('0x62')]=function(){var _0x509516=this;return function(_0x16808e){if(_0x16808e){freeIsNotKey(_0x16808e,_0x509516['faxAccounts'],'id');for(var _0x3d0e46=0x0,_0x2eed3f={},_0x192535={};_0x3d0e46<_0x16808e[_0x854f('0x38')];_0x3d0e46+=0x1){_0x2eed3f=_0x16808e[_0x3d0e46];if(_['isUndefined'](_0x509516[_0x854f('0x21')][_0x2eed3f['id']])){_0x509516[_0x854f('0x21')][_0x2eed3f['id']]=new FaxAccount(_0x2eed3f);}else{_0x509516['mergeFromDatabase'](_0x509516[_0x854f('0x21')][_0x2eed3f['id']],_0x2eed3f);}}}return _0x509516[_0x854f('0x21')];};};module[_0x854f('0x63')]=Realtime;