e66b45d4ee996b277507ed10f2f51d03e15d335b
[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 _0xe3c9=['diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallercomplete','answered','initVoiceCallReports','duration','disposition','billableseconds','initCampaigns','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','faxAccounts','exports','bluebird','util','../model/agent','../model/telephone','../model/trunk','../model/trigger','../model/template','../model/campaign','../model/zendeskAccount','../model/freshdeskAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','triggers','campaigns','outbound','channels','queueChannels','timers','zendeskAccounts','salesforceAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','sumHoldTime','sumBillable','ivrTotalCallsDays','isEmpty','unmanaged','abandoned','sumDuration','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','initAgents','isUndefined','initTrunks','length','initVoiceQueues','voiceQueues','templates','initSalesforceAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','queuecallerabandon','queuecallerleaveAt'];(function(_0x5bd37d,_0x4a6bc5){var _0x10e247=function(_0x201eee){while(--_0x201eee){_0x5bd37d['push'](_0x5bd37d['shift']());}};_0x10e247(++_0x4a6bc5);}(_0xe3c9,0x1bf));var _0x9e3c=function(_0xdea41a,_0x552987){_0xdea41a=_0xdea41a-0x0;var _0x15d0d8=_0xe3c9[_0xdea41a];return _0x15d0d8;};'use strict';var BPromise=require(_0x9e3c('0x0'));var util=require(_0x9e3c('0x1'));var _=require('lodash');var moment=require('moment');var Agent=require(_0x9e3c('0x2'));var Telephone=require(_0x9e3c('0x3'));var Trunk=require(_0x9e3c('0x4'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x9e3c('0x5'));var Template=require(_0x9e3c('0x6'));var Campaign=require(_0x9e3c('0x7'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0x9e3c('0x8'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x9e3c('0x9'));var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0x9e3c('0xa'));var DeskAccount=require(_0x9e3c('0xb'));var VtigerAccount=require(_0x9e3c('0xc'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x9e3c('0xd'));var FreshsalesAccount=require(_0x9e3c('0xe'));var FaxAccount=require(_0x9e3c('0xf'));var Realtime=function(){this[_0x9e3c('0x10')]={};this[_0x9e3c('0x11')]={};this[_0x9e3c('0x12')]={};this['voiceQueues']={};this[_0x9e3c('0x13')]={};this[_0x9e3c('0x14')]={};this['templates']={};this[_0x9e3c('0x15')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0x9e3c('0x16')]={};this[_0x9e3c('0x17')]={};this['outboundChannels']={};this[_0x9e3c('0x18')]={};this[_0x9e3c('0x19')]={};this[_0x9e3c('0x1a')]={};this['sugarcrmAccounts']={};this[_0x9e3c('0x1b')]={};this[_0x9e3c('0x1c')]={};this[_0x9e3c('0x1d')]={};this[_0x9e3c('0x1e')]={};this[_0x9e3c('0x1f')]={};this[_0x9e3c('0x20')]={};this[_0x9e3c('0x21')]={};this['faxAccounts']={};};function freeIsNotKey(_0x64661a,_0xf51ec7,_0x30769f){var _0x105b68=_[_0x9e3c('0x22')](_0x64661a,function(_0x4a86cd,_0x5961b2){return _0x4a86cd[_0x30769f];});for(var _0x15086d in _0xf51ec7){if(_0xf51ec7[_0x9e3c('0x23')](_0x15086d)){if(!_0x105b68[_0x15086d]){delete _0xf51ec7[_0x15086d];}}}}function freeIsNotKeySip(_0x4a808d,_0x435872){var _0x4ee991=_[_0x9e3c('0x22')](_0x4a808d,function(_0x2c871c,_0x2496db){return util[_0x9e3c('0x24')](_0x9e3c('0x25'),_0x2c871c[_0x9e3c('0x26')]);});for(var _0x45ddc7 in _0x435872){if(_0x435872[_0x9e3c('0x23')](_0x45ddc7)){if(!_0x4ee991[_0x45ddc7]){delete _0x435872[_0x45ddc7];}}}}function freeIsNotKeyAgent(_0x37e319,_0x1e53fa){var _0x581b03=_[_0x9e3c('0x22')](_0x37e319,function(_0x25256b,_0x3853cf){var _0x1504c9=_[_0x9e3c('0x27')](_0x25256b['interface'])?util[_0x9e3c('0x24')](_0x9e3c('0x25'),_0x25256b[_0x9e3c('0x26')]):_0x25256b[_0x9e3c('0x28')];return _0x1504c9;});for(var _0x3c9f1b in _0x1e53fa){if(_0x1e53fa[_0x9e3c('0x23')](_0x3c9f1b)){if(!_0x581b03[_0x3c9f1b]){delete _0x1e53fa[_0x3c9f1b];}}}}function clearVoiceCallReports(_0x39ef77){_0x39ef77[_0x9e3c('0x29')]=0x0;_0x39ef77['answered']=0x0;_0x39ef77[_0x9e3c('0x2a')]=0x0;_0x39ef77['sumDuration']=0x0;_0x39ef77[_0x9e3c('0x2b')]=0x0;}function clearCampaigns(_0x39cae1){if(!_['isEmpty'](_0x39cae1)){for(var _0x5a5546 in _0x39cae1){if(_0x39cae1[_0x9e3c('0x23')](_0x5a5546)){_0x39cae1[_0x5a5546][_0x9e3c('0x2c')]=0x0;_0x39cae1[_0x5a5546]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x453bec){if(!_[_0x9e3c('0x2d')](_0x453bec)){for(var _0x2bf891 in _0x453bec){if(_0x453bec[_0x9e3c('0x23')](_0x2bf891)){_0x453bec[_0x2bf891][_0x9e3c('0x29')]=0x0;_0x453bec[_0x2bf891]['answered']=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x2e')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x2f')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x2a')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x30')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x2b')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x31')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x32')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x33')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x34')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x35')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x36')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x37')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x38')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x39')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x3a')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x3b')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x3c')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x31')]=0x0;_0x453bec[_0x2bf891][_0x9e3c('0x3d')]=0x0;_0x453bec[_0x2bf891]['queueStatusComplete']=!![];}}}}Realtime[_0x9e3c('0x3e')][_0x9e3c('0x3f')]=function(_0x596860,_0x4a8eec){for(var _0x1de5ec in _0x4a8eec){if(_0x596860['hasOwnProperty'](_0x1de5ec)){_0x596860[_0x1de5ec]=_0x4a8eec[_0x1de5ec];}}};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x40')]=function(){var _0x437b68=this;return function(_0x106217){if(_0x106217){freeIsNotKeyAgent(_0x106217,_0x437b68[_0x9e3c('0x10')]);for(var _0x5e5b4a=0x0,_0x2e036b={},_0x41a498={};_0x5e5b4a<_0x106217['length'];_0x5e5b4a+=0x1){_0x2e036b=_0x106217[_0x5e5b4a];var _0x40c031=_[_0x9e3c('0x27')](_0x2e036b['interface'])?util[_0x9e3c('0x24')](_0x9e3c('0x25'),_0x2e036b['name']):_0x2e036b[_0x9e3c('0x28')];if(_[_0x9e3c('0x41')](_0x437b68[_0x9e3c('0x10')][_0x40c031])){_0x437b68[_0x9e3c('0x10')][_0x40c031]=new Agent(_0x2e036b);}else{_0x437b68[_0x9e3c('0x3f')](_0x437b68[_0x9e3c('0x10')][_0x40c031],_0x2e036b);}}}return _0x437b68[_0x9e3c('0x10')];};};Realtime['prototype']['initTelephones']=function(){var _0x2e2ebd=this;return function(_0x31c69b){if(_0x31c69b){freeIsNotKeySip(_0x31c69b,_0x2e2ebd[_0x9e3c('0x11')]);for(var _0x567acf=0x0,_0x1a1b0c={},_0x1e6eeb={};_0x567acf<_0x31c69b['length'];_0x567acf+=0x1){_0x1a1b0c=_0x31c69b[_0x567acf];if(_['isUndefined'](_0x2e2ebd[_0x9e3c('0x11')][util[_0x9e3c('0x24')](_0x9e3c('0x25'),_0x1a1b0c[_0x9e3c('0x26')])])){_0x2e2ebd[_0x9e3c('0x11')][util['format'](_0x9e3c('0x25'),_0x1a1b0c[_0x9e3c('0x26')])]=new Telephone(_0x1a1b0c);}else{_0x2e2ebd[_0x9e3c('0x3f')](_0x2e2ebd[_0x9e3c('0x11')][util[_0x9e3c('0x24')](_0x9e3c('0x25'),_0x1a1b0c[_0x9e3c('0x26')])],_0x1a1b0c);}}}return _0x2e2ebd[_0x9e3c('0x11')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x42')]=function(){var _0x24a3d8=this;return function(_0x58fab5){if(_0x58fab5){freeIsNotKeySip(_0x58fab5,_0x24a3d8[_0x9e3c('0x12')]);for(var _0xb69ea5=0x0,_0x500ac2={},_0x3a6587={};_0xb69ea5<_0x58fab5[_0x9e3c('0x43')];_0xb69ea5+=0x1){_0x500ac2=_0x58fab5[_0xb69ea5];if(_[_0x9e3c('0x41')](_0x24a3d8[_0x9e3c('0x12')][util[_0x9e3c('0x24')]('SIP/%s',_0x500ac2[_0x9e3c('0x26')])])){_0x24a3d8[_0x9e3c('0x12')][util[_0x9e3c('0x24')](_0x9e3c('0x25'),_0x500ac2[_0x9e3c('0x26')])]=new Trunk(_0x500ac2);}else{_0x24a3d8[_0x9e3c('0x3f')](_0x24a3d8[_0x9e3c('0x12')][util['format'](_0x9e3c('0x25'),_0x500ac2[_0x9e3c('0x26')])],_0x500ac2);}}}return _0x24a3d8[_0x9e3c('0x12')];};};Realtime['prototype'][_0x9e3c('0x44')]=function(){var _0x259d1c=this;return function(_0x1a13a0){if(_0x1a13a0){freeIsNotKey(_0x1a13a0,_0x259d1c[_0x9e3c('0x45')],_0x9e3c('0x26'));for(var _0x44b288=0x0,_0x3b394={},_0x1790a8={};_0x44b288<_0x1a13a0[_0x9e3c('0x43')];_0x44b288+=0x1){_0x3b394=_0x1a13a0[_0x44b288];if(_[_0x9e3c('0x41')](_0x259d1c[_0x9e3c('0x45')][_0x3b394['name']])){_0x259d1c[_0x9e3c('0x45')][_0x3b394[_0x9e3c('0x26')]]=new VoiceQueue(_0x3b394);}else{_0x259d1c['mergeFromDatabase'](_0x259d1c[_0x9e3c('0x45')][_0x3b394[_0x9e3c('0x26')]],_0x3b394);}}}return _0x259d1c['voiceQueues'];};};Realtime[_0x9e3c('0x3e')]['initTriggers']=function(){var _0x57ee51=this;return function(_0x2242e5){if(_0x2242e5){freeIsNotKey(_0x2242e5,_0x57ee51[_0x9e3c('0x13')],'id');for(var _0x3202d9=0x0,_0x1024b1={},_0x4034c6={};_0x3202d9<_0x2242e5['length'];_0x3202d9+=0x1){_0x1024b1=_0x2242e5[_0x3202d9];if(_['isUndefined'](_0x57ee51[_0x9e3c('0x13')][_0x1024b1['id']])){_0x57ee51[_0x9e3c('0x13')][_0x1024b1['id']]=new Trigger(_0x1024b1);}else{_0x57ee51[_0x9e3c('0x3f')](_0x57ee51[_0x9e3c('0x13')][_0x1024b1['id']],_0x1024b1);}}}return _0x57ee51[_0x9e3c('0x13')];};};Realtime['prototype']['initTemplates']=function(){var _0x5629ce=this;return function(_0x30b223){if(_0x30b223){freeIsNotKey(_0x30b223,_0x5629ce['templates'],'id');for(var _0x21f0f4=0x0,_0xaa3c94={},_0x116bc8={};_0x21f0f4<_0x30b223[_0x9e3c('0x43')];_0x21f0f4+=0x1){_0xaa3c94=_0x30b223[_0x21f0f4];if(_[_0x9e3c('0x41')](_0x5629ce[_0x9e3c('0x46')][_0xaa3c94['id']])){_0x5629ce[_0x9e3c('0x46')][_0xaa3c94['id']]=new Template(_0xaa3c94);}else{_0x5629ce[_0x9e3c('0x3f')](_0x5629ce[_0x9e3c('0x46')][_0xaa3c94['id']],_0xaa3c94);}}}return _0x5629ce[_0x9e3c('0x46')];};};Realtime[_0x9e3c('0x3e')]['initZendeskAccounts']=function(){var _0x37b353=this;return function(_0x365682){if(_0x365682){freeIsNotKey(_0x365682,_0x37b353[_0x9e3c('0x19')],'id');for(var _0xeab412=0x0,_0x5bb37e={},_0x52d689={};_0xeab412<_0x365682[_0x9e3c('0x43')];_0xeab412+=0x1){_0x5bb37e=_0x365682[_0xeab412];if(_['isUndefined'](_0x37b353[_0x9e3c('0x19')][_0x5bb37e['id']])){_0x37b353[_0x9e3c('0x19')][_0x5bb37e['id']]=new ZendeskAccount(_0x5bb37e);}else{_0x37b353[_0x9e3c('0x3f')](_0x37b353[_0x9e3c('0x19')][_0x5bb37e['id']],_0x5bb37e);}}}return _0x37b353[_0x9e3c('0x19')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x47')]=function(){var _0x535ed6=this;return function(_0x4d6f80){if(_0x4d6f80){freeIsNotKey(_0x4d6f80,_0x535ed6[_0x9e3c('0x1a')],'id');for(var _0x4f2aa0=0x0,_0x23b760={},_0x4a48df={};_0x4f2aa0<_0x4d6f80[_0x9e3c('0x43')];_0x4f2aa0+=0x1){_0x23b760=_0x4d6f80[_0x4f2aa0];if(_[_0x9e3c('0x41')](_0x535ed6[_0x9e3c('0x1a')][_0x23b760['id']])){_0x535ed6[_0x9e3c('0x1a')][_0x23b760['id']]=new SalesforceAccount(_0x23b760);}else{_0x535ed6['mergeFromDatabase'](_0x535ed6[_0x9e3c('0x1a')][_0x23b760['id']],_0x23b760);}}}return _0x535ed6['salesforceAccounts'];};};Realtime[_0x9e3c('0x3e')]['initFreshdeskAccounts']=function(){var _0x4f5d96=this;return function(_0xe93ef7){if(_0xe93ef7){freeIsNotKey(_0xe93ef7,_0x4f5d96[_0x9e3c('0x1b')],'id');for(var _0x2c2c14=0x0,_0x23f10b={},_0x465e1f={};_0x2c2c14<_0xe93ef7['length'];_0x2c2c14+=0x1){_0x23f10b=_0xe93ef7[_0x2c2c14];if(_['isUndefined'](_0x4f5d96['freshdeskAccounts'][_0x23f10b['id']])){_0x4f5d96[_0x9e3c('0x1b')][_0x23f10b['id']]=new FreshdeskAccount(_0x23f10b);}else{_0x4f5d96[_0x9e3c('0x3f')](_0x4f5d96[_0x9e3c('0x1b')][_0x23f10b['id']],_0x23f10b);}}}return _0x4f5d96['freshdeskAccounts'];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x48')]=function(){var _0x511cc4=this;return function(_0x426d00){if(_0x426d00){freeIsNotKey(_0x426d00,_0x511cc4['zohoAccounts'],'id');for(var _0xbf73c4=0x0,_0x4f1496={},_0x19b022={};_0xbf73c4<_0x426d00[_0x9e3c('0x43')];_0xbf73c4+=0x1){_0x4f1496=_0x426d00[_0xbf73c4];if(_[_0x9e3c('0x41')](_0x511cc4[_0x9e3c('0x1c')][_0x4f1496['id']])){_0x511cc4[_0x9e3c('0x1c')][_0x4f1496['id']]=new ZohoAccount(_0x4f1496);}else{_0x511cc4[_0x9e3c('0x3f')](_0x511cc4[_0x9e3c('0x1c')][_0x4f1496['id']],_0x4f1496);}}}return _0x511cc4[_0x9e3c('0x1c')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x49')]=function(){var _0x3e377b=this;return function(_0x47bf3f){if(_0x47bf3f){freeIsNotKey(_0x47bf3f,_0x3e377b['deskAccounts'],'id');for(var _0x136c84=0x0,_0x1d8b54={},_0x1f31dc={};_0x136c84<_0x47bf3f[_0x9e3c('0x43')];_0x136c84+=0x1){_0x1d8b54=_0x47bf3f[_0x136c84];if(_[_0x9e3c('0x41')](_0x3e377b[_0x9e3c('0x1d')][_0x1d8b54['id']])){_0x3e377b[_0x9e3c('0x1d')][_0x1d8b54['id']]=new DeskAccount(_0x1d8b54);}else{_0x3e377b[_0x9e3c('0x3f')](_0x3e377b[_0x9e3c('0x1d')][_0x1d8b54['id']],_0x1d8b54);}}}return _0x3e377b[_0x9e3c('0x1d')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x4a')]=function(){var _0x234446=this;return function(_0x4204e0){if(_0x4204e0){freeIsNotKey(_0x4204e0,_0x234446[_0x9e3c('0x4b')],'id');for(var _0x15510f=0x0,_0xc24ab9={},_0x3ad8a8={};_0x15510f<_0x4204e0[_0x9e3c('0x43')];_0x15510f+=0x1){_0xc24ab9=_0x4204e0[_0x15510f];if(_[_0x9e3c('0x41')](_0x234446[_0x9e3c('0x4b')][_0xc24ab9['id']])){_0x234446['sugarcrmAccounts'][_0xc24ab9['id']]=new SugarcrmAccount(_0xc24ab9);}else{_0x234446[_0x9e3c('0x3f')](_0x234446['sugarcrmAccounts'][_0xc24ab9['id']],_0xc24ab9);}}}return _0x234446['sugarcrmAccounts'];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x4c')]=function(){var _0x3bae77=this;return function(_0x3485bc){if(_0x3485bc){freeIsNotKey(_0x3485bc,_0x3bae77[_0x9e3c('0x1e')],'id');for(var _0x32a23c=0x0,_0x55f2ee={},_0x3f6a87={};_0x32a23c<_0x3485bc[_0x9e3c('0x43')];_0x32a23c+=0x1){_0x55f2ee=_0x3485bc[_0x32a23c];if(_[_0x9e3c('0x41')](_0x3bae77['vtigerAccounts'][_0x55f2ee['id']])){_0x3bae77[_0x9e3c('0x1e')][_0x55f2ee['id']]=new VtigerAccount(_0x55f2ee);}else{_0x3bae77['mergeFromDatabase'](_0x3bae77[_0x9e3c('0x1e')][_0x55f2ee['id']],_0x55f2ee);}}}return _0x3bae77[_0x9e3c('0x1e')];};};Realtime['prototype']['initServicenowAccounts']=function(){var _0x8acc77=this;return function(_0x490ec2){if(_0x490ec2){freeIsNotKey(_0x490ec2,_0x8acc77['servicenowAccounts'],'id');for(var _0x67cc28=0x0,_0x105038={},_0x38f6fc={};_0x67cc28<_0x490ec2[_0x9e3c('0x43')];_0x67cc28+=0x1){_0x105038=_0x490ec2[_0x67cc28];if(_['isUndefined'](_0x8acc77[_0x9e3c('0x1f')][_0x105038['id']])){_0x8acc77['servicenowAccounts'][_0x105038['id']]=new ServicenowAccount(_0x105038);}else{_0x8acc77[_0x9e3c('0x3f')](_0x8acc77[_0x9e3c('0x1f')][_0x105038['id']],_0x105038);}}}return _0x8acc77[_0x9e3c('0x1f')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x4d')]=function(){var _0x3576ad=this;return function(_0x5a4fec){if(_0x5a4fec){freeIsNotKey(_0x5a4fec,_0x3576ad[_0x9e3c('0x20')],'id');for(var _0x233f1c=0x0,_0x5aa1d5={},_0x588df1={};_0x233f1c<_0x5a4fec[_0x9e3c('0x43')];_0x233f1c+=0x1){_0x5aa1d5=_0x5a4fec[_0x233f1c];if(_[_0x9e3c('0x41')](_0x3576ad['dynamics365Accounts'][_0x5aa1d5['id']])){_0x3576ad[_0x9e3c('0x20')][_0x5aa1d5['id']]=new Dynamics365Account(_0x5aa1d5);}else{_0x3576ad[_0x9e3c('0x3f')](_0x3576ad[_0x9e3c('0x20')][_0x5aa1d5['id']],_0x5aa1d5);}}}return _0x3576ad[_0x9e3c('0x20')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x4e')]=function(){var _0xd0212a=this;return function(_0x5047e8){if(_0x5047e8){freeIsNotKey(_0x5047e8,_0xd0212a[_0x9e3c('0x21')],'id');for(var _0x236400=0x0,_0x362bc6={},_0x1c33a8={};_0x236400<_0x5047e8[_0x9e3c('0x43')];_0x236400+=0x1){_0x362bc6=_0x5047e8[_0x236400];if(_[_0x9e3c('0x41')](_0xd0212a[_0x9e3c('0x21')][_0x362bc6['id']])){_0xd0212a[_0x9e3c('0x21')][_0x362bc6['id']]=new FreshsalesAccount(_0x362bc6);}else{_0xd0212a[_0x9e3c('0x3f')](_0xd0212a[_0x9e3c('0x21')][_0x362bc6['id']],_0x362bc6);}}}return _0xd0212a[_0x9e3c('0x21')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x4f')]=function(){var _0xa803b6=this;return function(_0x5f1c60){for(var _0x5018fa=0x0;_0x5018fa<_0x5f1c60[_0x9e3c('0x43')];_0x5018fa+=0x1){_[_0x9e3c('0x50')](_0xa803b6['voiceQueues'][_0x5f1c60[_0x5018fa][_0x9e3c('0x26')]],_0x5f1c60[_0x5018fa]);}return _0xa803b6[_0x9e3c('0x45')];};};Realtime['prototype'][_0x9e3c('0x51')]=function(){var _0x44a487=this;return function(_0x4df8fd){clearVoiceQueues(_0x44a487[_0x9e3c('0x45')]);if(_0x4df8fd){_0x4df8fd=_[_0x9e3c('0x52')](_0x4df8fd,_0x9e3c('0x53'));for(var _0x2d0da6 in _0x4df8fd){if(_0x4df8fd[_0x9e3c('0x23')](_0x2d0da6)){var _0x2fa273={};for(var _0x3363a5=0x0;_0x3363a5<_0x4df8fd[_0x2d0da6]['length'];_0x3363a5+=0x1){var _0x1ccd77=_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x54')];if(_0x44a487[_0x9e3c('0x45')][_0x1ccd77]){if(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x55')]){_0x44a487[_0x9e3c('0x45')][_0x1ccd77]['unmanaged']+=0x1;}if(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x56')]){_0x44a487[_0x9e3c('0x45')][_0x1ccd77][_0x9e3c('0x2f')]+=0x1;}_0x44a487[_0x9e3c('0x45')][_0x1ccd77][_0x9e3c('0x2a')]+=moment(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x57')])[_0x9e3c('0x58')](moment(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x59')]),_0x9e3c('0x5a'))||0x0;if(_0x3363a5===_0x4df8fd[_0x2d0da6][_0x9e3c('0x43')]-0x1){_0x44a487[_0x9e3c('0x45')][_0x1ccd77][_0x9e3c('0x30')]+=moment(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x5b')]||_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x5c')]||_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x5d')])[_0x9e3c('0x58')](moment(_0x4df8fd[_0x2d0da6][_0x3363a5]['queuecallerjoinAt']),_0x9e3c('0x5a'))||0x0;_0x44a487[_0x9e3c('0x45')][_0x1ccd77][_0x9e3c('0x29')]+=0x1;if(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x5e')]){_0x44a487[_0x9e3c('0x45')][_0x1ccd77][_0x9e3c('0x5f')]+=0x1;_0x44a487[_0x9e3c('0x45')][_0x1ccd77][_0x9e3c('0x2b')]+=moment(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x5b')])[_0x9e3c('0x58')](moment(_0x4df8fd[_0x2d0da6][_0x3363a5][_0x9e3c('0x57')]),_0x9e3c('0x5a'))||0x0;}}else{_0x44a487[_0x9e3c('0x45')][_0x1ccd77]['sumDuration']+=_0x44a487[_0x9e3c('0x45')][_0x1ccd77][_0x9e3c('0x2a')]||0x0;}}}}}}return _0x44a487['voiceQueues'];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x60')]=function(){var _0x1085d8=this;return function(_0x38b798){clearVoiceCallReports(_0x1085d8[_0x9e3c('0x15')]);if(_0x38b798){for(var _0x2d2896=0x0;_0x2d2896<_0x38b798['length'];_0x2d2896+=0x1){_0x1085d8[_0x9e3c('0x15')][_0x9e3c('0x29')]+=0x1;_0x1085d8[_0x9e3c('0x15')][_0x9e3c('0x30')]+=_0x38b798[_0x2d2896][_0x9e3c('0x61')];if(_0x38b798[_0x2d2896][_0x9e3c('0x62')]==='ANSWERED'){_0x1085d8[_0x9e3c('0x15')]['answered']+=0x1;_0x1085d8[_0x9e3c('0x15')]['sumHoldTime']+=_0x38b798[_0x2d2896][_0x9e3c('0x61')]-_0x38b798[_0x2d2896][_0x9e3c('0x63')]||0x0;_0x1085d8[_0x9e3c('0x15')]['sumBillable']+=_0x38b798[_0x2d2896][_0x9e3c('0x63')];}}}return _0x1085d8[_0x9e3c('0x15')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x64')]=function(){var _0x3dc26a=this;return function(_0xccacb3){if(_0xccacb3){freeIsNotKey(_0xccacb3,_0x3dc26a[_0x9e3c('0x14')],_0x9e3c('0x26'));for(var _0x39ed08=0x0,_0x2e5523={};_0x39ed08<_0xccacb3[_0x9e3c('0x43')];_0x39ed08+=0x1){_0x2e5523=_0xccacb3[_0x39ed08];if(_['isUndefined'](_0x3dc26a[_0x9e3c('0x14')][_0x2e5523[_0x9e3c('0x26')]])){_0x3dc26a[_0x9e3c('0x14')][_0x2e5523[_0x9e3c('0x26')]]=new Campaign(_0x2e5523);}else{_0x3dc26a['mergeFromDatabase'](_0x3dc26a[_0x9e3c('0x14')][_0x2e5523[_0x9e3c('0x26')]],_0x2e5523);_0x3dc26a['campaigns'][_0x2e5523[_0x9e3c('0x26')]]['dialQueueProject']=_0x2e5523['SquareProject']?_0x2e5523['SquareProject']['name']:undefined;}}}return _0x3dc26a[_0x9e3c('0x14')];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x65')]=function(){var _0x119165=this;return function(_0x2f44a9){if(_0x2f44a9){freeIsNotKey(_0x2f44a9,_0x119165[_0x9e3c('0x66')],'id');for(var _0x332334=0x0,_0xe59de9={};_0x332334<_0x2f44a9['length'];_0x332334+=0x1){_0xe59de9=_0x2f44a9[_0x332334];if(_[_0x9e3c('0x41')](_0x119165['voiceExtensions'][_0xe59de9['id']])){_0x119165[_0x9e3c('0x66')][_0xe59de9['id']]=new VoiceExtension(_0xe59de9);}else{_0x119165['mergeFromDatabase'](_0x119165[_0x9e3c('0x66')][_0xe59de9['id']],_0xe59de9);}}}return _0x119165['voiceExtensions'];};};Realtime[_0x9e3c('0x3e')][_0x9e3c('0x67')]=function(){var _0x27b916=this;return function(_0x57b94f){clearCampaigns(_0x27b916[_0x9e3c('0x14')]);for(var _0x6fa7d4=0x0;_0x6fa7d4<_0x57b94f[_0x9e3c('0x43')];_0x6fa7d4+=0x1){_[_0x9e3c('0x50')](_0x27b916[_0x9e3c('0x14')][_0x57b94f[_0x6fa7d4]['name']],_0x57b94f[_0x6fa7d4]);}return _0x27b916[_0x9e3c('0x14')];};};Realtime['prototype'][_0x9e3c('0x68')]=function(){var _0x47389e=this;return function(_0xf86e1){if(_0xf86e1){freeIsNotKey(_0xf86e1,_0x47389e[_0x9e3c('0x69')],'id');for(var _0x408d38=0x0,_0x59e1b6={},_0x2c78eb={};_0x408d38<_0xf86e1['length'];_0x408d38+=0x1){_0x59e1b6=_0xf86e1[_0x408d38];if(_[_0x9e3c('0x41')](_0x47389e[_0x9e3c('0x69')][_0x59e1b6['id']])){_0x47389e['faxAccounts'][_0x59e1b6['id']]=new FaxAccount(_0x59e1b6);}else{_0x47389e['mergeFromDatabase'](_0x47389e[_0x9e3c('0x69')][_0x59e1b6['id']],_0x59e1b6);}}}return _0x47389e[_0x9e3c('0x69')];};};module[_0x9e3c('0x6a')]=Realtime;