Built motion from commit (unavailable).|2.5.31
[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 _0xb4e6=['sumDuration','isEmpty','ivrAnswerCallsDay','answered','abandoned','sumBillable','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','length','initTelephones','initTrunks','isUndefined','initTriggers','triggers','initTemplates','initZendeskAccounts','salesforceAccounts','initFreshdeskAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','unmanaged','queuecallerabandon','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerexitAt','queuecallercomplete','initVoiceCallReports','outbound','duration','disposition','ANSWERED','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/freshdeskAccount','../model/deskAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','voiceQueues','campaigns','templates','voiceExtensions','channels','queueChannels','outboundChannels','timers','settings','zendeskAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','name','isNil','interface','format','total','sumHoldTime'];(function(_0x429949,_0x125ab3){var _0x198e75=function(_0xba74c8){while(--_0xba74c8){_0x429949['push'](_0x429949['shift']());}};_0x198e75(++_0x125ab3);}(_0xb4e6,0x1f4));var _0x6b4e=function(_0x5948dd,_0x1f6ac8){_0x5948dd=_0x5948dd-0x0;var _0xb1f8be=_0xb4e6[_0x5948dd];return _0xb1f8be;};'use strict';var BPromise=require(_0x6b4e('0x0'));var util=require('util');var _=require(_0x6b4e('0x1'));var moment=require(_0x6b4e('0x2'));var Agent=require(_0x6b4e('0x3'));var Telephone=require(_0x6b4e('0x4'));var Trunk=require(_0x6b4e('0x5'));var VoiceQueue=require(_0x6b4e('0x6'));var Trigger=require(_0x6b4e('0x7'));var Template=require('../model/template');var Campaign=require(_0x6b4e('0x8'));var VoiceExtension=require(_0x6b4e('0x9'));var ZendeskAccount=require(_0x6b4e('0xa'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x6b4e('0xb'));var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require(_0x6b4e('0xc'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x6b4e('0xd'));var FreshsalesAccount=require(_0x6b4e('0xe'));var FaxAccount=require(_0x6b4e('0xf'));var Realtime=function(){this[_0x6b4e('0x10')]={};this[_0x6b4e('0x11')]={};this[_0x6b4e('0x12')]={};this[_0x6b4e('0x13')]={};this['triggers']={};this[_0x6b4e('0x14')]={};this[_0x6b4e('0x15')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x6b4e('0x16')]={};this[_0x6b4e('0x17')]={};this[_0x6b4e('0x18')]={};this[_0x6b4e('0x19')]={};this[_0x6b4e('0x1a')]={};this[_0x6b4e('0x1b')]={};this[_0x6b4e('0x1c')]={};this['salesforceAccounts']={};this[_0x6b4e('0x1d')]={};this[_0x6b4e('0x1e')]={};this['zohoAccounts']={};this[_0x6b4e('0x1f')]={};this['vtigerAccounts']={};this[_0x6b4e('0x20')]={};this[_0x6b4e('0x21')]={};this[_0x6b4e('0x22')]={};this[_0x6b4e('0x23')]={};};function freeIsNotKey(_0x28c3ba,_0x135568,_0x53a934){var _0x5775f4=_[_0x6b4e('0x24')](_0x28c3ba,function(_0x1beb73,_0x10d2b1){return _0x1beb73[_0x53a934];});for(var _0x39c1b8 in _0x135568){if(_0x135568[_0x6b4e('0x25')](_0x39c1b8)){if(!_0x5775f4[_0x39c1b8]){delete _0x135568[_0x39c1b8];}}}}function freeIsNotKeySip(_0x1a585d,_0xbba4e9){var _0x2eaf01=_[_0x6b4e('0x24')](_0x1a585d,function(_0x20a178,_0x2fc582){return util['format'](_0x6b4e('0x26'),_0x20a178[_0x6b4e('0x27')]);});for(var _0x31fb9d in _0xbba4e9){if(_0xbba4e9[_0x6b4e('0x25')](_0x31fb9d)){if(!_0x2eaf01[_0x31fb9d]){delete _0xbba4e9[_0x31fb9d];}}}}function freeIsNotKeyAgent(_0x5e5dcd,_0x1b48b5){var _0x507703=_[_0x6b4e('0x24')](_0x5e5dcd,function(_0x163dea,_0x165a99){var _0x4344b7=_[_0x6b4e('0x28')](_0x163dea[_0x6b4e('0x29')])?util[_0x6b4e('0x2a')]('SIP/%s',_0x163dea[_0x6b4e('0x27')]):_0x163dea['interface'];return _0x4344b7;});for(var _0x29cb4a in _0x1b48b5){if(_0x1b48b5[_0x6b4e('0x25')](_0x29cb4a)){if(!_0x507703[_0x29cb4a]){delete _0x1b48b5[_0x29cb4a];}}}}function clearVoiceCallReports(_0x38a79d){_0x38a79d[_0x6b4e('0x2b')]=0x0;_0x38a79d['answered']=0x0;_0x38a79d[_0x6b4e('0x2c')]=0x0;_0x38a79d[_0x6b4e('0x2d')]=0x0;_0x38a79d['sumBillable']=0x0;}function clearCampaigns(_0x32102f){if(!_[_0x6b4e('0x2e')](_0x32102f)){for(var _0x3513b2 in _0x32102f){if(_0x32102f[_0x6b4e('0x25')](_0x3513b2)){_0x32102f[_0x3513b2]['ivrTotalCallsDays']=0x0;_0x32102f[_0x3513b2][_0x6b4e('0x2f')]=0x0;}}}}function clearVoiceQueues(_0x182375){if(!_['isEmpty'](_0x182375)){for(var _0x130c21 in _0x182375){if(_0x182375[_0x6b4e('0x25')](_0x130c21)){_0x182375[_0x130c21][_0x6b4e('0x2b')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x30')]=0x0;_0x182375[_0x130c21]['unmanaged']=0x0;_0x182375[_0x130c21][_0x6b4e('0x31')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x2c')]=0x0;_0x182375[_0x130c21]['sumDuration']=0x0;_0x182375[_0x130c21][_0x6b4e('0x32')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x33')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x34')]=0x0;_0x182375[_0x130c21]['outboundBusyCallsDay']=0x0;_0x182375[_0x130c21]['outboundCongestionCallsDay']=0x0;_0x182375[_0x130c21][_0x6b4e('0x35')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x36')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x37')]=0x0;_0x182375[_0x130c21]['outboundDropCallsDayCallersExit']=0x0;_0x182375[_0x130c21][_0x6b4e('0x38')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x39')]=0x0;_0x182375[_0x130c21][_0x6b4e('0x3a')]=0x0;_0x182375[_0x130c21]['outboundReCallsDay']=0x0;_0x182375[_0x130c21]['outboundAnswerAgiCallsDay']=0x0;_0x182375[_0x130c21][_0x6b4e('0x3b')]=0x0;_0x182375[_0x130c21]['queueStatusComplete']=!![];}}}}Realtime[_0x6b4e('0x3c')][_0x6b4e('0x3d')]=function(_0x5ce786,_0x885c35){for(var _0x3b3094 in _0x885c35){if(_0x5ce786[_0x6b4e('0x25')](_0x3b3094)){_0x5ce786[_0x3b3094]=_0x885c35[_0x3b3094];}}};Realtime[_0x6b4e('0x3c')]['initAgents']=function(){var _0x4ea04e=this;return function(_0x1a482e){if(_0x1a482e){freeIsNotKeyAgent(_0x1a482e,_0x4ea04e[_0x6b4e('0x10')]);for(var _0x2c2454=0x0,_0x23e2d9={},_0x1dbac7={};_0x2c2454<_0x1a482e[_0x6b4e('0x3e')];_0x2c2454+=0x1){_0x23e2d9=_0x1a482e[_0x2c2454];var _0x2a5198=_[_0x6b4e('0x28')](_0x23e2d9[_0x6b4e('0x29')])?util[_0x6b4e('0x2a')](_0x6b4e('0x26'),_0x23e2d9[_0x6b4e('0x27')]):_0x23e2d9[_0x6b4e('0x29')];if(_['isUndefined'](_0x4ea04e[_0x6b4e('0x10')][_0x2a5198])){_0x4ea04e[_0x6b4e('0x10')][_0x2a5198]=new Agent(_0x23e2d9);}else{_0x4ea04e[_0x6b4e('0x3d')](_0x4ea04e['agents'][_0x2a5198],_0x23e2d9);}}}return _0x4ea04e[_0x6b4e('0x10')];};};Realtime['prototype'][_0x6b4e('0x3f')]=function(){var _0x1cb4c9=this;return function(_0x38687f){if(_0x38687f){freeIsNotKeySip(_0x38687f,_0x1cb4c9['telephones']);for(var _0x550a12=0x0,_0x2b160f={},_0x112ca3={};_0x550a12<_0x38687f['length'];_0x550a12+=0x1){_0x2b160f=_0x38687f[_0x550a12];if(_['isUndefined'](_0x1cb4c9[_0x6b4e('0x11')][util[_0x6b4e('0x2a')](_0x6b4e('0x26'),_0x2b160f[_0x6b4e('0x27')])])){_0x1cb4c9[_0x6b4e('0x11')][util[_0x6b4e('0x2a')](_0x6b4e('0x26'),_0x2b160f[_0x6b4e('0x27')])]=new Telephone(_0x2b160f);}else{_0x1cb4c9[_0x6b4e('0x3d')](_0x1cb4c9[_0x6b4e('0x11')][util[_0x6b4e('0x2a')]('SIP/%s',_0x2b160f[_0x6b4e('0x27')])],_0x2b160f);}}}return _0x1cb4c9[_0x6b4e('0x11')];};};Realtime['prototype'][_0x6b4e('0x40')]=function(){var _0x29353b=this;return function(_0x144679){if(_0x144679){freeIsNotKeySip(_0x144679,_0x29353b[_0x6b4e('0x12')]);for(var _0x953d43=0x0,_0x50a94c={},_0x4e545c={};_0x953d43<_0x144679[_0x6b4e('0x3e')];_0x953d43+=0x1){_0x50a94c=_0x144679[_0x953d43];if(_['isUndefined'](_0x29353b[_0x6b4e('0x12')][util[_0x6b4e('0x2a')]('SIP/%s',_0x50a94c[_0x6b4e('0x27')])])){_0x29353b['trunks'][util[_0x6b4e('0x2a')]('SIP/%s',_0x50a94c[_0x6b4e('0x27')])]=new Trunk(_0x50a94c);}else{_0x29353b[_0x6b4e('0x3d')](_0x29353b[_0x6b4e('0x12')][util[_0x6b4e('0x2a')]('SIP/%s',_0x50a94c[_0x6b4e('0x27')])],_0x50a94c);}}}return _0x29353b[_0x6b4e('0x12')];};};Realtime[_0x6b4e('0x3c')]['initVoiceQueues']=function(){var _0x1bcf2b=this;return function(_0x2f0ea5){if(_0x2f0ea5){freeIsNotKey(_0x2f0ea5,_0x1bcf2b[_0x6b4e('0x13')],_0x6b4e('0x27'));for(var _0x3edebd=0x0,_0x3b674c={},_0x123dd9={};_0x3edebd<_0x2f0ea5[_0x6b4e('0x3e')];_0x3edebd+=0x1){_0x3b674c=_0x2f0ea5[_0x3edebd];if(_[_0x6b4e('0x41')](_0x1bcf2b['voiceQueues'][_0x3b674c[_0x6b4e('0x27')]])){_0x1bcf2b[_0x6b4e('0x13')][_0x3b674c[_0x6b4e('0x27')]]=new VoiceQueue(_0x3b674c);}else{_0x1bcf2b[_0x6b4e('0x3d')](_0x1bcf2b[_0x6b4e('0x13')][_0x3b674c['name']],_0x3b674c);}}}return _0x1bcf2b[_0x6b4e('0x13')];};};Realtime['prototype'][_0x6b4e('0x42')]=function(){var _0x3bcfcc=this;return function(_0x2f2973){if(_0x2f2973){freeIsNotKey(_0x2f2973,_0x3bcfcc[_0x6b4e('0x43')],'id');for(var _0x5aa9b2=0x0,_0x2fbbc8={},_0x46467e={};_0x5aa9b2<_0x2f2973[_0x6b4e('0x3e')];_0x5aa9b2+=0x1){_0x2fbbc8=_0x2f2973[_0x5aa9b2];if(_['isUndefined'](_0x3bcfcc[_0x6b4e('0x43')][_0x2fbbc8['id']])){_0x3bcfcc[_0x6b4e('0x43')][_0x2fbbc8['id']]=new Trigger(_0x2fbbc8);}else{_0x3bcfcc[_0x6b4e('0x3d')](_0x3bcfcc[_0x6b4e('0x43')][_0x2fbbc8['id']],_0x2fbbc8);}}}return _0x3bcfcc[_0x6b4e('0x43')];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x44')]=function(){var _0x3e7186=this;return function(_0x2a74a2){if(_0x2a74a2){freeIsNotKey(_0x2a74a2,_0x3e7186[_0x6b4e('0x15')],'id');for(var _0x58a66b=0x0,_0x2106fb={},_0x1527f1={};_0x58a66b<_0x2a74a2[_0x6b4e('0x3e')];_0x58a66b+=0x1){_0x2106fb=_0x2a74a2[_0x58a66b];if(_['isUndefined'](_0x3e7186[_0x6b4e('0x15')][_0x2106fb['id']])){_0x3e7186[_0x6b4e('0x15')][_0x2106fb['id']]=new Template(_0x2106fb);}else{_0x3e7186[_0x6b4e('0x3d')](_0x3e7186[_0x6b4e('0x15')][_0x2106fb['id']],_0x2106fb);}}}return _0x3e7186[_0x6b4e('0x15')];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x45')]=function(){var _0x3cb1c4=this;return function(_0x29eeb8){if(_0x29eeb8){freeIsNotKey(_0x29eeb8,_0x3cb1c4[_0x6b4e('0x1c')],'id');for(var _0x61bf8e=0x0,_0x49f81a={},_0x4e183b={};_0x61bf8e<_0x29eeb8[_0x6b4e('0x3e')];_0x61bf8e+=0x1){_0x49f81a=_0x29eeb8[_0x61bf8e];if(_[_0x6b4e('0x41')](_0x3cb1c4[_0x6b4e('0x1c')][_0x49f81a['id']])){_0x3cb1c4[_0x6b4e('0x1c')][_0x49f81a['id']]=new ZendeskAccount(_0x49f81a);}else{_0x3cb1c4['mergeFromDatabase'](_0x3cb1c4[_0x6b4e('0x1c')][_0x49f81a['id']],_0x49f81a);}}}return _0x3cb1c4[_0x6b4e('0x1c')];};};Realtime[_0x6b4e('0x3c')]['initSalesforceAccounts']=function(){var _0x477831=this;return function(_0x392172){if(_0x392172){freeIsNotKey(_0x392172,_0x477831[_0x6b4e('0x46')],'id');for(var _0x282c4d=0x0,_0x3ce7b8={},_0x5d211a={};_0x282c4d<_0x392172[_0x6b4e('0x3e')];_0x282c4d+=0x1){_0x3ce7b8=_0x392172[_0x282c4d];if(_['isUndefined'](_0x477831[_0x6b4e('0x46')][_0x3ce7b8['id']])){_0x477831[_0x6b4e('0x46')][_0x3ce7b8['id']]=new SalesforceAccount(_0x3ce7b8);}else{_0x477831['mergeFromDatabase'](_0x477831[_0x6b4e('0x46')][_0x3ce7b8['id']],_0x3ce7b8);}}}return _0x477831['salesforceAccounts'];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x47')]=function(){var _0x3e2ccf=this;return function(_0x3bd916){if(_0x3bd916){freeIsNotKey(_0x3bd916,_0x3e2ccf[_0x6b4e('0x1e')],'id');for(var _0x498100=0x0,_0x63b9a7={},_0x292e36={};_0x498100<_0x3bd916[_0x6b4e('0x3e')];_0x498100+=0x1){_0x63b9a7=_0x3bd916[_0x498100];if(_['isUndefined'](_0x3e2ccf['freshdeskAccounts'][_0x63b9a7['id']])){_0x3e2ccf[_0x6b4e('0x1e')][_0x63b9a7['id']]=new FreshdeskAccount(_0x63b9a7);}else{_0x3e2ccf[_0x6b4e('0x3d')](_0x3e2ccf['freshdeskAccounts'][_0x63b9a7['id']],_0x63b9a7);}}}return _0x3e2ccf[_0x6b4e('0x1e')];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x48')]=function(){var _0x12adfe=this;return function(_0x45f16e){if(_0x45f16e){freeIsNotKey(_0x45f16e,_0x12adfe['zohoAccounts'],'id');for(var _0x52faab=0x0,_0x1b3f3c={},_0x1c2f9d={};_0x52faab<_0x45f16e[_0x6b4e('0x3e')];_0x52faab+=0x1){_0x1b3f3c=_0x45f16e[_0x52faab];if(_[_0x6b4e('0x41')](_0x12adfe[_0x6b4e('0x49')][_0x1b3f3c['id']])){_0x12adfe[_0x6b4e('0x49')][_0x1b3f3c['id']]=new ZohoAccount(_0x1b3f3c);}else{_0x12adfe[_0x6b4e('0x3d')](_0x12adfe[_0x6b4e('0x49')][_0x1b3f3c['id']],_0x1b3f3c);}}}return _0x12adfe[_0x6b4e('0x49')];};};Realtime['prototype'][_0x6b4e('0x4a')]=function(){var _0x4427da=this;return function(_0xa4a5cc){if(_0xa4a5cc){freeIsNotKey(_0xa4a5cc,_0x4427da['deskAccounts'],'id');for(var _0x5ebf49=0x0,_0x22a68a={},_0x38b1a6={};_0x5ebf49<_0xa4a5cc[_0x6b4e('0x3e')];_0x5ebf49+=0x1){_0x22a68a=_0xa4a5cc[_0x5ebf49];if(_[_0x6b4e('0x41')](_0x4427da[_0x6b4e('0x1f')][_0x22a68a['id']])){_0x4427da['deskAccounts'][_0x22a68a['id']]=new DeskAccount(_0x22a68a);}else{_0x4427da[_0x6b4e('0x3d')](_0x4427da[_0x6b4e('0x1f')][_0x22a68a['id']],_0x22a68a);}}}return _0x4427da[_0x6b4e('0x1f')];};};Realtime['prototype'][_0x6b4e('0x4b')]=function(){var _0x1676a5=this;return function(_0x31e49d){if(_0x31e49d){freeIsNotKey(_0x31e49d,_0x1676a5['sugarcrmAccounts'],'id');for(var _0x226cc1=0x0,_0x12664f={},_0x56b2f3={};_0x226cc1<_0x31e49d[_0x6b4e('0x3e')];_0x226cc1+=0x1){_0x12664f=_0x31e49d[_0x226cc1];if(_[_0x6b4e('0x41')](_0x1676a5[_0x6b4e('0x1d')][_0x12664f['id']])){_0x1676a5[_0x6b4e('0x1d')][_0x12664f['id']]=new SugarcrmAccount(_0x12664f);}else{_0x1676a5[_0x6b4e('0x3d')](_0x1676a5[_0x6b4e('0x1d')][_0x12664f['id']],_0x12664f);}}}return _0x1676a5[_0x6b4e('0x1d')];};};Realtime['prototype'][_0x6b4e('0x4c')]=function(){var _0x184fc6=this;return function(_0x1de27f){if(_0x1de27f){freeIsNotKey(_0x1de27f,_0x184fc6[_0x6b4e('0x4d')],'id');for(var _0x30a848=0x0,_0x5ab4b8={},_0x15a835={};_0x30a848<_0x1de27f[_0x6b4e('0x3e')];_0x30a848+=0x1){_0x5ab4b8=_0x1de27f[_0x30a848];if(_[_0x6b4e('0x41')](_0x184fc6[_0x6b4e('0x4d')][_0x5ab4b8['id']])){_0x184fc6[_0x6b4e('0x4d')][_0x5ab4b8['id']]=new VtigerAccount(_0x5ab4b8);}else{_0x184fc6['mergeFromDatabase'](_0x184fc6[_0x6b4e('0x4d')][_0x5ab4b8['id']],_0x5ab4b8);}}}return _0x184fc6['vtigerAccounts'];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x4e')]=function(){var _0x43bf5a=this;return function(_0x3d393b){if(_0x3d393b){freeIsNotKey(_0x3d393b,_0x43bf5a['servicenowAccounts'],'id');for(var _0x7d1ce=0x0,_0xb14e52={},_0x329d25={};_0x7d1ce<_0x3d393b[_0x6b4e('0x3e')];_0x7d1ce+=0x1){_0xb14e52=_0x3d393b[_0x7d1ce];if(_[_0x6b4e('0x41')](_0x43bf5a[_0x6b4e('0x20')][_0xb14e52['id']])){_0x43bf5a[_0x6b4e('0x20')][_0xb14e52['id']]=new ServicenowAccount(_0xb14e52);}else{_0x43bf5a['mergeFromDatabase'](_0x43bf5a['servicenowAccounts'][_0xb14e52['id']],_0xb14e52);}}}return _0x43bf5a['servicenowAccounts'];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x4f')]=function(){var _0x247319=this;return function(_0x166e94){if(_0x166e94){freeIsNotKey(_0x166e94,_0x247319[_0x6b4e('0x21')],'id');for(var _0x381045=0x0,_0x5882b8={},_0x4e8006={};_0x381045<_0x166e94[_0x6b4e('0x3e')];_0x381045+=0x1){_0x5882b8=_0x166e94[_0x381045];if(_[_0x6b4e('0x41')](_0x247319[_0x6b4e('0x21')][_0x5882b8['id']])){_0x247319[_0x6b4e('0x21')][_0x5882b8['id']]=new Dynamics365Account(_0x5882b8);}else{_0x247319['mergeFromDatabase'](_0x247319[_0x6b4e('0x21')][_0x5882b8['id']],_0x5882b8);}}}return _0x247319['dynamics365Accounts'];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x50')]=function(){var _0x41eba2=this;return function(_0x3bf4c9){if(_0x3bf4c9){freeIsNotKey(_0x3bf4c9,_0x41eba2['freshsalesAccounts'],'id');for(var _0x4a99bf=0x0,_0x4abcef={},_0xb4b99d={};_0x4a99bf<_0x3bf4c9['length'];_0x4a99bf+=0x1){_0x4abcef=_0x3bf4c9[_0x4a99bf];if(_[_0x6b4e('0x41')](_0x41eba2[_0x6b4e('0x22')][_0x4abcef['id']])){_0x41eba2['freshsalesAccounts'][_0x4abcef['id']]=new FreshsalesAccount(_0x4abcef);}else{_0x41eba2[_0x6b4e('0x3d')](_0x41eba2['freshsalesAccounts'][_0x4abcef['id']],_0x4abcef);}}}return _0x41eba2[_0x6b4e('0x22')];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x51')]=function(){var _0x29a432=this;return function(_0x53c912){for(var _0x509840=0x0;_0x509840<_0x53c912['length'];_0x509840+=0x1){_[_0x6b4e('0x52')](_0x29a432[_0x6b4e('0x13')][_0x53c912[_0x509840]['name']],_0x53c912[_0x509840]);}return _0x29a432[_0x6b4e('0x13')];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x53')]=function(){var _0x29c314=this;return function(_0x3d9927){clearVoiceQueues(_0x29c314[_0x6b4e('0x13')]);if(_0x3d9927){_0x3d9927=_[_0x6b4e('0x54')](_0x3d9927,_0x6b4e('0x55'));for(var _0x202efb in _0x3d9927){if(_0x3d9927[_0x6b4e('0x25')](_0x202efb)){var _0x3bbe9b={};for(var _0x58346a=0x0;_0x58346a<_0x3d9927[_0x202efb][_0x6b4e('0x3e')];_0x58346a+=0x1){var _0x2bf993=_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x56')];if(_0x29c314[_0x6b4e('0x13')][_0x2bf993]){if(_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x57')]){_0x29c314[_0x6b4e('0x13')][_0x2bf993][_0x6b4e('0x58')]+=0x1;}if(_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x59')]){_0x29c314[_0x6b4e('0x13')][_0x2bf993]['abandoned']+=0x1;}_0x29c314['voiceQueues'][_0x2bf993]['sumHoldTime']+=moment(_0x3d9927[_0x202efb][_0x58346a]['queuecallerleaveAt'])[_0x6b4e('0x5a')](moment(_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x5b')]),_0x6b4e('0x5c'))||0x0;if(_0x58346a===_0x3d9927[_0x202efb][_0x6b4e('0x3e')]-0x1){_0x29c314['voiceQueues'][_0x2bf993][_0x6b4e('0x2d')]+=moment(_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x5d')]||_0x3d9927[_0x202efb][_0x58346a]['queuecallerabandonAt']||_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x5e')])[_0x6b4e('0x5a')](moment(_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x5b')]),_0x6b4e('0x5c'))||0x0;_0x29c314['voiceQueues'][_0x2bf993][_0x6b4e('0x2b')]+=0x1;if(_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x5f')]){_0x29c314['voiceQueues'][_0x2bf993]['answered']+=0x1;_0x29c314[_0x6b4e('0x13')][_0x2bf993]['sumBillable']+=moment(_0x3d9927[_0x202efb][_0x58346a][_0x6b4e('0x5d')])[_0x6b4e('0x5a')](moment(_0x3d9927[_0x202efb][_0x58346a]['queuecallerleaveAt']),_0x6b4e('0x5c'))||0x0;}}else{_0x29c314[_0x6b4e('0x13')][_0x2bf993][_0x6b4e('0x2d')]+=_0x29c314[_0x6b4e('0x13')][_0x2bf993][_0x6b4e('0x2c')]||0x0;}}}}}}return _0x29c314['voiceQueues'];};};Realtime['prototype'][_0x6b4e('0x60')]=function(){var _0x378b38=this;return function(_0xeb573c){clearVoiceCallReports(_0x378b38[_0x6b4e('0x61')]);if(_0xeb573c){for(var _0xd49ed4=0x0;_0xd49ed4<_0xeb573c[_0x6b4e('0x3e')];_0xd49ed4+=0x1){_0x378b38[_0x6b4e('0x61')][_0x6b4e('0x2b')]+=0x1;_0x378b38[_0x6b4e('0x61')]['sumDuration']+=_0xeb573c[_0xd49ed4][_0x6b4e('0x62')];if(_0xeb573c[_0xd49ed4][_0x6b4e('0x63')]===_0x6b4e('0x64')){_0x378b38[_0x6b4e('0x61')][_0x6b4e('0x30')]+=0x1;_0x378b38[_0x6b4e('0x61')][_0x6b4e('0x2c')]+=_0xeb573c[_0xd49ed4][_0x6b4e('0x62')]-_0xeb573c[_0xd49ed4][_0x6b4e('0x65')]||0x0;_0x378b38[_0x6b4e('0x61')][_0x6b4e('0x32')]+=_0xeb573c[_0xd49ed4][_0x6b4e('0x65')];}}}return _0x378b38['outbound'];};};Realtime['prototype'][_0x6b4e('0x66')]=function(){var _0x478258=this;return function(_0x3e905d){if(_0x3e905d){freeIsNotKey(_0x3e905d,_0x478258[_0x6b4e('0x14')],_0x6b4e('0x27'));for(var _0x5da498=0x0,_0x1813f5={};_0x5da498<_0x3e905d[_0x6b4e('0x3e')];_0x5da498+=0x1){_0x1813f5=_0x3e905d[_0x5da498];if(_[_0x6b4e('0x41')](_0x478258['campaigns'][_0x1813f5[_0x6b4e('0x27')]])){_0x478258[_0x6b4e('0x14')][_0x1813f5[_0x6b4e('0x27')]]=new Campaign(_0x1813f5);}else{_0x478258[_0x6b4e('0x3d')](_0x478258[_0x6b4e('0x14')][_0x1813f5[_0x6b4e('0x27')]],_0x1813f5);_0x478258[_0x6b4e('0x14')][_0x1813f5['name']][_0x6b4e('0x67')]=_0x1813f5[_0x6b4e('0x68')]?_0x1813f5[_0x6b4e('0x68')]['name']:undefined;}}}return _0x478258['campaigns'];};};Realtime['prototype'][_0x6b4e('0x69')]=function(){var _0x4dcf9b=this;return function(_0x3cd460){if(_0x3cd460){freeIsNotKey(_0x3cd460,_0x4dcf9b[_0x6b4e('0x16')],'id');for(var _0x282a42=0x0,_0x45b79d={};_0x282a42<_0x3cd460[_0x6b4e('0x3e')];_0x282a42+=0x1){_0x45b79d=_0x3cd460[_0x282a42];if(_[_0x6b4e('0x41')](_0x4dcf9b[_0x6b4e('0x16')][_0x45b79d['id']])){_0x4dcf9b['voiceExtensions'][_0x45b79d['id']]=new VoiceExtension(_0x45b79d);}else{_0x4dcf9b[_0x6b4e('0x3d')](_0x4dcf9b['voiceExtensions'][_0x45b79d['id']],_0x45b79d);}}}return _0x4dcf9b['voiceExtensions'];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x6a')]=function(){var _0x170f9c=this;return function(_0x5a29f8){clearCampaigns(_0x170f9c[_0x6b4e('0x14')]);for(var _0x585837=0x0;_0x585837<_0x5a29f8[_0x6b4e('0x3e')];_0x585837+=0x1){_[_0x6b4e('0x52')](_0x170f9c[_0x6b4e('0x14')][_0x5a29f8[_0x585837][_0x6b4e('0x27')]],_0x5a29f8[_0x585837]);}return _0x170f9c[_0x6b4e('0x14')];};};Realtime[_0x6b4e('0x3c')][_0x6b4e('0x6b')]=function(){var _0x1e5033=this;return function(_0x4b9b4b){if(_0x4b9b4b){freeIsNotKey(_0x4b9b4b,_0x1e5033[_0x6b4e('0x23')],'id');for(var _0x5c0906=0x0,_0x10e6ac={},_0x505b55={};_0x5c0906<_0x4b9b4b[_0x6b4e('0x3e')];_0x5c0906+=0x1){_0x10e6ac=_0x4b9b4b[_0x5c0906];if(_['isUndefined'](_0x1e5033[_0x6b4e('0x23')][_0x10e6ac['id']])){_0x1e5033[_0x6b4e('0x23')][_0x10e6ac['id']]=new FaxAccount(_0x10e6ac);}else{_0x1e5033[_0x6b4e('0x3d')](_0x1e5033[_0x6b4e('0x23')][_0x10e6ac['id']],_0x10e6ac);}}}return _0x1e5033[_0x6b4e('0x23')];};};module[_0x6b4e('0x6c')]=Realtime;