ba15b1769c648c9cdc2411b9917ff4131b27e3bd
[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 _0xd898=['outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','interface','isUndefined','initTrunks','initVoiceQueues','initTriggers','initTemplates','initSalesforceAccounts','zohoAccounts','initDeskAccounts','deskAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallercomplete','initVoiceCallReports','duration','ANSWERED','billableseconds','initCampaigns','SquareProject','initVoiceExtensions','exports','bluebird','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/faxAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','queueChannels','outboundChannels','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay'];(function(_0x2b1d5f,_0x3543fd){var _0x273228=function(_0x1d6f22){while(--_0x1d6f22){_0x2b1d5f['push'](_0x2b1d5f['shift']());}};_0x273228(++_0x3543fd);}(_0xd898,0x91));var _0x8d89=function(_0x17eb40,_0x22dace){_0x17eb40=_0x17eb40-0x0;var _0x4b1add=_0xd898[_0x17eb40];return _0x4b1add;};'use strict';var BPromise=require(_0x8d89('0x0'));var util=require('util');var _=require(_0x8d89('0x1'));var moment=require(_0x8d89('0x2'));var Agent=require(_0x8d89('0x3'));var Telephone=require(_0x8d89('0x4'));var Trunk=require(_0x8d89('0x5'));var VoiceQueue=require(_0x8d89('0x6'));var Trigger=require(_0x8d89('0x7'));var Template=require('../model/template');var Campaign=require(_0x8d89('0x8'));var VoiceExtension=require(_0x8d89('0x9'));var ZendeskAccount=require(_0x8d89('0xa'));var SalesforceAccount=require(_0x8d89('0xb'));var FreshdeskAccount=require(_0x8d89('0xc'));var SugarcrmAccount=require(_0x8d89('0xd'));var ZohoAccount=require(_0x8d89('0xe'));var DeskAccount=require(_0x8d89('0xf'));var VtigerAccount=require(_0x8d89('0x10'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x8d89('0x11'));var Realtime=function(){this[_0x8d89('0x12')]={};this[_0x8d89('0x13')]={};this[_0x8d89('0x14')]={};this[_0x8d89('0x15')]={};this[_0x8d89('0x16')]={};this[_0x8d89('0x17')]={};this[_0x8d89('0x18')]={};this[_0x8d89('0x19')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x8d89('0x1a')]={};this['channels']={};this[_0x8d89('0x1b')]={};this[_0x8d89('0x1c')]={};this[_0x8d89('0x1d')]={};this[_0x8d89('0x1e')]={};this[_0x8d89('0x1f')]={};this[_0x8d89('0x20')]={};this[_0x8d89('0x21')]={};this['zohoAccounts']={};this['deskAccounts']={};this[_0x8d89('0x22')]={};this[_0x8d89('0x23')]={};this[_0x8d89('0x24')]={};this['freshsalesAccounts']={};this[_0x8d89('0x25')]={};};function freeIsNotKey(_0x812e90,_0x943316,_0x1c56ae){var _0x45764e=_[_0x8d89('0x26')](_0x812e90,function(_0x218967,_0x99e3f6){return _0x218967[_0x1c56ae];});for(var _0x4a68e7 in _0x943316){if(_0x943316[_0x8d89('0x27')](_0x4a68e7)){if(!_0x45764e[_0x4a68e7]){delete _0x943316[_0x4a68e7];}}}}function freeIsNotKeySip(_0x9ef9b5,_0x2b2d7e){var _0x30ecf2=_['mapKeys'](_0x9ef9b5,function(_0x1ee701,_0x3e594a){return util[_0x8d89('0x28')](_0x8d89('0x29'),_0x1ee701[_0x8d89('0x2a')]);});for(var _0x43c1cc in _0x2b2d7e){if(_0x2b2d7e[_0x8d89('0x27')](_0x43c1cc)){if(!_0x30ecf2[_0x43c1cc]){delete _0x2b2d7e[_0x43c1cc];}}}}function freeIsNotKeyAgent(_0x209a1c,_0x31115d){var _0xc6a87e=_[_0x8d89('0x26')](_0x209a1c,function(_0x139b3c,_0x3e98d3){var _0x2551e2=_[_0x8d89('0x2b')](_0x139b3c['interface'])?util[_0x8d89('0x28')](_0x8d89('0x29'),_0x139b3c[_0x8d89('0x2a')]):_0x139b3c['interface'];return _0x2551e2;});for(var _0x165385 in _0x31115d){if(_0x31115d[_0x8d89('0x27')](_0x165385)){if(!_0xc6a87e[_0x165385]){delete _0x31115d[_0x165385];}}}}function clearVoiceCallReports(_0x5cdb9b){_0x5cdb9b[_0x8d89('0x2c')]=0x0;_0x5cdb9b[_0x8d89('0x2d')]=0x0;_0x5cdb9b[_0x8d89('0x2e')]=0x0;_0x5cdb9b[_0x8d89('0x2f')]=0x0;_0x5cdb9b[_0x8d89('0x30')]=0x0;}function clearCampaigns(_0x5e794b){if(!_[_0x8d89('0x31')](_0x5e794b)){for(var _0x476dbd in _0x5e794b){if(_0x5e794b[_0x8d89('0x27')](_0x476dbd)){_0x5e794b[_0x476dbd][_0x8d89('0x32')]=0x0;_0x5e794b[_0x476dbd][_0x8d89('0x33')]=0x0;}}}}function clearVoiceQueues(_0x2f5b0b){if(!_[_0x8d89('0x31')](_0x2f5b0b)){for(var _0x1e5d45 in _0x2f5b0b){if(_0x2f5b0b[_0x8d89('0x27')](_0x1e5d45)){_0x2f5b0b[_0x1e5d45][_0x8d89('0x2c')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x2d')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x34')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x35')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x2e')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x2f')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x30')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x36')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x37')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x38')]=0x0;_0x2f5b0b[_0x1e5d45]['outboundCongestionCallsDay']=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x39')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x3a')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x3b')]=0x0;_0x2f5b0b[_0x1e5d45]['outboundDropCallsDayCallersExit']=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x3c')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x3d')]=0x0;_0x2f5b0b[_0x1e5d45]['outboundRejectCallsDay']=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x3e')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x36')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x3f')]=0x0;_0x2f5b0b[_0x1e5d45][_0x8d89('0x40')]=!![];}}}}Realtime[_0x8d89('0x41')][_0x8d89('0x42')]=function(_0x18fc59,_0x40b08b){for(var _0x99b13 in _0x40b08b){if(_0x18fc59[_0x8d89('0x27')](_0x99b13)){_0x18fc59[_0x99b13]=_0x40b08b[_0x99b13];}}};Realtime[_0x8d89('0x41')][_0x8d89('0x43')]=function(){var _0x5f328f=this;return function(_0x2b0d75){if(_0x2b0d75){freeIsNotKeyAgent(_0x2b0d75,_0x5f328f[_0x8d89('0x12')]);for(var _0xc01a6c=0x0,_0x5e34b0={},_0x323d81={};_0xc01a6c<_0x2b0d75[_0x8d89('0x44')];_0xc01a6c+=0x1){_0x5e34b0=_0x2b0d75[_0xc01a6c];var _0x5d94be=_[_0x8d89('0x2b')](_0x5e34b0[_0x8d89('0x45')])?util[_0x8d89('0x28')](_0x8d89('0x29'),_0x5e34b0[_0x8d89('0x2a')]):_0x5e34b0[_0x8d89('0x45')];if(_[_0x8d89('0x46')](_0x5f328f[_0x8d89('0x12')][_0x5d94be])){_0x5f328f[_0x8d89('0x12')][_0x5d94be]=new Agent(_0x5e34b0);}else{_0x5f328f['mergeFromDatabase'](_0x5f328f[_0x8d89('0x12')][_0x5d94be],_0x5e34b0);}}}return _0x5f328f[_0x8d89('0x12')];};};Realtime[_0x8d89('0x41')]['initTelephones']=function(){var _0x1d0802=this;return function(_0xc2f7f5){if(_0xc2f7f5){freeIsNotKeySip(_0xc2f7f5,_0x1d0802[_0x8d89('0x13')]);for(var _0x29fa8a=0x0,_0x3635eb={},_0x4ecce5={};_0x29fa8a<_0xc2f7f5[_0x8d89('0x44')];_0x29fa8a+=0x1){_0x3635eb=_0xc2f7f5[_0x29fa8a];if(_[_0x8d89('0x46')](_0x1d0802['telephones'][util['format']('SIP/%s',_0x3635eb['name'])])){_0x1d0802['telephones'][util['format']('SIP/%s',_0x3635eb[_0x8d89('0x2a')])]=new Telephone(_0x3635eb);}else{_0x1d0802[_0x8d89('0x42')](_0x1d0802['telephones'][util[_0x8d89('0x28')](_0x8d89('0x29'),_0x3635eb[_0x8d89('0x2a')])],_0x3635eb);}}}return _0x1d0802[_0x8d89('0x13')];};};Realtime['prototype'][_0x8d89('0x47')]=function(){var _0x3f76a5=this;return function(_0x9485e){if(_0x9485e){freeIsNotKeySip(_0x9485e,_0x3f76a5[_0x8d89('0x14')]);for(var _0x4af92d=0x0,_0x306639={},_0x12819b={};_0x4af92d<_0x9485e['length'];_0x4af92d+=0x1){_0x306639=_0x9485e[_0x4af92d];if(_[_0x8d89('0x46')](_0x3f76a5[_0x8d89('0x14')][util[_0x8d89('0x28')](_0x8d89('0x29'),_0x306639['name'])])){_0x3f76a5[_0x8d89('0x14')][util[_0x8d89('0x28')](_0x8d89('0x29'),_0x306639['name'])]=new Trunk(_0x306639);}else{_0x3f76a5[_0x8d89('0x42')](_0x3f76a5[_0x8d89('0x14')][util[_0x8d89('0x28')](_0x8d89('0x29'),_0x306639[_0x8d89('0x2a')])],_0x306639);}}}return _0x3f76a5[_0x8d89('0x14')];};};Realtime[_0x8d89('0x41')][_0x8d89('0x48')]=function(){var _0x319b5f=this;return function(_0x2efee7){if(_0x2efee7){freeIsNotKey(_0x2efee7,_0x319b5f[_0x8d89('0x15')],'name');for(var _0x3915c9=0x0,_0x492be5={},_0x1abdd0={};_0x3915c9<_0x2efee7['length'];_0x3915c9+=0x1){_0x492be5=_0x2efee7[_0x3915c9];if(_[_0x8d89('0x46')](_0x319b5f[_0x8d89('0x15')][_0x492be5['name']])){_0x319b5f[_0x8d89('0x15')][_0x492be5[_0x8d89('0x2a')]]=new VoiceQueue(_0x492be5);}else{_0x319b5f[_0x8d89('0x42')](_0x319b5f[_0x8d89('0x15')][_0x492be5[_0x8d89('0x2a')]],_0x492be5);}}}return _0x319b5f['voiceQueues'];};};Realtime[_0x8d89('0x41')][_0x8d89('0x49')]=function(){var _0x59d93d=this;return function(_0x3e199b){if(_0x3e199b){freeIsNotKey(_0x3e199b,_0x59d93d[_0x8d89('0x16')],'id');for(var _0x3cace4=0x0,_0x50f5a5={},_0x599d76={};_0x3cace4<_0x3e199b['length'];_0x3cace4+=0x1){_0x50f5a5=_0x3e199b[_0x3cace4];if(_['isUndefined'](_0x59d93d[_0x8d89('0x16')][_0x50f5a5['id']])){_0x59d93d['triggers'][_0x50f5a5['id']]=new Trigger(_0x50f5a5);}else{_0x59d93d[_0x8d89('0x42')](_0x59d93d[_0x8d89('0x16')][_0x50f5a5['id']],_0x50f5a5);}}}return _0x59d93d['triggers'];};};Realtime[_0x8d89('0x41')][_0x8d89('0x4a')]=function(){var _0x52306c=this;return function(_0x52e97c){if(_0x52e97c){freeIsNotKey(_0x52e97c,_0x52306c[_0x8d89('0x18')],'id');for(var _0xa58a6b=0x0,_0x4400cf={},_0x423e9e={};_0xa58a6b<_0x52e97c['length'];_0xa58a6b+=0x1){_0x4400cf=_0x52e97c[_0xa58a6b];if(_['isUndefined'](_0x52306c['templates'][_0x4400cf['id']])){_0x52306c[_0x8d89('0x18')][_0x4400cf['id']]=new Template(_0x4400cf);}else{_0x52306c['mergeFromDatabase'](_0x52306c[_0x8d89('0x18')][_0x4400cf['id']],_0x4400cf);}}}return _0x52306c[_0x8d89('0x18')];};};Realtime[_0x8d89('0x41')]['initZendeskAccounts']=function(){var _0x356cd9=this;return function(_0x4cb030){if(_0x4cb030){freeIsNotKey(_0x4cb030,_0x356cd9[_0x8d89('0x1e')],'id');for(var _0x19e302=0x0,_0x5a0d00={},_0xf41031={};_0x19e302<_0x4cb030[_0x8d89('0x44')];_0x19e302+=0x1){_0x5a0d00=_0x4cb030[_0x19e302];if(_[_0x8d89('0x46')](_0x356cd9['zendeskAccounts'][_0x5a0d00['id']])){_0x356cd9[_0x8d89('0x1e')][_0x5a0d00['id']]=new ZendeskAccount(_0x5a0d00);}else{_0x356cd9['mergeFromDatabase'](_0x356cd9[_0x8d89('0x1e')][_0x5a0d00['id']],_0x5a0d00);}}}return _0x356cd9['zendeskAccounts'];};};Realtime[_0x8d89('0x41')][_0x8d89('0x4b')]=function(){var _0x265367=this;return function(_0x28c4d5){if(_0x28c4d5){freeIsNotKey(_0x28c4d5,_0x265367[_0x8d89('0x1f')],'id');for(var _0x5d2d5f=0x0,_0x8d1458={},_0x20adee={};_0x5d2d5f<_0x28c4d5[_0x8d89('0x44')];_0x5d2d5f+=0x1){_0x8d1458=_0x28c4d5[_0x5d2d5f];if(_[_0x8d89('0x46')](_0x265367[_0x8d89('0x1f')][_0x8d1458['id']])){_0x265367['salesforceAccounts'][_0x8d1458['id']]=new SalesforceAccount(_0x8d1458);}else{_0x265367[_0x8d89('0x42')](_0x265367[_0x8d89('0x1f')][_0x8d1458['id']],_0x8d1458);}}}return _0x265367[_0x8d89('0x1f')];};};Realtime['prototype']['initFreshdeskAccounts']=function(){var _0x5dc634=this;return function(_0xef43df){if(_0xef43df){freeIsNotKey(_0xef43df,_0x5dc634[_0x8d89('0x21')],'id');for(var _0x3abaf8=0x0,_0x4f847c={},_0x14aed1={};_0x3abaf8<_0xef43df['length'];_0x3abaf8+=0x1){_0x4f847c=_0xef43df[_0x3abaf8];if(_[_0x8d89('0x46')](_0x5dc634[_0x8d89('0x21')][_0x4f847c['id']])){_0x5dc634[_0x8d89('0x21')][_0x4f847c['id']]=new FreshdeskAccount(_0x4f847c);}else{_0x5dc634['mergeFromDatabase'](_0x5dc634[_0x8d89('0x21')][_0x4f847c['id']],_0x4f847c);}}}return _0x5dc634[_0x8d89('0x21')];};};Realtime[_0x8d89('0x41')]['initZohoAccounts']=function(){var _0x48d0a3=this;return function(_0x32c9c9){if(_0x32c9c9){freeIsNotKey(_0x32c9c9,_0x48d0a3[_0x8d89('0x4c')],'id');for(var _0x2f6981=0x0,_0x379a4e={},_0x3e566c={};_0x2f6981<_0x32c9c9[_0x8d89('0x44')];_0x2f6981+=0x1){_0x379a4e=_0x32c9c9[_0x2f6981];if(_[_0x8d89('0x46')](_0x48d0a3['zohoAccounts'][_0x379a4e['id']])){_0x48d0a3[_0x8d89('0x4c')][_0x379a4e['id']]=new ZohoAccount(_0x379a4e);}else{_0x48d0a3[_0x8d89('0x42')](_0x48d0a3[_0x8d89('0x4c')][_0x379a4e['id']],_0x379a4e);}}}return _0x48d0a3[_0x8d89('0x4c')];};};Realtime[_0x8d89('0x41')][_0x8d89('0x4d')]=function(){var _0x56e6b3=this;return function(_0x3d917c){if(_0x3d917c){freeIsNotKey(_0x3d917c,_0x56e6b3[_0x8d89('0x4e')],'id');for(var _0x10a744=0x0,_0x332159={},_0x54f987={};_0x10a744<_0x3d917c[_0x8d89('0x44')];_0x10a744+=0x1){_0x332159=_0x3d917c[_0x10a744];if(_[_0x8d89('0x46')](_0x56e6b3[_0x8d89('0x4e')][_0x332159['id']])){_0x56e6b3['deskAccounts'][_0x332159['id']]=new DeskAccount(_0x332159);}else{_0x56e6b3['mergeFromDatabase'](_0x56e6b3[_0x8d89('0x4e')][_0x332159['id']],_0x332159);}}}return _0x56e6b3[_0x8d89('0x4e')];};};Realtime[_0x8d89('0x41')]['initSugarcrmAccounts']=function(){var _0x402b62=this;return function(_0x3cdb6b){if(_0x3cdb6b){freeIsNotKey(_0x3cdb6b,_0x402b62[_0x8d89('0x20')],'id');for(var _0x428ba0=0x0,_0x5d6bc6={},_0x111ec7={};_0x428ba0<_0x3cdb6b[_0x8d89('0x44')];_0x428ba0+=0x1){_0x5d6bc6=_0x3cdb6b[_0x428ba0];if(_[_0x8d89('0x46')](_0x402b62[_0x8d89('0x20')][_0x5d6bc6['id']])){_0x402b62['sugarcrmAccounts'][_0x5d6bc6['id']]=new SugarcrmAccount(_0x5d6bc6);}else{_0x402b62['mergeFromDatabase'](_0x402b62[_0x8d89('0x20')][_0x5d6bc6['id']],_0x5d6bc6);}}}return _0x402b62[_0x8d89('0x20')];};};Realtime['prototype']['initVtigerAccounts']=function(){var _0x32c0ac=this;return function(_0x55f23e){if(_0x55f23e){freeIsNotKey(_0x55f23e,_0x32c0ac[_0x8d89('0x22')],'id');for(var _0x1d1ce9=0x0,_0x11ac8c={},_0x3440a4={};_0x1d1ce9<_0x55f23e[_0x8d89('0x44')];_0x1d1ce9+=0x1){_0x11ac8c=_0x55f23e[_0x1d1ce9];if(_[_0x8d89('0x46')](_0x32c0ac[_0x8d89('0x22')][_0x11ac8c['id']])){_0x32c0ac[_0x8d89('0x22')][_0x11ac8c['id']]=new VtigerAccount(_0x11ac8c);}else{_0x32c0ac['mergeFromDatabase'](_0x32c0ac[_0x8d89('0x22')][_0x11ac8c['id']],_0x11ac8c);}}}return _0x32c0ac[_0x8d89('0x22')];};};Realtime[_0x8d89('0x41')][_0x8d89('0x4f')]=function(){var _0x2f2152=this;return function(_0x424fb3){if(_0x424fb3){freeIsNotKey(_0x424fb3,_0x2f2152[_0x8d89('0x23')],'id');for(var _0x3e18e4=0x0,_0x5be9f1={},_0x3c0da3={};_0x3e18e4<_0x424fb3[_0x8d89('0x44')];_0x3e18e4+=0x1){_0x5be9f1=_0x424fb3[_0x3e18e4];if(_[_0x8d89('0x46')](_0x2f2152[_0x8d89('0x23')][_0x5be9f1['id']])){_0x2f2152[_0x8d89('0x23')][_0x5be9f1['id']]=new ServicenowAccount(_0x5be9f1);}else{_0x2f2152[_0x8d89('0x42')](_0x2f2152['servicenowAccounts'][_0x5be9f1['id']],_0x5be9f1);}}}return _0x2f2152['servicenowAccounts'];};};Realtime[_0x8d89('0x41')][_0x8d89('0x50')]=function(){var _0x2659f7=this;return function(_0x4baf7c){if(_0x4baf7c){freeIsNotKey(_0x4baf7c,_0x2659f7[_0x8d89('0x24')],'id');for(var _0x21458f=0x0,_0x287b8d={},_0x2bfb8e={};_0x21458f<_0x4baf7c[_0x8d89('0x44')];_0x21458f+=0x1){_0x287b8d=_0x4baf7c[_0x21458f];if(_[_0x8d89('0x46')](_0x2659f7[_0x8d89('0x24')][_0x287b8d['id']])){_0x2659f7[_0x8d89('0x24')][_0x287b8d['id']]=new Dynamics365Account(_0x287b8d);}else{_0x2659f7[_0x8d89('0x42')](_0x2659f7[_0x8d89('0x24')][_0x287b8d['id']],_0x287b8d);}}}return _0x2659f7[_0x8d89('0x24')];};};Realtime['prototype'][_0x8d89('0x51')]=function(){var _0x18a6c4=this;return function(_0x48db68){if(_0x48db68){freeIsNotKey(_0x48db68,_0x18a6c4[_0x8d89('0x52')],'id');for(var _0x145bf6=0x0,_0x30370d={},_0x3d5817={};_0x145bf6<_0x48db68[_0x8d89('0x44')];_0x145bf6+=0x1){_0x30370d=_0x48db68[_0x145bf6];if(_['isUndefined'](_0x18a6c4[_0x8d89('0x52')][_0x30370d['id']])){_0x18a6c4[_0x8d89('0x52')][_0x30370d['id']]=new FreshsalesAccount(_0x30370d);}else{_0x18a6c4['mergeFromDatabase'](_0x18a6c4[_0x8d89('0x52')][_0x30370d['id']],_0x30370d);}}}return _0x18a6c4[_0x8d89('0x52')];};};Realtime['prototype']['initVoiceQueueHopperHistory']=function(){var _0x4e65ab=this;return function(_0x1e2302){for(var _0x2447a1=0x0;_0x2447a1<_0x1e2302[_0x8d89('0x44')];_0x2447a1+=0x1){_[_0x8d89('0x53')](_0x4e65ab[_0x8d89('0x15')][_0x1e2302[_0x2447a1][_0x8d89('0x2a')]],_0x1e2302[_0x2447a1]);}return _0x4e65ab[_0x8d89('0x15')];};};Realtime[_0x8d89('0x41')][_0x8d89('0x54')]=function(){var _0x178589=this;return function(_0x4b12b2){clearVoiceQueues(_0x178589[_0x8d89('0x15')]);if(_0x4b12b2){_0x4b12b2=_[_0x8d89('0x55')](_0x4b12b2,_0x8d89('0x56'));for(var _0xa3b5ce in _0x4b12b2){if(_0x4b12b2[_0x8d89('0x27')](_0xa3b5ce)){var _0x4e884a={};for(var _0x439468=0x0;_0x439468<_0x4b12b2[_0xa3b5ce][_0x8d89('0x44')];_0x439468+=0x1){var _0x4a5a97=_0x4b12b2[_0xa3b5ce][_0x439468][_0x8d89('0x57')];if(_0x178589[_0x8d89('0x15')][_0x4a5a97]){if(_0x4b12b2[_0xa3b5ce][_0x439468]['queuecallerexit']){_0x178589[_0x8d89('0x15')][_0x4a5a97][_0x8d89('0x34')]+=0x1;}if(_0x4b12b2[_0xa3b5ce][_0x439468]['queuecallerabandon']){_0x178589[_0x8d89('0x15')][_0x4a5a97][_0x8d89('0x35')]+=0x1;}_0x178589[_0x8d89('0x15')][_0x4a5a97][_0x8d89('0x2e')]+=moment(_0x4b12b2[_0xa3b5ce][_0x439468][_0x8d89('0x58')])[_0x8d89('0x59')](moment(_0x4b12b2[_0xa3b5ce][_0x439468][_0x8d89('0x5a')]),_0x8d89('0x5b'))||0x0;if(_0x439468===_0x4b12b2[_0xa3b5ce][_0x8d89('0x44')]-0x1){_0x178589[_0x8d89('0x15')][_0x4a5a97][_0x8d89('0x2f')]+=moment(_0x4b12b2[_0xa3b5ce][_0x439468][_0x8d89('0x5c')]||_0x4b12b2[_0xa3b5ce][_0x439468]['queuecallerabandonAt']||_0x4b12b2[_0xa3b5ce][_0x439468]['queuecallerexitAt'])[_0x8d89('0x59')](moment(_0x4b12b2[_0xa3b5ce][_0x439468][_0x8d89('0x5a')]),_0x8d89('0x5b'))||0x0;_0x178589[_0x8d89('0x15')][_0x4a5a97]['total']+=0x1;if(_0x4b12b2[_0xa3b5ce][_0x439468][_0x8d89('0x5d')]){_0x178589[_0x8d89('0x15')][_0x4a5a97][_0x8d89('0x2d')]+=0x1;_0x178589[_0x8d89('0x15')][_0x4a5a97]['sumBillable']+=moment(_0x4b12b2[_0xa3b5ce][_0x439468]['queuecallercompleteAt'])['diff'](moment(_0x4b12b2[_0xa3b5ce][_0x439468][_0x8d89('0x58')]),_0x8d89('0x5b'))||0x0;}}else{_0x178589[_0x8d89('0x15')][_0x4a5a97][_0x8d89('0x2f')]+=_0x178589[_0x8d89('0x15')][_0x4a5a97]['sumHoldTime']||0x0;}}}}}}return _0x178589[_0x8d89('0x15')];};};Realtime['prototype'][_0x8d89('0x5e')]=function(){var _0x504dbc=this;return function(_0x12a8d3){clearVoiceCallReports(_0x504dbc[_0x8d89('0x19')]);if(_0x12a8d3){for(var _0x25fafc=0x0;_0x25fafc<_0x12a8d3[_0x8d89('0x44')];_0x25fafc+=0x1){_0x504dbc['outbound'][_0x8d89('0x2c')]+=0x1;_0x504dbc[_0x8d89('0x19')][_0x8d89('0x2f')]+=_0x12a8d3[_0x25fafc][_0x8d89('0x5f')];if(_0x12a8d3[_0x25fafc]['disposition']===_0x8d89('0x60')){_0x504dbc[_0x8d89('0x19')][_0x8d89('0x2d')]+=0x1;_0x504dbc['outbound'][_0x8d89('0x2e')]+=_0x12a8d3[_0x25fafc][_0x8d89('0x5f')]-_0x12a8d3[_0x25fafc][_0x8d89('0x61')]||0x0;_0x504dbc['outbound']['sumBillable']+=_0x12a8d3[_0x25fafc][_0x8d89('0x61')];}}}return _0x504dbc[_0x8d89('0x19')];};};Realtime[_0x8d89('0x41')][_0x8d89('0x62')]=function(){var _0x5dae54=this;return function(_0x500a55){if(_0x500a55){freeIsNotKey(_0x500a55,_0x5dae54[_0x8d89('0x17')],_0x8d89('0x2a'));for(var _0x468dcc=0x0,_0x219f95={};_0x468dcc<_0x500a55[_0x8d89('0x44')];_0x468dcc+=0x1){_0x219f95=_0x500a55[_0x468dcc];if(_[_0x8d89('0x46')](_0x5dae54[_0x8d89('0x17')][_0x219f95[_0x8d89('0x2a')]])){_0x5dae54[_0x8d89('0x17')][_0x219f95[_0x8d89('0x2a')]]=new Campaign(_0x219f95);}else{_0x5dae54[_0x8d89('0x42')](_0x5dae54[_0x8d89('0x17')][_0x219f95[_0x8d89('0x2a')]],_0x219f95);_0x5dae54[_0x8d89('0x17')][_0x219f95[_0x8d89('0x2a')]]['dialQueueProject']=_0x219f95[_0x8d89('0x63')]?_0x219f95[_0x8d89('0x63')][_0x8d89('0x2a')]:undefined;}}}return _0x5dae54['campaigns'];};};Realtime[_0x8d89('0x41')][_0x8d89('0x64')]=function(){var _0x21b4bb=this;return function(_0x25f9f5){if(_0x25f9f5){freeIsNotKey(_0x25f9f5,_0x21b4bb[_0x8d89('0x1a')],'id');for(var _0x5a73c5=0x0,_0x467eca={};_0x5a73c5<_0x25f9f5[_0x8d89('0x44')];_0x5a73c5+=0x1){_0x467eca=_0x25f9f5[_0x5a73c5];if(_[_0x8d89('0x46')](_0x21b4bb[_0x8d89('0x1a')][_0x467eca['id']])){_0x21b4bb[_0x8d89('0x1a')][_0x467eca['id']]=new VoiceExtension(_0x467eca);}else{_0x21b4bb[_0x8d89('0x42')](_0x21b4bb['voiceExtensions'][_0x467eca['id']],_0x467eca);}}}return _0x21b4bb[_0x8d89('0x1a')];};};Realtime[_0x8d89('0x41')]['initCampaignHopperHistory']=function(){var _0x10b6b0=this;return function(_0x5cebfc){clearCampaigns(_0x10b6b0[_0x8d89('0x17')]);for(var _0x33a4af=0x0;_0x33a4af<_0x5cebfc[_0x8d89('0x44')];_0x33a4af+=0x1){_[_0x8d89('0x53')](_0x10b6b0[_0x8d89('0x17')][_0x5cebfc[_0x33a4af][_0x8d89('0x2a')]],_0x5cebfc[_0x33a4af]);}return _0x10b6b0[_0x8d89('0x17')];};};Realtime[_0x8d89('0x41')]['initFaxAccounts']=function(){var _0x15a14a=this;return function(_0x4212a5){if(_0x4212a5){freeIsNotKey(_0x4212a5,_0x15a14a[_0x8d89('0x25')],'id');for(var _0x49189a=0x0,_0x460b7d={},_0x457f71={};_0x49189a<_0x4212a5[_0x8d89('0x44')];_0x49189a+=0x1){_0x460b7d=_0x4212a5[_0x49189a];if(_[_0x8d89('0x46')](_0x15a14a[_0x8d89('0x25')][_0x460b7d['id']])){_0x15a14a[_0x8d89('0x25')][_0x460b7d['id']]=new FaxAccount(_0x460b7d);}else{_0x15a14a[_0x8d89('0x42')](_0x15a14a[_0x8d89('0x25')][_0x460b7d['id']],_0x460b7d);}}}return _0x15a14a['faxAccounts'];};};module[_0x8d89('0x65')]=Realtime;