880b869bc04264d77cca6828f54a48fa60ded01e
[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 _0xedfd=['zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','freshsalesAccounts','mapKeys','format','SIP/%s','name','hasOwnProperty','interface','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundRejectCallsDay','outboundReCallsDay','queueStatusComplete','mergeFromDatabase','prototype','initAgents','length','isUndefined','agents','initTelephones','initTrunks','voiceQueues','initTriggers','initTemplates','zendeskAccounts','initSalesforceAccounts','salesforceAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','uniqueid','unmanaged','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','total','queuecallercomplete','initVoiceCallReports','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','faxAccounts','exports','bluebird','util','lodash','../model/agent','../model/telephone','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','telephones','trunks','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','timers','settings','sugarcrmAccounts','freshdeskAccounts'];(function(_0x3207aa,_0xe86a72){var _0x51758f=function(_0x9ff790){while(--_0x9ff790){_0x3207aa['push'](_0x3207aa['shift']());}};_0x51758f(++_0xe86a72);}(_0xedfd,0x17e));var _0xdedf=function(_0x1d5400,_0x567e3c){_0x1d5400=_0x1d5400-0x0;var _0x21d9fe=_0xedfd[_0x1d5400];return _0x21d9fe;};'use strict';var BPromise=require(_0xdedf('0x0'));var util=require(_0xdedf('0x1'));var _=require(_0xdedf('0x2'));var moment=require('moment');var Agent=require(_0xdedf('0x3'));var Telephone=require(_0xdedf('0x4'));var Trunk=require('../model/trunk');var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0xdedf('0x5'));var Template=require('../model/template');var Campaign=require(_0xdedf('0x6'));var VoiceExtension=require(_0xdedf('0x7'));var ZendeskAccount=require(_0xdedf('0x8'));var SalesforceAccount=require(_0xdedf('0x9'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0xdedf('0xa'));var DeskAccount=require(_0xdedf('0xb'));var VtigerAccount=require(_0xdedf('0xc'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0xdedf('0xd'));var FreshsalesAccount=require(_0xdedf('0xe'));var FaxAccount=require(_0xdedf('0xf'));var Realtime=function(){this['agents']={};this[_0xdedf('0x10')]={};this[_0xdedf('0x11')]={};this['voiceQueues']={};this[_0xdedf('0x12')]={};this[_0xdedf('0x13')]={};this[_0xdedf('0x14')]={};this[_0xdedf('0x15')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xdedf('0x16')]={};this[_0xdedf('0x17')]={};this[_0xdedf('0x18')]={};this[_0xdedf('0x19')]={};this[_0xdedf('0x1a')]={};this[_0xdedf('0x1b')]={};this['zendeskAccounts']={};this['salesforceAccounts']={};this[_0xdedf('0x1c')]={};this[_0xdedf('0x1d')]={};this[_0xdedf('0x1e')]={};this[_0xdedf('0x1f')]={};this[_0xdedf('0x20')]={};this[_0xdedf('0x21')]={};this['dynamics365Accounts']={};this[_0xdedf('0x22')]={};this['faxAccounts']={};};function freeIsNotKey(_0x556574,_0x3bd136,_0x1e8180){var _0x13a18d=_[_0xdedf('0x23')](_0x556574,function(_0x5b19b5,_0x933420){return _0x5b19b5[_0x1e8180];});for(var _0x218bef in _0x3bd136){if(_0x3bd136['hasOwnProperty'](_0x218bef)){if(!_0x13a18d[_0x218bef]){delete _0x3bd136[_0x218bef];}}}}function freeIsNotKeySip(_0x30b282,_0x24ed96){var _0x18dae4=_[_0xdedf('0x23')](_0x30b282,function(_0x54e49f,_0x166313){return util[_0xdedf('0x24')](_0xdedf('0x25'),_0x54e49f[_0xdedf('0x26')]);});for(var _0x55294d in _0x24ed96){if(_0x24ed96[_0xdedf('0x27')](_0x55294d)){if(!_0x18dae4[_0x55294d]){delete _0x24ed96[_0x55294d];}}}}function freeIsNotKeyAgent(_0x3a26e4,_0x1ac090){var _0xad6318=_[_0xdedf('0x23')](_0x3a26e4,function(_0x21c0ca,_0x53a284){var _0x2911fb=_['isNil'](_0x21c0ca['interface'])?util[_0xdedf('0x24')](_0xdedf('0x25'),_0x21c0ca[_0xdedf('0x26')]):_0x21c0ca[_0xdedf('0x28')];return _0x2911fb;});for(var _0x28ce29 in _0x1ac090){if(_0x1ac090[_0xdedf('0x27')](_0x28ce29)){if(!_0xad6318[_0x28ce29]){delete _0x1ac090[_0x28ce29];}}}}function clearVoiceCallReports(_0x141025){_0x141025['total']=0x0;_0x141025[_0xdedf('0x29')]=0x0;_0x141025[_0xdedf('0x2a')]=0x0;_0x141025[_0xdedf('0x2b')]=0x0;_0x141025[_0xdedf('0x2c')]=0x0;}function clearCampaigns(_0x33e2e7){if(!_[_0xdedf('0x2d')](_0x33e2e7)){for(var _0x4e5844 in _0x33e2e7){if(_0x33e2e7[_0xdedf('0x27')](_0x4e5844)){_0x33e2e7[_0x4e5844][_0xdedf('0x2e')]=0x0;_0x33e2e7[_0x4e5844][_0xdedf('0x2f')]=0x0;}}}}function clearVoiceQueues(_0x16f8f9){if(!_[_0xdedf('0x2d')](_0x16f8f9)){for(var _0x3a4412 in _0x16f8f9){if(_0x16f8f9[_0xdedf('0x27')](_0x3a4412)){_0x16f8f9[_0x3a4412]['total']=0x0;_0x16f8f9[_0x3a4412]['answered']=0x0;_0x16f8f9[_0x3a4412]['unmanaged']=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x30')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x2a')]=0x0;_0x16f8f9[_0x3a4412]['sumDuration']=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x2c')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x31')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x32')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x33')]=0x0;_0x16f8f9[_0x3a4412]['outboundCongestionCallsDay']=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x34')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x35')]=0x0;_0x16f8f9[_0x3a4412]['outboundDropCallsDayTimeout']=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x36')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x37')]=0x0;_0x16f8f9[_0x3a4412]['outboundOriginateFailureCallsDay']=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x38')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x39')]=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x31')]=0x0;_0x16f8f9[_0x3a4412]['outboundAnswerCallsDay']=0x0;_0x16f8f9[_0x3a4412][_0xdedf('0x3a')]=!![];}}}}Realtime['prototype'][_0xdedf('0x3b')]=function(_0x35f71f,_0x3d9caf){for(var _0x199996 in _0x3d9caf){if(_0x35f71f['hasOwnProperty'](_0x199996)){_0x35f71f[_0x199996]=_0x3d9caf[_0x199996];}}};Realtime[_0xdedf('0x3c')][_0xdedf('0x3d')]=function(){var _0x5ef3eb=this;return function(_0x305ecd){if(_0x305ecd){freeIsNotKeyAgent(_0x305ecd,_0x5ef3eb['agents']);for(var _0x36ceb3=0x0,_0x17ee5d={},_0x191643={};_0x36ceb3<_0x305ecd[_0xdedf('0x3e')];_0x36ceb3+=0x1){_0x17ee5d=_0x305ecd[_0x36ceb3];var _0x1d76a0=_['isNil'](_0x17ee5d['interface'])?util[_0xdedf('0x24')](_0xdedf('0x25'),_0x17ee5d[_0xdedf('0x26')]):_0x17ee5d[_0xdedf('0x28')];if(_[_0xdedf('0x3f')](_0x5ef3eb[_0xdedf('0x40')][_0x1d76a0])){_0x5ef3eb['agents'][_0x1d76a0]=new Agent(_0x17ee5d);}else{_0x5ef3eb[_0xdedf('0x3b')](_0x5ef3eb[_0xdedf('0x40')][_0x1d76a0],_0x17ee5d);}}}return _0x5ef3eb[_0xdedf('0x40')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x41')]=function(){var _0x1165a7=this;return function(_0x29e7f8){if(_0x29e7f8){freeIsNotKeySip(_0x29e7f8,_0x1165a7[_0xdedf('0x10')]);for(var _0x204542=0x0,_0x1752db={},_0x5a2537={};_0x204542<_0x29e7f8[_0xdedf('0x3e')];_0x204542+=0x1){_0x1752db=_0x29e7f8[_0x204542];if(_[_0xdedf('0x3f')](_0x1165a7[_0xdedf('0x10')][util[_0xdedf('0x24')](_0xdedf('0x25'),_0x1752db[_0xdedf('0x26')])])){_0x1165a7[_0xdedf('0x10')][util[_0xdedf('0x24')](_0xdedf('0x25'),_0x1752db[_0xdedf('0x26')])]=new Telephone(_0x1752db);}else{_0x1165a7[_0xdedf('0x3b')](_0x1165a7['telephones'][util[_0xdedf('0x24')]('SIP/%s',_0x1752db[_0xdedf('0x26')])],_0x1752db);}}}return _0x1165a7['telephones'];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x42')]=function(){var _0x3d94a7=this;return function(_0x489d95){if(_0x489d95){freeIsNotKeySip(_0x489d95,_0x3d94a7['trunks']);for(var _0x43ee37=0x0,_0x49a4ae={},_0x2fb73a={};_0x43ee37<_0x489d95['length'];_0x43ee37+=0x1){_0x49a4ae=_0x489d95[_0x43ee37];if(_[_0xdedf('0x3f')](_0x3d94a7[_0xdedf('0x11')][util['format'](_0xdedf('0x25'),_0x49a4ae['name'])])){_0x3d94a7['trunks'][util[_0xdedf('0x24')]('SIP/%s',_0x49a4ae[_0xdedf('0x26')])]=new Trunk(_0x49a4ae);}else{_0x3d94a7[_0xdedf('0x3b')](_0x3d94a7['trunks'][util[_0xdedf('0x24')]('SIP/%s',_0x49a4ae[_0xdedf('0x26')])],_0x49a4ae);}}}return _0x3d94a7['trunks'];};};Realtime[_0xdedf('0x3c')]['initVoiceQueues']=function(){var _0x13a170=this;return function(_0x4a7fd8){if(_0x4a7fd8){freeIsNotKey(_0x4a7fd8,_0x13a170['voiceQueues'],_0xdedf('0x26'));for(var _0x46371a=0x0,_0x4e058e={},_0x3c6c1b={};_0x46371a<_0x4a7fd8[_0xdedf('0x3e')];_0x46371a+=0x1){_0x4e058e=_0x4a7fd8[_0x46371a];if(_['isUndefined'](_0x13a170[_0xdedf('0x43')][_0x4e058e[_0xdedf('0x26')]])){_0x13a170[_0xdedf('0x43')][_0x4e058e['name']]=new VoiceQueue(_0x4e058e);}else{_0x13a170['mergeFromDatabase'](_0x13a170['voiceQueues'][_0x4e058e[_0xdedf('0x26')]],_0x4e058e);}}}return _0x13a170[_0xdedf('0x43')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x44')]=function(){var _0x49a899=this;return function(_0x348746){if(_0x348746){freeIsNotKey(_0x348746,_0x49a899[_0xdedf('0x12')],'id');for(var _0x1e672c=0x0,_0x2cf799={},_0x1ab9c8={};_0x1e672c<_0x348746[_0xdedf('0x3e')];_0x1e672c+=0x1){_0x2cf799=_0x348746[_0x1e672c];if(_['isUndefined'](_0x49a899[_0xdedf('0x12')][_0x2cf799['id']])){_0x49a899['triggers'][_0x2cf799['id']]=new Trigger(_0x2cf799);}else{_0x49a899[_0xdedf('0x3b')](_0x49a899[_0xdedf('0x12')][_0x2cf799['id']],_0x2cf799);}}}return _0x49a899[_0xdedf('0x12')];};};Realtime['prototype'][_0xdedf('0x45')]=function(){var _0x11bcb1=this;return function(_0x3c385d){if(_0x3c385d){freeIsNotKey(_0x3c385d,_0x11bcb1[_0xdedf('0x14')],'id');for(var _0x479cb9=0x0,_0x5a3f21={},_0x361251={};_0x479cb9<_0x3c385d[_0xdedf('0x3e')];_0x479cb9+=0x1){_0x5a3f21=_0x3c385d[_0x479cb9];if(_[_0xdedf('0x3f')](_0x11bcb1[_0xdedf('0x14')][_0x5a3f21['id']])){_0x11bcb1[_0xdedf('0x14')][_0x5a3f21['id']]=new Template(_0x5a3f21);}else{_0x11bcb1[_0xdedf('0x3b')](_0x11bcb1[_0xdedf('0x14')][_0x5a3f21['id']],_0x5a3f21);}}}return _0x11bcb1[_0xdedf('0x14')];};};Realtime['prototype']['initZendeskAccounts']=function(){var _0x41a53f=this;return function(_0x536b63){if(_0x536b63){freeIsNotKey(_0x536b63,_0x41a53f[_0xdedf('0x46')],'id');for(var _0x40b4fb=0x0,_0x58e4ce={},_0x1349a5={};_0x40b4fb<_0x536b63[_0xdedf('0x3e')];_0x40b4fb+=0x1){_0x58e4ce=_0x536b63[_0x40b4fb];if(_['isUndefined'](_0x41a53f[_0xdedf('0x46')][_0x58e4ce['id']])){_0x41a53f[_0xdedf('0x46')][_0x58e4ce['id']]=new ZendeskAccount(_0x58e4ce);}else{_0x41a53f['mergeFromDatabase'](_0x41a53f[_0xdedf('0x46')][_0x58e4ce['id']],_0x58e4ce);}}}return _0x41a53f['zendeskAccounts'];};};Realtime['prototype'][_0xdedf('0x47')]=function(){var _0x463c9d=this;return function(_0x1cf4ca){if(_0x1cf4ca){freeIsNotKey(_0x1cf4ca,_0x463c9d['salesforceAccounts'],'id');for(var _0xb818db=0x0,_0x130c6a={},_0x1e728c={};_0xb818db<_0x1cf4ca[_0xdedf('0x3e')];_0xb818db+=0x1){_0x130c6a=_0x1cf4ca[_0xb818db];if(_[_0xdedf('0x3f')](_0x463c9d[_0xdedf('0x48')][_0x130c6a['id']])){_0x463c9d['salesforceAccounts'][_0x130c6a['id']]=new SalesforceAccount(_0x130c6a);}else{_0x463c9d[_0xdedf('0x3b')](_0x463c9d[_0xdedf('0x48')][_0x130c6a['id']],_0x130c6a);}}}return _0x463c9d['salesforceAccounts'];};};Realtime[_0xdedf('0x3c')]['initFreshdeskAccounts']=function(){var _0x24038f=this;return function(_0x31e798){if(_0x31e798){freeIsNotKey(_0x31e798,_0x24038f[_0xdedf('0x1d')],'id');for(var _0x47df8d=0x0,_0x46439c={},_0xc29c69={};_0x47df8d<_0x31e798[_0xdedf('0x3e')];_0x47df8d+=0x1){_0x46439c=_0x31e798[_0x47df8d];if(_[_0xdedf('0x3f')](_0x24038f[_0xdedf('0x1d')][_0x46439c['id']])){_0x24038f[_0xdedf('0x1d')][_0x46439c['id']]=new FreshdeskAccount(_0x46439c);}else{_0x24038f[_0xdedf('0x3b')](_0x24038f['freshdeskAccounts'][_0x46439c['id']],_0x46439c);}}}return _0x24038f[_0xdedf('0x1d')];};};Realtime['prototype'][_0xdedf('0x49')]=function(){var _0x500d2a=this;return function(_0x4f8405){if(_0x4f8405){freeIsNotKey(_0x4f8405,_0x500d2a[_0xdedf('0x1e')],'id');for(var _0x373a21=0x0,_0x3d06e2={},_0x2a6998={};_0x373a21<_0x4f8405['length'];_0x373a21+=0x1){_0x3d06e2=_0x4f8405[_0x373a21];if(_['isUndefined'](_0x500d2a['zohoAccounts'][_0x3d06e2['id']])){_0x500d2a[_0xdedf('0x1e')][_0x3d06e2['id']]=new ZohoAccount(_0x3d06e2);}else{_0x500d2a[_0xdedf('0x3b')](_0x500d2a['zohoAccounts'][_0x3d06e2['id']],_0x3d06e2);}}}return _0x500d2a[_0xdedf('0x1e')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x4a')]=function(){var _0x9422ca=this;return function(_0x4f24de){if(_0x4f24de){freeIsNotKey(_0x4f24de,_0x9422ca[_0xdedf('0x1f')],'id');for(var _0x3172b3=0x0,_0x116444={},_0x31dcdd={};_0x3172b3<_0x4f24de[_0xdedf('0x3e')];_0x3172b3+=0x1){_0x116444=_0x4f24de[_0x3172b3];if(_['isUndefined'](_0x9422ca[_0xdedf('0x1f')][_0x116444['id']])){_0x9422ca['deskAccounts'][_0x116444['id']]=new DeskAccount(_0x116444);}else{_0x9422ca[_0xdedf('0x3b')](_0x9422ca[_0xdedf('0x1f')][_0x116444['id']],_0x116444);}}}return _0x9422ca[_0xdedf('0x1f')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x4b')]=function(){var _0x3b4228=this;return function(_0x10795e){if(_0x10795e){freeIsNotKey(_0x10795e,_0x3b4228['sugarcrmAccounts'],'id');for(var _0x11e8fa=0x0,_0x1cfc2c={},_0x1f254f={};_0x11e8fa<_0x10795e[_0xdedf('0x3e')];_0x11e8fa+=0x1){_0x1cfc2c=_0x10795e[_0x11e8fa];if(_['isUndefined'](_0x3b4228[_0xdedf('0x1c')][_0x1cfc2c['id']])){_0x3b4228[_0xdedf('0x1c')][_0x1cfc2c['id']]=new SugarcrmAccount(_0x1cfc2c);}else{_0x3b4228[_0xdedf('0x3b')](_0x3b4228[_0xdedf('0x1c')][_0x1cfc2c['id']],_0x1cfc2c);}}}return _0x3b4228['sugarcrmAccounts'];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x4c')]=function(){var _0x28dd9c=this;return function(_0x283420){if(_0x283420){freeIsNotKey(_0x283420,_0x28dd9c['vtigerAccounts'],'id');for(var _0x427631=0x0,_0x2c51bd={},_0x8da07c={};_0x427631<_0x283420[_0xdedf('0x3e')];_0x427631+=0x1){_0x2c51bd=_0x283420[_0x427631];if(_[_0xdedf('0x3f')](_0x28dd9c[_0xdedf('0x20')][_0x2c51bd['id']])){_0x28dd9c['vtigerAccounts'][_0x2c51bd['id']]=new VtigerAccount(_0x2c51bd);}else{_0x28dd9c[_0xdedf('0x3b')](_0x28dd9c['vtigerAccounts'][_0x2c51bd['id']],_0x2c51bd);}}}return _0x28dd9c[_0xdedf('0x20')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x4d')]=function(){var _0x2fa9a3=this;return function(_0x46f205){if(_0x46f205){freeIsNotKey(_0x46f205,_0x2fa9a3['servicenowAccounts'],'id');for(var _0x113fab=0x0,_0x9f2675={},_0x2d8d5c={};_0x113fab<_0x46f205[_0xdedf('0x3e')];_0x113fab+=0x1){_0x9f2675=_0x46f205[_0x113fab];if(_[_0xdedf('0x3f')](_0x2fa9a3['servicenowAccounts'][_0x9f2675['id']])){_0x2fa9a3[_0xdedf('0x21')][_0x9f2675['id']]=new ServicenowAccount(_0x9f2675);}else{_0x2fa9a3['mergeFromDatabase'](_0x2fa9a3[_0xdedf('0x21')][_0x9f2675['id']],_0x9f2675);}}}return _0x2fa9a3[_0xdedf('0x21')];};};Realtime[_0xdedf('0x3c')]['initDynamics365Accounts']=function(){var _0xf7cd9d=this;return function(_0x83fcbb){if(_0x83fcbb){freeIsNotKey(_0x83fcbb,_0xf7cd9d[_0xdedf('0x4e')],'id');for(var _0x5b6dbd=0x0,_0x47bcc6={},_0x2d47cb={};_0x5b6dbd<_0x83fcbb[_0xdedf('0x3e')];_0x5b6dbd+=0x1){_0x47bcc6=_0x83fcbb[_0x5b6dbd];if(_[_0xdedf('0x3f')](_0xf7cd9d[_0xdedf('0x4e')][_0x47bcc6['id']])){_0xf7cd9d[_0xdedf('0x4e')][_0x47bcc6['id']]=new Dynamics365Account(_0x47bcc6);}else{_0xf7cd9d[_0xdedf('0x3b')](_0xf7cd9d[_0xdedf('0x4e')][_0x47bcc6['id']],_0x47bcc6);}}}return _0xf7cd9d[_0xdedf('0x4e')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x4f')]=function(){var _0x4b3cca=this;return function(_0x5c6aec){if(_0x5c6aec){freeIsNotKey(_0x5c6aec,_0x4b3cca[_0xdedf('0x22')],'id');for(var _0x34931c=0x0,_0x1e9e14={},_0x21e557={};_0x34931c<_0x5c6aec[_0xdedf('0x3e')];_0x34931c+=0x1){_0x1e9e14=_0x5c6aec[_0x34931c];if(_[_0xdedf('0x3f')](_0x4b3cca['freshsalesAccounts'][_0x1e9e14['id']])){_0x4b3cca[_0xdedf('0x22')][_0x1e9e14['id']]=new FreshsalesAccount(_0x1e9e14);}else{_0x4b3cca['mergeFromDatabase'](_0x4b3cca['freshsalesAccounts'][_0x1e9e14['id']],_0x1e9e14);}}}return _0x4b3cca[_0xdedf('0x22')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x50')]=function(){var _0x7092a4=this;return function(_0x588cc9){for(var _0x368a0d=0x0;_0x368a0d<_0x588cc9[_0xdedf('0x3e')];_0x368a0d+=0x1){_[_0xdedf('0x51')](_0x7092a4[_0xdedf('0x43')][_0x588cc9[_0x368a0d][_0xdedf('0x26')]],_0x588cc9[_0x368a0d]);}return _0x7092a4['voiceQueues'];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x52')]=function(){var _0x4ee307=this;return function(_0x460ecc){clearVoiceQueues(_0x4ee307[_0xdedf('0x43')]);if(_0x460ecc){_0x460ecc=_['groupBy'](_0x460ecc,_0xdedf('0x53'));for(var _0x4e0d45 in _0x460ecc){if(_0x460ecc[_0xdedf('0x27')](_0x4e0d45)){var _0x47732e={};for(var _0x14408a=0x0;_0x14408a<_0x460ecc[_0x4e0d45]['length'];_0x14408a+=0x1){var _0x4776e6=_0x460ecc[_0x4e0d45][_0x14408a]['queue'];if(_0x4ee307['voiceQueues'][_0x4776e6]){if(_0x460ecc[_0x4e0d45][_0x14408a]['queuecallerexit']){_0x4ee307[_0xdedf('0x43')][_0x4776e6][_0xdedf('0x54')]+=0x1;}if(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x55')]){_0x4ee307[_0xdedf('0x43')][_0x4776e6]['abandoned']+=0x1;}_0x4ee307[_0xdedf('0x43')][_0x4776e6][_0xdedf('0x2a')]+=moment(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x56')])[_0xdedf('0x57')](moment(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x58')]),'seconds')||0x0;if(_0x14408a===_0x460ecc[_0x4e0d45][_0xdedf('0x3e')]-0x1){_0x4ee307[_0xdedf('0x43')][_0x4776e6]['sumDuration']+=moment(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x59')]||_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x5a')]||_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x5b')])[_0xdedf('0x57')](moment(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x58')]),'seconds')||0x0;_0x4ee307[_0xdedf('0x43')][_0x4776e6][_0xdedf('0x5c')]+=0x1;if(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x5d')]){_0x4ee307['voiceQueues'][_0x4776e6]['answered']+=0x1;_0x4ee307[_0xdedf('0x43')][_0x4776e6][_0xdedf('0x2c')]+=moment(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x59')])[_0xdedf('0x57')](moment(_0x460ecc[_0x4e0d45][_0x14408a][_0xdedf('0x56')]),'seconds')||0x0;}}else{_0x4ee307[_0xdedf('0x43')][_0x4776e6][_0xdedf('0x2b')]+=_0x4ee307[_0xdedf('0x43')][_0x4776e6][_0xdedf('0x2a')]||0x0;}}}}}}return _0x4ee307['voiceQueues'];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x5e')]=function(){var _0x4b6363=this;return function(_0x2289a5){clearVoiceCallReports(_0x4b6363[_0xdedf('0x15')]);if(_0x2289a5){for(var _0x2d2ac5=0x0;_0x2d2ac5<_0x2289a5[_0xdedf('0x3e')];_0x2d2ac5+=0x1){_0x4b6363[_0xdedf('0x15')]['total']+=0x1;_0x4b6363[_0xdedf('0x15')][_0xdedf('0x2b')]+=_0x2289a5[_0x2d2ac5]['duration'];if(_0x2289a5[_0x2d2ac5]['disposition']==='ANSWERED'){_0x4b6363[_0xdedf('0x15')][_0xdedf('0x29')]+=0x1;_0x4b6363[_0xdedf('0x15')][_0xdedf('0x2a')]+=_0x2289a5[_0x2d2ac5]['duration']-_0x2289a5[_0x2d2ac5][_0xdedf('0x5f')]||0x0;_0x4b6363['outbound'][_0xdedf('0x2c')]+=_0x2289a5[_0x2d2ac5][_0xdedf('0x5f')];}}}return _0x4b6363[_0xdedf('0x15')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x60')]=function(){var _0x278f0f=this;return function(_0x40f5c7){if(_0x40f5c7){freeIsNotKey(_0x40f5c7,_0x278f0f[_0xdedf('0x13')],'name');for(var _0xa591fa=0x0,_0x2c68e5={};_0xa591fa<_0x40f5c7[_0xdedf('0x3e')];_0xa591fa+=0x1){_0x2c68e5=_0x40f5c7[_0xa591fa];if(_['isUndefined'](_0x278f0f[_0xdedf('0x13')][_0x2c68e5[_0xdedf('0x26')]])){_0x278f0f[_0xdedf('0x13')][_0x2c68e5[_0xdedf('0x26')]]=new Campaign(_0x2c68e5);}else{_0x278f0f['mergeFromDatabase'](_0x278f0f['campaigns'][_0x2c68e5[_0xdedf('0x26')]],_0x2c68e5);_0x278f0f['campaigns'][_0x2c68e5[_0xdedf('0x26')]][_0xdedf('0x61')]=_0x2c68e5[_0xdedf('0x62')]?_0x2c68e5[_0xdedf('0x62')][_0xdedf('0x26')]:undefined;}}}return _0x278f0f['campaigns'];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x63')]=function(){var _0x40c8a2=this;return function(_0x33c4fa){if(_0x33c4fa){freeIsNotKey(_0x33c4fa,_0x40c8a2[_0xdedf('0x16')],'id');for(var _0x46adc9=0x0,_0x207965={};_0x46adc9<_0x33c4fa[_0xdedf('0x3e')];_0x46adc9+=0x1){_0x207965=_0x33c4fa[_0x46adc9];if(_[_0xdedf('0x3f')](_0x40c8a2[_0xdedf('0x16')][_0x207965['id']])){_0x40c8a2['voiceExtensions'][_0x207965['id']]=new VoiceExtension(_0x207965);}else{_0x40c8a2[_0xdedf('0x3b')](_0x40c8a2[_0xdedf('0x16')][_0x207965['id']],_0x207965);}}}return _0x40c8a2[_0xdedf('0x16')];};};Realtime[_0xdedf('0x3c')][_0xdedf('0x64')]=function(){var _0x5571ed=this;return function(_0x1ce3cf){clearCampaigns(_0x5571ed['campaigns']);for(var _0x31af86=0x0;_0x31af86<_0x1ce3cf[_0xdedf('0x3e')];_0x31af86+=0x1){_[_0xdedf('0x51')](_0x5571ed[_0xdedf('0x13')][_0x1ce3cf[_0x31af86][_0xdedf('0x26')]],_0x1ce3cf[_0x31af86]);}return _0x5571ed[_0xdedf('0x13')];};};Realtime[_0xdedf('0x3c')]['initFaxAccounts']=function(){var _0x4ea50c=this;return function(_0x283545){if(_0x283545){freeIsNotKey(_0x283545,_0x4ea50c[_0xdedf('0x65')],'id');for(var _0x12f8f8=0x0,_0x48ead6={},_0x38316b={};_0x12f8f8<_0x283545[_0xdedf('0x3e')];_0x12f8f8+=0x1){_0x48ead6=_0x283545[_0x12f8f8];if(_[_0xdedf('0x3f')](_0x4ea50c[_0xdedf('0x65')][_0x48ead6['id']])){_0x4ea50c[_0xdedf('0x65')][_0x48ead6['id']]=new FaxAccount(_0x48ead6);}else{_0x4ea50c['mergeFromDatabase'](_0x4ea50c[_0xdedf('0x65')][_0x48ead6['id']],_0x48ead6);}}}return _0x4ea50c[_0xdedf('0x65')];};};module[_0xdedf('0x66')]=Realtime;