Built motion from commit (unavailable).|2.5.23
[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 _0xf756=['../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','channels','outboundChannels','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','sumHoldTime','sumDuration','isEmpty','ivrAnswerCallsDay','answered','unmanaged','abandoned','sumBillable','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','initAgents','length','isUndefined','initTelephones','initTrunks','initTriggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','uniqueid','queue','queuecallerexit','queuecallerabandon','queuecallerleaveAt','diff','seconds','queuecallercompleteAt','queuecallerexitAt','queuecallerjoinAt','queuecallercomplete','disposition','ANSWERED','duration','billableseconds','initCampaigns','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','util','moment','../model/agent','../model/trunk','../model/voiceQueue','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account'];(function(_0x1a89a1,_0x56d889){var _0x3d5b46=function(_0x56debf){while(--_0x56debf){_0x1a89a1['push'](_0x1a89a1['shift']());}};_0x3d5b46(++_0x56d889);}(_0xf756,0x1ae));var _0x6f75=function(_0x484e36,_0x4482d8){_0x484e36=_0x484e36-0x0;var _0xafc85d=_0xf756[_0x484e36];return _0xafc85d;};'use strict';var BPromise=require(_0x6f75('0x0'));var util=require(_0x6f75('0x1'));var _=require('lodash');var moment=require(_0x6f75('0x2'));var Agent=require(_0x6f75('0x3'));var Telephone=require('../model/telephone');var Trunk=require(_0x6f75('0x4'));var VoiceQueue=require(_0x6f75('0x5'));var Trigger=require('../model/trigger');var Template=require(_0x6f75('0x6'));var Campaign=require(_0x6f75('0x7'));var VoiceExtension=require(_0x6f75('0x8'));var ZendeskAccount=require(_0x6f75('0x9'));var SalesforceAccount=require(_0x6f75('0xa'));var FreshdeskAccount=require(_0x6f75('0xb'));var SugarcrmAccount=require(_0x6f75('0xc'));var ZohoAccount=require(_0x6f75('0xd'));var DeskAccount=require(_0x6f75('0xe'));var VtigerAccount=require(_0x6f75('0xf'));var ServicenowAccount=require(_0x6f75('0x10'));var Dynamics365Account=require(_0x6f75('0x11'));var FreshsalesAccount=require(_0x6f75('0x12'));var FaxAccount=require(_0x6f75('0x13'));var Realtime=function(){this[_0x6f75('0x14')]={};this[_0x6f75('0x15')]={};this[_0x6f75('0x16')]={};this[_0x6f75('0x17')]={};this[_0x6f75('0x18')]={};this[_0x6f75('0x19')]={};this[_0x6f75('0x1a')]={};this[_0x6f75('0x1b')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x6f75('0x1c')]={};this[_0x6f75('0x1d')]={};this['queueChannels']={};this[_0x6f75('0x1e')]={};this[_0x6f75('0x1f')]={};this[_0x6f75('0x20')]={};this[_0x6f75('0x21')]={};this[_0x6f75('0x22')]={};this[_0x6f75('0x23')]={};this[_0x6f75('0x24')]={};this[_0x6f75('0x25')]={};this[_0x6f75('0x26')]={};this[_0x6f75('0x27')]={};this[_0x6f75('0x28')]={};this[_0x6f75('0x29')]={};this[_0x6f75('0x2a')]={};};function freeIsNotKey(_0x1cc0c5,_0x7805cb,_0x3fa230){var _0x4e52bc=_[_0x6f75('0x2b')](_0x1cc0c5,function(_0x50a423,_0x389081){return _0x50a423[_0x3fa230];});for(var _0x3fa57d in _0x7805cb){if(_0x7805cb[_0x6f75('0x2c')](_0x3fa57d)){if(!_0x4e52bc[_0x3fa57d]){delete _0x7805cb[_0x3fa57d];}}}}function freeIsNotKeySip(_0x54f041,_0x4f1e3e){var _0x5950f5=_['mapKeys'](_0x54f041,function(_0x5dc7fc,_0xf6c63){return util[_0x6f75('0x2d')](_0x6f75('0x2e'),_0x5dc7fc[_0x6f75('0x2f')]);});for(var _0x1d6485 in _0x4f1e3e){if(_0x4f1e3e['hasOwnProperty'](_0x1d6485)){if(!_0x5950f5[_0x1d6485]){delete _0x4f1e3e[_0x1d6485];}}}}function freeIsNotKeyAgent(_0x387c5a,_0x5b834e){var _0x4b55b8=_['mapKeys'](_0x387c5a,function(_0x462302,_0x277a50){var _0x5f4a97=_[_0x6f75('0x30')](_0x462302[_0x6f75('0x31')])?util['format'](_0x6f75('0x2e'),_0x462302[_0x6f75('0x2f')]):_0x462302['interface'];return _0x5f4a97;});for(var _0x2c3ef5 in _0x5b834e){if(_0x5b834e[_0x6f75('0x2c')](_0x2c3ef5)){if(!_0x4b55b8[_0x2c3ef5]){delete _0x5b834e[_0x2c3ef5];}}}}function clearVoiceCallReports(_0x1b73fa){_0x1b73fa[_0x6f75('0x32')]=0x0;_0x1b73fa['answered']=0x0;_0x1b73fa[_0x6f75('0x33')]=0x0;_0x1b73fa[_0x6f75('0x34')]=0x0;_0x1b73fa['sumBillable']=0x0;}function clearCampaigns(_0x30b720){if(!_[_0x6f75('0x35')](_0x30b720)){for(var _0x593645 in _0x30b720){if(_0x30b720['hasOwnProperty'](_0x593645)){_0x30b720[_0x593645]['ivrTotalCallsDays']=0x0;_0x30b720[_0x593645][_0x6f75('0x36')]=0x0;}}}}function clearVoiceQueues(_0x4622e7){if(!_[_0x6f75('0x35')](_0x4622e7)){for(var _0xc24a4d in _0x4622e7){if(_0x4622e7['hasOwnProperty'](_0xc24a4d)){_0x4622e7[_0xc24a4d]['total']=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x37')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x38')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x39')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x33')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x34')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x3a')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x3b')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x3c')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x3d')]=0x0;_0x4622e7[_0xc24a4d]['outboundCongestionCallsDay']=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x3e')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x3f')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x40')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x41')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x42')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x43')]=0x0;_0x4622e7[_0xc24a4d]['outboundRejectCallsDay']=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x44')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x3b')]=0x0;_0x4622e7[_0xc24a4d][_0x6f75('0x45')]=0x0;_0x4622e7[_0xc24a4d]['queueStatusComplete']=!![];}}}}Realtime[_0x6f75('0x46')][_0x6f75('0x47')]=function(_0x371946,_0x12ee0c){for(var _0x44a97e in _0x12ee0c){if(_0x371946['hasOwnProperty'](_0x44a97e)){_0x371946[_0x44a97e]=_0x12ee0c[_0x44a97e];}}};Realtime[_0x6f75('0x46')][_0x6f75('0x48')]=function(){var _0x28120c=this;return function(_0x443a2f){if(_0x443a2f){freeIsNotKeyAgent(_0x443a2f,_0x28120c[_0x6f75('0x14')]);for(var _0x13dc18=0x0,_0x1edbe1={},_0x53a66b={};_0x13dc18<_0x443a2f[_0x6f75('0x49')];_0x13dc18+=0x1){_0x1edbe1=_0x443a2f[_0x13dc18];var _0x24a547=_['isNil'](_0x1edbe1[_0x6f75('0x31')])?util[_0x6f75('0x2d')]('SIP/%s',_0x1edbe1[_0x6f75('0x2f')]):_0x1edbe1['interface'];if(_[_0x6f75('0x4a')](_0x28120c[_0x6f75('0x14')][_0x24a547])){_0x28120c[_0x6f75('0x14')][_0x24a547]=new Agent(_0x1edbe1);}else{_0x28120c[_0x6f75('0x47')](_0x28120c[_0x6f75('0x14')][_0x24a547],_0x1edbe1);}}}return _0x28120c[_0x6f75('0x14')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x4b')]=function(){var _0x5a9d32=this;return function(_0x43c71){if(_0x43c71){freeIsNotKeySip(_0x43c71,_0x5a9d32[_0x6f75('0x15')]);for(var _0x31cc87=0x0,_0x1beb6f={},_0x39a125={};_0x31cc87<_0x43c71[_0x6f75('0x49')];_0x31cc87+=0x1){_0x1beb6f=_0x43c71[_0x31cc87];if(_[_0x6f75('0x4a')](_0x5a9d32[_0x6f75('0x15')][util[_0x6f75('0x2d')]('SIP/%s',_0x1beb6f['name'])])){_0x5a9d32[_0x6f75('0x15')][util[_0x6f75('0x2d')](_0x6f75('0x2e'),_0x1beb6f[_0x6f75('0x2f')])]=new Telephone(_0x1beb6f);}else{_0x5a9d32['mergeFromDatabase'](_0x5a9d32[_0x6f75('0x15')][util[_0x6f75('0x2d')](_0x6f75('0x2e'),_0x1beb6f[_0x6f75('0x2f')])],_0x1beb6f);}}}return _0x5a9d32[_0x6f75('0x15')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x4c')]=function(){var _0x393d22=this;return function(_0x285efe){if(_0x285efe){freeIsNotKeySip(_0x285efe,_0x393d22[_0x6f75('0x16')]);for(var _0x3c2492=0x0,_0x56c38b={},_0x1dfbc0={};_0x3c2492<_0x285efe[_0x6f75('0x49')];_0x3c2492+=0x1){_0x56c38b=_0x285efe[_0x3c2492];if(_[_0x6f75('0x4a')](_0x393d22[_0x6f75('0x16')][util['format']('SIP/%s',_0x56c38b[_0x6f75('0x2f')])])){_0x393d22[_0x6f75('0x16')][util[_0x6f75('0x2d')](_0x6f75('0x2e'),_0x56c38b[_0x6f75('0x2f')])]=new Trunk(_0x56c38b);}else{_0x393d22['mergeFromDatabase'](_0x393d22['trunks'][util['format'](_0x6f75('0x2e'),_0x56c38b['name'])],_0x56c38b);}}}return _0x393d22[_0x6f75('0x16')];};};Realtime[_0x6f75('0x46')]['initVoiceQueues']=function(){var _0x3c685e=this;return function(_0x4cc3ae){if(_0x4cc3ae){freeIsNotKey(_0x4cc3ae,_0x3c685e[_0x6f75('0x17')],_0x6f75('0x2f'));for(var _0x314bec=0x0,_0x37c964={},_0x24f09a={};_0x314bec<_0x4cc3ae[_0x6f75('0x49')];_0x314bec+=0x1){_0x37c964=_0x4cc3ae[_0x314bec];if(_[_0x6f75('0x4a')](_0x3c685e['voiceQueues'][_0x37c964[_0x6f75('0x2f')]])){_0x3c685e[_0x6f75('0x17')][_0x37c964[_0x6f75('0x2f')]]=new VoiceQueue(_0x37c964);}else{_0x3c685e['mergeFromDatabase'](_0x3c685e[_0x6f75('0x17')][_0x37c964[_0x6f75('0x2f')]],_0x37c964);}}}return _0x3c685e[_0x6f75('0x17')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x4d')]=function(){var _0x45b137=this;return function(_0x286a62){if(_0x286a62){freeIsNotKey(_0x286a62,_0x45b137['triggers'],'id');for(var _0x52427d=0x0,_0x310257={},_0x228374={};_0x52427d<_0x286a62[_0x6f75('0x49')];_0x52427d+=0x1){_0x310257=_0x286a62[_0x52427d];if(_[_0x6f75('0x4a')](_0x45b137[_0x6f75('0x18')][_0x310257['id']])){_0x45b137['triggers'][_0x310257['id']]=new Trigger(_0x310257);}else{_0x45b137['mergeFromDatabase'](_0x45b137[_0x6f75('0x18')][_0x310257['id']],_0x310257);}}}return _0x45b137['triggers'];};};Realtime[_0x6f75('0x46')][_0x6f75('0x4e')]=function(){var _0x4b2e64=this;return function(_0x3875b8){if(_0x3875b8){freeIsNotKey(_0x3875b8,_0x4b2e64[_0x6f75('0x1a')],'id');for(var _0x555a34=0x0,_0x14a9bc={},_0x370054={};_0x555a34<_0x3875b8['length'];_0x555a34+=0x1){_0x14a9bc=_0x3875b8[_0x555a34];if(_[_0x6f75('0x4a')](_0x4b2e64[_0x6f75('0x1a')][_0x14a9bc['id']])){_0x4b2e64[_0x6f75('0x1a')][_0x14a9bc['id']]=new Template(_0x14a9bc);}else{_0x4b2e64[_0x6f75('0x47')](_0x4b2e64['templates'][_0x14a9bc['id']],_0x14a9bc);}}}return _0x4b2e64[_0x6f75('0x1a')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x4f')]=function(){var _0x54acf4=this;return function(_0x489300){if(_0x489300){freeIsNotKey(_0x489300,_0x54acf4[_0x6f75('0x20')],'id');for(var _0x7105af=0x0,_0x2c3ec7={},_0x5c0c1e={};_0x7105af<_0x489300[_0x6f75('0x49')];_0x7105af+=0x1){_0x2c3ec7=_0x489300[_0x7105af];if(_[_0x6f75('0x4a')](_0x54acf4[_0x6f75('0x20')][_0x2c3ec7['id']])){_0x54acf4[_0x6f75('0x20')][_0x2c3ec7['id']]=new ZendeskAccount(_0x2c3ec7);}else{_0x54acf4[_0x6f75('0x47')](_0x54acf4[_0x6f75('0x20')][_0x2c3ec7['id']],_0x2c3ec7);}}}return _0x54acf4[_0x6f75('0x20')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x50')]=function(){var _0x1e8282=this;return function(_0x51be3e){if(_0x51be3e){freeIsNotKey(_0x51be3e,_0x1e8282[_0x6f75('0x21')],'id');for(var _0x378e10=0x0,_0x38b639={},_0x24989d={};_0x378e10<_0x51be3e[_0x6f75('0x49')];_0x378e10+=0x1){_0x38b639=_0x51be3e[_0x378e10];if(_['isUndefined'](_0x1e8282[_0x6f75('0x21')][_0x38b639['id']])){_0x1e8282[_0x6f75('0x21')][_0x38b639['id']]=new SalesforceAccount(_0x38b639);}else{_0x1e8282['mergeFromDatabase'](_0x1e8282[_0x6f75('0x21')][_0x38b639['id']],_0x38b639);}}}return _0x1e8282[_0x6f75('0x21')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x51')]=function(){var _0x19fff2=this;return function(_0x1c24b1){if(_0x1c24b1){freeIsNotKey(_0x1c24b1,_0x19fff2[_0x6f75('0x23')],'id');for(var _0x241de7=0x0,_0x4ae8b9={},_0x3547b9={};_0x241de7<_0x1c24b1[_0x6f75('0x49')];_0x241de7+=0x1){_0x4ae8b9=_0x1c24b1[_0x241de7];if(_[_0x6f75('0x4a')](_0x19fff2[_0x6f75('0x23')][_0x4ae8b9['id']])){_0x19fff2[_0x6f75('0x23')][_0x4ae8b9['id']]=new FreshdeskAccount(_0x4ae8b9);}else{_0x19fff2[_0x6f75('0x47')](_0x19fff2[_0x6f75('0x23')][_0x4ae8b9['id']],_0x4ae8b9);}}}return _0x19fff2[_0x6f75('0x23')];};};Realtime[_0x6f75('0x46')]['initZohoAccounts']=function(){var _0x3c6ca6=this;return function(_0x2b3e3c){if(_0x2b3e3c){freeIsNotKey(_0x2b3e3c,_0x3c6ca6[_0x6f75('0x24')],'id');for(var _0x27e9ff=0x0,_0x1bc99d={},_0x158ec6={};_0x27e9ff<_0x2b3e3c[_0x6f75('0x49')];_0x27e9ff+=0x1){_0x1bc99d=_0x2b3e3c[_0x27e9ff];if(_['isUndefined'](_0x3c6ca6['zohoAccounts'][_0x1bc99d['id']])){_0x3c6ca6[_0x6f75('0x24')][_0x1bc99d['id']]=new ZohoAccount(_0x1bc99d);}else{_0x3c6ca6['mergeFromDatabase'](_0x3c6ca6[_0x6f75('0x24')][_0x1bc99d['id']],_0x1bc99d);}}}return _0x3c6ca6[_0x6f75('0x24')];};};Realtime['prototype'][_0x6f75('0x52')]=function(){var _0x4b2dad=this;return function(_0x25c1c7){if(_0x25c1c7){freeIsNotKey(_0x25c1c7,_0x4b2dad[_0x6f75('0x25')],'id');for(var _0x33e09f=0x0,_0x133405={},_0x845088={};_0x33e09f<_0x25c1c7[_0x6f75('0x49')];_0x33e09f+=0x1){_0x133405=_0x25c1c7[_0x33e09f];if(_[_0x6f75('0x4a')](_0x4b2dad['deskAccounts'][_0x133405['id']])){_0x4b2dad[_0x6f75('0x25')][_0x133405['id']]=new DeskAccount(_0x133405);}else{_0x4b2dad[_0x6f75('0x47')](_0x4b2dad[_0x6f75('0x25')][_0x133405['id']],_0x133405);}}}return _0x4b2dad[_0x6f75('0x25')];};};Realtime['prototype'][_0x6f75('0x53')]=function(){var _0xb2e882=this;return function(_0x1108a7){if(_0x1108a7){freeIsNotKey(_0x1108a7,_0xb2e882[_0x6f75('0x22')],'id');for(var _0x1ea33b=0x0,_0x320519={},_0x599a8f={};_0x1ea33b<_0x1108a7[_0x6f75('0x49')];_0x1ea33b+=0x1){_0x320519=_0x1108a7[_0x1ea33b];if(_[_0x6f75('0x4a')](_0xb2e882[_0x6f75('0x22')][_0x320519['id']])){_0xb2e882[_0x6f75('0x22')][_0x320519['id']]=new SugarcrmAccount(_0x320519);}else{_0xb2e882[_0x6f75('0x47')](_0xb2e882[_0x6f75('0x22')][_0x320519['id']],_0x320519);}}}return _0xb2e882[_0x6f75('0x22')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x54')]=function(){var _0x5cd157=this;return function(_0x2a5467){if(_0x2a5467){freeIsNotKey(_0x2a5467,_0x5cd157[_0x6f75('0x26')],'id');for(var _0x13e5a4=0x0,_0x3a30ce={},_0x1bc65a={};_0x13e5a4<_0x2a5467[_0x6f75('0x49')];_0x13e5a4+=0x1){_0x3a30ce=_0x2a5467[_0x13e5a4];if(_[_0x6f75('0x4a')](_0x5cd157[_0x6f75('0x26')][_0x3a30ce['id']])){_0x5cd157[_0x6f75('0x26')][_0x3a30ce['id']]=new VtigerAccount(_0x3a30ce);}else{_0x5cd157['mergeFromDatabase'](_0x5cd157[_0x6f75('0x26')][_0x3a30ce['id']],_0x3a30ce);}}}return _0x5cd157[_0x6f75('0x26')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x55')]=function(){var _0x41da7b=this;return function(_0x198182){if(_0x198182){freeIsNotKey(_0x198182,_0x41da7b[_0x6f75('0x27')],'id');for(var _0x19e7fc=0x0,_0x347ba5={},_0x501dbf={};_0x19e7fc<_0x198182['length'];_0x19e7fc+=0x1){_0x347ba5=_0x198182[_0x19e7fc];if(_[_0x6f75('0x4a')](_0x41da7b[_0x6f75('0x27')][_0x347ba5['id']])){_0x41da7b[_0x6f75('0x27')][_0x347ba5['id']]=new ServicenowAccount(_0x347ba5);}else{_0x41da7b['mergeFromDatabase'](_0x41da7b[_0x6f75('0x27')][_0x347ba5['id']],_0x347ba5);}}}return _0x41da7b[_0x6f75('0x27')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x56')]=function(){var _0x250312=this;return function(_0x1d8c7d){if(_0x1d8c7d){freeIsNotKey(_0x1d8c7d,_0x250312['dynamics365Accounts'],'id');for(var _0x34ced0=0x0,_0x4b94a8={},_0x208949={};_0x34ced0<_0x1d8c7d['length'];_0x34ced0+=0x1){_0x4b94a8=_0x1d8c7d[_0x34ced0];if(_[_0x6f75('0x4a')](_0x250312['dynamics365Accounts'][_0x4b94a8['id']])){_0x250312[_0x6f75('0x28')][_0x4b94a8['id']]=new Dynamics365Account(_0x4b94a8);}else{_0x250312[_0x6f75('0x47')](_0x250312[_0x6f75('0x28')][_0x4b94a8['id']],_0x4b94a8);}}}return _0x250312['dynamics365Accounts'];};};Realtime[_0x6f75('0x46')][_0x6f75('0x57')]=function(){var _0x2d3252=this;return function(_0x4d1ac3){if(_0x4d1ac3){freeIsNotKey(_0x4d1ac3,_0x2d3252[_0x6f75('0x29')],'id');for(var _0x4227df=0x0,_0x3e4d2a={},_0x2162a3={};_0x4227df<_0x4d1ac3['length'];_0x4227df+=0x1){_0x3e4d2a=_0x4d1ac3[_0x4227df];if(_[_0x6f75('0x4a')](_0x2d3252[_0x6f75('0x29')][_0x3e4d2a['id']])){_0x2d3252[_0x6f75('0x29')][_0x3e4d2a['id']]=new FreshsalesAccount(_0x3e4d2a);}else{_0x2d3252[_0x6f75('0x47')](_0x2d3252['freshsalesAccounts'][_0x3e4d2a['id']],_0x3e4d2a);}}}return _0x2d3252[_0x6f75('0x29')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x58')]=function(){var _0x68199a=this;return function(_0x42beaa){for(var _0x1967e8=0x0;_0x1967e8<_0x42beaa[_0x6f75('0x49')];_0x1967e8+=0x1){_[_0x6f75('0x59')](_0x68199a[_0x6f75('0x17')][_0x42beaa[_0x1967e8][_0x6f75('0x2f')]],_0x42beaa[_0x1967e8]);}return _0x68199a[_0x6f75('0x17')];};};Realtime['prototype'][_0x6f75('0x5a')]=function(){var _0x2483f4=this;return function(_0x198178){clearVoiceQueues(_0x2483f4[_0x6f75('0x17')]);if(_0x198178){_0x198178=_['groupBy'](_0x198178,_0x6f75('0x5b'));for(var _0x3655f3 in _0x198178){if(_0x198178[_0x6f75('0x2c')](_0x3655f3)){var _0x389960={};for(var _0xf2c94e=0x0;_0xf2c94e<_0x198178[_0x3655f3][_0x6f75('0x49')];_0xf2c94e+=0x1){var _0x58e6bc=_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x5c')];if(_0x2483f4['voiceQueues'][_0x58e6bc]){if(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x5d')]){_0x2483f4[_0x6f75('0x17')][_0x58e6bc][_0x6f75('0x38')]+=0x1;}if(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x5e')]){_0x2483f4['voiceQueues'][_0x58e6bc][_0x6f75('0x39')]+=0x1;}_0x2483f4[_0x6f75('0x17')][_0x58e6bc][_0x6f75('0x33')]+=moment(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x5f')])[_0x6f75('0x60')](moment(_0x198178[_0x3655f3][_0xf2c94e]['queuecallerjoinAt']),_0x6f75('0x61'))||0x0;if(_0xf2c94e===_0x198178[_0x3655f3][_0x6f75('0x49')]-0x1){_0x2483f4[_0x6f75('0x17')][_0x58e6bc][_0x6f75('0x34')]+=moment(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x62')]||_0x198178[_0x3655f3][_0xf2c94e]['queuecallerabandonAt']||_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x63')])['diff'](moment(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x64')]),_0x6f75('0x61'))||0x0;_0x2483f4[_0x6f75('0x17')][_0x58e6bc]['total']+=0x1;if(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x65')]){_0x2483f4[_0x6f75('0x17')][_0x58e6bc][_0x6f75('0x37')]+=0x1;_0x2483f4[_0x6f75('0x17')][_0x58e6bc]['sumBillable']+=moment(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x62')])[_0x6f75('0x60')](moment(_0x198178[_0x3655f3][_0xf2c94e][_0x6f75('0x5f')]),_0x6f75('0x61'))||0x0;}}else{_0x2483f4[_0x6f75('0x17')][_0x58e6bc]['sumDuration']+=_0x2483f4[_0x6f75('0x17')][_0x58e6bc][_0x6f75('0x33')]||0x0;}}}}}}return _0x2483f4[_0x6f75('0x17')];};};Realtime[_0x6f75('0x46')]['initVoiceCallReports']=function(){var _0x49dfb8=this;return function(_0x3291d4){clearVoiceCallReports(_0x49dfb8['outbound']);if(_0x3291d4){for(var _0x589bda=0x0;_0x589bda<_0x3291d4[_0x6f75('0x49')];_0x589bda+=0x1){_0x49dfb8['outbound'][_0x6f75('0x32')]+=0x1;_0x49dfb8[_0x6f75('0x1b')]['sumDuration']+=_0x3291d4[_0x589bda]['duration'];if(_0x3291d4[_0x589bda][_0x6f75('0x66')]===_0x6f75('0x67')){_0x49dfb8[_0x6f75('0x1b')][_0x6f75('0x37')]+=0x1;_0x49dfb8['outbound']['sumHoldTime']+=_0x3291d4[_0x589bda][_0x6f75('0x68')]-_0x3291d4[_0x589bda][_0x6f75('0x69')]||0x0;_0x49dfb8['outbound'][_0x6f75('0x3a')]+=_0x3291d4[_0x589bda][_0x6f75('0x69')];}}}return _0x49dfb8[_0x6f75('0x1b')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x6a')]=function(){var _0x269ccc=this;return function(_0x5b0b44){if(_0x5b0b44){freeIsNotKey(_0x5b0b44,_0x269ccc[_0x6f75('0x19')],'name');for(var _0x598722=0x0,_0x1278e1={};_0x598722<_0x5b0b44['length'];_0x598722+=0x1){_0x1278e1=_0x5b0b44[_0x598722];if(_[_0x6f75('0x4a')](_0x269ccc[_0x6f75('0x19')][_0x1278e1[_0x6f75('0x2f')]])){_0x269ccc[_0x6f75('0x19')][_0x1278e1[_0x6f75('0x2f')]]=new Campaign(_0x1278e1);}else{_0x269ccc[_0x6f75('0x47')](_0x269ccc[_0x6f75('0x19')][_0x1278e1[_0x6f75('0x2f')]],_0x1278e1);_0x269ccc['campaigns'][_0x1278e1[_0x6f75('0x2f')]]['dialQueueProject']=_0x1278e1[_0x6f75('0x6b')]?_0x1278e1[_0x6f75('0x6b')][_0x6f75('0x2f')]:undefined;}}}return _0x269ccc[_0x6f75('0x19')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x6c')]=function(){var _0x37872d=this;return function(_0x1a808c){if(_0x1a808c){freeIsNotKey(_0x1a808c,_0x37872d[_0x6f75('0x1c')],'id');for(var _0x398095=0x0,_0x4e8dbc={};_0x398095<_0x1a808c[_0x6f75('0x49')];_0x398095+=0x1){_0x4e8dbc=_0x1a808c[_0x398095];if(_['isUndefined'](_0x37872d[_0x6f75('0x1c')][_0x4e8dbc['id']])){_0x37872d[_0x6f75('0x1c')][_0x4e8dbc['id']]=new VoiceExtension(_0x4e8dbc);}else{_0x37872d[_0x6f75('0x47')](_0x37872d[_0x6f75('0x1c')][_0x4e8dbc['id']],_0x4e8dbc);}}}return _0x37872d[_0x6f75('0x1c')];};};Realtime['prototype'][_0x6f75('0x6d')]=function(){var _0x3743bf=this;return function(_0x23b043){clearCampaigns(_0x3743bf[_0x6f75('0x19')]);for(var _0x3d2efe=0x0;_0x3d2efe<_0x23b043[_0x6f75('0x49')];_0x3d2efe+=0x1){_[_0x6f75('0x59')](_0x3743bf['campaigns'][_0x23b043[_0x3d2efe][_0x6f75('0x2f')]],_0x23b043[_0x3d2efe]);}return _0x3743bf[_0x6f75('0x19')];};};Realtime[_0x6f75('0x46')][_0x6f75('0x6e')]=function(){var _0x397adc=this;return function(_0x3069c2){if(_0x3069c2){freeIsNotKey(_0x3069c2,_0x397adc[_0x6f75('0x2a')],'id');for(var _0x4fe751=0x0,_0x31868d={},_0x4aff9a={};_0x4fe751<_0x3069c2[_0x6f75('0x49')];_0x4fe751+=0x1){_0x31868d=_0x3069c2[_0x4fe751];if(_['isUndefined'](_0x397adc[_0x6f75('0x2a')][_0x31868d['id']])){_0x397adc[_0x6f75('0x2a')][_0x31868d['id']]=new FaxAccount(_0x31868d);}else{_0x397adc[_0x6f75('0x47')](_0x397adc[_0x6f75('0x2a')][_0x31868d['id']],_0x31868d);}}}return _0x397adc['faxAccounts'];};};module[_0x6f75('0x6f')]=Realtime;