Built motion from commit 85328c08.|2.5.50
[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 _0x8f5c=['queuecallerexit','queuecallerabandon','abandoned','sumHoldTime','diff','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallerjoinAt','queuecallercomplete','queuecallerleaveAt','outbound','duration','ANSWERED','billableseconds','initCampaigns','dialQueueProject','SquareProject','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','telephones','trunks','voiceQueues','triggers','campaigns','templates','voiceExtensions','outboundChannels','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','faxAccounts','mapKeys','hasOwnProperty','format','isNil','interface','SIP/%s','name','answered','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','total','unmanaged','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','mergeFromDatabase','prototype','initAgents','length','agents','isUndefined','initTrunks','initVoiceQueues','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue'];(function(_0x3e32a8,_0x255953){var _0x2997b0=function(_0x2d564a){while(--_0x2d564a){_0x3e32a8['push'](_0x3e32a8['shift']());}};_0x2997b0(++_0x255953);}(_0x8f5c,0x1de));var _0xc8f5=function(_0x1ee62e,_0x159bb2){_0x1ee62e=_0x1ee62e-0x0;var _0x27c6c8=_0x8f5c[_0x1ee62e];return _0x27c6c8;};'use strict';var BPromise=require(_0xc8f5('0x0'));var util=require(_0xc8f5('0x1'));var _=require(_0xc8f5('0x2'));var moment=require(_0xc8f5('0x3'));var Agent=require(_0xc8f5('0x4'));var Telephone=require(_0xc8f5('0x5'));var Trunk=require(_0xc8f5('0x6'));var VoiceQueue=require(_0xc8f5('0x7'));var Trigger=require(_0xc8f5('0x8'));var Template=require('../model/template');var Campaign=require(_0xc8f5('0x9'));var VoiceExtension=require(_0xc8f5('0xa'));var ZendeskAccount=require(_0xc8f5('0xb'));var SalesforceAccount=require(_0xc8f5('0xc'));var FreshdeskAccount=require(_0xc8f5('0xd'));var SugarcrmAccount=require(_0xc8f5('0xe'));var ZohoAccount=require(_0xc8f5('0xf'));var DeskAccount=require(_0xc8f5('0x10'));var VtigerAccount=require(_0xc8f5('0x11'));var ServicenowAccount=require(_0xc8f5('0x12'));var Dynamics365Account=require(_0xc8f5('0x13'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require('../model/faxAccount');var Realtime=function(){this['agents']={};this[_0xc8f5('0x14')]={};this[_0xc8f5('0x15')]={};this[_0xc8f5('0x16')]={};this[_0xc8f5('0x17')]={};this[_0xc8f5('0x18')]={};this[_0xc8f5('0x19')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xc8f5('0x1a')]={};this['channels']={};this['queueChannels']={};this[_0xc8f5('0x1b')]={};this['timers']={};this['settings']={};this[_0xc8f5('0x1c')]={};this[_0xc8f5('0x1d')]={};this[_0xc8f5('0x1e')]={};this[_0xc8f5('0x1f')]={};this['zohoAccounts']={};this[_0xc8f5('0x20')]={};this[_0xc8f5('0x21')]={};this[_0xc8f5('0x22')]={};this['dynamics365Accounts']={};this['freshsalesAccounts']={};this[_0xc8f5('0x23')]={};};function freeIsNotKey(_0x13ddc7,_0x17e0d1,_0x315e73){var _0x5071cc=_[_0xc8f5('0x24')](_0x13ddc7,function(_0x4e8bbe,_0x2c758d){return _0x4e8bbe[_0x315e73];});for(var _0x224d51 in _0x17e0d1){if(_0x17e0d1[_0xc8f5('0x25')](_0x224d51)){if(!_0x5071cc[_0x224d51]){delete _0x17e0d1[_0x224d51];}}}}function freeIsNotKeySip(_0x1c35e2,_0x5effe4){var _0x3ef0e8=_[_0xc8f5('0x24')](_0x1c35e2,function(_0x4626ec,_0x2eb4b8){return util[_0xc8f5('0x26')]('SIP/%s',_0x4626ec['name']);});for(var _0x49ff51 in _0x5effe4){if(_0x5effe4[_0xc8f5('0x25')](_0x49ff51)){if(!_0x3ef0e8[_0x49ff51]){delete _0x5effe4[_0x49ff51];}}}}function freeIsNotKeyAgent(_0x5a1682,_0x421eec){var _0x4a56db=_['mapKeys'](_0x5a1682,function(_0x54fe7d,_0x2d2b18){var _0x5e549a=_[_0xc8f5('0x27')](_0x54fe7d[_0xc8f5('0x28')])?util[_0xc8f5('0x26')](_0xc8f5('0x29'),_0x54fe7d[_0xc8f5('0x2a')]):_0x54fe7d[_0xc8f5('0x28')];return _0x5e549a;});for(var _0x654b94 in _0x421eec){if(_0x421eec['hasOwnProperty'](_0x654b94)){if(!_0x4a56db[_0x654b94]){delete _0x421eec[_0x654b94];}}}}function clearVoiceCallReports(_0xa03f35){_0xa03f35['total']=0x0;_0xa03f35[_0xc8f5('0x2b')]=0x0;_0xa03f35['sumHoldTime']=0x0;_0xa03f35[_0xc8f5('0x2c')]=0x0;_0xa03f35[_0xc8f5('0x2d')]=0x0;}function clearCampaigns(_0x1a5d6a){if(!_[_0xc8f5('0x2e')](_0x1a5d6a)){for(var _0x57ee37 in _0x1a5d6a){if(_0x1a5d6a[_0xc8f5('0x25')](_0x57ee37)){_0x1a5d6a[_0x57ee37][_0xc8f5('0x2f')]=0x0;_0x1a5d6a[_0x57ee37][_0xc8f5('0x30')]=0x0;}}}}function clearVoiceQueues(_0x1d2190){if(!_['isEmpty'](_0x1d2190)){for(var _0x3cc496 in _0x1d2190){if(_0x1d2190[_0xc8f5('0x25')](_0x3cc496)){_0x1d2190[_0x3cc496][_0xc8f5('0x31')]=0x0;_0x1d2190[_0x3cc496]['answered']=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x32')]=0x0;_0x1d2190[_0x3cc496]['abandoned']=0x0;_0x1d2190[_0x3cc496]['sumHoldTime']=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x2c')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x2d')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x33')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x34')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x35')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x36')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x37')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x38')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x39')]=0x0;_0x1d2190[_0x3cc496]['outboundDropCallsDayCallersExit']=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x3a')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x3b')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x3c')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x3d')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x33')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x3e')]=0x0;_0x1d2190[_0x3cc496][_0xc8f5('0x3f')]=!![];}}}}Realtime['prototype'][_0xc8f5('0x40')]=function(_0x3874bc,_0x276fad){for(var _0x33b950 in _0x276fad){if(_0x3874bc[_0xc8f5('0x25')](_0x33b950)){_0x3874bc[_0x33b950]=_0x276fad[_0x33b950];}}};Realtime[_0xc8f5('0x41')][_0xc8f5('0x42')]=function(){var _0x5f24b1=this;return function(_0x103177){if(_0x103177){freeIsNotKeyAgent(_0x103177,_0x5f24b1['agents']);for(var _0x98761c=0x0,_0xbbb2af={},_0x434d46={};_0x98761c<_0x103177[_0xc8f5('0x43')];_0x98761c+=0x1){_0xbbb2af=_0x103177[_0x98761c];var _0x444dac=_[_0xc8f5('0x27')](_0xbbb2af['interface'])?util[_0xc8f5('0x26')](_0xc8f5('0x29'),_0xbbb2af[_0xc8f5('0x2a')]):_0xbbb2af[_0xc8f5('0x28')];if(_['isUndefined'](_0x5f24b1[_0xc8f5('0x44')][_0x444dac])){_0x5f24b1[_0xc8f5('0x44')][_0x444dac]=new Agent(_0xbbb2af);}else{_0x5f24b1['mergeFromDatabase'](_0x5f24b1[_0xc8f5('0x44')][_0x444dac],_0xbbb2af);}}}return _0x5f24b1[_0xc8f5('0x44')];};};Realtime[_0xc8f5('0x41')]['initTelephones']=function(){var _0x6c20cb=this;return function(_0x5afc2c){if(_0x5afc2c){freeIsNotKeySip(_0x5afc2c,_0x6c20cb[_0xc8f5('0x14')]);for(var _0x1298dd=0x0,_0x1b3e30={},_0x35faa5={};_0x1298dd<_0x5afc2c[_0xc8f5('0x43')];_0x1298dd+=0x1){_0x1b3e30=_0x5afc2c[_0x1298dd];if(_[_0xc8f5('0x45')](_0x6c20cb['telephones'][util[_0xc8f5('0x26')](_0xc8f5('0x29'),_0x1b3e30['name'])])){_0x6c20cb[_0xc8f5('0x14')][util[_0xc8f5('0x26')](_0xc8f5('0x29'),_0x1b3e30['name'])]=new Telephone(_0x1b3e30);}else{_0x6c20cb['mergeFromDatabase'](_0x6c20cb['telephones'][util[_0xc8f5('0x26')](_0xc8f5('0x29'),_0x1b3e30[_0xc8f5('0x2a')])],_0x1b3e30);}}}return _0x6c20cb['telephones'];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x46')]=function(){var _0x31ad81=this;return function(_0x69db4d){if(_0x69db4d){freeIsNotKeySip(_0x69db4d,_0x31ad81[_0xc8f5('0x15')]);for(var _0x578e1d=0x0,_0xe456f5={},_0x29868b={};_0x578e1d<_0x69db4d[_0xc8f5('0x43')];_0x578e1d+=0x1){_0xe456f5=_0x69db4d[_0x578e1d];if(_['isUndefined'](_0x31ad81[_0xc8f5('0x15')][util[_0xc8f5('0x26')](_0xc8f5('0x29'),_0xe456f5[_0xc8f5('0x2a')])])){_0x31ad81[_0xc8f5('0x15')][util[_0xc8f5('0x26')](_0xc8f5('0x29'),_0xe456f5['name'])]=new Trunk(_0xe456f5);}else{_0x31ad81['mergeFromDatabase'](_0x31ad81['trunks'][util[_0xc8f5('0x26')]('SIP/%s',_0xe456f5[_0xc8f5('0x2a')])],_0xe456f5);}}}return _0x31ad81[_0xc8f5('0x15')];};};Realtime['prototype'][_0xc8f5('0x47')]=function(){var _0x59d330=this;return function(_0x120242){if(_0x120242){freeIsNotKey(_0x120242,_0x59d330[_0xc8f5('0x16')],_0xc8f5('0x2a'));for(var _0x6cee64=0x0,_0x92d02c={},_0x125c9e={};_0x6cee64<_0x120242[_0xc8f5('0x43')];_0x6cee64+=0x1){_0x92d02c=_0x120242[_0x6cee64];if(_[_0xc8f5('0x45')](_0x59d330[_0xc8f5('0x16')][_0x92d02c['name']])){_0x59d330[_0xc8f5('0x16')][_0x92d02c[_0xc8f5('0x2a')]]=new VoiceQueue(_0x92d02c);}else{_0x59d330[_0xc8f5('0x40')](_0x59d330[_0xc8f5('0x16')][_0x92d02c[_0xc8f5('0x2a')]],_0x92d02c);}}}return _0x59d330['voiceQueues'];};};Realtime[_0xc8f5('0x41')]['initTriggers']=function(){var _0x35e79b=this;return function(_0x26ee2f){if(_0x26ee2f){freeIsNotKey(_0x26ee2f,_0x35e79b['triggers'],'id');for(var _0x5cfb7d=0x0,_0x50c8f8={},_0x44c962={};_0x5cfb7d<_0x26ee2f[_0xc8f5('0x43')];_0x5cfb7d+=0x1){_0x50c8f8=_0x26ee2f[_0x5cfb7d];if(_[_0xc8f5('0x45')](_0x35e79b['triggers'][_0x50c8f8['id']])){_0x35e79b[_0xc8f5('0x17')][_0x50c8f8['id']]=new Trigger(_0x50c8f8);}else{_0x35e79b['mergeFromDatabase'](_0x35e79b[_0xc8f5('0x17')][_0x50c8f8['id']],_0x50c8f8);}}}return _0x35e79b[_0xc8f5('0x17')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x48')]=function(){var _0x393404=this;return function(_0x1e270b){if(_0x1e270b){freeIsNotKey(_0x1e270b,_0x393404['templates'],'id');for(var _0x568b34=0x0,_0x5a1037={},_0x4dff83={};_0x568b34<_0x1e270b[_0xc8f5('0x43')];_0x568b34+=0x1){_0x5a1037=_0x1e270b[_0x568b34];if(_[_0xc8f5('0x45')](_0x393404[_0xc8f5('0x19')][_0x5a1037['id']])){_0x393404[_0xc8f5('0x19')][_0x5a1037['id']]=new Template(_0x5a1037);}else{_0x393404['mergeFromDatabase'](_0x393404[_0xc8f5('0x19')][_0x5a1037['id']],_0x5a1037);}}}return _0x393404[_0xc8f5('0x19')];};};Realtime['prototype'][_0xc8f5('0x49')]=function(){var _0x2baaeb=this;return function(_0x48e2ce){if(_0x48e2ce){freeIsNotKey(_0x48e2ce,_0x2baaeb[_0xc8f5('0x1c')],'id');for(var _0x54c356=0x0,_0x2afb14={},_0x278d0b={};_0x54c356<_0x48e2ce[_0xc8f5('0x43')];_0x54c356+=0x1){_0x2afb14=_0x48e2ce[_0x54c356];if(_['isUndefined'](_0x2baaeb['zendeskAccounts'][_0x2afb14['id']])){_0x2baaeb[_0xc8f5('0x1c')][_0x2afb14['id']]=new ZendeskAccount(_0x2afb14);}else{_0x2baaeb['mergeFromDatabase'](_0x2baaeb[_0xc8f5('0x1c')][_0x2afb14['id']],_0x2afb14);}}}return _0x2baaeb['zendeskAccounts'];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x4a')]=function(){var _0x5aac58=this;return function(_0x6f2cb0){if(_0x6f2cb0){freeIsNotKey(_0x6f2cb0,_0x5aac58[_0xc8f5('0x1d')],'id');for(var _0x314ca0=0x0,_0x53272c={},_0x284bdc={};_0x314ca0<_0x6f2cb0[_0xc8f5('0x43')];_0x314ca0+=0x1){_0x53272c=_0x6f2cb0[_0x314ca0];if(_['isUndefined'](_0x5aac58[_0xc8f5('0x1d')][_0x53272c['id']])){_0x5aac58['salesforceAccounts'][_0x53272c['id']]=new SalesforceAccount(_0x53272c);}else{_0x5aac58[_0xc8f5('0x40')](_0x5aac58[_0xc8f5('0x1d')][_0x53272c['id']],_0x53272c);}}}return _0x5aac58[_0xc8f5('0x1d')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x4b')]=function(){var _0x4afa12=this;return function(_0x400f95){if(_0x400f95){freeIsNotKey(_0x400f95,_0x4afa12[_0xc8f5('0x1f')],'id');for(var _0x3c56f1=0x0,_0x4bb95b={},_0x7b0463={};_0x3c56f1<_0x400f95[_0xc8f5('0x43')];_0x3c56f1+=0x1){_0x4bb95b=_0x400f95[_0x3c56f1];if(_[_0xc8f5('0x45')](_0x4afa12[_0xc8f5('0x1f')][_0x4bb95b['id']])){_0x4afa12[_0xc8f5('0x1f')][_0x4bb95b['id']]=new FreshdeskAccount(_0x4bb95b);}else{_0x4afa12[_0xc8f5('0x40')](_0x4afa12[_0xc8f5('0x1f')][_0x4bb95b['id']],_0x4bb95b);}}}return _0x4afa12[_0xc8f5('0x1f')];};};Realtime['prototype'][_0xc8f5('0x4c')]=function(){var _0x430063=this;return function(_0x8ee5fd){if(_0x8ee5fd){freeIsNotKey(_0x8ee5fd,_0x430063[_0xc8f5('0x4d')],'id');for(var _0xef9a85=0x0,_0x564b2f={},_0x1c97b9={};_0xef9a85<_0x8ee5fd[_0xc8f5('0x43')];_0xef9a85+=0x1){_0x564b2f=_0x8ee5fd[_0xef9a85];if(_['isUndefined'](_0x430063['zohoAccounts'][_0x564b2f['id']])){_0x430063[_0xc8f5('0x4d')][_0x564b2f['id']]=new ZohoAccount(_0x564b2f);}else{_0x430063[_0xc8f5('0x40')](_0x430063[_0xc8f5('0x4d')][_0x564b2f['id']],_0x564b2f);}}}return _0x430063[_0xc8f5('0x4d')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x4e')]=function(){var _0x11901a=this;return function(_0x24cf36){if(_0x24cf36){freeIsNotKey(_0x24cf36,_0x11901a[_0xc8f5('0x20')],'id');for(var _0xeeb610=0x0,_0x328dc5={},_0xba59e1={};_0xeeb610<_0x24cf36[_0xc8f5('0x43')];_0xeeb610+=0x1){_0x328dc5=_0x24cf36[_0xeeb610];if(_['isUndefined'](_0x11901a[_0xc8f5('0x20')][_0x328dc5['id']])){_0x11901a[_0xc8f5('0x20')][_0x328dc5['id']]=new DeskAccount(_0x328dc5);}else{_0x11901a['mergeFromDatabase'](_0x11901a[_0xc8f5('0x20')][_0x328dc5['id']],_0x328dc5);}}}return _0x11901a[_0xc8f5('0x20')];};};Realtime['prototype'][_0xc8f5('0x4f')]=function(){var _0x125255=this;return function(_0x43a416){if(_0x43a416){freeIsNotKey(_0x43a416,_0x125255[_0xc8f5('0x1e')],'id');for(var _0x420d4f=0x0,_0x91bbc1={},_0x337ac7={};_0x420d4f<_0x43a416[_0xc8f5('0x43')];_0x420d4f+=0x1){_0x91bbc1=_0x43a416[_0x420d4f];if(_[_0xc8f5('0x45')](_0x125255['sugarcrmAccounts'][_0x91bbc1['id']])){_0x125255['sugarcrmAccounts'][_0x91bbc1['id']]=new SugarcrmAccount(_0x91bbc1);}else{_0x125255[_0xc8f5('0x40')](_0x125255[_0xc8f5('0x1e')][_0x91bbc1['id']],_0x91bbc1);}}}return _0x125255['sugarcrmAccounts'];};};Realtime['prototype'][_0xc8f5('0x50')]=function(){var _0x258ba0=this;return function(_0x212ac6){if(_0x212ac6){freeIsNotKey(_0x212ac6,_0x258ba0[_0xc8f5('0x21')],'id');for(var _0x3d4c82=0x0,_0x152395={},_0x434d23={};_0x3d4c82<_0x212ac6[_0xc8f5('0x43')];_0x3d4c82+=0x1){_0x152395=_0x212ac6[_0x3d4c82];if(_[_0xc8f5('0x45')](_0x258ba0[_0xc8f5('0x21')][_0x152395['id']])){_0x258ba0[_0xc8f5('0x21')][_0x152395['id']]=new VtigerAccount(_0x152395);}else{_0x258ba0[_0xc8f5('0x40')](_0x258ba0['vtigerAccounts'][_0x152395['id']],_0x152395);}}}return _0x258ba0[_0xc8f5('0x21')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x51')]=function(){var _0xadd33=this;return function(_0x26ee6d){if(_0x26ee6d){freeIsNotKey(_0x26ee6d,_0xadd33['servicenowAccounts'],'id');for(var _0x1417ef=0x0,_0x533c7b={},_0x402f07={};_0x1417ef<_0x26ee6d[_0xc8f5('0x43')];_0x1417ef+=0x1){_0x533c7b=_0x26ee6d[_0x1417ef];if(_[_0xc8f5('0x45')](_0xadd33[_0xc8f5('0x22')][_0x533c7b['id']])){_0xadd33[_0xc8f5('0x22')][_0x533c7b['id']]=new ServicenowAccount(_0x533c7b);}else{_0xadd33[_0xc8f5('0x40')](_0xadd33[_0xc8f5('0x22')][_0x533c7b['id']],_0x533c7b);}}}return _0xadd33['servicenowAccounts'];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x52')]=function(){var _0x16f5a3=this;return function(_0x281c19){if(_0x281c19){freeIsNotKey(_0x281c19,_0x16f5a3['dynamics365Accounts'],'id');for(var _0x590513=0x0,_0x2094ef={},_0x557c4c={};_0x590513<_0x281c19[_0xc8f5('0x43')];_0x590513+=0x1){_0x2094ef=_0x281c19[_0x590513];if(_['isUndefined'](_0x16f5a3[_0xc8f5('0x53')][_0x2094ef['id']])){_0x16f5a3[_0xc8f5('0x53')][_0x2094ef['id']]=new Dynamics365Account(_0x2094ef);}else{_0x16f5a3['mergeFromDatabase'](_0x16f5a3['dynamics365Accounts'][_0x2094ef['id']],_0x2094ef);}}}return _0x16f5a3[_0xc8f5('0x53')];};};Realtime['prototype'][_0xc8f5('0x54')]=function(){var _0x395027=this;return function(_0x2a10f9){if(_0x2a10f9){freeIsNotKey(_0x2a10f9,_0x395027[_0xc8f5('0x55')],'id');for(var _0x280370=0x0,_0x800217={},_0x5ece96={};_0x280370<_0x2a10f9[_0xc8f5('0x43')];_0x280370+=0x1){_0x800217=_0x2a10f9[_0x280370];if(_['isUndefined'](_0x395027['freshsalesAccounts'][_0x800217['id']])){_0x395027[_0xc8f5('0x55')][_0x800217['id']]=new FreshsalesAccount(_0x800217);}else{_0x395027['mergeFromDatabase'](_0x395027['freshsalesAccounts'][_0x800217['id']],_0x800217);}}}return _0x395027[_0xc8f5('0x55')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x56')]=function(){var _0x41952e=this;return function(_0x32afd0){for(var _0xcf1279=0x0;_0xcf1279<_0x32afd0[_0xc8f5('0x43')];_0xcf1279+=0x1){_[_0xc8f5('0x57')](_0x41952e['voiceQueues'][_0x32afd0[_0xcf1279][_0xc8f5('0x2a')]],_0x32afd0[_0xcf1279]);}return _0x41952e[_0xc8f5('0x16')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x58')]=function(){var _0x338975=this;return function(_0x56a001){clearVoiceQueues(_0x338975[_0xc8f5('0x16')]);if(_0x56a001){_0x56a001=_[_0xc8f5('0x59')](_0x56a001,_0xc8f5('0x5a'));for(var _0x545b10 in _0x56a001){if(_0x56a001[_0xc8f5('0x25')](_0x545b10)){var _0x367a2e={};for(var _0x19b797=0x0;_0x19b797<_0x56a001[_0x545b10][_0xc8f5('0x43')];_0x19b797+=0x1){var _0x5644e7=_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x5b')];if(_0x338975[_0xc8f5('0x16')][_0x5644e7]){if(_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x5c')]){_0x338975[_0xc8f5('0x16')][_0x5644e7]['unmanaged']+=0x1;}if(_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x5d')]){_0x338975[_0xc8f5('0x16')][_0x5644e7][_0xc8f5('0x5e')]+=0x1;}_0x338975[_0xc8f5('0x16')][_0x5644e7][_0xc8f5('0x5f')]+=moment(_0x56a001[_0x545b10][_0x19b797]['queuecallerleaveAt'])[_0xc8f5('0x60')](moment(_0x56a001[_0x545b10][_0x19b797]['queuecallerjoinAt']),_0xc8f5('0x61'))||0x0;if(_0x19b797===_0x56a001[_0x545b10]['length']-0x1){_0x338975[_0xc8f5('0x16')][_0x5644e7]['sumDuration']+=moment(_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x62')]||_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x63')]||_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x64')])[_0xc8f5('0x60')](moment(_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x65')]),_0xc8f5('0x61'))||0x0;_0x338975[_0xc8f5('0x16')][_0x5644e7]['total']+=0x1;if(_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x66')]){_0x338975[_0xc8f5('0x16')][_0x5644e7]['answered']+=0x1;_0x338975[_0xc8f5('0x16')][_0x5644e7]['sumBillable']+=moment(_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x62')])[_0xc8f5('0x60')](moment(_0x56a001[_0x545b10][_0x19b797][_0xc8f5('0x67')]),_0xc8f5('0x61'))||0x0;}}else{_0x338975['voiceQueues'][_0x5644e7]['sumDuration']+=_0x338975[_0xc8f5('0x16')][_0x5644e7]['sumHoldTime']||0x0;}}}}}}return _0x338975[_0xc8f5('0x16')];};};Realtime[_0xc8f5('0x41')]['initVoiceCallReports']=function(){var _0x4dce35=this;return function(_0x55fc34){clearVoiceCallReports(_0x4dce35[_0xc8f5('0x68')]);if(_0x55fc34){for(var _0x546856=0x0;_0x546856<_0x55fc34[_0xc8f5('0x43')];_0x546856+=0x1){_0x4dce35['outbound'][_0xc8f5('0x31')]+=0x1;_0x4dce35[_0xc8f5('0x68')][_0xc8f5('0x2c')]+=_0x55fc34[_0x546856][_0xc8f5('0x69')];if(_0x55fc34[_0x546856]['disposition']===_0xc8f5('0x6a')){_0x4dce35['outbound'][_0xc8f5('0x2b')]+=0x1;_0x4dce35[_0xc8f5('0x68')]['sumHoldTime']+=_0x55fc34[_0x546856][_0xc8f5('0x69')]-_0x55fc34[_0x546856]['billableseconds']||0x0;_0x4dce35['outbound'][_0xc8f5('0x2d')]+=_0x55fc34[_0x546856][_0xc8f5('0x6b')];}}}return _0x4dce35[_0xc8f5('0x68')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x6c')]=function(){var _0x479449=this;return function(_0x46f89f){if(_0x46f89f){freeIsNotKey(_0x46f89f,_0x479449[_0xc8f5('0x18')],'name');for(var _0x5f4548=0x0,_0x53ea1a={};_0x5f4548<_0x46f89f[_0xc8f5('0x43')];_0x5f4548+=0x1){_0x53ea1a=_0x46f89f[_0x5f4548];if(_[_0xc8f5('0x45')](_0x479449[_0xc8f5('0x18')][_0x53ea1a[_0xc8f5('0x2a')]])){_0x479449[_0xc8f5('0x18')][_0x53ea1a[_0xc8f5('0x2a')]]=new Campaign(_0x53ea1a);}else{_0x479449[_0xc8f5('0x40')](_0x479449[_0xc8f5('0x18')][_0x53ea1a[_0xc8f5('0x2a')]],_0x53ea1a);_0x479449[_0xc8f5('0x18')][_0x53ea1a['name']][_0xc8f5('0x6d')]=_0x53ea1a[_0xc8f5('0x6e')]?_0x53ea1a[_0xc8f5('0x6e')][_0xc8f5('0x2a')]:undefined;}}}return _0x479449[_0xc8f5('0x18')];};};Realtime['prototype']['initVoiceExtensions']=function(){var _0x5d6f19=this;return function(_0x145a17){if(_0x145a17){freeIsNotKey(_0x145a17,_0x5d6f19[_0xc8f5('0x1a')],'id');for(var _0x242a1b=0x0,_0x9ed35e={};_0x242a1b<_0x145a17[_0xc8f5('0x43')];_0x242a1b+=0x1){_0x9ed35e=_0x145a17[_0x242a1b];if(_[_0xc8f5('0x45')](_0x5d6f19[_0xc8f5('0x1a')][_0x9ed35e['id']])){_0x5d6f19['voiceExtensions'][_0x9ed35e['id']]=new VoiceExtension(_0x9ed35e);}else{_0x5d6f19[_0xc8f5('0x40')](_0x5d6f19[_0xc8f5('0x1a')][_0x9ed35e['id']],_0x9ed35e);}}}return _0x5d6f19[_0xc8f5('0x1a')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x6f')]=function(){var _0x3fce72=this;return function(_0x316f89){clearCampaigns(_0x3fce72[_0xc8f5('0x18')]);for(var _0x5a1afe=0x0;_0x5a1afe<_0x316f89[_0xc8f5('0x43')];_0x5a1afe+=0x1){_['merge'](_0x3fce72['campaigns'][_0x316f89[_0x5a1afe]['name']],_0x316f89[_0x5a1afe]);}return _0x3fce72[_0xc8f5('0x18')];};};Realtime[_0xc8f5('0x41')][_0xc8f5('0x70')]=function(){var _0x49ab2b=this;return function(_0x4f212a){if(_0x4f212a){freeIsNotKey(_0x4f212a,_0x49ab2b[_0xc8f5('0x23')],'id');for(var _0x3c81ac=0x0,_0x102dd3={},_0x23a809={};_0x3c81ac<_0x4f212a[_0xc8f5('0x43')];_0x3c81ac+=0x1){_0x102dd3=_0x4f212a[_0x3c81ac];if(_[_0xc8f5('0x45')](_0x49ab2b[_0xc8f5('0x23')][_0x102dd3['id']])){_0x49ab2b[_0xc8f5('0x23')][_0x102dd3['id']]=new FaxAccount(_0x102dd3);}else{_0x49ab2b[_0xc8f5('0x40')](_0x49ab2b[_0xc8f5('0x23')][_0x102dd3['id']],_0x102dd3);}}}return _0x49ab2b[_0xc8f5('0x23')];};};module[_0xc8f5('0x71')]=Realtime;