61dfb15287ad83bb6694e21f4b5fb0eb5eb8003d
[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 _0xbfb0=['outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','length','isUndefined','initTelephones','initTrunks','initVoiceQueues','initTriggers','initTemplates','templates','initSalesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','initDeskAccounts','sugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallercomplete','duration','ANSWERED','initCampaigns','campaigns','initVoiceExtensions','initCampaignHopperHistory','bluebird','lodash','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','trunks','voiceQueues','triggers','outbound','voiceExtensions','channels','queueChannels','timers','zendeskAccounts','salesforceAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','hasOwnProperty','SIP/%s','name','mapKeys','isNil','interface','format','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay'];(function(_0x456fc1,_0x5e289d){var _0x35587a=function(_0x753883){while(--_0x753883){_0x456fc1['push'](_0x456fc1['shift']());}};_0x35587a(++_0x5e289d);}(_0xbfb0,0x166));var _0x0bfb=function(_0x35b7d4,_0x5a5c43){_0x35b7d4=_0x35b7d4-0x0;var _0x4e8cee=_0xbfb0[_0x35b7d4];return _0x4e8cee;};'use strict';var BPromise=require(_0x0bfb('0x0'));var util=require('util');var _=require(_0x0bfb('0x1'));var moment=require('moment');var Agent=require(_0x0bfb('0x2'));var Telephone=require(_0x0bfb('0x3'));var Trunk=require(_0x0bfb('0x4'));var VoiceQueue=require(_0x0bfb('0x5'));var Trigger=require(_0x0bfb('0x6'));var Template=require(_0x0bfb('0x7'));var Campaign=require(_0x0bfb('0x8'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0x0bfb('0x9'));var SalesforceAccount=require(_0x0bfb('0xa'));var FreshdeskAccount=require(_0x0bfb('0xb'));var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0x0bfb('0xc'));var DeskAccount=require(_0x0bfb('0xd'));var VtigerAccount=require(_0x0bfb('0xe'));var ServicenowAccount=require(_0x0bfb('0xf'));var Dynamics365Account=require(_0x0bfb('0x10'));var FaxAccount=require(_0x0bfb('0x11'));var Realtime=function(){this[_0x0bfb('0x12')]={};this[_0x0bfb('0x13')]={};this[_0x0bfb('0x14')]={};this[_0x0bfb('0x15')]={};this[_0x0bfb('0x16')]={};this['campaigns']={};this['templates']={};this[_0x0bfb('0x17')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x0bfb('0x18')]={};this[_0x0bfb('0x19')]={};this[_0x0bfb('0x1a')]={};this['outboundChannels']={};this[_0x0bfb('0x1b')]={};this[_0x0bfb('0x1c')]={};this[_0x0bfb('0x1d')]={};this['sugarcrmAccounts']={};this['freshdeskAccounts']={};this[_0x0bfb('0x1e')]={};this[_0x0bfb('0x1f')]={};this[_0x0bfb('0x20')]={};this[_0x0bfb('0x21')]={};this[_0x0bfb('0x22')]={};this[_0x0bfb('0x23')]={};};function freeIsNotKey(_0x517b6c,_0x2c8010,_0x441032){var _0x161620=_['mapKeys'](_0x517b6c,function(_0xe4842,_0x41824c){return _0xe4842[_0x441032];});for(var _0x7c2273 in _0x2c8010){if(_0x2c8010[_0x0bfb('0x24')](_0x7c2273)){if(!_0x161620[_0x7c2273]){delete _0x2c8010[_0x7c2273];}}}}function freeIsNotKeySip(_0x2465fd,_0x4888dd){var _0x2747c4=_['mapKeys'](_0x2465fd,function(_0x48bcee,_0x5b1e33){return util['format'](_0x0bfb('0x25'),_0x48bcee[_0x0bfb('0x26')]);});for(var _0x2fa2cc in _0x4888dd){if(_0x4888dd['hasOwnProperty'](_0x2fa2cc)){if(!_0x2747c4[_0x2fa2cc]){delete _0x4888dd[_0x2fa2cc];}}}}function freeIsNotKeyAgent(_0x32b509,_0x4839a1){var _0x5f0a0f=_[_0x0bfb('0x27')](_0x32b509,function(_0x40bdc0,_0x598db2){var _0x5563f2=_[_0x0bfb('0x28')](_0x40bdc0[_0x0bfb('0x29')])?util[_0x0bfb('0x2a')]('SIP/%s',_0x40bdc0[_0x0bfb('0x26')]):_0x40bdc0[_0x0bfb('0x29')];return _0x5563f2;});for(var _0x31a46f in _0x4839a1){if(_0x4839a1['hasOwnProperty'](_0x31a46f)){if(!_0x5f0a0f[_0x31a46f]){delete _0x4839a1[_0x31a46f];}}}}function clearVoiceCallReports(_0x414e7f){_0x414e7f[_0x0bfb('0x2b')]=0x0;_0x414e7f[_0x0bfb('0x2c')]=0x0;_0x414e7f[_0x0bfb('0x2d')]=0x0;_0x414e7f[_0x0bfb('0x2e')]=0x0;_0x414e7f[_0x0bfb('0x2f')]=0x0;}function clearCampaigns(_0x3e094a){if(!_[_0x0bfb('0x30')](_0x3e094a)){for(var _0x15fe63 in _0x3e094a){if(_0x3e094a['hasOwnProperty'](_0x15fe63)){_0x3e094a[_0x15fe63][_0x0bfb('0x31')]=0x0;_0x3e094a[_0x15fe63][_0x0bfb('0x32')]=0x0;}}}}function clearVoiceQueues(_0x2e8d91){if(!_[_0x0bfb('0x30')](_0x2e8d91)){for(var _0x4ef82f in _0x2e8d91){if(_0x2e8d91['hasOwnProperty'](_0x4ef82f)){_0x2e8d91[_0x4ef82f][_0x0bfb('0x2b')]=0x0;_0x2e8d91[_0x4ef82f]['answered']=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x33')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x34')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x2d')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x2e')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x2f')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x35')]=0x0;_0x2e8d91[_0x4ef82f]['outboundNoAnswerCallsDay']=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x36')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x37')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x38')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x39')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x3a')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x3b')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x3c')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x3d')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x3e')]=0x0;_0x2e8d91[_0x4ef82f]['outboundReCallsDay']=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x35')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x3f')]=0x0;_0x2e8d91[_0x4ef82f][_0x0bfb('0x40')]=!![];}}}}Realtime[_0x0bfb('0x41')][_0x0bfb('0x42')]=function(_0x50b84c,_0x175645){for(var _0x4265d3 in _0x175645){if(_0x50b84c[_0x0bfb('0x24')](_0x4265d3)){_0x50b84c[_0x4265d3]=_0x175645[_0x4265d3];}}};Realtime[_0x0bfb('0x41')]['initAgents']=function(){var _0x7176a8=this;return function(_0x4ea712){if(_0x4ea712){freeIsNotKeyAgent(_0x4ea712,_0x7176a8['agents']);for(var _0x125d79=0x0,_0x4f5417={},_0x2c5a49={};_0x125d79<_0x4ea712[_0x0bfb('0x43')];_0x125d79+=0x1){_0x4f5417=_0x4ea712[_0x125d79];var _0x3d6134=_[_0x0bfb('0x28')](_0x4f5417[_0x0bfb('0x29')])?util['format'](_0x0bfb('0x25'),_0x4f5417[_0x0bfb('0x26')]):_0x4f5417['interface'];if(_[_0x0bfb('0x44')](_0x7176a8[_0x0bfb('0x12')][_0x3d6134])){_0x7176a8[_0x0bfb('0x12')][_0x3d6134]=new Agent(_0x4f5417);}else{_0x7176a8[_0x0bfb('0x42')](_0x7176a8[_0x0bfb('0x12')][_0x3d6134],_0x4f5417);}}}return _0x7176a8['agents'];};};Realtime['prototype'][_0x0bfb('0x45')]=function(){var _0xf6537e=this;return function(_0x3a5d1f){if(_0x3a5d1f){freeIsNotKeySip(_0x3a5d1f,_0xf6537e[_0x0bfb('0x13')]);for(var _0x40112e=0x0,_0x197d2a={},_0x1ed4e0={};_0x40112e<_0x3a5d1f['length'];_0x40112e+=0x1){_0x197d2a=_0x3a5d1f[_0x40112e];if(_[_0x0bfb('0x44')](_0xf6537e[_0x0bfb('0x13')][util[_0x0bfb('0x2a')]('SIP/%s',_0x197d2a[_0x0bfb('0x26')])])){_0xf6537e[_0x0bfb('0x13')][util['format'](_0x0bfb('0x25'),_0x197d2a[_0x0bfb('0x26')])]=new Telephone(_0x197d2a);}else{_0xf6537e['mergeFromDatabase'](_0xf6537e[_0x0bfb('0x13')][util['format']('SIP/%s',_0x197d2a['name'])],_0x197d2a);}}}return _0xf6537e[_0x0bfb('0x13')];};};Realtime['prototype'][_0x0bfb('0x46')]=function(){var _0x3af1c6=this;return function(_0x110274){if(_0x110274){freeIsNotKeySip(_0x110274,_0x3af1c6[_0x0bfb('0x14')]);for(var _0x171219=0x0,_0x37fd1b={},_0x3f53b2={};_0x171219<_0x110274['length'];_0x171219+=0x1){_0x37fd1b=_0x110274[_0x171219];if(_[_0x0bfb('0x44')](_0x3af1c6[_0x0bfb('0x14')][util[_0x0bfb('0x2a')](_0x0bfb('0x25'),_0x37fd1b[_0x0bfb('0x26')])])){_0x3af1c6[_0x0bfb('0x14')][util[_0x0bfb('0x2a')]('SIP/%s',_0x37fd1b['name'])]=new Trunk(_0x37fd1b);}else{_0x3af1c6[_0x0bfb('0x42')](_0x3af1c6[_0x0bfb('0x14')][util[_0x0bfb('0x2a')](_0x0bfb('0x25'),_0x37fd1b[_0x0bfb('0x26')])],_0x37fd1b);}}}return _0x3af1c6['trunks'];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x47')]=function(){var _0x32d404=this;return function(_0x5b377c){if(_0x5b377c){freeIsNotKey(_0x5b377c,_0x32d404[_0x0bfb('0x15')],'name');for(var _0x19e4b0=0x0,_0x40b41b={},_0x1c0dae={};_0x19e4b0<_0x5b377c[_0x0bfb('0x43')];_0x19e4b0+=0x1){_0x40b41b=_0x5b377c[_0x19e4b0];if(_['isUndefined'](_0x32d404[_0x0bfb('0x15')][_0x40b41b['name']])){_0x32d404['voiceQueues'][_0x40b41b['name']]=new VoiceQueue(_0x40b41b);}else{_0x32d404[_0x0bfb('0x42')](_0x32d404[_0x0bfb('0x15')][_0x40b41b['name']],_0x40b41b);}}}return _0x32d404[_0x0bfb('0x15')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x48')]=function(){var _0x42fa67=this;return function(_0x965ad7){if(_0x965ad7){freeIsNotKey(_0x965ad7,_0x42fa67[_0x0bfb('0x16')],'id');for(var _0x53f6ad=0x0,_0x1d4b90={},_0x43d7f2={};_0x53f6ad<_0x965ad7[_0x0bfb('0x43')];_0x53f6ad+=0x1){_0x1d4b90=_0x965ad7[_0x53f6ad];if(_[_0x0bfb('0x44')](_0x42fa67[_0x0bfb('0x16')][_0x1d4b90['id']])){_0x42fa67[_0x0bfb('0x16')][_0x1d4b90['id']]=new Trigger(_0x1d4b90);}else{_0x42fa67['mergeFromDatabase'](_0x42fa67['triggers'][_0x1d4b90['id']],_0x1d4b90);}}}return _0x42fa67[_0x0bfb('0x16')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x49')]=function(){var _0x1b175e=this;return function(_0x13b4a8){if(_0x13b4a8){freeIsNotKey(_0x13b4a8,_0x1b175e[_0x0bfb('0x4a')],'id');for(var _0x58a961=0x0,_0x26beb6={},_0x2c8488={};_0x58a961<_0x13b4a8[_0x0bfb('0x43')];_0x58a961+=0x1){_0x26beb6=_0x13b4a8[_0x58a961];if(_[_0x0bfb('0x44')](_0x1b175e[_0x0bfb('0x4a')][_0x26beb6['id']])){_0x1b175e[_0x0bfb('0x4a')][_0x26beb6['id']]=new Template(_0x26beb6);}else{_0x1b175e['mergeFromDatabase'](_0x1b175e['templates'][_0x26beb6['id']],_0x26beb6);}}}return _0x1b175e['templates'];};};Realtime[_0x0bfb('0x41')]['initZendeskAccounts']=function(){var _0x40a792=this;return function(_0x4cf33a){if(_0x4cf33a){freeIsNotKey(_0x4cf33a,_0x40a792[_0x0bfb('0x1c')],'id');for(var _0x53d888=0x0,_0x33da43={},_0x272b67={};_0x53d888<_0x4cf33a['length'];_0x53d888+=0x1){_0x33da43=_0x4cf33a[_0x53d888];if(_[_0x0bfb('0x44')](_0x40a792[_0x0bfb('0x1c')][_0x33da43['id']])){_0x40a792['zendeskAccounts'][_0x33da43['id']]=new ZendeskAccount(_0x33da43);}else{_0x40a792[_0x0bfb('0x42')](_0x40a792['zendeskAccounts'][_0x33da43['id']],_0x33da43);}}}return _0x40a792[_0x0bfb('0x1c')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x4b')]=function(){var _0x3ead23=this;return function(_0x38c0ff){if(_0x38c0ff){freeIsNotKey(_0x38c0ff,_0x3ead23[_0x0bfb('0x1d')],'id');for(var _0x37ff83=0x0,_0xe2c70a={},_0x190d60={};_0x37ff83<_0x38c0ff[_0x0bfb('0x43')];_0x37ff83+=0x1){_0xe2c70a=_0x38c0ff[_0x37ff83];if(_['isUndefined'](_0x3ead23[_0x0bfb('0x1d')][_0xe2c70a['id']])){_0x3ead23['salesforceAccounts'][_0xe2c70a['id']]=new SalesforceAccount(_0xe2c70a);}else{_0x3ead23[_0x0bfb('0x42')](_0x3ead23['salesforceAccounts'][_0xe2c70a['id']],_0xe2c70a);}}}return _0x3ead23[_0x0bfb('0x1d')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x4c')]=function(){var _0x2fa84e=this;return function(_0x42107c){if(_0x42107c){freeIsNotKey(_0x42107c,_0x2fa84e[_0x0bfb('0x4d')],'id');for(var _0x4a1483=0x0,_0x181437={},_0x50400f={};_0x4a1483<_0x42107c[_0x0bfb('0x43')];_0x4a1483+=0x1){_0x181437=_0x42107c[_0x4a1483];if(_[_0x0bfb('0x44')](_0x2fa84e['freshdeskAccounts'][_0x181437['id']])){_0x2fa84e[_0x0bfb('0x4d')][_0x181437['id']]=new FreshdeskAccount(_0x181437);}else{_0x2fa84e[_0x0bfb('0x42')](_0x2fa84e[_0x0bfb('0x4d')][_0x181437['id']],_0x181437);}}}return _0x2fa84e[_0x0bfb('0x4d')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x4e')]=function(){var _0x51d050=this;return function(_0x73ae85){if(_0x73ae85){freeIsNotKey(_0x73ae85,_0x51d050[_0x0bfb('0x1e')],'id');for(var _0xea4f6=0x0,_0x3457cb={},_0x5ada86={};_0xea4f6<_0x73ae85[_0x0bfb('0x43')];_0xea4f6+=0x1){_0x3457cb=_0x73ae85[_0xea4f6];if(_['isUndefined'](_0x51d050[_0x0bfb('0x1e')][_0x3457cb['id']])){_0x51d050[_0x0bfb('0x1e')][_0x3457cb['id']]=new ZohoAccount(_0x3457cb);}else{_0x51d050['mergeFromDatabase'](_0x51d050['zohoAccounts'][_0x3457cb['id']],_0x3457cb);}}}return _0x51d050['zohoAccounts'];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x4f')]=function(){var _0x487081=this;return function(_0xd8b4c7){if(_0xd8b4c7){freeIsNotKey(_0xd8b4c7,_0x487081[_0x0bfb('0x1f')],'id');for(var _0x4fea91=0x0,_0x4f3d74={},_0x4ad048={};_0x4fea91<_0xd8b4c7[_0x0bfb('0x43')];_0x4fea91+=0x1){_0x4f3d74=_0xd8b4c7[_0x4fea91];if(_['isUndefined'](_0x487081['deskAccounts'][_0x4f3d74['id']])){_0x487081[_0x0bfb('0x1f')][_0x4f3d74['id']]=new DeskAccount(_0x4f3d74);}else{_0x487081[_0x0bfb('0x42')](_0x487081['deskAccounts'][_0x4f3d74['id']],_0x4f3d74);}}}return _0x487081['deskAccounts'];};};Realtime[_0x0bfb('0x41')]['initSugarcrmAccounts']=function(){var _0x2c4aa7=this;return function(_0x2f4bef){if(_0x2f4bef){freeIsNotKey(_0x2f4bef,_0x2c4aa7[_0x0bfb('0x50')],'id');for(var _0x4e0fd4=0x0,_0x2c6fc6={},_0x45e327={};_0x4e0fd4<_0x2f4bef[_0x0bfb('0x43')];_0x4e0fd4+=0x1){_0x2c6fc6=_0x2f4bef[_0x4e0fd4];if(_[_0x0bfb('0x44')](_0x2c4aa7[_0x0bfb('0x50')][_0x2c6fc6['id']])){_0x2c4aa7[_0x0bfb('0x50')][_0x2c6fc6['id']]=new SugarcrmAccount(_0x2c6fc6);}else{_0x2c4aa7[_0x0bfb('0x42')](_0x2c4aa7[_0x0bfb('0x50')][_0x2c6fc6['id']],_0x2c6fc6);}}}return _0x2c4aa7[_0x0bfb('0x50')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x51')]=function(){var _0x16dfc7=this;return function(_0xd10c7a){if(_0xd10c7a){freeIsNotKey(_0xd10c7a,_0x16dfc7[_0x0bfb('0x20')],'id');for(var _0x40fed9=0x0,_0x3ac278={},_0x39d90f={};_0x40fed9<_0xd10c7a[_0x0bfb('0x43')];_0x40fed9+=0x1){_0x3ac278=_0xd10c7a[_0x40fed9];if(_['isUndefined'](_0x16dfc7[_0x0bfb('0x20')][_0x3ac278['id']])){_0x16dfc7[_0x0bfb('0x20')][_0x3ac278['id']]=new VtigerAccount(_0x3ac278);}else{_0x16dfc7[_0x0bfb('0x42')](_0x16dfc7['vtigerAccounts'][_0x3ac278['id']],_0x3ac278);}}}return _0x16dfc7[_0x0bfb('0x20')];};};Realtime['prototype'][_0x0bfb('0x52')]=function(){var _0x2f4e86=this;return function(_0x3308e3){if(_0x3308e3){freeIsNotKey(_0x3308e3,_0x2f4e86[_0x0bfb('0x21')],'id');for(var _0x1be8a7=0x0,_0x13d610={},_0x49cf6e={};_0x1be8a7<_0x3308e3[_0x0bfb('0x43')];_0x1be8a7+=0x1){_0x13d610=_0x3308e3[_0x1be8a7];if(_[_0x0bfb('0x44')](_0x2f4e86[_0x0bfb('0x21')][_0x13d610['id']])){_0x2f4e86[_0x0bfb('0x21')][_0x13d610['id']]=new ServicenowAccount(_0x13d610);}else{_0x2f4e86[_0x0bfb('0x42')](_0x2f4e86[_0x0bfb('0x21')][_0x13d610['id']],_0x13d610);}}}return _0x2f4e86[_0x0bfb('0x21')];};};Realtime['prototype'][_0x0bfb('0x53')]=function(){var _0xd6bad0=this;return function(_0x2ec61b){if(_0x2ec61b){freeIsNotKey(_0x2ec61b,_0xd6bad0[_0x0bfb('0x22')],'id');for(var _0xb2dbf=0x0,_0x40c021={},_0x2591c0={};_0xb2dbf<_0x2ec61b['length'];_0xb2dbf+=0x1){_0x40c021=_0x2ec61b[_0xb2dbf];if(_[_0x0bfb('0x44')](_0xd6bad0[_0x0bfb('0x22')][_0x40c021['id']])){_0xd6bad0[_0x0bfb('0x22')][_0x40c021['id']]=new Dynamics365Account(_0x40c021);}else{_0xd6bad0[_0x0bfb('0x42')](_0xd6bad0['dynamics365Accounts'][_0x40c021['id']],_0x40c021);}}}return _0xd6bad0[_0x0bfb('0x22')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x54')]=function(){var _0x4349fd=this;return function(_0x457195){for(var _0x444627=0x0;_0x444627<_0x457195['length'];_0x444627+=0x1){_[_0x0bfb('0x55')](_0x4349fd['voiceQueues'][_0x457195[_0x444627]['name']],_0x457195[_0x444627]);}return _0x4349fd['voiceQueues'];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x56')]=function(){var _0x2db216=this;return function(_0x306b69){clearVoiceQueues(_0x2db216[_0x0bfb('0x15')]);if(_0x306b69){_0x306b69=_[_0x0bfb('0x57')](_0x306b69,_0x0bfb('0x58'));for(var _0xa610cc in _0x306b69){if(_0x306b69[_0x0bfb('0x24')](_0xa610cc)){var _0x1ea626={};for(var _0x1d8c48=0x0;_0x1d8c48<_0x306b69[_0xa610cc][_0x0bfb('0x43')];_0x1d8c48+=0x1){var _0xa02d44=_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x59')];if(_0x2db216['voiceQueues'][_0xa02d44]){if(_0x306b69[_0xa610cc][_0x1d8c48]['queuecallerexit']){_0x2db216['voiceQueues'][_0xa02d44][_0x0bfb('0x33')]+=0x1;}if(_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x5a')]){_0x2db216['voiceQueues'][_0xa02d44][_0x0bfb('0x34')]+=0x1;}_0x2db216['voiceQueues'][_0xa02d44]['sumHoldTime']+=moment(_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x5b')])[_0x0bfb('0x5c')](moment(_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x5d')]),_0x0bfb('0x5e'))||0x0;if(_0x1d8c48===_0x306b69[_0xa610cc][_0x0bfb('0x43')]-0x1){_0x2db216[_0x0bfb('0x15')][_0xa02d44][_0x0bfb('0x2e')]+=moment(_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x5f')]||_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x60')]||_0x306b69[_0xa610cc][_0x1d8c48]['queuecallerexitAt'])[_0x0bfb('0x5c')](moment(_0x306b69[_0xa610cc][_0x1d8c48]['queuecallerjoinAt']),_0x0bfb('0x5e'))||0x0;_0x2db216[_0x0bfb('0x15')][_0xa02d44][_0x0bfb('0x2b')]+=0x1;if(_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x61')]){_0x2db216[_0x0bfb('0x15')][_0xa02d44][_0x0bfb('0x2c')]+=0x1;_0x2db216[_0x0bfb('0x15')][_0xa02d44]['sumBillable']+=moment(_0x306b69[_0xa610cc][_0x1d8c48]['queuecallercompleteAt'])[_0x0bfb('0x5c')](moment(_0x306b69[_0xa610cc][_0x1d8c48][_0x0bfb('0x5b')]),_0x0bfb('0x5e'))||0x0;}}else{_0x2db216['voiceQueues'][_0xa02d44][_0x0bfb('0x2e')]+=_0x2db216['voiceQueues'][_0xa02d44]['sumHoldTime']||0x0;}}}}}}return _0x2db216[_0x0bfb('0x15')];};};Realtime[_0x0bfb('0x41')]['initVoiceCallReports']=function(){var _0xde88d8=this;return function(_0x557b93){clearVoiceCallReports(_0xde88d8['outbound']);if(_0x557b93){for(var _0x35db3d=0x0;_0x35db3d<_0x557b93[_0x0bfb('0x43')];_0x35db3d+=0x1){_0xde88d8[_0x0bfb('0x17')]['total']+=0x1;_0xde88d8[_0x0bfb('0x17')][_0x0bfb('0x2e')]+=_0x557b93[_0x35db3d][_0x0bfb('0x62')];if(_0x557b93[_0x35db3d]['disposition']===_0x0bfb('0x63')){_0xde88d8[_0x0bfb('0x17')]['answered']+=0x1;_0xde88d8[_0x0bfb('0x17')][_0x0bfb('0x2d')]+=_0x557b93[_0x35db3d][_0x0bfb('0x62')]-_0x557b93[_0x35db3d]['billableseconds']||0x0;_0xde88d8[_0x0bfb('0x17')][_0x0bfb('0x2f')]+=_0x557b93[_0x35db3d]['billableseconds'];}}}return _0xde88d8[_0x0bfb('0x17')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x64')]=function(){var _0x134f5b=this;return function(_0x20091e){if(_0x20091e){freeIsNotKey(_0x20091e,_0x134f5b[_0x0bfb('0x65')],_0x0bfb('0x26'));for(var _0x5057c0=0x0,_0x533132={};_0x5057c0<_0x20091e[_0x0bfb('0x43')];_0x5057c0+=0x1){_0x533132=_0x20091e[_0x5057c0];if(_['isUndefined'](_0x134f5b[_0x0bfb('0x65')][_0x533132['name']])){_0x134f5b[_0x0bfb('0x65')][_0x533132[_0x0bfb('0x26')]]=new Campaign(_0x533132);}else{_0x134f5b['mergeFromDatabase'](_0x134f5b[_0x0bfb('0x65')][_0x533132[_0x0bfb('0x26')]],_0x533132);}}}return _0x134f5b['campaigns'];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x66')]=function(){var _0x22dabf=this;return function(_0x2b7ee7){if(_0x2b7ee7){freeIsNotKey(_0x2b7ee7,_0x22dabf['voiceExtensions'],'id');for(var _0x541df7=0x0,_0x110f36={};_0x541df7<_0x2b7ee7[_0x0bfb('0x43')];_0x541df7+=0x1){_0x110f36=_0x2b7ee7[_0x541df7];if(_[_0x0bfb('0x44')](_0x22dabf[_0x0bfb('0x18')][_0x110f36['id']])){_0x22dabf[_0x0bfb('0x18')][_0x110f36['id']]=new VoiceExtension(_0x110f36);}else{_0x22dabf['mergeFromDatabase'](_0x22dabf[_0x0bfb('0x18')][_0x110f36['id']],_0x110f36);}}}return _0x22dabf[_0x0bfb('0x18')];};};Realtime[_0x0bfb('0x41')][_0x0bfb('0x67')]=function(){var _0x32b1db=this;return function(_0x46e73a){clearCampaigns(_0x32b1db[_0x0bfb('0x65')]);for(var _0x387a64=0x0;_0x387a64<_0x46e73a[_0x0bfb('0x43')];_0x387a64+=0x1){_[_0x0bfb('0x55')](_0x32b1db['campaigns'][_0x46e73a[_0x387a64][_0x0bfb('0x26')]],_0x46e73a[_0x387a64]);}return _0x32b1db[_0x0bfb('0x65')];};};Realtime[_0x0bfb('0x41')]['initFaxAccounts']=function(){var _0xac4aa8=this;return function(_0x54f493){if(_0x54f493){freeIsNotKey(_0x54f493,_0xac4aa8['faxAccounts'],'id');for(var _0x34c625=0x0,_0x5c77b8={},_0x1e94ac={};_0x34c625<_0x54f493[_0x0bfb('0x43')];_0x34c625+=0x1){_0x5c77b8=_0x54f493[_0x34c625];if(_[_0x0bfb('0x44')](_0xac4aa8[_0x0bfb('0x23')][_0x5c77b8['id']])){_0xac4aa8['faxAccounts'][_0x5c77b8['id']]=new FaxAccount(_0x5c77b8);}else{_0xac4aa8[_0x0bfb('0x42')](_0xac4aa8[_0x0bfb('0x23')][_0x5c77b8['id']],_0x5c77b8);}}}return _0xac4aa8[_0x0bfb('0x23')];};};module['exports']=Realtime;