Built motion from commit (unavailable).|2.4.14
[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 _0x7c6f=['queuecallerexitAt','diff','queuecallerjoinAt','seconds','queuecallerleaveAt','initVoiceCallReports','disposition','ANSWERED','duration','billableseconds','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','util','lodash','moment','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','agents','trunks','campaigns','templates','outbound','channels','queueChannels','timers','zendeskAccounts','salesforceAccounts','freshdeskAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','hasOwnProperty','mapKeys','format','name','interface','SIP/%s','total','answered','sumHoldTime','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','abandoned','sumDuration','sumBillable','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundUnknownCallsDay','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isNil','isUndefined','telephones','voiceQueues','triggers','initTemplates','initSalesforceAccounts','zohoAccounts','initDeskAccounts','sugarcrmAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','initVoiceQueueHopperHistory','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerabandon','queuecallercompleteAt'];(function(_0x371b0c,_0x3f1990){var _0x51e370=function(_0x1083bf){while(--_0x1083bf){_0x371b0c['push'](_0x371b0c['shift']());}};_0x51e370(++_0x3f1990);}(_0x7c6f,0x71));var _0xf7c6=function(_0x1d2813,_0x4e48c2){_0x1d2813=_0x1d2813-0x0;var _0x328def=_0x7c6f[_0x1d2813];return _0x328def;};'use strict';var BPromise=require(_0xf7c6('0x0'));var util=require(_0xf7c6('0x1'));var _=require(_0xf7c6('0x2'));var moment=require(_0xf7c6('0x3'));var Agent=require('../model/agent');var Telephone=require(_0xf7c6('0x4'));var Trunk=require(_0xf7c6('0x5'));var VoiceQueue=require(_0xf7c6('0x6'));var Trigger=require(_0xf7c6('0x7'));var Template=require(_0xf7c6('0x8'));var Campaign=require(_0xf7c6('0x9'));var VoiceExtension=require(_0xf7c6('0xa'));var ZendeskAccount=require(_0xf7c6('0xb'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0xf7c6('0xc'));var SugarcrmAccount=require(_0xf7c6('0xd'));var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0xf7c6('0xe'));var ServicenowAccount=require(_0xf7c6('0xf'));var Dynamics365Account=require(_0xf7c6('0x10'));var FreshsalesAccount=require(_0xf7c6('0x11'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0xf7c6('0x12')]={};this['telephones']={};this[_0xf7c6('0x13')]={};this['voiceQueues']={};this['triggers']={};this[_0xf7c6('0x14')]={};this[_0xf7c6('0x15')]={};this[_0xf7c6('0x16')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0xf7c6('0x17')]={};this[_0xf7c6('0x18')]={};this['outboundChannels']={};this[_0xf7c6('0x19')]={};this[_0xf7c6('0x1a')]={};this[_0xf7c6('0x1b')]={};this['sugarcrmAccounts']={};this[_0xf7c6('0x1c')]={};this['zohoAccounts']={};this[_0xf7c6('0x1d')]={};this[_0xf7c6('0x1e')]={};this[_0xf7c6('0x1f')]={};this[_0xf7c6('0x20')]={};this['freshsalesAccounts']={};this[_0xf7c6('0x21')]={};};function freeIsNotKey(_0x350949,_0x3f4537,_0x42960d){var _0x595c41=_['mapKeys'](_0x350949,function(_0x213369,_0x680242){return _0x213369[_0x42960d];});for(var _0x53d533 in _0x3f4537){if(_0x3f4537[_0xf7c6('0x22')](_0x53d533)){if(!_0x595c41[_0x53d533]){delete _0x3f4537[_0x53d533];}}}}function freeIsNotKeySip(_0x34c812,_0x29c8a1){var _0x46afa6=_[_0xf7c6('0x23')](_0x34c812,function(_0x2aebd1,_0x24bbce){return util[_0xf7c6('0x24')]('SIP/%s',_0x2aebd1[_0xf7c6('0x25')]);});for(var _0xe7672b in _0x29c8a1){if(_0x29c8a1[_0xf7c6('0x22')](_0xe7672b)){if(!_0x46afa6[_0xe7672b]){delete _0x29c8a1[_0xe7672b];}}}}function freeIsNotKeyAgent(_0x45de68,_0x50fc17){var _0x3b0d09=_[_0xf7c6('0x23')](_0x45de68,function(_0x5f204b,_0xeb428c){var _0x4481cc=_['isNil'](_0x5f204b[_0xf7c6('0x26')])?util[_0xf7c6('0x24')](_0xf7c6('0x27'),_0x5f204b[_0xf7c6('0x25')]):_0x5f204b['interface'];return _0x4481cc;});for(var _0x27856f in _0x50fc17){if(_0x50fc17[_0xf7c6('0x22')](_0x27856f)){if(!_0x3b0d09[_0x27856f]){delete _0x50fc17[_0x27856f];}}}}function clearVoiceCallReports(_0x53623b){_0x53623b[_0xf7c6('0x28')]=0x0;_0x53623b[_0xf7c6('0x29')]=0x0;_0x53623b[_0xf7c6('0x2a')]=0x0;_0x53623b['sumDuration']=0x0;_0x53623b['sumBillable']=0x0;}function clearCampaigns(_0x11b1ea){if(!_['isEmpty'](_0x11b1ea)){for(var _0x276d82 in _0x11b1ea){if(_0x11b1ea[_0xf7c6('0x22')](_0x276d82)){_0x11b1ea[_0x276d82][_0xf7c6('0x2b')]=0x0;_0x11b1ea[_0x276d82][_0xf7c6('0x2c')]=0x0;}}}}function clearVoiceQueues(_0x341137){if(!_['isEmpty'](_0x341137)){for(var _0xe7769d in _0x341137){if(_0x341137['hasOwnProperty'](_0xe7769d)){_0x341137[_0xe7769d][_0xf7c6('0x28')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x29')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x2d')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x2e')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x2a')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x2f')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x30')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x31')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x32')]=0x0;_0x341137[_0xe7769d]['outboundBusyCallsDay']=0x0;_0x341137[_0xe7769d]['outboundCongestionCallsDay']=0x0;_0x341137[_0xe7769d]['outboundNoSuchCallsDay']=0x0;_0x341137[_0xe7769d][_0xf7c6('0x33')]=0x0;_0x341137[_0xe7769d]['outboundDropCallsDayTimeout']=0x0;_0x341137[_0xe7769d]['outboundDropCallsDayCallersExit']=0x0;_0x341137[_0xe7769d][_0xf7c6('0x34')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x35')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x36')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x37')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x31')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x38')]=0x0;_0x341137[_0xe7769d][_0xf7c6('0x39')]=!![];}}}}Realtime[_0xf7c6('0x3a')][_0xf7c6('0x3b')]=function(_0x490cf4,_0x204851){for(var _0x22fee1 in _0x204851){if(_0x490cf4[_0xf7c6('0x22')](_0x22fee1)){_0x490cf4[_0x22fee1]=_0x204851[_0x22fee1];}}};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x3c')]=function(){var _0x3b6f05=this;return function(_0x39bdd5){if(_0x39bdd5){freeIsNotKeyAgent(_0x39bdd5,_0x3b6f05[_0xf7c6('0x12')]);for(var _0x4a9b9c=0x0,_0x7982bf={},_0x5ba9f1={};_0x4a9b9c<_0x39bdd5[_0xf7c6('0x3d')];_0x4a9b9c+=0x1){_0x7982bf=_0x39bdd5[_0x4a9b9c];var _0x556d25=_[_0xf7c6('0x3e')](_0x7982bf[_0xf7c6('0x26')])?util[_0xf7c6('0x24')](_0xf7c6('0x27'),_0x7982bf['name']):_0x7982bf[_0xf7c6('0x26')];if(_[_0xf7c6('0x3f')](_0x3b6f05[_0xf7c6('0x12')][_0x556d25])){_0x3b6f05[_0xf7c6('0x12')][_0x556d25]=new Agent(_0x7982bf);}else{_0x3b6f05[_0xf7c6('0x3b')](_0x3b6f05[_0xf7c6('0x12')][_0x556d25],_0x7982bf);}}}return _0x3b6f05['agents'];};};Realtime['prototype']['initTelephones']=function(){var _0x5b2bf0=this;return function(_0x14b4b3){if(_0x14b4b3){freeIsNotKeySip(_0x14b4b3,_0x5b2bf0[_0xf7c6('0x40')]);for(var _0x395b4e=0x0,_0x40b9fc={},_0x590948={};_0x395b4e<_0x14b4b3[_0xf7c6('0x3d')];_0x395b4e+=0x1){_0x40b9fc=_0x14b4b3[_0x395b4e];if(_['isUndefined'](_0x5b2bf0[_0xf7c6('0x40')][util[_0xf7c6('0x24')](_0xf7c6('0x27'),_0x40b9fc['name'])])){_0x5b2bf0[_0xf7c6('0x40')][util['format'](_0xf7c6('0x27'),_0x40b9fc[_0xf7c6('0x25')])]=new Telephone(_0x40b9fc);}else{_0x5b2bf0[_0xf7c6('0x3b')](_0x5b2bf0[_0xf7c6('0x40')][util[_0xf7c6('0x24')](_0xf7c6('0x27'),_0x40b9fc[_0xf7c6('0x25')])],_0x40b9fc);}}}return _0x5b2bf0[_0xf7c6('0x40')];};};Realtime[_0xf7c6('0x3a')]['initTrunks']=function(){var _0x17c6c7=this;return function(_0x1fede6){if(_0x1fede6){freeIsNotKeySip(_0x1fede6,_0x17c6c7[_0xf7c6('0x13')]);for(var _0x4df49b=0x0,_0x1b02fc={},_0x31030e={};_0x4df49b<_0x1fede6[_0xf7c6('0x3d')];_0x4df49b+=0x1){_0x1b02fc=_0x1fede6[_0x4df49b];if(_[_0xf7c6('0x3f')](_0x17c6c7[_0xf7c6('0x13')][util[_0xf7c6('0x24')](_0xf7c6('0x27'),_0x1b02fc[_0xf7c6('0x25')])])){_0x17c6c7[_0xf7c6('0x13')][util[_0xf7c6('0x24')](_0xf7c6('0x27'),_0x1b02fc[_0xf7c6('0x25')])]=new Trunk(_0x1b02fc);}else{_0x17c6c7[_0xf7c6('0x3b')](_0x17c6c7[_0xf7c6('0x13')][util[_0xf7c6('0x24')](_0xf7c6('0x27'),_0x1b02fc[_0xf7c6('0x25')])],_0x1b02fc);}}}return _0x17c6c7[_0xf7c6('0x13')];};};Realtime['prototype']['initVoiceQueues']=function(){var _0x51498e=this;return function(_0xd78c33){if(_0xd78c33){freeIsNotKey(_0xd78c33,_0x51498e['voiceQueues'],_0xf7c6('0x25'));for(var _0x45084e=0x0,_0x3f288a={},_0x4cd869={};_0x45084e<_0xd78c33[_0xf7c6('0x3d')];_0x45084e+=0x1){_0x3f288a=_0xd78c33[_0x45084e];if(_[_0xf7c6('0x3f')](_0x51498e[_0xf7c6('0x41')][_0x3f288a['name']])){_0x51498e['voiceQueues'][_0x3f288a[_0xf7c6('0x25')]]=new VoiceQueue(_0x3f288a);}else{_0x51498e[_0xf7c6('0x3b')](_0x51498e[_0xf7c6('0x41')][_0x3f288a[_0xf7c6('0x25')]],_0x3f288a);}}}return _0x51498e[_0xf7c6('0x41')];};};Realtime[_0xf7c6('0x3a')]['initTriggers']=function(){var _0x3d543c=this;return function(_0x3209c4){if(_0x3209c4){freeIsNotKey(_0x3209c4,_0x3d543c['triggers'],'id');for(var _0x3df1c4=0x0,_0x51ec0c={},_0x727dd2={};_0x3df1c4<_0x3209c4[_0xf7c6('0x3d')];_0x3df1c4+=0x1){_0x51ec0c=_0x3209c4[_0x3df1c4];if(_[_0xf7c6('0x3f')](_0x3d543c[_0xf7c6('0x42')][_0x51ec0c['id']])){_0x3d543c['triggers'][_0x51ec0c['id']]=new Trigger(_0x51ec0c);}else{_0x3d543c[_0xf7c6('0x3b')](_0x3d543c[_0xf7c6('0x42')][_0x51ec0c['id']],_0x51ec0c);}}}return _0x3d543c[_0xf7c6('0x42')];};};Realtime['prototype'][_0xf7c6('0x43')]=function(){var _0x5194a1=this;return function(_0x2b85b8){if(_0x2b85b8){freeIsNotKey(_0x2b85b8,_0x5194a1[_0xf7c6('0x15')],'id');for(var _0x484c78=0x0,_0x29ecd2={},_0x3afd15={};_0x484c78<_0x2b85b8[_0xf7c6('0x3d')];_0x484c78+=0x1){_0x29ecd2=_0x2b85b8[_0x484c78];if(_['isUndefined'](_0x5194a1['templates'][_0x29ecd2['id']])){_0x5194a1['templates'][_0x29ecd2['id']]=new Template(_0x29ecd2);}else{_0x5194a1[_0xf7c6('0x3b')](_0x5194a1[_0xf7c6('0x15')][_0x29ecd2['id']],_0x29ecd2);}}}return _0x5194a1[_0xf7c6('0x15')];};};Realtime[_0xf7c6('0x3a')]['initZendeskAccounts']=function(){var _0x51bc26=this;return function(_0xb4bc00){if(_0xb4bc00){freeIsNotKey(_0xb4bc00,_0x51bc26['zendeskAccounts'],'id');for(var _0x54cbf6=0x0,_0x498790={},_0x5d0914={};_0x54cbf6<_0xb4bc00['length'];_0x54cbf6+=0x1){_0x498790=_0xb4bc00[_0x54cbf6];if(_['isUndefined'](_0x51bc26[_0xf7c6('0x1a')][_0x498790['id']])){_0x51bc26['zendeskAccounts'][_0x498790['id']]=new ZendeskAccount(_0x498790);}else{_0x51bc26[_0xf7c6('0x3b')](_0x51bc26['zendeskAccounts'][_0x498790['id']],_0x498790);}}}return _0x51bc26[_0xf7c6('0x1a')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x44')]=function(){var _0x38ba13=this;return function(_0x1bce1b){if(_0x1bce1b){freeIsNotKey(_0x1bce1b,_0x38ba13['salesforceAccounts'],'id');for(var _0x5a3cfa=0x0,_0x2de152={},_0x24beb8={};_0x5a3cfa<_0x1bce1b[_0xf7c6('0x3d')];_0x5a3cfa+=0x1){_0x2de152=_0x1bce1b[_0x5a3cfa];if(_['isUndefined'](_0x38ba13[_0xf7c6('0x1b')][_0x2de152['id']])){_0x38ba13[_0xf7c6('0x1b')][_0x2de152['id']]=new SalesforceAccount(_0x2de152);}else{_0x38ba13[_0xf7c6('0x3b')](_0x38ba13['salesforceAccounts'][_0x2de152['id']],_0x2de152);}}}return _0x38ba13[_0xf7c6('0x1b')];};};Realtime[_0xf7c6('0x3a')]['initFreshdeskAccounts']=function(){var _0x2575a2=this;return function(_0x3d805b){if(_0x3d805b){freeIsNotKey(_0x3d805b,_0x2575a2[_0xf7c6('0x1c')],'id');for(var _0x45a051=0x0,_0x43d745={},_0x1d9ad3={};_0x45a051<_0x3d805b[_0xf7c6('0x3d')];_0x45a051+=0x1){_0x43d745=_0x3d805b[_0x45a051];if(_[_0xf7c6('0x3f')](_0x2575a2[_0xf7c6('0x1c')][_0x43d745['id']])){_0x2575a2[_0xf7c6('0x1c')][_0x43d745['id']]=new FreshdeskAccount(_0x43d745);}else{_0x2575a2[_0xf7c6('0x3b')](_0x2575a2[_0xf7c6('0x1c')][_0x43d745['id']],_0x43d745);}}}return _0x2575a2[_0xf7c6('0x1c')];};};Realtime[_0xf7c6('0x3a')]['initZohoAccounts']=function(){var _0x3f1381=this;return function(_0x28f6fe){if(_0x28f6fe){freeIsNotKey(_0x28f6fe,_0x3f1381[_0xf7c6('0x45')],'id');for(var _0x199d67=0x0,_0x47049a={},_0x75dd52={};_0x199d67<_0x28f6fe[_0xf7c6('0x3d')];_0x199d67+=0x1){_0x47049a=_0x28f6fe[_0x199d67];if(_[_0xf7c6('0x3f')](_0x3f1381[_0xf7c6('0x45')][_0x47049a['id']])){_0x3f1381[_0xf7c6('0x45')][_0x47049a['id']]=new ZohoAccount(_0x47049a);}else{_0x3f1381['mergeFromDatabase'](_0x3f1381[_0xf7c6('0x45')][_0x47049a['id']],_0x47049a);}}}return _0x3f1381[_0xf7c6('0x45')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x46')]=function(){var _0x58a923=this;return function(_0x541c1d){if(_0x541c1d){freeIsNotKey(_0x541c1d,_0x58a923['deskAccounts'],'id');for(var _0x173cc7=0x0,_0x35bf67={},_0x527ef1={};_0x173cc7<_0x541c1d[_0xf7c6('0x3d')];_0x173cc7+=0x1){_0x35bf67=_0x541c1d[_0x173cc7];if(_[_0xf7c6('0x3f')](_0x58a923['deskAccounts'][_0x35bf67['id']])){_0x58a923[_0xf7c6('0x1d')][_0x35bf67['id']]=new DeskAccount(_0x35bf67);}else{_0x58a923[_0xf7c6('0x3b')](_0x58a923['deskAccounts'][_0x35bf67['id']],_0x35bf67);}}}return _0x58a923[_0xf7c6('0x1d')];};};Realtime[_0xf7c6('0x3a')]['initSugarcrmAccounts']=function(){var _0x35b78d=this;return function(_0x141305){if(_0x141305){freeIsNotKey(_0x141305,_0x35b78d['sugarcrmAccounts'],'id');for(var _0x28016e=0x0,_0x399bc3={},_0x5c6345={};_0x28016e<_0x141305[_0xf7c6('0x3d')];_0x28016e+=0x1){_0x399bc3=_0x141305[_0x28016e];if(_[_0xf7c6('0x3f')](_0x35b78d[_0xf7c6('0x47')][_0x399bc3['id']])){_0x35b78d[_0xf7c6('0x47')][_0x399bc3['id']]=new SugarcrmAccount(_0x399bc3);}else{_0x35b78d[_0xf7c6('0x3b')](_0x35b78d[_0xf7c6('0x47')][_0x399bc3['id']],_0x399bc3);}}}return _0x35b78d[_0xf7c6('0x47')];};};Realtime[_0xf7c6('0x3a')]['initVtigerAccounts']=function(){var _0x5ac2cb=this;return function(_0x6d1b22){if(_0x6d1b22){freeIsNotKey(_0x6d1b22,_0x5ac2cb[_0xf7c6('0x1e')],'id');for(var _0x28da54=0x0,_0x52b2a6={},_0x3bd622={};_0x28da54<_0x6d1b22[_0xf7c6('0x3d')];_0x28da54+=0x1){_0x52b2a6=_0x6d1b22[_0x28da54];if(_[_0xf7c6('0x3f')](_0x5ac2cb[_0xf7c6('0x1e')][_0x52b2a6['id']])){_0x5ac2cb[_0xf7c6('0x1e')][_0x52b2a6['id']]=new VtigerAccount(_0x52b2a6);}else{_0x5ac2cb[_0xf7c6('0x3b')](_0x5ac2cb[_0xf7c6('0x1e')][_0x52b2a6['id']],_0x52b2a6);}}}return _0x5ac2cb[_0xf7c6('0x1e')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x48')]=function(){var _0x195cc8=this;return function(_0x18b40e){if(_0x18b40e){freeIsNotKey(_0x18b40e,_0x195cc8[_0xf7c6('0x1f')],'id');for(var _0x55d7f4=0x0,_0x489455={},_0x9b7164={};_0x55d7f4<_0x18b40e[_0xf7c6('0x3d')];_0x55d7f4+=0x1){_0x489455=_0x18b40e[_0x55d7f4];if(_['isUndefined'](_0x195cc8[_0xf7c6('0x1f')][_0x489455['id']])){_0x195cc8['servicenowAccounts'][_0x489455['id']]=new ServicenowAccount(_0x489455);}else{_0x195cc8['mergeFromDatabase'](_0x195cc8[_0xf7c6('0x1f')][_0x489455['id']],_0x489455);}}}return _0x195cc8[_0xf7c6('0x1f')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x49')]=function(){var _0x2bd21f=this;return function(_0x947387){if(_0x947387){freeIsNotKey(_0x947387,_0x2bd21f[_0xf7c6('0x20')],'id');for(var _0x815b6f=0x0,_0x5b8b24={},_0x20ba20={};_0x815b6f<_0x947387[_0xf7c6('0x3d')];_0x815b6f+=0x1){_0x5b8b24=_0x947387[_0x815b6f];if(_[_0xf7c6('0x3f')](_0x2bd21f[_0xf7c6('0x20')][_0x5b8b24['id']])){_0x2bd21f[_0xf7c6('0x20')][_0x5b8b24['id']]=new Dynamics365Account(_0x5b8b24);}else{_0x2bd21f['mergeFromDatabase'](_0x2bd21f[_0xf7c6('0x20')][_0x5b8b24['id']],_0x5b8b24);}}}return _0x2bd21f[_0xf7c6('0x20')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x4a')]=function(){var _0xeae286=this;return function(_0x574416){if(_0x574416){freeIsNotKey(_0x574416,_0xeae286[_0xf7c6('0x4b')],'id');for(var _0x30096b=0x0,_0x28a547={},_0x5734ba={};_0x30096b<_0x574416['length'];_0x30096b+=0x1){_0x28a547=_0x574416[_0x30096b];if(_[_0xf7c6('0x3f')](_0xeae286[_0xf7c6('0x4b')][_0x28a547['id']])){_0xeae286[_0xf7c6('0x4b')][_0x28a547['id']]=new FreshsalesAccount(_0x28a547);}else{_0xeae286[_0xf7c6('0x3b')](_0xeae286['freshsalesAccounts'][_0x28a547['id']],_0x28a547);}}}return _0xeae286[_0xf7c6('0x4b')];};};Realtime['prototype'][_0xf7c6('0x4c')]=function(){var _0x2bf702=this;return function(_0x58cb7e){for(var _0x5df215=0x0;_0x5df215<_0x58cb7e[_0xf7c6('0x3d')];_0x5df215+=0x1){_['merge'](_0x2bf702[_0xf7c6('0x41')][_0x58cb7e[_0x5df215][_0xf7c6('0x25')]],_0x58cb7e[_0x5df215]);}return _0x2bf702[_0xf7c6('0x41')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x4d')]=function(){var _0x4be9c7=this;return function(_0x3c582b){clearVoiceQueues(_0x4be9c7['voiceQueues']);if(_0x3c582b){_0x3c582b=_[_0xf7c6('0x4e')](_0x3c582b,_0xf7c6('0x4f'));for(var _0x3964e8 in _0x3c582b){if(_0x3c582b[_0xf7c6('0x22')](_0x3964e8)){var _0x492518={};for(var _0x4fce47=0x0;_0x4fce47<_0x3c582b[_0x3964e8][_0xf7c6('0x3d')];_0x4fce47+=0x1){var _0x3aaa75=_0x3c582b[_0x3964e8][_0x4fce47][_0xf7c6('0x50')];if(_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75]){if(_0x3c582b[_0x3964e8][_0x4fce47]['queuecallerexit']){_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75][_0xf7c6('0x2d')]+=0x1;}if(_0x3c582b[_0x3964e8][_0x4fce47][_0xf7c6('0x51')]){_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75][_0xf7c6('0x2e')]+=0x1;}_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75][_0xf7c6('0x2a')]+=moment(_0x3c582b[_0x3964e8][_0x4fce47]['queuecallerleaveAt'])['diff'](moment(_0x3c582b[_0x3964e8][_0x4fce47]['queuecallerjoinAt']),'seconds')||0x0;if(_0x4fce47===_0x3c582b[_0x3964e8][_0xf7c6('0x3d')]-0x1){_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75][_0xf7c6('0x2f')]+=moment(_0x3c582b[_0x3964e8][_0x4fce47][_0xf7c6('0x52')]||_0x3c582b[_0x3964e8][_0x4fce47]['queuecallerabandonAt']||_0x3c582b[_0x3964e8][_0x4fce47][_0xf7c6('0x53')])[_0xf7c6('0x54')](moment(_0x3c582b[_0x3964e8][_0x4fce47][_0xf7c6('0x55')]),_0xf7c6('0x56'))||0x0;_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75][_0xf7c6('0x28')]+=0x1;if(_0x3c582b[_0x3964e8][_0x4fce47]['queuecallercomplete']){_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75][_0xf7c6('0x29')]+=0x1;_0x4be9c7['voiceQueues'][_0x3aaa75]['sumBillable']+=moment(_0x3c582b[_0x3964e8][_0x4fce47][_0xf7c6('0x52')])[_0xf7c6('0x54')](moment(_0x3c582b[_0x3964e8][_0x4fce47][_0xf7c6('0x57')]),_0xf7c6('0x56'))||0x0;}}else{_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75][_0xf7c6('0x2f')]+=_0x4be9c7[_0xf7c6('0x41')][_0x3aaa75]['sumHoldTime']||0x0;}}}}}}return _0x4be9c7[_0xf7c6('0x41')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x58')]=function(){var _0x568548=this;return function(_0x215875){clearVoiceCallReports(_0x568548[_0xf7c6('0x16')]);if(_0x215875){for(var _0xe8b99a=0x0;_0xe8b99a<_0x215875['length'];_0xe8b99a+=0x1){_0x568548[_0xf7c6('0x16')][_0xf7c6('0x28')]+=0x1;_0x568548['outbound'][_0xf7c6('0x2f')]+=_0x215875[_0xe8b99a]['duration'];if(_0x215875[_0xe8b99a][_0xf7c6('0x59')]===_0xf7c6('0x5a')){_0x568548['outbound'][_0xf7c6('0x29')]+=0x1;_0x568548[_0xf7c6('0x16')][_0xf7c6('0x2a')]+=_0x215875[_0xe8b99a][_0xf7c6('0x5b')]-_0x215875[_0xe8b99a][_0xf7c6('0x5c')]||0x0;_0x568548['outbound']['sumBillable']+=_0x215875[_0xe8b99a]['billableseconds'];}}}return _0x568548['outbound'];};};Realtime[_0xf7c6('0x3a')]['initCampaigns']=function(){var _0x1f505b=this;return function(_0x5cf8c0){if(_0x5cf8c0){freeIsNotKey(_0x5cf8c0,_0x1f505b[_0xf7c6('0x14')],'name');for(var _0x3b79f0=0x0,_0x181441={};_0x3b79f0<_0x5cf8c0[_0xf7c6('0x3d')];_0x3b79f0+=0x1){_0x181441=_0x5cf8c0[_0x3b79f0];if(_[_0xf7c6('0x3f')](_0x1f505b[_0xf7c6('0x14')][_0x181441[_0xf7c6('0x25')]])){_0x1f505b['campaigns'][_0x181441['name']]=new Campaign(_0x181441);}else{_0x1f505b[_0xf7c6('0x3b')](_0x1f505b['campaigns'][_0x181441['name']],_0x181441);}}}return _0x1f505b[_0xf7c6('0x14')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x5d')]=function(){var _0x3bd2d3=this;return function(_0xf1d456){if(_0xf1d456){freeIsNotKey(_0xf1d456,_0x3bd2d3[_0xf7c6('0x5e')],'id');for(var _0xb7cbfb=0x0,_0x160457={};_0xb7cbfb<_0xf1d456[_0xf7c6('0x3d')];_0xb7cbfb+=0x1){_0x160457=_0xf1d456[_0xb7cbfb];if(_[_0xf7c6('0x3f')](_0x3bd2d3[_0xf7c6('0x5e')][_0x160457['id']])){_0x3bd2d3[_0xf7c6('0x5e')][_0x160457['id']]=new VoiceExtension(_0x160457);}else{_0x3bd2d3['mergeFromDatabase'](_0x3bd2d3[_0xf7c6('0x5e')][_0x160457['id']],_0x160457);}}}return _0x3bd2d3[_0xf7c6('0x5e')];};};Realtime[_0xf7c6('0x3a')][_0xf7c6('0x5f')]=function(){var _0x4cbb7f=this;return function(_0x4c1446){clearCampaigns(_0x4cbb7f[_0xf7c6('0x14')]);for(var _0x4a3e27=0x0;_0x4a3e27<_0x4c1446[_0xf7c6('0x3d')];_0x4a3e27+=0x1){_['merge'](_0x4cbb7f['campaigns'][_0x4c1446[_0x4a3e27]['name']],_0x4c1446[_0x4a3e27]);}return _0x4cbb7f[_0xf7c6('0x14')];};};Realtime['prototype'][_0xf7c6('0x60')]=function(){var _0x2bcc04=this;return function(_0x3312f5){if(_0x3312f5){freeIsNotKey(_0x3312f5,_0x2bcc04[_0xf7c6('0x21')],'id');for(var _0x59b437=0x0,_0x2509cc={},_0x55df8f={};_0x59b437<_0x3312f5[_0xf7c6('0x3d')];_0x59b437+=0x1){_0x2509cc=_0x3312f5[_0x59b437];if(_['isUndefined'](_0x2bcc04[_0xf7c6('0x21')][_0x2509cc['id']])){_0x2bcc04[_0xf7c6('0x21')][_0x2509cc['id']]=new FaxAccount(_0x2509cc);}else{_0x2bcc04['mergeFromDatabase'](_0x2bcc04[_0xf7c6('0x21')][_0x2509cc['id']],_0x2509cc);}}}return _0x2bcc04[_0xf7c6('0x21')];};};module[_0xf7c6('0x61')]=Realtime;