eb9ec1f9dcc32c692f3b83f52d410666d4efa4c5
[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 _0x93a0=['lodash','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','agents','telephones','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','timers','zendeskAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','interface','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','abandoned','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isNil','isUndefined','initTelephones','trunks','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','salesforceAccounts','initFreshdeskAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','servicenowAccounts','dynamics365Accounts','initVoiceQueueHopperHistory','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallercomplete','queuecallerleaveAt','initVoiceCallReports','duration','disposition','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','merge','initFaxAccounts','exports'];(function(_0x49c609,_0x288355){var _0x57f155=function(_0x39854b){while(--_0x39854b){_0x49c609['push'](_0x49c609['shift']());}};_0x57f155(++_0x288355);}(_0x93a0,0x1c4));var _0x093a=function(_0x1d9495,_0x3bfbc9){_0x1d9495=_0x1d9495-0x0;var _0x349b0d=_0x93a0[_0x1d9495];return _0x349b0d;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x093a('0x0'));var moment=require('moment');var Agent=require(_0x093a('0x1'));var Telephone=require(_0x093a('0x2'));var Trunk=require(_0x093a('0x3'));var VoiceQueue=require(_0x093a('0x4'));var Trigger=require(_0x093a('0x5'));var Template=require('../model/template');var Campaign=require(_0x093a('0x6'));var VoiceExtension=require(_0x093a('0x7'));var ZendeskAccount=require(_0x093a('0x8'));var SalesforceAccount=require(_0x093a('0x9'));var FreshdeskAccount=require(_0x093a('0xa'));var SugarcrmAccount=require(_0x093a('0xb'));var ZohoAccount=require(_0x093a('0xc'));var DeskAccount=require(_0x093a('0xd'));var VtigerAccount=require(_0x093a('0xe'));var ServicenowAccount=require(_0x093a('0xf'));var Dynamics365Account=require(_0x093a('0x10'));var FreshsalesAccount=require(_0x093a('0x11'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0x093a('0x12')]={};this[_0x093a('0x13')]={};this['trunks']={};this[_0x093a('0x14')]={};this[_0x093a('0x15')]={};this[_0x093a('0x16')]={};this[_0x093a('0x17')]={};this[_0x093a('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x093a('0x19')]={};this[_0x093a('0x1a')]={};this[_0x093a('0x1b')]={};this[_0x093a('0x1c')]={};this[_0x093a('0x1d')]={};this[_0x093a('0x1e')]={};this['salesforceAccounts']={};this[_0x093a('0x1f')]={};this[_0x093a('0x20')]={};this[_0x093a('0x21')]={};this[_0x093a('0x22')]={};this[_0x093a('0x23')]={};this['servicenowAccounts']={};this['dynamics365Accounts']={};this[_0x093a('0x24')]={};this[_0x093a('0x25')]={};};function freeIsNotKey(_0xb9b3a6,_0x427e26,_0x124213){var _0x53ebad=_[_0x093a('0x26')](_0xb9b3a6,function(_0x399059,_0x399b71){return _0x399059[_0x124213];});for(var _0x374187 in _0x427e26){if(_0x427e26[_0x093a('0x27')](_0x374187)){if(!_0x53ebad[_0x374187]){delete _0x427e26[_0x374187];}}}}function freeIsNotKeySip(_0x3f068a,_0x2378ae){var _0x3cfd26=_[_0x093a('0x26')](_0x3f068a,function(_0x5c4c4c,_0x239896){return util[_0x093a('0x28')](_0x093a('0x29'),_0x5c4c4c[_0x093a('0x2a')]);});for(var _0x33b7e6 in _0x2378ae){if(_0x2378ae['hasOwnProperty'](_0x33b7e6)){if(!_0x3cfd26[_0x33b7e6]){delete _0x2378ae[_0x33b7e6];}}}}function freeIsNotKeyAgent(_0x18ed59,_0x486dba){var _0x1d722a=_[_0x093a('0x26')](_0x18ed59,function(_0x218942,_0x56ed82){var _0x1170db=_['isNil'](_0x218942['interface'])?util['format']('SIP/%s',_0x218942[_0x093a('0x2a')]):_0x218942[_0x093a('0x2b')];return _0x1170db;});for(var _0x463811 in _0x486dba){if(_0x486dba['hasOwnProperty'](_0x463811)){if(!_0x1d722a[_0x463811]){delete _0x486dba[_0x463811];}}}}function clearVoiceCallReports(_0x2392b5){_0x2392b5[_0x093a('0x2c')]=0x0;_0x2392b5[_0x093a('0x2d')]=0x0;_0x2392b5[_0x093a('0x2e')]=0x0;_0x2392b5[_0x093a('0x2f')]=0x0;_0x2392b5[_0x093a('0x30')]=0x0;}function clearCampaigns(_0x43debe){if(!_[_0x093a('0x31')](_0x43debe)){for(var _0x2c7000 in _0x43debe){if(_0x43debe['hasOwnProperty'](_0x2c7000)){_0x43debe[_0x2c7000][_0x093a('0x32')]=0x0;_0x43debe[_0x2c7000][_0x093a('0x33')]=0x0;}}}}function clearVoiceQueues(_0x35f99f){if(!_[_0x093a('0x31')](_0x35f99f)){for(var _0x179dc in _0x35f99f){if(_0x35f99f['hasOwnProperty'](_0x179dc)){_0x35f99f[_0x179dc]['total']=0x0;_0x35f99f[_0x179dc][_0x093a('0x2d')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x34')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x35')]=0x0;_0x35f99f[_0x179dc]['sumHoldTime']=0x0;_0x35f99f[_0x179dc][_0x093a('0x2f')]=0x0;_0x35f99f[_0x179dc]['sumBillable']=0x0;_0x35f99f[_0x179dc]['outboundAnswerAgiCallsDay']=0x0;_0x35f99f[_0x179dc][_0x093a('0x36')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x37')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x38')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x39')]=0x0;_0x35f99f[_0x179dc]['outboundUnknownCallsDay']=0x0;_0x35f99f[_0x179dc][_0x093a('0x3a')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x3b')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x3c')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x3d')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x3e')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x3f')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x40')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x41')]=0x0;_0x35f99f[_0x179dc][_0x093a('0x42')]=!![];}}}}Realtime[_0x093a('0x43')][_0x093a('0x44')]=function(_0x2f2646,_0x54fa83){for(var _0x324ac4 in _0x54fa83){if(_0x2f2646[_0x093a('0x27')](_0x324ac4)){_0x2f2646[_0x324ac4]=_0x54fa83[_0x324ac4];}}};Realtime[_0x093a('0x43')][_0x093a('0x45')]=function(){var _0x3f9a21=this;return function(_0x2c8280){if(_0x2c8280){freeIsNotKeyAgent(_0x2c8280,_0x3f9a21[_0x093a('0x12')]);for(var _0x2974ba=0x0,_0x39378e={},_0x2ad0e8={};_0x2974ba<_0x2c8280[_0x093a('0x46')];_0x2974ba+=0x1){_0x39378e=_0x2c8280[_0x2974ba];var _0x1f883b=_[_0x093a('0x47')](_0x39378e[_0x093a('0x2b')])?util[_0x093a('0x28')](_0x093a('0x29'),_0x39378e['name']):_0x39378e[_0x093a('0x2b')];if(_[_0x093a('0x48')](_0x3f9a21[_0x093a('0x12')][_0x1f883b])){_0x3f9a21[_0x093a('0x12')][_0x1f883b]=new Agent(_0x39378e);}else{_0x3f9a21[_0x093a('0x44')](_0x3f9a21[_0x093a('0x12')][_0x1f883b],_0x39378e);}}}return _0x3f9a21[_0x093a('0x12')];};};Realtime[_0x093a('0x43')][_0x093a('0x49')]=function(){var _0x4e3931=this;return function(_0x30ae8a){if(_0x30ae8a){freeIsNotKeySip(_0x30ae8a,_0x4e3931[_0x093a('0x13')]);for(var _0x1bed4c=0x0,_0x2b4c43={},_0x7296c2={};_0x1bed4c<_0x30ae8a[_0x093a('0x46')];_0x1bed4c+=0x1){_0x2b4c43=_0x30ae8a[_0x1bed4c];if(_[_0x093a('0x48')](_0x4e3931[_0x093a('0x13')][util['format'](_0x093a('0x29'),_0x2b4c43[_0x093a('0x2a')])])){_0x4e3931[_0x093a('0x13')][util['format'](_0x093a('0x29'),_0x2b4c43[_0x093a('0x2a')])]=new Telephone(_0x2b4c43);}else{_0x4e3931[_0x093a('0x44')](_0x4e3931[_0x093a('0x13')][util[_0x093a('0x28')](_0x093a('0x29'),_0x2b4c43['name'])],_0x2b4c43);}}}return _0x4e3931[_0x093a('0x13')];};};Realtime[_0x093a('0x43')]['initTrunks']=function(){var _0x52ce1e=this;return function(_0xc48982){if(_0xc48982){freeIsNotKeySip(_0xc48982,_0x52ce1e[_0x093a('0x4a')]);for(var _0x5315b0=0x0,_0x5cafea={},_0x2ac10b={};_0x5315b0<_0xc48982[_0x093a('0x46')];_0x5315b0+=0x1){_0x5cafea=_0xc48982[_0x5315b0];if(_[_0x093a('0x48')](_0x52ce1e[_0x093a('0x4a')][util[_0x093a('0x28')]('SIP/%s',_0x5cafea['name'])])){_0x52ce1e[_0x093a('0x4a')][util['format']('SIP/%s',_0x5cafea[_0x093a('0x2a')])]=new Trunk(_0x5cafea);}else{_0x52ce1e[_0x093a('0x44')](_0x52ce1e[_0x093a('0x4a')][util[_0x093a('0x28')](_0x093a('0x29'),_0x5cafea[_0x093a('0x2a')])],_0x5cafea);}}}return _0x52ce1e[_0x093a('0x4a')];};};Realtime[_0x093a('0x43')][_0x093a('0x4b')]=function(){var _0x4c3080=this;return function(_0x56dfa3){if(_0x56dfa3){freeIsNotKey(_0x56dfa3,_0x4c3080[_0x093a('0x14')],'name');for(var _0x1fb6a4=0x0,_0xb2054c={},_0x317c25={};_0x1fb6a4<_0x56dfa3[_0x093a('0x46')];_0x1fb6a4+=0x1){_0xb2054c=_0x56dfa3[_0x1fb6a4];if(_[_0x093a('0x48')](_0x4c3080[_0x093a('0x14')][_0xb2054c[_0x093a('0x2a')]])){_0x4c3080[_0x093a('0x14')][_0xb2054c[_0x093a('0x2a')]]=new VoiceQueue(_0xb2054c);}else{_0x4c3080[_0x093a('0x44')](_0x4c3080[_0x093a('0x14')][_0xb2054c['name']],_0xb2054c);}}}return _0x4c3080[_0x093a('0x14')];};};Realtime[_0x093a('0x43')][_0x093a('0x4c')]=function(){var _0x3f656d=this;return function(_0xbf6d74){if(_0xbf6d74){freeIsNotKey(_0xbf6d74,_0x3f656d[_0x093a('0x15')],'id');for(var _0x2aeed0=0x0,_0x12f23f={},_0x3b3784={};_0x2aeed0<_0xbf6d74[_0x093a('0x46')];_0x2aeed0+=0x1){_0x12f23f=_0xbf6d74[_0x2aeed0];if(_[_0x093a('0x48')](_0x3f656d[_0x093a('0x15')][_0x12f23f['id']])){_0x3f656d[_0x093a('0x15')][_0x12f23f['id']]=new Trigger(_0x12f23f);}else{_0x3f656d['mergeFromDatabase'](_0x3f656d[_0x093a('0x15')][_0x12f23f['id']],_0x12f23f);}}}return _0x3f656d[_0x093a('0x15')];};};Realtime['prototype'][_0x093a('0x4d')]=function(){var _0x59300c=this;return function(_0x3d3900){if(_0x3d3900){freeIsNotKey(_0x3d3900,_0x59300c[_0x093a('0x17')],'id');for(var _0x3f9465=0x0,_0x485435={},_0x3333b1={};_0x3f9465<_0x3d3900['length'];_0x3f9465+=0x1){_0x485435=_0x3d3900[_0x3f9465];if(_[_0x093a('0x48')](_0x59300c[_0x093a('0x17')][_0x485435['id']])){_0x59300c[_0x093a('0x17')][_0x485435['id']]=new Template(_0x485435);}else{_0x59300c[_0x093a('0x44')](_0x59300c[_0x093a('0x17')][_0x485435['id']],_0x485435);}}}return _0x59300c[_0x093a('0x17')];};};Realtime[_0x093a('0x43')][_0x093a('0x4e')]=function(){var _0x15057e=this;return function(_0x195210){if(_0x195210){freeIsNotKey(_0x195210,_0x15057e[_0x093a('0x1e')],'id');for(var _0x2dcd85=0x0,_0x256720={},_0x231a69={};_0x2dcd85<_0x195210['length'];_0x2dcd85+=0x1){_0x256720=_0x195210[_0x2dcd85];if(_[_0x093a('0x48')](_0x15057e[_0x093a('0x1e')][_0x256720['id']])){_0x15057e[_0x093a('0x1e')][_0x256720['id']]=new ZendeskAccount(_0x256720);}else{_0x15057e['mergeFromDatabase'](_0x15057e['zendeskAccounts'][_0x256720['id']],_0x256720);}}}return _0x15057e[_0x093a('0x1e')];};};Realtime[_0x093a('0x43')][_0x093a('0x4f')]=function(){var _0x491473=this;return function(_0x40f9c5){if(_0x40f9c5){freeIsNotKey(_0x40f9c5,_0x491473['salesforceAccounts'],'id');for(var _0x2341c9=0x0,_0x4286bd={},_0x26a62f={};_0x2341c9<_0x40f9c5[_0x093a('0x46')];_0x2341c9+=0x1){_0x4286bd=_0x40f9c5[_0x2341c9];if(_[_0x093a('0x48')](_0x491473[_0x093a('0x50')][_0x4286bd['id']])){_0x491473['salesforceAccounts'][_0x4286bd['id']]=new SalesforceAccount(_0x4286bd);}else{_0x491473[_0x093a('0x44')](_0x491473[_0x093a('0x50')][_0x4286bd['id']],_0x4286bd);}}}return _0x491473[_0x093a('0x50')];};};Realtime[_0x093a('0x43')][_0x093a('0x51')]=function(){var _0x5580ca=this;return function(_0xb109e0){if(_0xb109e0){freeIsNotKey(_0xb109e0,_0x5580ca[_0x093a('0x20')],'id');for(var _0x290881=0x0,_0x9c2535={},_0x534d05={};_0x290881<_0xb109e0[_0x093a('0x46')];_0x290881+=0x1){_0x9c2535=_0xb109e0[_0x290881];if(_[_0x093a('0x48')](_0x5580ca[_0x093a('0x20')][_0x9c2535['id']])){_0x5580ca[_0x093a('0x20')][_0x9c2535['id']]=new FreshdeskAccount(_0x9c2535);}else{_0x5580ca['mergeFromDatabase'](_0x5580ca[_0x093a('0x20')][_0x9c2535['id']],_0x9c2535);}}}return _0x5580ca[_0x093a('0x20')];};};Realtime[_0x093a('0x43')]['initZohoAccounts']=function(){var _0x3eff94=this;return function(_0xe1b602){if(_0xe1b602){freeIsNotKey(_0xe1b602,_0x3eff94[_0x093a('0x21')],'id');for(var _0x21785a=0x0,_0x200c1e={},_0x885822={};_0x21785a<_0xe1b602['length'];_0x21785a+=0x1){_0x200c1e=_0xe1b602[_0x21785a];if(_[_0x093a('0x48')](_0x3eff94['zohoAccounts'][_0x200c1e['id']])){_0x3eff94[_0x093a('0x21')][_0x200c1e['id']]=new ZohoAccount(_0x200c1e);}else{_0x3eff94[_0x093a('0x44')](_0x3eff94[_0x093a('0x21')][_0x200c1e['id']],_0x200c1e);}}}return _0x3eff94[_0x093a('0x21')];};};Realtime[_0x093a('0x43')][_0x093a('0x52')]=function(){var _0x192173=this;return function(_0xd9386e){if(_0xd9386e){freeIsNotKey(_0xd9386e,_0x192173[_0x093a('0x22')],'id');for(var _0xcfb0c7=0x0,_0x3b975e={},_0x102bcd={};_0xcfb0c7<_0xd9386e[_0x093a('0x46')];_0xcfb0c7+=0x1){_0x3b975e=_0xd9386e[_0xcfb0c7];if(_[_0x093a('0x48')](_0x192173[_0x093a('0x22')][_0x3b975e['id']])){_0x192173[_0x093a('0x22')][_0x3b975e['id']]=new DeskAccount(_0x3b975e);}else{_0x192173['mergeFromDatabase'](_0x192173[_0x093a('0x22')][_0x3b975e['id']],_0x3b975e);}}}return _0x192173[_0x093a('0x22')];};};Realtime[_0x093a('0x43')][_0x093a('0x53')]=function(){var _0x309ff3=this;return function(_0x4695c1){if(_0x4695c1){freeIsNotKey(_0x4695c1,_0x309ff3[_0x093a('0x1f')],'id');for(var _0x5e90b0=0x0,_0x53c5bf={},_0x39acd1={};_0x5e90b0<_0x4695c1[_0x093a('0x46')];_0x5e90b0+=0x1){_0x53c5bf=_0x4695c1[_0x5e90b0];if(_[_0x093a('0x48')](_0x309ff3[_0x093a('0x1f')][_0x53c5bf['id']])){_0x309ff3[_0x093a('0x1f')][_0x53c5bf['id']]=new SugarcrmAccount(_0x53c5bf);}else{_0x309ff3[_0x093a('0x44')](_0x309ff3[_0x093a('0x1f')][_0x53c5bf['id']],_0x53c5bf);}}}return _0x309ff3[_0x093a('0x1f')];};};Realtime[_0x093a('0x43')][_0x093a('0x54')]=function(){var _0x216da4=this;return function(_0x1b0fb2){if(_0x1b0fb2){freeIsNotKey(_0x1b0fb2,_0x216da4[_0x093a('0x23')],'id');for(var _0x367be6=0x0,_0x2e1dac={},_0x57e83d={};_0x367be6<_0x1b0fb2[_0x093a('0x46')];_0x367be6+=0x1){_0x2e1dac=_0x1b0fb2[_0x367be6];if(_[_0x093a('0x48')](_0x216da4[_0x093a('0x23')][_0x2e1dac['id']])){_0x216da4['vtigerAccounts'][_0x2e1dac['id']]=new VtigerAccount(_0x2e1dac);}else{_0x216da4[_0x093a('0x44')](_0x216da4[_0x093a('0x23')][_0x2e1dac['id']],_0x2e1dac);}}}return _0x216da4[_0x093a('0x23')];};};Realtime['prototype'][_0x093a('0x55')]=function(){var _0x5bdd14=this;return function(_0x1d67e5){if(_0x1d67e5){freeIsNotKey(_0x1d67e5,_0x5bdd14['servicenowAccounts'],'id');for(var _0x55934e=0x0,_0x473fac={},_0x2d0e8f={};_0x55934e<_0x1d67e5['length'];_0x55934e+=0x1){_0x473fac=_0x1d67e5[_0x55934e];if(_[_0x093a('0x48')](_0x5bdd14[_0x093a('0x56')][_0x473fac['id']])){_0x5bdd14[_0x093a('0x56')][_0x473fac['id']]=new ServicenowAccount(_0x473fac);}else{_0x5bdd14[_0x093a('0x44')](_0x5bdd14[_0x093a('0x56')][_0x473fac['id']],_0x473fac);}}}return _0x5bdd14[_0x093a('0x56')];};};Realtime[_0x093a('0x43')]['initDynamics365Accounts']=function(){var _0x334e82=this;return function(_0xea6d2){if(_0xea6d2){freeIsNotKey(_0xea6d2,_0x334e82[_0x093a('0x57')],'id');for(var _0x3a7235=0x0,_0x2ac258={},_0x139bcd={};_0x3a7235<_0xea6d2[_0x093a('0x46')];_0x3a7235+=0x1){_0x2ac258=_0xea6d2[_0x3a7235];if(_[_0x093a('0x48')](_0x334e82[_0x093a('0x57')][_0x2ac258['id']])){_0x334e82['dynamics365Accounts'][_0x2ac258['id']]=new Dynamics365Account(_0x2ac258);}else{_0x334e82[_0x093a('0x44')](_0x334e82[_0x093a('0x57')][_0x2ac258['id']],_0x2ac258);}}}return _0x334e82[_0x093a('0x57')];};};Realtime[_0x093a('0x43')]['initFreshsalesAccounts']=function(){var _0x58ddaf=this;return function(_0x264cee){if(_0x264cee){freeIsNotKey(_0x264cee,_0x58ddaf[_0x093a('0x24')],'id');for(var _0x1dd457=0x0,_0x143584={},_0x14a172={};_0x1dd457<_0x264cee[_0x093a('0x46')];_0x1dd457+=0x1){_0x143584=_0x264cee[_0x1dd457];if(_[_0x093a('0x48')](_0x58ddaf[_0x093a('0x24')][_0x143584['id']])){_0x58ddaf['freshsalesAccounts'][_0x143584['id']]=new FreshsalesAccount(_0x143584);}else{_0x58ddaf['mergeFromDatabase'](_0x58ddaf[_0x093a('0x24')][_0x143584['id']],_0x143584);}}}return _0x58ddaf['freshsalesAccounts'];};};Realtime['prototype'][_0x093a('0x58')]=function(){var _0x3340cd=this;return function(_0x450409){for(var _0x56bc27=0x0;_0x56bc27<_0x450409[_0x093a('0x46')];_0x56bc27+=0x1){_['merge'](_0x3340cd['voiceQueues'][_0x450409[_0x56bc27][_0x093a('0x2a')]],_0x450409[_0x56bc27]);}return _0x3340cd[_0x093a('0x14')];};};Realtime[_0x093a('0x43')][_0x093a('0x59')]=function(){var _0x3ef7a9=this;return function(_0xaab23e){clearVoiceQueues(_0x3ef7a9[_0x093a('0x14')]);if(_0xaab23e){_0xaab23e=_[_0x093a('0x5a')](_0xaab23e,_0x093a('0x5b'));for(var _0x37dbee in _0xaab23e){if(_0xaab23e[_0x093a('0x27')](_0x37dbee)){var _0x133b65={};for(var _0x3ab52a=0x0;_0x3ab52a<_0xaab23e[_0x37dbee][_0x093a('0x46')];_0x3ab52a+=0x1){var _0x5e9340=_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x5c')];if(_0x3ef7a9[_0x093a('0x14')][_0x5e9340]){if(_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x5d')]){_0x3ef7a9[_0x093a('0x14')][_0x5e9340][_0x093a('0x34')]+=0x1;}if(_0xaab23e[_0x37dbee][_0x3ab52a]['queuecallerabandon']){_0x3ef7a9[_0x093a('0x14')][_0x5e9340][_0x093a('0x35')]+=0x1;}_0x3ef7a9[_0x093a('0x14')][_0x5e9340][_0x093a('0x2e')]+=moment(_0xaab23e[_0x37dbee][_0x3ab52a]['queuecallerleaveAt'])[_0x093a('0x5e')](moment(_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x5f')]),_0x093a('0x60'))||0x0;if(_0x3ab52a===_0xaab23e[_0x37dbee][_0x093a('0x46')]-0x1){_0x3ef7a9[_0x093a('0x14')][_0x5e9340][_0x093a('0x2f')]+=moment(_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x61')]||_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x62')]||_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x63')])[_0x093a('0x5e')](moment(_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x5f')]),_0x093a('0x60'))||0x0;_0x3ef7a9[_0x093a('0x14')][_0x5e9340][_0x093a('0x2c')]+=0x1;if(_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x64')]){_0x3ef7a9[_0x093a('0x14')][_0x5e9340][_0x093a('0x2d')]+=0x1;_0x3ef7a9['voiceQueues'][_0x5e9340][_0x093a('0x30')]+=moment(_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x61')])['diff'](moment(_0xaab23e[_0x37dbee][_0x3ab52a][_0x093a('0x65')]),_0x093a('0x60'))||0x0;}}else{_0x3ef7a9['voiceQueues'][_0x5e9340][_0x093a('0x2f')]+=_0x3ef7a9['voiceQueues'][_0x5e9340]['sumHoldTime']||0x0;}}}}}}return _0x3ef7a9[_0x093a('0x14')];};};Realtime[_0x093a('0x43')][_0x093a('0x66')]=function(){var _0x1b923b=this;return function(_0x59421d){clearVoiceCallReports(_0x1b923b[_0x093a('0x18')]);if(_0x59421d){for(var _0x140e76=0x0;_0x140e76<_0x59421d[_0x093a('0x46')];_0x140e76+=0x1){_0x1b923b[_0x093a('0x18')][_0x093a('0x2c')]+=0x1;_0x1b923b[_0x093a('0x18')][_0x093a('0x2f')]+=_0x59421d[_0x140e76][_0x093a('0x67')];if(_0x59421d[_0x140e76][_0x093a('0x68')]==='ANSWERED'){_0x1b923b[_0x093a('0x18')][_0x093a('0x2d')]+=0x1;_0x1b923b[_0x093a('0x18')][_0x093a('0x2e')]+=_0x59421d[_0x140e76][_0x093a('0x67')]-_0x59421d[_0x140e76][_0x093a('0x69')]||0x0;_0x1b923b['outbound']['sumBillable']+=_0x59421d[_0x140e76][_0x093a('0x69')];}}}return _0x1b923b['outbound'];};};Realtime['prototype'][_0x093a('0x6a')]=function(){var _0x4cf763=this;return function(_0x58d3ba){if(_0x58d3ba){freeIsNotKey(_0x58d3ba,_0x4cf763[_0x093a('0x16')],_0x093a('0x2a'));for(var _0x1aac56=0x0,_0x50f835={};_0x1aac56<_0x58d3ba[_0x093a('0x46')];_0x1aac56+=0x1){_0x50f835=_0x58d3ba[_0x1aac56];if(_[_0x093a('0x48')](_0x4cf763[_0x093a('0x16')][_0x50f835['name']])){_0x4cf763['campaigns'][_0x50f835[_0x093a('0x2a')]]=new Campaign(_0x50f835);}else{_0x4cf763[_0x093a('0x44')](_0x4cf763[_0x093a('0x16')][_0x50f835[_0x093a('0x2a')]],_0x50f835);_0x4cf763['campaigns'][_0x50f835[_0x093a('0x2a')]][_0x093a('0x6b')]=_0x50f835['SquareProject']?_0x50f835[_0x093a('0x6c')][_0x093a('0x2a')]:undefined;}}}return _0x4cf763[_0x093a('0x16')];};};Realtime[_0x093a('0x43')][_0x093a('0x6d')]=function(){var _0x384e81=this;return function(_0x5c66f2){if(_0x5c66f2){freeIsNotKey(_0x5c66f2,_0x384e81['voiceExtensions'],'id');for(var _0x5a78c5=0x0,_0x4fcf84={};_0x5a78c5<_0x5c66f2[_0x093a('0x46')];_0x5a78c5+=0x1){_0x4fcf84=_0x5c66f2[_0x5a78c5];if(_[_0x093a('0x48')](_0x384e81[_0x093a('0x19')][_0x4fcf84['id']])){_0x384e81[_0x093a('0x19')][_0x4fcf84['id']]=new VoiceExtension(_0x4fcf84);}else{_0x384e81['mergeFromDatabase'](_0x384e81[_0x093a('0x19')][_0x4fcf84['id']],_0x4fcf84);}}}return _0x384e81[_0x093a('0x19')];};};Realtime[_0x093a('0x43')]['initCampaignHopperHistory']=function(){var _0x583c52=this;return function(_0x2f5561){clearCampaigns(_0x583c52[_0x093a('0x16')]);for(var _0x42f602=0x0;_0x42f602<_0x2f5561[_0x093a('0x46')];_0x42f602+=0x1){_[_0x093a('0x6e')](_0x583c52['campaigns'][_0x2f5561[_0x42f602][_0x093a('0x2a')]],_0x2f5561[_0x42f602]);}return _0x583c52[_0x093a('0x16')];};};Realtime[_0x093a('0x43')][_0x093a('0x6f')]=function(){var _0x431802=this;return function(_0x5dc21c){if(_0x5dc21c){freeIsNotKey(_0x5dc21c,_0x431802['faxAccounts'],'id');for(var _0x16ac36=0x0,_0x34e2d4={},_0x90d6d1={};_0x16ac36<_0x5dc21c[_0x093a('0x46')];_0x16ac36+=0x1){_0x34e2d4=_0x5dc21c[_0x16ac36];if(_[_0x093a('0x48')](_0x431802[_0x093a('0x25')][_0x34e2d4['id']])){_0x431802[_0x093a('0x25')][_0x34e2d4['id']]=new FaxAccount(_0x34e2d4);}else{_0x431802['mergeFromDatabase'](_0x431802['faxAccounts'][_0x34e2d4['id']],_0x34e2d4);}}}return _0x431802['faxAccounts'];};};module[_0x093a('0x70')]=Realtime;