4fc96d5ef2c9ce1e4602b8c13c6743fa0918aa89
[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 _0x7713=['initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','queuecallerabandon','queuecallerleaveAt','seconds','queuecallercompleteAt','queuecallerexitAt','queuecallercomplete','diff','initVoiceCallReports','duration','disposition','sumBillable','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','exports','bluebird','util','lodash','../model/agent','../model/telephone','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','timers','sugarcrmAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','sumHoldTime','sumDuration','isEmpty','ivrAnswerCallsDay','answered','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isUndefined','initTelephones','initTrunks','trunks','initVoiceQueues','initTemplates','zendeskAccounts','initSalesforceAccounts','salesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','zohoAccounts','initSugarcrmAccounts'];(function(_0x3e6d5d,_0x264c7a){var _0x238923=function(_0x201b19){while(--_0x201b19){_0x3e6d5d['push'](_0x3e6d5d['shift']());}};_0x238923(++_0x264c7a);}(_0x7713,0x86));var _0x3771=function(_0x4d21f0,_0x24e7e8){_0x4d21f0=_0x4d21f0-0x0;var _0x1a488a=_0x7713[_0x4d21f0];return _0x1a488a;};'use strict';var BPromise=require(_0x3771('0x0'));var util=require(_0x3771('0x1'));var _=require(_0x3771('0x2'));var moment=require('moment');var Agent=require(_0x3771('0x3'));var Telephone=require(_0x3771('0x4'));var Trunk=require('../model/trunk');var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x3771('0x5'));var Template=require(_0x3771('0x6'));var Campaign=require(_0x3771('0x7'));var VoiceExtension=require(_0x3771('0x8'));var ZendeskAccount=require(_0x3771('0x9'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x3771('0xa'));var SugarcrmAccount=require(_0x3771('0xb'));var ZohoAccount=require(_0x3771('0xc'));var DeskAccount=require(_0x3771('0xd'));var VtigerAccount=require(_0x3771('0xe'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x3771('0xf'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x3771('0x10'));var Realtime=function(){this[_0x3771('0x11')]={};this[_0x3771('0x12')]={};this['trunks']={};this[_0x3771('0x13')]={};this[_0x3771('0x14')]={};this[_0x3771('0x15')]={};this[_0x3771('0x16')]={};this[_0x3771('0x17')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x3771('0x18')]={};this[_0x3771('0x19')]={};this[_0x3771('0x1a')]={};this[_0x3771('0x1b')]={};this[_0x3771('0x1c')]={};this['settings']={};this['zendeskAccounts']={};this['salesforceAccounts']={};this[_0x3771('0x1d')]={};this['freshdeskAccounts']={};this['zohoAccounts']={};this[_0x3771('0x1e')]={};this[_0x3771('0x1f')]={};this[_0x3771('0x20')]={};this[_0x3771('0x21')]={};this[_0x3771('0x22')]={};this[_0x3771('0x23')]={};};function freeIsNotKey(_0xaa0c81,_0x35a1fd,_0x59bc40){var _0x2ac5cf=_[_0x3771('0x24')](_0xaa0c81,function(_0xf85632,_0x32c8b7){return _0xf85632[_0x59bc40];});for(var _0x4f1fb6 in _0x35a1fd){if(_0x35a1fd[_0x3771('0x25')](_0x4f1fb6)){if(!_0x2ac5cf[_0x4f1fb6]){delete _0x35a1fd[_0x4f1fb6];}}}}function freeIsNotKeySip(_0x119766,_0x1689e7){var _0x237ca1=_['mapKeys'](_0x119766,function(_0x480ad1,_0x243174){return util[_0x3771('0x26')](_0x3771('0x27'),_0x480ad1[_0x3771('0x28')]);});for(var _0x4b4b63 in _0x1689e7){if(_0x1689e7[_0x3771('0x25')](_0x4b4b63)){if(!_0x237ca1[_0x4b4b63]){delete _0x1689e7[_0x4b4b63];}}}}function freeIsNotKeyAgent(_0x6bdb49,_0x5b9e3a){var _0x26437f=_[_0x3771('0x24')](_0x6bdb49,function(_0x549014,_0x18c9e9){var _0x1932ca=_[_0x3771('0x29')](_0x549014[_0x3771('0x2a')])?util[_0x3771('0x26')]('SIP/%s',_0x549014[_0x3771('0x28')]):_0x549014[_0x3771('0x2a')];return _0x1932ca;});for(var _0x1e9bfa in _0x5b9e3a){if(_0x5b9e3a['hasOwnProperty'](_0x1e9bfa)){if(!_0x26437f[_0x1e9bfa]){delete _0x5b9e3a[_0x1e9bfa];}}}}function clearVoiceCallReports(_0x260795){_0x260795[_0x3771('0x2b')]=0x0;_0x260795['answered']=0x0;_0x260795[_0x3771('0x2c')]=0x0;_0x260795[_0x3771('0x2d')]=0x0;_0x260795['sumBillable']=0x0;}function clearCampaigns(_0x2d7669){if(!_[_0x3771('0x2e')](_0x2d7669)){for(var _0x4197e9 in _0x2d7669){if(_0x2d7669[_0x3771('0x25')](_0x4197e9)){_0x2d7669[_0x4197e9]['ivrTotalCallsDays']=0x0;_0x2d7669[_0x4197e9][_0x3771('0x2f')]=0x0;}}}}function clearVoiceQueues(_0x2115f2){if(!_['isEmpty'](_0x2115f2)){for(var _0x3ee370 in _0x2115f2){if(_0x2115f2[_0x3771('0x25')](_0x3ee370)){_0x2115f2[_0x3ee370][_0x3771('0x2b')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x30')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x31')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x32')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x2c')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x2d')]=0x0;_0x2115f2[_0x3ee370]['sumBillable']=0x0;_0x2115f2[_0x3ee370][_0x3771('0x33')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x34')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x35')]=0x0;_0x2115f2[_0x3ee370]['outboundCongestionCallsDay']=0x0;_0x2115f2[_0x3ee370][_0x3771('0x36')]=0x0;_0x2115f2[_0x3ee370]['outboundUnknownCallsDay']=0x0;_0x2115f2[_0x3ee370]['outboundDropCallsDayTimeout']=0x0;_0x2115f2[_0x3ee370][_0x3771('0x37')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x38')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x39')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x3a')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x3b')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x33')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x3c')]=0x0;_0x2115f2[_0x3ee370][_0x3771('0x3d')]=!![];}}}}Realtime[_0x3771('0x3e')][_0x3771('0x3f')]=function(_0xd30330,_0x5b5623){for(var _0x56a6c7 in _0x5b5623){if(_0xd30330[_0x3771('0x25')](_0x56a6c7)){_0xd30330[_0x56a6c7]=_0x5b5623[_0x56a6c7];}}};Realtime[_0x3771('0x3e')][_0x3771('0x40')]=function(){var _0x32bb5f=this;return function(_0x3e3a46){if(_0x3e3a46){freeIsNotKeyAgent(_0x3e3a46,_0x32bb5f[_0x3771('0x11')]);for(var _0x56d6b9=0x0,_0x45c126={},_0x3360af={};_0x56d6b9<_0x3e3a46[_0x3771('0x41')];_0x56d6b9+=0x1){_0x45c126=_0x3e3a46[_0x56d6b9];var _0x21c280=_[_0x3771('0x29')](_0x45c126['interface'])?util[_0x3771('0x26')](_0x3771('0x27'),_0x45c126['name']):_0x45c126[_0x3771('0x2a')];if(_[_0x3771('0x42')](_0x32bb5f['agents'][_0x21c280])){_0x32bb5f[_0x3771('0x11')][_0x21c280]=new Agent(_0x45c126);}else{_0x32bb5f[_0x3771('0x3f')](_0x32bb5f[_0x3771('0x11')][_0x21c280],_0x45c126);}}}return _0x32bb5f['agents'];};};Realtime[_0x3771('0x3e')][_0x3771('0x43')]=function(){var _0x13a80c=this;return function(_0x167452){if(_0x167452){freeIsNotKeySip(_0x167452,_0x13a80c['telephones']);for(var _0x3ffc45=0x0,_0x47e445={},_0x2699fe={};_0x3ffc45<_0x167452['length'];_0x3ffc45+=0x1){_0x47e445=_0x167452[_0x3ffc45];if(_['isUndefined'](_0x13a80c[_0x3771('0x12')][util[_0x3771('0x26')]('SIP/%s',_0x47e445[_0x3771('0x28')])])){_0x13a80c[_0x3771('0x12')][util[_0x3771('0x26')](_0x3771('0x27'),_0x47e445['name'])]=new Telephone(_0x47e445);}else{_0x13a80c[_0x3771('0x3f')](_0x13a80c[_0x3771('0x12')][util[_0x3771('0x26')](_0x3771('0x27'),_0x47e445[_0x3771('0x28')])],_0x47e445);}}}return _0x13a80c['telephones'];};};Realtime['prototype'][_0x3771('0x44')]=function(){var _0x393b89=this;return function(_0x331a82){if(_0x331a82){freeIsNotKeySip(_0x331a82,_0x393b89['trunks']);for(var _0x2ac8a2=0x0,_0x11ff53={},_0x216b43={};_0x2ac8a2<_0x331a82[_0x3771('0x41')];_0x2ac8a2+=0x1){_0x11ff53=_0x331a82[_0x2ac8a2];if(_['isUndefined'](_0x393b89[_0x3771('0x45')][util['format'](_0x3771('0x27'),_0x11ff53[_0x3771('0x28')])])){_0x393b89[_0x3771('0x45')][util[_0x3771('0x26')](_0x3771('0x27'),_0x11ff53[_0x3771('0x28')])]=new Trunk(_0x11ff53);}else{_0x393b89['mergeFromDatabase'](_0x393b89[_0x3771('0x45')][util[_0x3771('0x26')](_0x3771('0x27'),_0x11ff53[_0x3771('0x28')])],_0x11ff53);}}}return _0x393b89['trunks'];};};Realtime[_0x3771('0x3e')][_0x3771('0x46')]=function(){var _0x2784fa=this;return function(_0x496726){if(_0x496726){freeIsNotKey(_0x496726,_0x2784fa['voiceQueues'],'name');for(var _0x456ccc=0x0,_0x41a786={},_0x304d44={};_0x456ccc<_0x496726[_0x3771('0x41')];_0x456ccc+=0x1){_0x41a786=_0x496726[_0x456ccc];if(_[_0x3771('0x42')](_0x2784fa[_0x3771('0x13')][_0x41a786[_0x3771('0x28')]])){_0x2784fa[_0x3771('0x13')][_0x41a786['name']]=new VoiceQueue(_0x41a786);}else{_0x2784fa[_0x3771('0x3f')](_0x2784fa[_0x3771('0x13')][_0x41a786[_0x3771('0x28')]],_0x41a786);}}}return _0x2784fa[_0x3771('0x13')];};};Realtime[_0x3771('0x3e')]['initTriggers']=function(){var _0x4a97fc=this;return function(_0x1db4df){if(_0x1db4df){freeIsNotKey(_0x1db4df,_0x4a97fc[_0x3771('0x14')],'id');for(var _0x4519e1=0x0,_0xcfef01={},_0x157fc5={};_0x4519e1<_0x1db4df['length'];_0x4519e1+=0x1){_0xcfef01=_0x1db4df[_0x4519e1];if(_['isUndefined'](_0x4a97fc['triggers'][_0xcfef01['id']])){_0x4a97fc[_0x3771('0x14')][_0xcfef01['id']]=new Trigger(_0xcfef01);}else{_0x4a97fc[_0x3771('0x3f')](_0x4a97fc[_0x3771('0x14')][_0xcfef01['id']],_0xcfef01);}}}return _0x4a97fc[_0x3771('0x14')];};};Realtime[_0x3771('0x3e')][_0x3771('0x47')]=function(){var _0x317606=this;return function(_0x68a76){if(_0x68a76){freeIsNotKey(_0x68a76,_0x317606['templates'],'id');for(var _0x40df35=0x0,_0x178bff={},_0x4460b4={};_0x40df35<_0x68a76['length'];_0x40df35+=0x1){_0x178bff=_0x68a76[_0x40df35];if(_[_0x3771('0x42')](_0x317606[_0x3771('0x16')][_0x178bff['id']])){_0x317606['templates'][_0x178bff['id']]=new Template(_0x178bff);}else{_0x317606['mergeFromDatabase'](_0x317606[_0x3771('0x16')][_0x178bff['id']],_0x178bff);}}}return _0x317606[_0x3771('0x16')];};};Realtime['prototype']['initZendeskAccounts']=function(){var _0x45413c=this;return function(_0x113f96){if(_0x113f96){freeIsNotKey(_0x113f96,_0x45413c[_0x3771('0x48')],'id');for(var _0x5c008e=0x0,_0x565d88={},_0x18d175={};_0x5c008e<_0x113f96[_0x3771('0x41')];_0x5c008e+=0x1){_0x565d88=_0x113f96[_0x5c008e];if(_[_0x3771('0x42')](_0x45413c[_0x3771('0x48')][_0x565d88['id']])){_0x45413c[_0x3771('0x48')][_0x565d88['id']]=new ZendeskAccount(_0x565d88);}else{_0x45413c[_0x3771('0x3f')](_0x45413c[_0x3771('0x48')][_0x565d88['id']],_0x565d88);}}}return _0x45413c[_0x3771('0x48')];};};Realtime[_0x3771('0x3e')][_0x3771('0x49')]=function(){var _0x3607fa=this;return function(_0x2877c2){if(_0x2877c2){freeIsNotKey(_0x2877c2,_0x3607fa[_0x3771('0x4a')],'id');for(var _0x1720f2=0x0,_0x1e05f7={},_0x543776={};_0x1720f2<_0x2877c2['length'];_0x1720f2+=0x1){_0x1e05f7=_0x2877c2[_0x1720f2];if(_['isUndefined'](_0x3607fa[_0x3771('0x4a')][_0x1e05f7['id']])){_0x3607fa['salesforceAccounts'][_0x1e05f7['id']]=new SalesforceAccount(_0x1e05f7);}else{_0x3607fa['mergeFromDatabase'](_0x3607fa[_0x3771('0x4a')][_0x1e05f7['id']],_0x1e05f7);}}}return _0x3607fa[_0x3771('0x4a')];};};Realtime[_0x3771('0x3e')][_0x3771('0x4b')]=function(){var _0x587066=this;return function(_0x2b8b72){if(_0x2b8b72){freeIsNotKey(_0x2b8b72,_0x587066['freshdeskAccounts'],'id');for(var _0x4e3a4d=0x0,_0x40074e={},_0x142c5c={};_0x4e3a4d<_0x2b8b72[_0x3771('0x41')];_0x4e3a4d+=0x1){_0x40074e=_0x2b8b72[_0x4e3a4d];if(_[_0x3771('0x42')](_0x587066[_0x3771('0x4c')][_0x40074e['id']])){_0x587066[_0x3771('0x4c')][_0x40074e['id']]=new FreshdeskAccount(_0x40074e);}else{_0x587066[_0x3771('0x3f')](_0x587066[_0x3771('0x4c')][_0x40074e['id']],_0x40074e);}}}return _0x587066[_0x3771('0x4c')];};};Realtime[_0x3771('0x3e')][_0x3771('0x4d')]=function(){var _0x2bbf1c=this;return function(_0x573f62){if(_0x573f62){freeIsNotKey(_0x573f62,_0x2bbf1c[_0x3771('0x4e')],'id');for(var _0x5acb6d=0x0,_0x1d2d17={},_0x12b9e0={};_0x5acb6d<_0x573f62[_0x3771('0x41')];_0x5acb6d+=0x1){_0x1d2d17=_0x573f62[_0x5acb6d];if(_['isUndefined'](_0x2bbf1c[_0x3771('0x4e')][_0x1d2d17['id']])){_0x2bbf1c['zohoAccounts'][_0x1d2d17['id']]=new ZohoAccount(_0x1d2d17);}else{_0x2bbf1c['mergeFromDatabase'](_0x2bbf1c['zohoAccounts'][_0x1d2d17['id']],_0x1d2d17);}}}return _0x2bbf1c[_0x3771('0x4e')];};};Realtime[_0x3771('0x3e')]['initDeskAccounts']=function(){var _0xf1e9cb=this;return function(_0x5cba73){if(_0x5cba73){freeIsNotKey(_0x5cba73,_0xf1e9cb[_0x3771('0x1e')],'id');for(var _0x102eaa=0x0,_0x192be9={},_0x2163b3={};_0x102eaa<_0x5cba73[_0x3771('0x41')];_0x102eaa+=0x1){_0x192be9=_0x5cba73[_0x102eaa];if(_['isUndefined'](_0xf1e9cb[_0x3771('0x1e')][_0x192be9['id']])){_0xf1e9cb[_0x3771('0x1e')][_0x192be9['id']]=new DeskAccount(_0x192be9);}else{_0xf1e9cb[_0x3771('0x3f')](_0xf1e9cb[_0x3771('0x1e')][_0x192be9['id']],_0x192be9);}}}return _0xf1e9cb[_0x3771('0x1e')];};};Realtime['prototype'][_0x3771('0x4f')]=function(){var _0x2115a4=this;return function(_0x4c1bc7){if(_0x4c1bc7){freeIsNotKey(_0x4c1bc7,_0x2115a4['sugarcrmAccounts'],'id');for(var _0x1348eb=0x0,_0x2cb83e={},_0x313c82={};_0x1348eb<_0x4c1bc7[_0x3771('0x41')];_0x1348eb+=0x1){_0x2cb83e=_0x4c1bc7[_0x1348eb];if(_[_0x3771('0x42')](_0x2115a4['sugarcrmAccounts'][_0x2cb83e['id']])){_0x2115a4['sugarcrmAccounts'][_0x2cb83e['id']]=new SugarcrmAccount(_0x2cb83e);}else{_0x2115a4['mergeFromDatabase'](_0x2115a4[_0x3771('0x1d')][_0x2cb83e['id']],_0x2cb83e);}}}return _0x2115a4[_0x3771('0x1d')];};};Realtime[_0x3771('0x3e')][_0x3771('0x50')]=function(){var _0x1d9414=this;return function(_0x4cbea4){if(_0x4cbea4){freeIsNotKey(_0x4cbea4,_0x1d9414[_0x3771('0x1f')],'id');for(var _0x27240e=0x0,_0x4a2d60={},_0x1d00f4={};_0x27240e<_0x4cbea4[_0x3771('0x41')];_0x27240e+=0x1){_0x4a2d60=_0x4cbea4[_0x27240e];if(_[_0x3771('0x42')](_0x1d9414[_0x3771('0x1f')][_0x4a2d60['id']])){_0x1d9414['vtigerAccounts'][_0x4a2d60['id']]=new VtigerAccount(_0x4a2d60);}else{_0x1d9414[_0x3771('0x3f')](_0x1d9414[_0x3771('0x1f')][_0x4a2d60['id']],_0x4a2d60);}}}return _0x1d9414[_0x3771('0x1f')];};};Realtime[_0x3771('0x3e')][_0x3771('0x51')]=function(){var _0x447769=this;return function(_0x22fe2a){if(_0x22fe2a){freeIsNotKey(_0x22fe2a,_0x447769['servicenowAccounts'],'id');for(var _0x2010aa=0x0,_0x3f2660={},_0x43f71e={};_0x2010aa<_0x22fe2a[_0x3771('0x41')];_0x2010aa+=0x1){_0x3f2660=_0x22fe2a[_0x2010aa];if(_['isUndefined'](_0x447769[_0x3771('0x20')][_0x3f2660['id']])){_0x447769[_0x3771('0x20')][_0x3f2660['id']]=new ServicenowAccount(_0x3f2660);}else{_0x447769['mergeFromDatabase'](_0x447769['servicenowAccounts'][_0x3f2660['id']],_0x3f2660);}}}return _0x447769[_0x3771('0x20')];};};Realtime[_0x3771('0x3e')][_0x3771('0x52')]=function(){var _0x29705b=this;return function(_0x48df9f){if(_0x48df9f){freeIsNotKey(_0x48df9f,_0x29705b[_0x3771('0x21')],'id');for(var _0x50c54b=0x0,_0x36af2d={},_0x1b6337={};_0x50c54b<_0x48df9f[_0x3771('0x41')];_0x50c54b+=0x1){_0x36af2d=_0x48df9f[_0x50c54b];if(_['isUndefined'](_0x29705b[_0x3771('0x21')][_0x36af2d['id']])){_0x29705b[_0x3771('0x21')][_0x36af2d['id']]=new Dynamics365Account(_0x36af2d);}else{_0x29705b[_0x3771('0x3f')](_0x29705b[_0x3771('0x21')][_0x36af2d['id']],_0x36af2d);}}}return _0x29705b['dynamics365Accounts'];};};Realtime[_0x3771('0x3e')][_0x3771('0x53')]=function(){var _0x4ae6b2=this;return function(_0x3c0e49){if(_0x3c0e49){freeIsNotKey(_0x3c0e49,_0x4ae6b2[_0x3771('0x22')],'id');for(var _0x53717d=0x0,_0x20008f={},_0x238b71={};_0x53717d<_0x3c0e49['length'];_0x53717d+=0x1){_0x20008f=_0x3c0e49[_0x53717d];if(_[_0x3771('0x42')](_0x4ae6b2['freshsalesAccounts'][_0x20008f['id']])){_0x4ae6b2[_0x3771('0x22')][_0x20008f['id']]=new FreshsalesAccount(_0x20008f);}else{_0x4ae6b2['mergeFromDatabase'](_0x4ae6b2[_0x3771('0x22')][_0x20008f['id']],_0x20008f);}}}return _0x4ae6b2[_0x3771('0x22')];};};Realtime[_0x3771('0x3e')][_0x3771('0x54')]=function(){var _0x4d5432=this;return function(_0x1e5543){for(var _0x58fa99=0x0;_0x58fa99<_0x1e5543['length'];_0x58fa99+=0x1){_[_0x3771('0x55')](_0x4d5432['voiceQueues'][_0x1e5543[_0x58fa99][_0x3771('0x28')]],_0x1e5543[_0x58fa99]);}return _0x4d5432['voiceQueues'];};};Realtime['prototype'][_0x3771('0x56')]=function(){var _0x4c89a1=this;return function(_0x12eeb4){clearVoiceQueues(_0x4c89a1[_0x3771('0x13')]);if(_0x12eeb4){_0x12eeb4=_[_0x3771('0x57')](_0x12eeb4,_0x3771('0x58'));for(var _0x270076 in _0x12eeb4){if(_0x12eeb4[_0x3771('0x25')](_0x270076)){var _0x51b468={};for(var _0x46bf98=0x0;_0x46bf98<_0x12eeb4[_0x270076][_0x3771('0x41')];_0x46bf98+=0x1){var _0x55239e=_0x12eeb4[_0x270076][_0x46bf98]['queue'];if(_0x4c89a1[_0x3771('0x13')][_0x55239e]){if(_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x59')]){_0x4c89a1[_0x3771('0x13')][_0x55239e][_0x3771('0x31')]+=0x1;}if(_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x5a')]){_0x4c89a1[_0x3771('0x13')][_0x55239e][_0x3771('0x32')]+=0x1;}_0x4c89a1[_0x3771('0x13')][_0x55239e]['sumHoldTime']+=moment(_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x5b')])['diff'](moment(_0x12eeb4[_0x270076][_0x46bf98]['queuecallerjoinAt']),_0x3771('0x5c'))||0x0;if(_0x46bf98===_0x12eeb4[_0x270076][_0x3771('0x41')]-0x1){_0x4c89a1['voiceQueues'][_0x55239e][_0x3771('0x2d')]+=moment(_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x5d')]||_0x12eeb4[_0x270076][_0x46bf98]['queuecallerabandonAt']||_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x5e')])['diff'](moment(_0x12eeb4[_0x270076][_0x46bf98]['queuecallerjoinAt']),'seconds')||0x0;_0x4c89a1[_0x3771('0x13')][_0x55239e]['total']+=0x1;if(_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x5f')]){_0x4c89a1['voiceQueues'][_0x55239e]['answered']+=0x1;_0x4c89a1['voiceQueues'][_0x55239e]['sumBillable']+=moment(_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x5d')])[_0x3771('0x60')](moment(_0x12eeb4[_0x270076][_0x46bf98][_0x3771('0x5b')]),_0x3771('0x5c'))||0x0;}}else{_0x4c89a1[_0x3771('0x13')][_0x55239e][_0x3771('0x2d')]+=_0x4c89a1[_0x3771('0x13')][_0x55239e][_0x3771('0x2c')]||0x0;}}}}}}return _0x4c89a1[_0x3771('0x13')];};};Realtime['prototype'][_0x3771('0x61')]=function(){var _0x41de9e=this;return function(_0x52bf82){clearVoiceCallReports(_0x41de9e[_0x3771('0x17')]);if(_0x52bf82){for(var _0xffc0a5=0x0;_0xffc0a5<_0x52bf82[_0x3771('0x41')];_0xffc0a5+=0x1){_0x41de9e['outbound'][_0x3771('0x2b')]+=0x1;_0x41de9e[_0x3771('0x17')][_0x3771('0x2d')]+=_0x52bf82[_0xffc0a5][_0x3771('0x62')];if(_0x52bf82[_0xffc0a5][_0x3771('0x63')]==='ANSWERED'){_0x41de9e[_0x3771('0x17')][_0x3771('0x30')]+=0x1;_0x41de9e[_0x3771('0x17')][_0x3771('0x2c')]+=_0x52bf82[_0xffc0a5][_0x3771('0x62')]-_0x52bf82[_0xffc0a5]['billableseconds']||0x0;_0x41de9e[_0x3771('0x17')][_0x3771('0x64')]+=_0x52bf82[_0xffc0a5][_0x3771('0x65')];}}}return _0x41de9e[_0x3771('0x17')];};};Realtime['prototype'][_0x3771('0x66')]=function(){var _0x59e2fe=this;return function(_0x3a62d9){if(_0x3a62d9){freeIsNotKey(_0x3a62d9,_0x59e2fe[_0x3771('0x15')],_0x3771('0x28'));for(var _0x4597e6=0x0,_0x3af570={};_0x4597e6<_0x3a62d9['length'];_0x4597e6+=0x1){_0x3af570=_0x3a62d9[_0x4597e6];if(_[_0x3771('0x42')](_0x59e2fe['campaigns'][_0x3af570['name']])){_0x59e2fe[_0x3771('0x15')][_0x3af570[_0x3771('0x28')]]=new Campaign(_0x3af570);}else{_0x59e2fe[_0x3771('0x3f')](_0x59e2fe[_0x3771('0x15')][_0x3af570[_0x3771('0x28')]],_0x3af570);_0x59e2fe['campaigns'][_0x3af570[_0x3771('0x28')]][_0x3771('0x67')]=_0x3af570[_0x3771('0x68')]?_0x3af570[_0x3771('0x68')][_0x3771('0x28')]:undefined;}}}return _0x59e2fe[_0x3771('0x15')];};};Realtime[_0x3771('0x3e')][_0x3771('0x69')]=function(){var _0x464b5c=this;return function(_0x26e20c){if(_0x26e20c){freeIsNotKey(_0x26e20c,_0x464b5c[_0x3771('0x18')],'id');for(var _0x211ff2=0x0,_0x1727ee={};_0x211ff2<_0x26e20c['length'];_0x211ff2+=0x1){_0x1727ee=_0x26e20c[_0x211ff2];if(_['isUndefined'](_0x464b5c['voiceExtensions'][_0x1727ee['id']])){_0x464b5c['voiceExtensions'][_0x1727ee['id']]=new VoiceExtension(_0x1727ee);}else{_0x464b5c[_0x3771('0x3f')](_0x464b5c['voiceExtensions'][_0x1727ee['id']],_0x1727ee);}}}return _0x464b5c[_0x3771('0x18')];};};Realtime[_0x3771('0x3e')]['initCampaignHopperHistory']=function(){var _0xb45269=this;return function(_0x8399ea){clearCampaigns(_0xb45269[_0x3771('0x15')]);for(var _0x50bcd9=0x0;_0x50bcd9<_0x8399ea[_0x3771('0x41')];_0x50bcd9+=0x1){_[_0x3771('0x55')](_0xb45269[_0x3771('0x15')][_0x8399ea[_0x50bcd9]['name']],_0x8399ea[_0x50bcd9]);}return _0xb45269[_0x3771('0x15')];};};Realtime[_0x3771('0x3e')]['initFaxAccounts']=function(){var _0x12580d=this;return function(_0x266e69){if(_0x266e69){freeIsNotKey(_0x266e69,_0x12580d[_0x3771('0x23')],'id');for(var _0xd1879d=0x0,_0x4a8778={},_0x1a37b9={};_0xd1879d<_0x266e69[_0x3771('0x41')];_0xd1879d+=0x1){_0x4a8778=_0x266e69[_0xd1879d];if(_[_0x3771('0x42')](_0x12580d[_0x3771('0x23')][_0x4a8778['id']])){_0x12580d['faxAccounts'][_0x4a8778['id']]=new FaxAccount(_0x4a8778);}else{_0x12580d[_0x3771('0x3f')](_0x12580d[_0x3771('0x23')][_0x4a8778['id']],_0x4a8778);}}}return _0x12580d[_0x3771('0x23')];};};module[_0x3771('0x6a')]=Realtime;