Built motion from commit fe909640.|2.6.8
[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 _0xb079=['../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','settings','salesforceAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','format','SIP/%s','name','isNil','interface','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','hasOwnProperty','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','length','isUndefined','initTelephones','initTrunks','trunks','initVoiceQueues','voiceQueues','initTriggers','initTemplates','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','merge','groupBy','queuecallerexit','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallercomplete','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','SquareProject','initVoiceExtensions','initFaxAccounts','exports','util','lodash','moment','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/freshdeskAccount'];(function(_0x47e7cb,_0x4c1b8d){var _0x2a8874=function(_0x36498f){while(--_0x36498f){_0x47e7cb['push'](_0x47e7cb['shift']());}};_0x2a8874(++_0x4c1b8d);}(_0xb079,0x133));var _0x9b07=function(_0x5f1445,_0x3f16bb){_0x5f1445=_0x5f1445-0x0;var _0x5b266e=_0xb079[_0x5f1445];return _0x5b266e;};'use strict';var util=require(_0x9b07('0x0'));var _=require(_0x9b07('0x1'));var moment=require(_0x9b07('0x2'));var Agent=require('../model/agent');var Telephone=require(_0x9b07('0x3'));var Trunk=require(_0x9b07('0x4'));var VoiceQueue=require(_0x9b07('0x5'));var Trigger=require(_0x9b07('0x6'));var Template=require('../model/template');var Campaign=require(_0x9b07('0x7'));var VoiceExtension=require(_0x9b07('0x8'));var ZendeskAccount=require(_0x9b07('0x9'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x9b07('0xa'));var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require(_0x9b07('0xb'));var VtigerAccount=require(_0x9b07('0xc'));var ServicenowAccount=require(_0x9b07('0xd'));var Dynamics365Account=require(_0x9b07('0xe'));var FreshsalesAccount=require(_0x9b07('0xf'));var FaxAccount=require(_0x9b07('0x10'));var Realtime=function(){this[_0x9b07('0x11')]={};this[_0x9b07('0x12')]={};this['trunks']={};this['voiceQueues']={};this[_0x9b07('0x13')]={};this[_0x9b07('0x14')]={};this[_0x9b07('0x15')]={};this[_0x9b07('0x16')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x9b07('0x17')]={};this[_0x9b07('0x18')]={};this[_0x9b07('0x19')]={};this[_0x9b07('0x1a')]={};this['timers']={};this[_0x9b07('0x1b')]={};this['zendeskAccounts']={};this[_0x9b07('0x1c')]={};this['sugarcrmAccounts']={};this[_0x9b07('0x1d')]={};this[_0x9b07('0x1e')]={};this[_0x9b07('0x1f')]={};this[_0x9b07('0x20')]={};this[_0x9b07('0x21')]={};this[_0x9b07('0x22')]={};this[_0x9b07('0x23')]={};this[_0x9b07('0x24')]={};};function freeIsNotKey(_0x22e167,_0x3f9806,_0x32f437){var _0x1e26f6=_['mapKeys'](_0x22e167,function(_0x1bdd97,_0x275889){return _0x1bdd97[_0x32f437];});for(var _0x24ceb2 in _0x3f9806){if(_0x3f9806['hasOwnProperty'](_0x24ceb2)){if(!_0x1e26f6[_0x24ceb2]){delete _0x3f9806[_0x24ceb2];}}}}function freeIsNotKeySip(_0x4c30e5,_0x1632e0){var _0x3d1691=_[_0x9b07('0x25')](_0x4c30e5,function(_0x5df816,_0x160a35){return util[_0x9b07('0x26')](_0x9b07('0x27'),_0x5df816[_0x9b07('0x28')]);});for(var _0x3ef638 in _0x1632e0){if(_0x1632e0['hasOwnProperty'](_0x3ef638)){if(!_0x3d1691[_0x3ef638]){delete _0x1632e0[_0x3ef638];}}}}function freeIsNotKeyAgent(_0x228b1c,_0x3936ef){var _0x2a5641=_[_0x9b07('0x25')](_0x228b1c,function(_0x47c20c,_0x501991){var _0x50d02b=_[_0x9b07('0x29')](_0x47c20c['interface'])?util[_0x9b07('0x26')](_0x9b07('0x27'),_0x47c20c[_0x9b07('0x28')]):_0x47c20c[_0x9b07('0x2a')];return _0x50d02b;});for(var _0x5b4537 in _0x3936ef){if(_0x3936ef['hasOwnProperty'](_0x5b4537)){if(!_0x2a5641[_0x5b4537]){delete _0x3936ef[_0x5b4537];}}}}function clearVoiceCallReports(_0x55f8d2){_0x55f8d2[_0x9b07('0x2b')]=0x0;_0x55f8d2[_0x9b07('0x2c')]=0x0;_0x55f8d2[_0x9b07('0x2d')]=0x0;_0x55f8d2[_0x9b07('0x2e')]=0x0;_0x55f8d2[_0x9b07('0x2f')]=0x0;}function clearCampaigns(_0x55c88d){if(!_[_0x9b07('0x30')](_0x55c88d)){for(var _0x21f7c7 in _0x55c88d){if(_0x55c88d[_0x9b07('0x31')](_0x21f7c7)){_0x55c88d[_0x21f7c7]['ivrTotalCallsDays']=0x0;_0x55c88d[_0x21f7c7]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x596052){if(!_['isEmpty'](_0x596052)){for(var _0x1f88b2 in _0x596052){if(_0x596052[_0x9b07('0x31')](_0x1f88b2)){_0x596052[_0x1f88b2][_0x9b07('0x2b')]=0x0;_0x596052[_0x1f88b2]['answered']=0x0;_0x596052[_0x1f88b2][_0x9b07('0x32')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x33')]=0x0;_0x596052[_0x1f88b2]['sumHoldTime']=0x0;_0x596052[_0x1f88b2]['sumDuration']=0x0;_0x596052[_0x1f88b2][_0x9b07('0x2f')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x34')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x35')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x36')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x37')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x38')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x39')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x3a')]=0x0;_0x596052[_0x1f88b2]['outboundDropCallsDayCallersExit']=0x0;_0x596052[_0x1f88b2][_0x9b07('0x3b')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x3c')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x3d')]=0x0;_0x596052[_0x1f88b2][_0x9b07('0x3e')]=0x0;_0x596052[_0x1f88b2]['outboundAnswerAgiCallsDay']=0x0;_0x596052[_0x1f88b2][_0x9b07('0x3f')]=0x0;_0x596052[_0x1f88b2]['queueStatusComplete']=!![];}}}}Realtime[_0x9b07('0x40')][_0x9b07('0x41')]=function(_0xea373e,_0x4f8972){for(var _0x3b1c6d in _0x4f8972){if(_0xea373e[_0x9b07('0x31')](_0x3b1c6d)){_0xea373e[_0x3b1c6d]=_0x4f8972[_0x3b1c6d];}}};Realtime[_0x9b07('0x40')]['initAgents']=function(){var _0x22d7ec=this;return function(_0x143f47){if(_0x143f47){freeIsNotKeyAgent(_0x143f47,_0x22d7ec[_0x9b07('0x11')]);for(var _0x48ac7c=0x0,_0x2c0572={},_0x5754b6={};_0x48ac7c<_0x143f47[_0x9b07('0x42')];_0x48ac7c+=0x1){_0x2c0572=_0x143f47[_0x48ac7c];var _0x41b6a4=_['isNil'](_0x2c0572[_0x9b07('0x2a')])?util['format']('SIP/%s',_0x2c0572[_0x9b07('0x28')]):_0x2c0572[_0x9b07('0x2a')];if(_[_0x9b07('0x43')](_0x22d7ec[_0x9b07('0x11')][_0x41b6a4])){_0x22d7ec[_0x9b07('0x11')][_0x41b6a4]=new Agent(_0x2c0572);}else{_0x22d7ec[_0x9b07('0x41')](_0x22d7ec['agents'][_0x41b6a4],_0x2c0572);}}}return _0x22d7ec[_0x9b07('0x11')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x44')]=function(){var _0x912c77=this;return function(_0x6f06b3){if(_0x6f06b3){freeIsNotKeySip(_0x6f06b3,_0x912c77[_0x9b07('0x12')]);for(var _0x1709fb=0x0,_0x2f99d7={},_0x4e78da={};_0x1709fb<_0x6f06b3['length'];_0x1709fb+=0x1){_0x2f99d7=_0x6f06b3[_0x1709fb];if(_[_0x9b07('0x43')](_0x912c77[_0x9b07('0x12')][util[_0x9b07('0x26')](_0x9b07('0x27'),_0x2f99d7[_0x9b07('0x28')])])){_0x912c77[_0x9b07('0x12')][util[_0x9b07('0x26')](_0x9b07('0x27'),_0x2f99d7[_0x9b07('0x28')])]=new Telephone(_0x2f99d7);}else{_0x912c77[_0x9b07('0x41')](_0x912c77[_0x9b07('0x12')][util[_0x9b07('0x26')](_0x9b07('0x27'),_0x2f99d7[_0x9b07('0x28')])],_0x2f99d7);}}}return _0x912c77[_0x9b07('0x12')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x45')]=function(){var _0x2af795=this;return function(_0xdf67d5){if(_0xdf67d5){freeIsNotKeySip(_0xdf67d5,_0x2af795[_0x9b07('0x46')]);for(var _0x13f3f5=0x0,_0x275b8e={},_0x5c7af5={};_0x13f3f5<_0xdf67d5[_0x9b07('0x42')];_0x13f3f5+=0x1){_0x275b8e=_0xdf67d5[_0x13f3f5];if(_[_0x9b07('0x43')](_0x2af795[_0x9b07('0x46')][util[_0x9b07('0x26')]('SIP/%s',_0x275b8e[_0x9b07('0x28')])])){_0x2af795[_0x9b07('0x46')][util[_0x9b07('0x26')]('SIP/%s',_0x275b8e[_0x9b07('0x28')])]=new Trunk(_0x275b8e);}else{_0x2af795[_0x9b07('0x41')](_0x2af795[_0x9b07('0x46')][util['format']('SIP/%s',_0x275b8e['name'])],_0x275b8e);}}}return _0x2af795[_0x9b07('0x46')];};};Realtime['prototype'][_0x9b07('0x47')]=function(){var _0x4746b7=this;return function(_0x2c612f){if(_0x2c612f){freeIsNotKey(_0x2c612f,_0x4746b7['voiceQueues'],_0x9b07('0x28'));for(var _0x574d3a=0x0,_0x37ccff={},_0x39e9be={};_0x574d3a<_0x2c612f[_0x9b07('0x42')];_0x574d3a+=0x1){_0x37ccff=_0x2c612f[_0x574d3a];if(_[_0x9b07('0x43')](_0x4746b7[_0x9b07('0x48')][_0x37ccff[_0x9b07('0x28')]])){_0x4746b7[_0x9b07('0x48')][_0x37ccff[_0x9b07('0x28')]]=new VoiceQueue(_0x37ccff);}else{_0x4746b7[_0x9b07('0x41')](_0x4746b7[_0x9b07('0x48')][_0x37ccff[_0x9b07('0x28')]],_0x37ccff);}}}return _0x4746b7[_0x9b07('0x48')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x49')]=function(){var _0x292694=this;return function(_0x582201){if(_0x582201){freeIsNotKey(_0x582201,_0x292694[_0x9b07('0x13')],'id');for(var _0x40a7ef=0x0,_0x41ed3d={},_0x20e631={};_0x40a7ef<_0x582201[_0x9b07('0x42')];_0x40a7ef+=0x1){_0x41ed3d=_0x582201[_0x40a7ef];if(_[_0x9b07('0x43')](_0x292694[_0x9b07('0x13')][_0x41ed3d['id']])){_0x292694[_0x9b07('0x13')][_0x41ed3d['id']]=new Trigger(_0x41ed3d);}else{_0x292694[_0x9b07('0x41')](_0x292694[_0x9b07('0x13')][_0x41ed3d['id']],_0x41ed3d);}}}return _0x292694[_0x9b07('0x13')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x4a')]=function(){var _0x2b2c1f=this;return function(_0x1f8ce6){if(_0x1f8ce6){freeIsNotKey(_0x1f8ce6,_0x2b2c1f[_0x9b07('0x15')],'id');for(var _0x2b0623=0x0,_0x39009e={},_0x5179da={};_0x2b0623<_0x1f8ce6[_0x9b07('0x42')];_0x2b0623+=0x1){_0x39009e=_0x1f8ce6[_0x2b0623];if(_[_0x9b07('0x43')](_0x2b2c1f['templates'][_0x39009e['id']])){_0x2b2c1f[_0x9b07('0x15')][_0x39009e['id']]=new Template(_0x39009e);}else{_0x2b2c1f[_0x9b07('0x41')](_0x2b2c1f[_0x9b07('0x15')][_0x39009e['id']],_0x39009e);}}}return _0x2b2c1f[_0x9b07('0x15')];};};Realtime['prototype'][_0x9b07('0x4b')]=function(){var _0x2ff40a=this;return function(_0x2fde33){if(_0x2fde33){freeIsNotKey(_0x2fde33,_0x2ff40a['zendeskAccounts'],'id');for(var _0x17abb4=0x0,_0x1c2438={},_0x335919={};_0x17abb4<_0x2fde33[_0x9b07('0x42')];_0x17abb4+=0x1){_0x1c2438=_0x2fde33[_0x17abb4];if(_[_0x9b07('0x43')](_0x2ff40a['zendeskAccounts'][_0x1c2438['id']])){_0x2ff40a[_0x9b07('0x4c')][_0x1c2438['id']]=new ZendeskAccount(_0x1c2438);}else{_0x2ff40a['mergeFromDatabase'](_0x2ff40a[_0x9b07('0x4c')][_0x1c2438['id']],_0x1c2438);}}}return _0x2ff40a['zendeskAccounts'];};};Realtime[_0x9b07('0x40')][_0x9b07('0x4d')]=function(){var _0x4ff545=this;return function(_0x54ab05){if(_0x54ab05){freeIsNotKey(_0x54ab05,_0x4ff545['salesforceAccounts'],'id');for(var _0x2057f9=0x0,_0x547f8e={},_0x246797={};_0x2057f9<_0x54ab05['length'];_0x2057f9+=0x1){_0x547f8e=_0x54ab05[_0x2057f9];if(_[_0x9b07('0x43')](_0x4ff545[_0x9b07('0x1c')][_0x547f8e['id']])){_0x4ff545[_0x9b07('0x1c')][_0x547f8e['id']]=new SalesforceAccount(_0x547f8e);}else{_0x4ff545['mergeFromDatabase'](_0x4ff545[_0x9b07('0x1c')][_0x547f8e['id']],_0x547f8e);}}}return _0x4ff545[_0x9b07('0x1c')];};};Realtime['prototype'][_0x9b07('0x4e')]=function(){var _0x19db19=this;return function(_0x9e1c6){if(_0x9e1c6){freeIsNotKey(_0x9e1c6,_0x19db19[_0x9b07('0x1d')],'id');for(var _0x5dc02e=0x0,_0x40e5a1={},_0x1875a0={};_0x5dc02e<_0x9e1c6[_0x9b07('0x42')];_0x5dc02e+=0x1){_0x40e5a1=_0x9e1c6[_0x5dc02e];if(_[_0x9b07('0x43')](_0x19db19[_0x9b07('0x1d')][_0x40e5a1['id']])){_0x19db19[_0x9b07('0x1d')][_0x40e5a1['id']]=new FreshdeskAccount(_0x40e5a1);}else{_0x19db19[_0x9b07('0x41')](_0x19db19['freshdeskAccounts'][_0x40e5a1['id']],_0x40e5a1);}}}return _0x19db19['freshdeskAccounts'];};};Realtime[_0x9b07('0x40')][_0x9b07('0x4f')]=function(){var _0x532be0=this;return function(_0xa0f6af){if(_0xa0f6af){freeIsNotKey(_0xa0f6af,_0x532be0[_0x9b07('0x1e')],'id');for(var _0x183d6c=0x0,_0xef7fea={},_0x1166ac={};_0x183d6c<_0xa0f6af[_0x9b07('0x42')];_0x183d6c+=0x1){_0xef7fea=_0xa0f6af[_0x183d6c];if(_[_0x9b07('0x43')](_0x532be0[_0x9b07('0x1e')][_0xef7fea['id']])){_0x532be0[_0x9b07('0x1e')][_0xef7fea['id']]=new ZohoAccount(_0xef7fea);}else{_0x532be0[_0x9b07('0x41')](_0x532be0[_0x9b07('0x1e')][_0xef7fea['id']],_0xef7fea);}}}return _0x532be0[_0x9b07('0x1e')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x50')]=function(){var _0xbe78d3=this;return function(_0x1b0e06){if(_0x1b0e06){freeIsNotKey(_0x1b0e06,_0xbe78d3['deskAccounts'],'id');for(var _0x2e1f3f=0x0,_0x57c6ad={},_0x34de06={};_0x2e1f3f<_0x1b0e06['length'];_0x2e1f3f+=0x1){_0x57c6ad=_0x1b0e06[_0x2e1f3f];if(_['isUndefined'](_0xbe78d3['deskAccounts'][_0x57c6ad['id']])){_0xbe78d3[_0x9b07('0x1f')][_0x57c6ad['id']]=new DeskAccount(_0x57c6ad);}else{_0xbe78d3[_0x9b07('0x41')](_0xbe78d3[_0x9b07('0x1f')][_0x57c6ad['id']],_0x57c6ad);}}}return _0xbe78d3['deskAccounts'];};};Realtime[_0x9b07('0x40')][_0x9b07('0x51')]=function(){var _0x5cd470=this;return function(_0x3d964a){if(_0x3d964a){freeIsNotKey(_0x3d964a,_0x5cd470[_0x9b07('0x52')],'id');for(var _0x24e20a=0x0,_0x18a7e9={},_0x3114f1={};_0x24e20a<_0x3d964a[_0x9b07('0x42')];_0x24e20a+=0x1){_0x18a7e9=_0x3d964a[_0x24e20a];if(_[_0x9b07('0x43')](_0x5cd470[_0x9b07('0x52')][_0x18a7e9['id']])){_0x5cd470[_0x9b07('0x52')][_0x18a7e9['id']]=new SugarcrmAccount(_0x18a7e9);}else{_0x5cd470[_0x9b07('0x41')](_0x5cd470[_0x9b07('0x52')][_0x18a7e9['id']],_0x18a7e9);}}}return _0x5cd470['sugarcrmAccounts'];};};Realtime[_0x9b07('0x40')]['initVtigerAccounts']=function(){var _0x4b15af=this;return function(_0x413166){if(_0x413166){freeIsNotKey(_0x413166,_0x4b15af[_0x9b07('0x20')],'id');for(var _0x8f1801=0x0,_0x3d6412={},_0x549924={};_0x8f1801<_0x413166[_0x9b07('0x42')];_0x8f1801+=0x1){_0x3d6412=_0x413166[_0x8f1801];if(_[_0x9b07('0x43')](_0x4b15af['vtigerAccounts'][_0x3d6412['id']])){_0x4b15af[_0x9b07('0x20')][_0x3d6412['id']]=new VtigerAccount(_0x3d6412);}else{_0x4b15af[_0x9b07('0x41')](_0x4b15af['vtigerAccounts'][_0x3d6412['id']],_0x3d6412);}}}return _0x4b15af[_0x9b07('0x20')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x53')]=function(){var _0x30c8b5=this;return function(_0xb9c87d){if(_0xb9c87d){freeIsNotKey(_0xb9c87d,_0x30c8b5['servicenowAccounts'],'id');for(var _0x5bec10=0x0,_0x22860d={},_0x1ae5f1={};_0x5bec10<_0xb9c87d[_0x9b07('0x42')];_0x5bec10+=0x1){_0x22860d=_0xb9c87d[_0x5bec10];if(_['isUndefined'](_0x30c8b5[_0x9b07('0x21')][_0x22860d['id']])){_0x30c8b5[_0x9b07('0x21')][_0x22860d['id']]=new ServicenowAccount(_0x22860d);}else{_0x30c8b5['mergeFromDatabase'](_0x30c8b5[_0x9b07('0x21')][_0x22860d['id']],_0x22860d);}}}return _0x30c8b5[_0x9b07('0x21')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x54')]=function(){var _0x227e21=this;return function(_0x5c9dee){if(_0x5c9dee){freeIsNotKey(_0x5c9dee,_0x227e21[_0x9b07('0x22')],'id');for(var _0x1dd06f=0x0,_0x40f428={},_0x4b73a7={};_0x1dd06f<_0x5c9dee[_0x9b07('0x42')];_0x1dd06f+=0x1){_0x40f428=_0x5c9dee[_0x1dd06f];if(_[_0x9b07('0x43')](_0x227e21[_0x9b07('0x22')][_0x40f428['id']])){_0x227e21['dynamics365Accounts'][_0x40f428['id']]=new Dynamics365Account(_0x40f428);}else{_0x227e21[_0x9b07('0x41')](_0x227e21[_0x9b07('0x22')][_0x40f428['id']],_0x40f428);}}}return _0x227e21['dynamics365Accounts'];};};Realtime[_0x9b07('0x40')][_0x9b07('0x55')]=function(){var _0x1e379d=this;return function(_0x558708){if(_0x558708){freeIsNotKey(_0x558708,_0x1e379d[_0x9b07('0x23')],'id');for(var _0x531905=0x0,_0x3e759b={},_0x23bbba={};_0x531905<_0x558708[_0x9b07('0x42')];_0x531905+=0x1){_0x3e759b=_0x558708[_0x531905];if(_[_0x9b07('0x43')](_0x1e379d[_0x9b07('0x23')][_0x3e759b['id']])){_0x1e379d[_0x9b07('0x23')][_0x3e759b['id']]=new FreshsalesAccount(_0x3e759b);}else{_0x1e379d[_0x9b07('0x41')](_0x1e379d[_0x9b07('0x23')][_0x3e759b['id']],_0x3e759b);}}}return _0x1e379d['freshsalesAccounts'];};};Realtime[_0x9b07('0x40')]['initVoiceQueueHopperHistory']=function(){var _0xa4a40c=this;return function(_0x34d245){for(var _0x373315=0x0;_0x373315<_0x34d245['length'];_0x373315+=0x1){_[_0x9b07('0x56')](_0xa4a40c[_0x9b07('0x48')][_0x34d245[_0x373315][_0x9b07('0x28')]],_0x34d245[_0x373315]);}return _0xa4a40c[_0x9b07('0x48')];};};Realtime[_0x9b07('0x40')]['initVoiceQueueReports']=function(){var _0x285d84=this;return function(_0x773d5f){clearVoiceQueues(_0x285d84[_0x9b07('0x48')]);if(_0x773d5f){_0x773d5f=_[_0x9b07('0x57')](_0x773d5f,'uniqueid');for(var _0x39b7d8 in _0x773d5f){if(_0x773d5f[_0x9b07('0x31')](_0x39b7d8)){var _0x5f0524={};for(var _0x36bcf7=0x0;_0x36bcf7<_0x773d5f[_0x39b7d8][_0x9b07('0x42')];_0x36bcf7+=0x1){var _0x42aa7b=_0x773d5f[_0x39b7d8][_0x36bcf7]['queue'];if(_0x285d84['voiceQueues'][_0x42aa7b]){if(_0x773d5f[_0x39b7d8][_0x36bcf7][_0x9b07('0x58')]){_0x285d84[_0x9b07('0x48')][_0x42aa7b][_0x9b07('0x32')]+=0x1;}if(_0x773d5f[_0x39b7d8][_0x36bcf7][_0x9b07('0x59')]){_0x285d84[_0x9b07('0x48')][_0x42aa7b][_0x9b07('0x33')]+=0x1;}_0x285d84[_0x9b07('0x48')][_0x42aa7b][_0x9b07('0x2d')]+=moment(_0x773d5f[_0x39b7d8][_0x36bcf7][_0x9b07('0x5a')])[_0x9b07('0x5b')](moment(_0x773d5f[_0x39b7d8][_0x36bcf7][_0x9b07('0x5c')]),_0x9b07('0x5d'))||0x0;if(_0x36bcf7===_0x773d5f[_0x39b7d8]['length']-0x1){_0x285d84[_0x9b07('0x48')][_0x42aa7b][_0x9b07('0x2e')]+=moment(_0x773d5f[_0x39b7d8][_0x36bcf7][_0x9b07('0x5e')]||_0x773d5f[_0x39b7d8][_0x36bcf7][_0x9b07('0x5f')]||_0x773d5f[_0x39b7d8][_0x36bcf7]['queuecallerexitAt'])[_0x9b07('0x5b')](moment(_0x773d5f[_0x39b7d8][_0x36bcf7]['queuecallerjoinAt']),_0x9b07('0x5d'))||0x0;_0x285d84[_0x9b07('0x48')][_0x42aa7b][_0x9b07('0x2b')]+=0x1;if(_0x773d5f[_0x39b7d8][_0x36bcf7][_0x9b07('0x60')]){_0x285d84[_0x9b07('0x48')][_0x42aa7b][_0x9b07('0x2c')]+=0x1;_0x285d84[_0x9b07('0x48')][_0x42aa7b]['sumBillable']+=moment(_0x773d5f[_0x39b7d8][_0x36bcf7]['queuecallercompleteAt'])[_0x9b07('0x5b')](moment(_0x773d5f[_0x39b7d8][_0x36bcf7]['queuecallerleaveAt']),_0x9b07('0x5d'))||0x0;}}else{_0x285d84[_0x9b07('0x48')][_0x42aa7b][_0x9b07('0x2e')]+=_0x285d84[_0x9b07('0x48')][_0x42aa7b]['sumHoldTime']||0x0;}}}}}}return _0x285d84['voiceQueues'];};};Realtime[_0x9b07('0x40')][_0x9b07('0x61')]=function(){var _0xb9c360=this;return function(_0x138ea9){clearVoiceCallReports(_0xb9c360[_0x9b07('0x16')]);if(_0x138ea9){for(var _0x35d01a=0x0;_0x35d01a<_0x138ea9['length'];_0x35d01a+=0x1){_0xb9c360[_0x9b07('0x16')][_0x9b07('0x2b')]+=0x1;_0xb9c360[_0x9b07('0x16')][_0x9b07('0x2e')]+=_0x138ea9[_0x35d01a][_0x9b07('0x62')];if(_0x138ea9[_0x35d01a][_0x9b07('0x63')]===_0x9b07('0x64')){_0xb9c360['outbound'][_0x9b07('0x2c')]+=0x1;_0xb9c360['outbound']['sumHoldTime']+=_0x138ea9[_0x35d01a][_0x9b07('0x62')]-_0x138ea9[_0x35d01a][_0x9b07('0x65')]||0x0;_0xb9c360['outbound']['sumBillable']+=_0x138ea9[_0x35d01a][_0x9b07('0x65')];}}}return _0xb9c360[_0x9b07('0x16')];};};Realtime[_0x9b07('0x40')]['initCampaigns']=function(){var _0x580b26=this;return function(_0x30d6c7){if(_0x30d6c7){freeIsNotKey(_0x30d6c7,_0x580b26[_0x9b07('0x14')],_0x9b07('0x28'));for(var _0x137b4c=0x0,_0x20a6d7={};_0x137b4c<_0x30d6c7['length'];_0x137b4c+=0x1){_0x20a6d7=_0x30d6c7[_0x137b4c];if(_[_0x9b07('0x43')](_0x580b26['campaigns'][_0x20a6d7[_0x9b07('0x28')]])){_0x580b26[_0x9b07('0x14')][_0x20a6d7[_0x9b07('0x28')]]=new Campaign(_0x20a6d7);}else{_0x580b26['mergeFromDatabase'](_0x580b26[_0x9b07('0x14')][_0x20a6d7[_0x9b07('0x28')]],_0x20a6d7);_0x580b26[_0x9b07('0x14')][_0x20a6d7['name']]['dialQueueProject']=_0x20a6d7['SquareProject']?_0x20a6d7[_0x9b07('0x66')][_0x9b07('0x28')]:undefined;}}}return _0x580b26[_0x9b07('0x14')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x67')]=function(){var _0x35df44=this;return function(_0x4df8b8){if(_0x4df8b8){freeIsNotKey(_0x4df8b8,_0x35df44['voiceExtensions'],'id');for(var _0x4f4fb9=0x0,_0x301010={};_0x4f4fb9<_0x4df8b8[_0x9b07('0x42')];_0x4f4fb9+=0x1){_0x301010=_0x4df8b8[_0x4f4fb9];if(_[_0x9b07('0x43')](_0x35df44[_0x9b07('0x17')][_0x301010['id']])){_0x35df44[_0x9b07('0x17')][_0x301010['id']]=new VoiceExtension(_0x301010);}else{_0x35df44[_0x9b07('0x41')](_0x35df44[_0x9b07('0x17')][_0x301010['id']],_0x301010);}}}return _0x35df44[_0x9b07('0x17')];};};Realtime[_0x9b07('0x40')]['initCampaignHopperHistory']=function(){var _0x5e7b38=this;return function(_0x2ee7b2){clearCampaigns(_0x5e7b38['campaigns']);for(var _0x239dc6=0x0;_0x239dc6<_0x2ee7b2['length'];_0x239dc6+=0x1){_[_0x9b07('0x56')](_0x5e7b38[_0x9b07('0x14')][_0x2ee7b2[_0x239dc6][_0x9b07('0x28')]],_0x2ee7b2[_0x239dc6]);}return _0x5e7b38[_0x9b07('0x14')];};};Realtime[_0x9b07('0x40')][_0x9b07('0x68')]=function(){var _0x1a0361=this;return function(_0x4498c8){if(_0x4498c8){freeIsNotKey(_0x4498c8,_0x1a0361[_0x9b07('0x24')],'id');for(var _0x410cf1=0x0,_0xf1f452={},_0x94c14f={};_0x410cf1<_0x4498c8['length'];_0x410cf1+=0x1){_0xf1f452=_0x4498c8[_0x410cf1];if(_['isUndefined'](_0x1a0361[_0x9b07('0x24')][_0xf1f452['id']])){_0x1a0361[_0x9b07('0x24')][_0xf1f452['id']]=new FaxAccount(_0xf1f452);}else{_0x1a0361[_0x9b07('0x41')](_0x1a0361['faxAccounts'][_0xf1f452['id']],_0xf1f452);}}}return _0x1a0361[_0x9b07('0x24')];};};module[_0x9b07('0x69')]=Realtime;