e5eadfb6303838f33f8bc13956c0bb114bfd80ee
[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 _0x2f5b=['templates','voiceExtensions','channels','queueChannels','outboundChannels','sugarcrmAccounts','vtigerAccounts','servicenowAccounts','freshsalesAccounts','hasOwnProperty','mapKeys','format','SIP/%s','name','isNil','interface','total','answered','sumBillable','ivrTotalCallsDays','ivrAnswerCallsDay','isEmpty','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isUndefined','initTelephones','initVoiceQueues','voiceQueues','initTriggers','triggers','initTemplates','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','salesforceAccounts','freshdeskAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','deskAccounts','initVtigerAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','queue','queuecallerabandon','sumHoldTime','queuecallerleaveAt','diff','queuecallerjoinAt','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','seconds','queuecallercomplete','sumDuration','initVoiceCallReports','outbound','duration','disposition','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','faxAccounts','util','moment','../model/agent','../model/telephone','../model/voiceQueue','../model/template','../model/campaign','../model/voiceExtension','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','campaigns'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x2f5b,0xc6));var _0xb2f5=function(_0x487c25,_0x4530e5){_0x487c25=_0x487c25-0x0;var _0x1fe915=_0x2f5b[_0x487c25];return _0x1fe915;};'use strict';var BPromise=require('bluebird');var util=require(_0xb2f5('0x0'));var _=require('lodash');var moment=require(_0xb2f5('0x1'));var Agent=require(_0xb2f5('0x2'));var Telephone=require(_0xb2f5('0x3'));var Trunk=require('../model/trunk');var VoiceQueue=require(_0xb2f5('0x4'));var Trigger=require('../model/trigger');var Template=require(_0xb2f5('0x5'));var Campaign=require(_0xb2f5('0x6'));var VoiceExtension=require(_0xb2f5('0x7'));var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0xb2f5('0x8'));var FreshdeskAccount=require(_0xb2f5('0x9'));var SugarcrmAccount=require(_0xb2f5('0xa'));var ZohoAccount=require(_0xb2f5('0xb'));var DeskAccount=require(_0xb2f5('0xc'));var VtigerAccount=require(_0xb2f5('0xd'));var ServicenowAccount=require(_0xb2f5('0xe'));var Dynamics365Account=require(_0xb2f5('0xf'));var FreshsalesAccount=require(_0xb2f5('0x10'));var FaxAccount=require(_0xb2f5('0x11'));var Realtime=function(){this[_0xb2f5('0x12')]={};this[_0xb2f5('0x13')]={};this[_0xb2f5('0x14')]={};this['voiceQueues']={};this['triggers']={};this[_0xb2f5('0x15')]={};this[_0xb2f5('0x16')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xb2f5('0x17')]={};this[_0xb2f5('0x18')]={};this[_0xb2f5('0x19')]={};this[_0xb2f5('0x1a')]={};this['timers']={};this['settings']={};this['zendeskAccounts']={};this['salesforceAccounts']={};this[_0xb2f5('0x1b')]={};this['freshdeskAccounts']={};this['zohoAccounts']={};this['deskAccounts']={};this[_0xb2f5('0x1c')]={};this[_0xb2f5('0x1d')]={};this['dynamics365Accounts']={};this[_0xb2f5('0x1e')]={};this['faxAccounts']={};};function freeIsNotKey(_0x494770,_0x195cba,_0x8dc24a){var _0x5b76b9=_['mapKeys'](_0x494770,function(_0x204854,_0x5d8d98){return _0x204854[_0x8dc24a];});for(var _0x2dc398 in _0x195cba){if(_0x195cba[_0xb2f5('0x1f')](_0x2dc398)){if(!_0x5b76b9[_0x2dc398]){delete _0x195cba[_0x2dc398];}}}}function freeIsNotKeySip(_0x1fffb2,_0x1de846){var _0x165df4=_[_0xb2f5('0x20')](_0x1fffb2,function(_0x272c59,_0x489eee){return util[_0xb2f5('0x21')](_0xb2f5('0x22'),_0x272c59[_0xb2f5('0x23')]);});for(var _0x43a0eb in _0x1de846){if(_0x1de846[_0xb2f5('0x1f')](_0x43a0eb)){if(!_0x165df4[_0x43a0eb]){delete _0x1de846[_0x43a0eb];}}}}function freeIsNotKeyAgent(_0x2164fa,_0x5829da){var _0x4cefcd=_[_0xb2f5('0x20')](_0x2164fa,function(_0x5ce6f5,_0x2efe6e){var _0x2a24d8=_[_0xb2f5('0x24')](_0x5ce6f5['interface'])?util[_0xb2f5('0x21')](_0xb2f5('0x22'),_0x5ce6f5['name']):_0x5ce6f5[_0xb2f5('0x25')];return _0x2a24d8;});for(var _0x40af04 in _0x5829da){if(_0x5829da['hasOwnProperty'](_0x40af04)){if(!_0x4cefcd[_0x40af04]){delete _0x5829da[_0x40af04];}}}}function clearVoiceCallReports(_0x39a607){_0x39a607[_0xb2f5('0x26')]=0x0;_0x39a607[_0xb2f5('0x27')]=0x0;_0x39a607['sumHoldTime']=0x0;_0x39a607['sumDuration']=0x0;_0x39a607[_0xb2f5('0x28')]=0x0;}function clearCampaigns(_0x295c3a){if(!_['isEmpty'](_0x295c3a)){for(var _0x2d4ae3 in _0x295c3a){if(_0x295c3a[_0xb2f5('0x1f')](_0x2d4ae3)){_0x295c3a[_0x2d4ae3][_0xb2f5('0x29')]=0x0;_0x295c3a[_0x2d4ae3][_0xb2f5('0x2a')]=0x0;}}}}function clearVoiceQueues(_0x53e4a1){if(!_[_0xb2f5('0x2b')](_0x53e4a1)){for(var _0x527670 in _0x53e4a1){if(_0x53e4a1[_0xb2f5('0x1f')](_0x527670)){_0x53e4a1[_0x527670][_0xb2f5('0x26')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x27')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x2c')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x2d')]=0x0;_0x53e4a1[_0x527670]['sumHoldTime']=0x0;_0x53e4a1[_0x527670]['sumDuration']=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x28')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x2e')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x2f')]=0x0;_0x53e4a1[_0x527670]['outboundBusyCallsDay']=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x30')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x31')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x32')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x33')]=0x0;_0x53e4a1[_0x527670]['outboundDropCallsDayCallersExit']=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x34')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x35')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x36')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x37')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x2e')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x38')]=0x0;_0x53e4a1[_0x527670][_0xb2f5('0x39')]=!![];}}}}Realtime[_0xb2f5('0x3a')][_0xb2f5('0x3b')]=function(_0x4e2511,_0x3008e7){for(var _0x1a98ca in _0x3008e7){if(_0x4e2511[_0xb2f5('0x1f')](_0x1a98ca)){_0x4e2511[_0x1a98ca]=_0x3008e7[_0x1a98ca];}}};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x3c')]=function(){var _0x13ea46=this;return function(_0x37909c){if(_0x37909c){freeIsNotKeyAgent(_0x37909c,_0x13ea46['agents']);for(var _0xcd1d3a=0x0,_0x56bbd7={},_0x4624ba={};_0xcd1d3a<_0x37909c[_0xb2f5('0x3d')];_0xcd1d3a+=0x1){_0x56bbd7=_0x37909c[_0xcd1d3a];var _0x18e73e=_[_0xb2f5('0x24')](_0x56bbd7[_0xb2f5('0x25')])?util[_0xb2f5('0x21')]('SIP/%s',_0x56bbd7[_0xb2f5('0x23')]):_0x56bbd7[_0xb2f5('0x25')];if(_[_0xb2f5('0x3e')](_0x13ea46[_0xb2f5('0x12')][_0x18e73e])){_0x13ea46[_0xb2f5('0x12')][_0x18e73e]=new Agent(_0x56bbd7);}else{_0x13ea46[_0xb2f5('0x3b')](_0x13ea46[_0xb2f5('0x12')][_0x18e73e],_0x56bbd7);}}}return _0x13ea46[_0xb2f5('0x12')];};};Realtime['prototype'][_0xb2f5('0x3f')]=function(){var _0x26e24a=this;return function(_0x101375){if(_0x101375){freeIsNotKeySip(_0x101375,_0x26e24a[_0xb2f5('0x13')]);for(var _0x4638d8=0x0,_0x466c8a={},_0x59a0cd={};_0x4638d8<_0x101375[_0xb2f5('0x3d')];_0x4638d8+=0x1){_0x466c8a=_0x101375[_0x4638d8];if(_[_0xb2f5('0x3e')](_0x26e24a['telephones'][util[_0xb2f5('0x21')](_0xb2f5('0x22'),_0x466c8a[_0xb2f5('0x23')])])){_0x26e24a['telephones'][util[_0xb2f5('0x21')](_0xb2f5('0x22'),_0x466c8a['name'])]=new Telephone(_0x466c8a);}else{_0x26e24a[_0xb2f5('0x3b')](_0x26e24a['telephones'][util[_0xb2f5('0x21')](_0xb2f5('0x22'),_0x466c8a[_0xb2f5('0x23')])],_0x466c8a);}}}return _0x26e24a['telephones'];};};Realtime[_0xb2f5('0x3a')]['initTrunks']=function(){var _0x5290fb=this;return function(_0x32471d){if(_0x32471d){freeIsNotKeySip(_0x32471d,_0x5290fb[_0xb2f5('0x14')]);for(var _0x12c71d=0x0,_0x2ae3bd={},_0x4a659e={};_0x12c71d<_0x32471d[_0xb2f5('0x3d')];_0x12c71d+=0x1){_0x2ae3bd=_0x32471d[_0x12c71d];if(_['isUndefined'](_0x5290fb['trunks'][util['format'](_0xb2f5('0x22'),_0x2ae3bd[_0xb2f5('0x23')])])){_0x5290fb['trunks'][util[_0xb2f5('0x21')](_0xb2f5('0x22'),_0x2ae3bd[_0xb2f5('0x23')])]=new Trunk(_0x2ae3bd);}else{_0x5290fb[_0xb2f5('0x3b')](_0x5290fb[_0xb2f5('0x14')][util['format'](_0xb2f5('0x22'),_0x2ae3bd[_0xb2f5('0x23')])],_0x2ae3bd);}}}return _0x5290fb['trunks'];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x40')]=function(){var _0x1c6119=this;return function(_0x3de53b){if(_0x3de53b){freeIsNotKey(_0x3de53b,_0x1c6119[_0xb2f5('0x41')],_0xb2f5('0x23'));for(var _0x3dc733=0x0,_0x53416d={},_0x4e2289={};_0x3dc733<_0x3de53b[_0xb2f5('0x3d')];_0x3dc733+=0x1){_0x53416d=_0x3de53b[_0x3dc733];if(_[_0xb2f5('0x3e')](_0x1c6119['voiceQueues'][_0x53416d['name']])){_0x1c6119[_0xb2f5('0x41')][_0x53416d[_0xb2f5('0x23')]]=new VoiceQueue(_0x53416d);}else{_0x1c6119[_0xb2f5('0x3b')](_0x1c6119['voiceQueues'][_0x53416d[_0xb2f5('0x23')]],_0x53416d);}}}return _0x1c6119[_0xb2f5('0x41')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x42')]=function(){var _0x54bce8=this;return function(_0x560678){if(_0x560678){freeIsNotKey(_0x560678,_0x54bce8['triggers'],'id');for(var _0x3b521a=0x0,_0x3df677={},_0xf28bfa={};_0x3b521a<_0x560678[_0xb2f5('0x3d')];_0x3b521a+=0x1){_0x3df677=_0x560678[_0x3b521a];if(_['isUndefined'](_0x54bce8['triggers'][_0x3df677['id']])){_0x54bce8[_0xb2f5('0x43')][_0x3df677['id']]=new Trigger(_0x3df677);}else{_0x54bce8[_0xb2f5('0x3b')](_0x54bce8[_0xb2f5('0x43')][_0x3df677['id']],_0x3df677);}}}return _0x54bce8[_0xb2f5('0x43')];};};Realtime['prototype'][_0xb2f5('0x44')]=function(){var _0x21c33b=this;return function(_0x12d512){if(_0x12d512){freeIsNotKey(_0x12d512,_0x21c33b[_0xb2f5('0x16')],'id');for(var _0x2a6d28=0x0,_0x207c9f={},_0x3fd30e={};_0x2a6d28<_0x12d512[_0xb2f5('0x3d')];_0x2a6d28+=0x1){_0x207c9f=_0x12d512[_0x2a6d28];if(_['isUndefined'](_0x21c33b[_0xb2f5('0x16')][_0x207c9f['id']])){_0x21c33b['templates'][_0x207c9f['id']]=new Template(_0x207c9f);}else{_0x21c33b[_0xb2f5('0x3b')](_0x21c33b['templates'][_0x207c9f['id']],_0x207c9f);}}}return _0x21c33b[_0xb2f5('0x16')];};};Realtime['prototype'][_0xb2f5('0x45')]=function(){var _0x53497c=this;return function(_0x571379){if(_0x571379){freeIsNotKey(_0x571379,_0x53497c[_0xb2f5('0x46')],'id');for(var _0x9a740a=0x0,_0x1bd6ee={},_0x1872aa={};_0x9a740a<_0x571379[_0xb2f5('0x3d')];_0x9a740a+=0x1){_0x1bd6ee=_0x571379[_0x9a740a];if(_[_0xb2f5('0x3e')](_0x53497c['zendeskAccounts'][_0x1bd6ee['id']])){_0x53497c[_0xb2f5('0x46')][_0x1bd6ee['id']]=new ZendeskAccount(_0x1bd6ee);}else{_0x53497c[_0xb2f5('0x3b')](_0x53497c[_0xb2f5('0x46')][_0x1bd6ee['id']],_0x1bd6ee);}}}return _0x53497c[_0xb2f5('0x46')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x47')]=function(){var _0x239197=this;return function(_0x299398){if(_0x299398){freeIsNotKey(_0x299398,_0x239197[_0xb2f5('0x48')],'id');for(var _0x3deb36=0x0,_0xe82db5={},_0x40c9ec={};_0x3deb36<_0x299398[_0xb2f5('0x3d')];_0x3deb36+=0x1){_0xe82db5=_0x299398[_0x3deb36];if(_[_0xb2f5('0x3e')](_0x239197[_0xb2f5('0x48')][_0xe82db5['id']])){_0x239197[_0xb2f5('0x48')][_0xe82db5['id']]=new SalesforceAccount(_0xe82db5);}else{_0x239197[_0xb2f5('0x3b')](_0x239197[_0xb2f5('0x48')][_0xe82db5['id']],_0xe82db5);}}}return _0x239197[_0xb2f5('0x48')];};};Realtime['prototype']['initFreshdeskAccounts']=function(){var _0x4c8dc6=this;return function(_0x4b1f52){if(_0x4b1f52){freeIsNotKey(_0x4b1f52,_0x4c8dc6[_0xb2f5('0x49')],'id');for(var _0x5946e1=0x0,_0x4400d0={},_0x5d53c4={};_0x5946e1<_0x4b1f52[_0xb2f5('0x3d')];_0x5946e1+=0x1){_0x4400d0=_0x4b1f52[_0x5946e1];if(_[_0xb2f5('0x3e')](_0x4c8dc6[_0xb2f5('0x49')][_0x4400d0['id']])){_0x4c8dc6[_0xb2f5('0x49')][_0x4400d0['id']]=new FreshdeskAccount(_0x4400d0);}else{_0x4c8dc6[_0xb2f5('0x3b')](_0x4c8dc6[_0xb2f5('0x49')][_0x4400d0['id']],_0x4400d0);}}}return _0x4c8dc6[_0xb2f5('0x49')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x4a')]=function(){var _0x4bfaef=this;return function(_0x352054){if(_0x352054){freeIsNotKey(_0x352054,_0x4bfaef[_0xb2f5('0x4b')],'id');for(var _0x4d0efc=0x0,_0x157a76={},_0x32fe17={};_0x4d0efc<_0x352054[_0xb2f5('0x3d')];_0x4d0efc+=0x1){_0x157a76=_0x352054[_0x4d0efc];if(_[_0xb2f5('0x3e')](_0x4bfaef[_0xb2f5('0x4b')][_0x157a76['id']])){_0x4bfaef[_0xb2f5('0x4b')][_0x157a76['id']]=new ZohoAccount(_0x157a76);}else{_0x4bfaef[_0xb2f5('0x3b')](_0x4bfaef[_0xb2f5('0x4b')][_0x157a76['id']],_0x157a76);}}}return _0x4bfaef[_0xb2f5('0x4b')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x4c')]=function(){var _0x49155d=this;return function(_0x524d76){if(_0x524d76){freeIsNotKey(_0x524d76,_0x49155d[_0xb2f5('0x4d')],'id');for(var _0x48cc5c=0x0,_0x32b045={},_0x322151={};_0x48cc5c<_0x524d76[_0xb2f5('0x3d')];_0x48cc5c+=0x1){_0x32b045=_0x524d76[_0x48cc5c];if(_['isUndefined'](_0x49155d['deskAccounts'][_0x32b045['id']])){_0x49155d[_0xb2f5('0x4d')][_0x32b045['id']]=new DeskAccount(_0x32b045);}else{_0x49155d['mergeFromDatabase'](_0x49155d[_0xb2f5('0x4d')][_0x32b045['id']],_0x32b045);}}}return _0x49155d[_0xb2f5('0x4d')];};};Realtime[_0xb2f5('0x3a')]['initSugarcrmAccounts']=function(){var _0x24ddb9=this;return function(_0x4ba2ae){if(_0x4ba2ae){freeIsNotKey(_0x4ba2ae,_0x24ddb9[_0xb2f5('0x1b')],'id');for(var _0x480957=0x0,_0xde6bb8={},_0x4bdaee={};_0x480957<_0x4ba2ae[_0xb2f5('0x3d')];_0x480957+=0x1){_0xde6bb8=_0x4ba2ae[_0x480957];if(_[_0xb2f5('0x3e')](_0x24ddb9[_0xb2f5('0x1b')][_0xde6bb8['id']])){_0x24ddb9['sugarcrmAccounts'][_0xde6bb8['id']]=new SugarcrmAccount(_0xde6bb8);}else{_0x24ddb9[_0xb2f5('0x3b')](_0x24ddb9[_0xb2f5('0x1b')][_0xde6bb8['id']],_0xde6bb8);}}}return _0x24ddb9[_0xb2f5('0x1b')];};};Realtime['prototype'][_0xb2f5('0x4e')]=function(){var _0xc54b41=this;return function(_0x57ec40){if(_0x57ec40){freeIsNotKey(_0x57ec40,_0xc54b41[_0xb2f5('0x1c')],'id');for(var _0x31984a=0x0,_0x31054e={},_0x1dbb83={};_0x31984a<_0x57ec40[_0xb2f5('0x3d')];_0x31984a+=0x1){_0x31054e=_0x57ec40[_0x31984a];if(_[_0xb2f5('0x3e')](_0xc54b41[_0xb2f5('0x1c')][_0x31054e['id']])){_0xc54b41[_0xb2f5('0x1c')][_0x31054e['id']]=new VtigerAccount(_0x31054e);}else{_0xc54b41[_0xb2f5('0x3b')](_0xc54b41['vtigerAccounts'][_0x31054e['id']],_0x31054e);}}}return _0xc54b41[_0xb2f5('0x1c')];};};Realtime[_0xb2f5('0x3a')]['initServicenowAccounts']=function(){var _0x1cb5e5=this;return function(_0x117760){if(_0x117760){freeIsNotKey(_0x117760,_0x1cb5e5[_0xb2f5('0x1d')],'id');for(var _0x21cb87=0x0,_0x5b9c0f={},_0x4ad35f={};_0x21cb87<_0x117760[_0xb2f5('0x3d')];_0x21cb87+=0x1){_0x5b9c0f=_0x117760[_0x21cb87];if(_[_0xb2f5('0x3e')](_0x1cb5e5[_0xb2f5('0x1d')][_0x5b9c0f['id']])){_0x1cb5e5[_0xb2f5('0x1d')][_0x5b9c0f['id']]=new ServicenowAccount(_0x5b9c0f);}else{_0x1cb5e5[_0xb2f5('0x3b')](_0x1cb5e5[_0xb2f5('0x1d')][_0x5b9c0f['id']],_0x5b9c0f);}}}return _0x1cb5e5[_0xb2f5('0x1d')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x4f')]=function(){var _0x12d483=this;return function(_0x36961a){if(_0x36961a){freeIsNotKey(_0x36961a,_0x12d483[_0xb2f5('0x50')],'id');for(var _0x5caf8d=0x0,_0x5b8ff9={},_0x300ead={};_0x5caf8d<_0x36961a[_0xb2f5('0x3d')];_0x5caf8d+=0x1){_0x5b8ff9=_0x36961a[_0x5caf8d];if(_[_0xb2f5('0x3e')](_0x12d483['dynamics365Accounts'][_0x5b8ff9['id']])){_0x12d483[_0xb2f5('0x50')][_0x5b8ff9['id']]=new Dynamics365Account(_0x5b8ff9);}else{_0x12d483[_0xb2f5('0x3b')](_0x12d483['dynamics365Accounts'][_0x5b8ff9['id']],_0x5b8ff9);}}}return _0x12d483['dynamics365Accounts'];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x51')]=function(){var _0xe570=this;return function(_0x29da18){if(_0x29da18){freeIsNotKey(_0x29da18,_0xe570['freshsalesAccounts'],'id');for(var _0x3ec2df=0x0,_0x71eead={},_0xbcfbb8={};_0x3ec2df<_0x29da18[_0xb2f5('0x3d')];_0x3ec2df+=0x1){_0x71eead=_0x29da18[_0x3ec2df];if(_['isUndefined'](_0xe570[_0xb2f5('0x1e')][_0x71eead['id']])){_0xe570[_0xb2f5('0x1e')][_0x71eead['id']]=new FreshsalesAccount(_0x71eead);}else{_0xe570[_0xb2f5('0x3b')](_0xe570[_0xb2f5('0x1e')][_0x71eead['id']],_0x71eead);}}}return _0xe570[_0xb2f5('0x1e')];};};Realtime['prototype'][_0xb2f5('0x52')]=function(){var _0x3dba11=this;return function(_0x3bd32e){for(var _0x11af28=0x0;_0x11af28<_0x3bd32e[_0xb2f5('0x3d')];_0x11af28+=0x1){_[_0xb2f5('0x53')](_0x3dba11['voiceQueues'][_0x3bd32e[_0x11af28][_0xb2f5('0x23')]],_0x3bd32e[_0x11af28]);}return _0x3dba11['voiceQueues'];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x54')]=function(){var _0x1eea6e=this;return function(_0x446858){clearVoiceQueues(_0x1eea6e[_0xb2f5('0x41')]);if(_0x446858){_0x446858=_[_0xb2f5('0x55')](_0x446858,'uniqueid');for(var _0x226e4d in _0x446858){if(_0x446858[_0xb2f5('0x1f')](_0x226e4d)){var _0x36b22a={};for(var _0x438b08=0x0;_0x438b08<_0x446858[_0x226e4d][_0xb2f5('0x3d')];_0x438b08+=0x1){var _0x541869=_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x56')];if(_0x1eea6e['voiceQueues'][_0x541869]){if(_0x446858[_0x226e4d][_0x438b08]['queuecallerexit']){_0x1eea6e['voiceQueues'][_0x541869][_0xb2f5('0x2c')]+=0x1;}if(_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x57')]){_0x1eea6e[_0xb2f5('0x41')][_0x541869][_0xb2f5('0x2d')]+=0x1;}_0x1eea6e[_0xb2f5('0x41')][_0x541869][_0xb2f5('0x58')]+=moment(_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x59')])[_0xb2f5('0x5a')](moment(_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x5b')]),'seconds')||0x0;if(_0x438b08===_0x446858[_0x226e4d][_0xb2f5('0x3d')]-0x1){_0x1eea6e['voiceQueues'][_0x541869]['sumDuration']+=moment(_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x5c')]||_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x5d')]||_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x5e')])[_0xb2f5('0x5a')](moment(_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x5b')]),_0xb2f5('0x5f'))||0x0;_0x1eea6e[_0xb2f5('0x41')][_0x541869][_0xb2f5('0x26')]+=0x1;if(_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x60')]){_0x1eea6e['voiceQueues'][_0x541869][_0xb2f5('0x27')]+=0x1;_0x1eea6e[_0xb2f5('0x41')][_0x541869][_0xb2f5('0x28')]+=moment(_0x446858[_0x226e4d][_0x438b08][_0xb2f5('0x5c')])[_0xb2f5('0x5a')](moment(_0x446858[_0x226e4d][_0x438b08]['queuecallerleaveAt']),'seconds')||0x0;}}else{_0x1eea6e['voiceQueues'][_0x541869][_0xb2f5('0x61')]+=_0x1eea6e[_0xb2f5('0x41')][_0x541869][_0xb2f5('0x58')]||0x0;}}}}}}return _0x1eea6e[_0xb2f5('0x41')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x62')]=function(){var _0x5a4e31=this;return function(_0x41a0ac){clearVoiceCallReports(_0x5a4e31[_0xb2f5('0x63')]);if(_0x41a0ac){for(var _0x10fa58=0x0;_0x10fa58<_0x41a0ac[_0xb2f5('0x3d')];_0x10fa58+=0x1){_0x5a4e31['outbound'][_0xb2f5('0x26')]+=0x1;_0x5a4e31[_0xb2f5('0x63')]['sumDuration']+=_0x41a0ac[_0x10fa58][_0xb2f5('0x64')];if(_0x41a0ac[_0x10fa58][_0xb2f5('0x65')]==='ANSWERED'){_0x5a4e31['outbound']['answered']+=0x1;_0x5a4e31[_0xb2f5('0x63')][_0xb2f5('0x58')]+=_0x41a0ac[_0x10fa58][_0xb2f5('0x64')]-_0x41a0ac[_0x10fa58][_0xb2f5('0x66')]||0x0;_0x5a4e31['outbound']['sumBillable']+=_0x41a0ac[_0x10fa58][_0xb2f5('0x66')];}}}return _0x5a4e31[_0xb2f5('0x63')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x67')]=function(){var _0x4aed5c=this;return function(_0x18e367){if(_0x18e367){freeIsNotKey(_0x18e367,_0x4aed5c[_0xb2f5('0x15')],_0xb2f5('0x23'));for(var _0x116728=0x0,_0x396d4b={};_0x116728<_0x18e367[_0xb2f5('0x3d')];_0x116728+=0x1){_0x396d4b=_0x18e367[_0x116728];if(_[_0xb2f5('0x3e')](_0x4aed5c[_0xb2f5('0x15')][_0x396d4b[_0xb2f5('0x23')]])){_0x4aed5c['campaigns'][_0x396d4b[_0xb2f5('0x23')]]=new Campaign(_0x396d4b);}else{_0x4aed5c[_0xb2f5('0x3b')](_0x4aed5c[_0xb2f5('0x15')][_0x396d4b['name']],_0x396d4b);_0x4aed5c[_0xb2f5('0x15')][_0x396d4b[_0xb2f5('0x23')]][_0xb2f5('0x68')]=_0x396d4b[_0xb2f5('0x69')]?_0x396d4b[_0xb2f5('0x69')][_0xb2f5('0x23')]:undefined;}}}return _0x4aed5c[_0xb2f5('0x15')];};};Realtime['prototype'][_0xb2f5('0x6a')]=function(){var _0x5e1f7c=this;return function(_0x547971){if(_0x547971){freeIsNotKey(_0x547971,_0x5e1f7c[_0xb2f5('0x17')],'id');for(var _0x567d71=0x0,_0x4765a0={};_0x567d71<_0x547971[_0xb2f5('0x3d')];_0x567d71+=0x1){_0x4765a0=_0x547971[_0x567d71];if(_[_0xb2f5('0x3e')](_0x5e1f7c['voiceExtensions'][_0x4765a0['id']])){_0x5e1f7c[_0xb2f5('0x17')][_0x4765a0['id']]=new VoiceExtension(_0x4765a0);}else{_0x5e1f7c[_0xb2f5('0x3b')](_0x5e1f7c[_0xb2f5('0x17')][_0x4765a0['id']],_0x4765a0);}}}return _0x5e1f7c[_0xb2f5('0x17')];};};Realtime[_0xb2f5('0x3a')][_0xb2f5('0x6b')]=function(){var _0x32717a=this;return function(_0x539b19){clearCampaigns(_0x32717a[_0xb2f5('0x15')]);for(var _0x6a2137=0x0;_0x6a2137<_0x539b19['length'];_0x6a2137+=0x1){_['merge'](_0x32717a[_0xb2f5('0x15')][_0x539b19[_0x6a2137][_0xb2f5('0x23')]],_0x539b19[_0x6a2137]);}return _0x32717a[_0xb2f5('0x15')];};};Realtime['prototype'][_0xb2f5('0x6c')]=function(){var _0x5d4acd=this;return function(_0x5e43d3){if(_0x5e43d3){freeIsNotKey(_0x5e43d3,_0x5d4acd[_0xb2f5('0x6d')],'id');for(var _0x412746=0x0,_0x3515c3={},_0x2f34cf={};_0x412746<_0x5e43d3[_0xb2f5('0x3d')];_0x412746+=0x1){_0x3515c3=_0x5e43d3[_0x412746];if(_[_0xb2f5('0x3e')](_0x5d4acd['faxAccounts'][_0x3515c3['id']])){_0x5d4acd[_0xb2f5('0x6d')][_0x3515c3['id']]=new FaxAccount(_0x3515c3);}else{_0x5d4acd[_0xb2f5('0x3b')](_0x5d4acd['faxAccounts'][_0x3515c3['id']],_0x3515c3);}}}return _0x5d4acd[_0xb2f5('0x6d')];};};module['exports']=Realtime;