Built motion from commit (unavailable).|2.5.3
[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 _0x70ed=['exports','bluebird','util','lodash','moment','../model/agent','../model/trunk','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/freshsalesAccount','../model/faxAccount','agents','trunks','voiceQueues','triggers','campaigns','templates','outbound','channels','queueChannels','outboundChannels','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','hasOwnProperty','mapKeys','SIP/%s','name','isNil','format','interface','total','answered','sumHoldTime','sumDuration','ivrTotalCallsDays','ivrAnswerCallsDay','isEmpty','abandoned','sumBillable','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','mergeFromDatabase','prototype','length','telephones','initTrunks','isUndefined','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initDynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','unmanaged','queuecallerabandon','queuecallerleaveAt','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','diff','queuecallercomplete','initVoiceCallReports','disposition','duration','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','voiceExtensions'];(function(_0x164b84,_0x5296d2){var _0x46822b=function(_0x3998d8){while(--_0x3998d8){_0x164b84['push'](_0x164b84['shift']());}};_0x46822b(++_0x5296d2);}(_0x70ed,0x1b5));var _0xd70e=function(_0x263a2f,_0x1e81e3){_0x263a2f=_0x263a2f-0x0;var _0x8020e8=_0x70ed[_0x263a2f];return _0x8020e8;};'use strict';var BPromise=require(_0xd70e('0x0'));var util=require(_0xd70e('0x1'));var _=require(_0xd70e('0x2'));var moment=require(_0xd70e('0x3'));var Agent=require(_0xd70e('0x4'));var Telephone=require('../model/telephone');var Trunk=require(_0xd70e('0x5'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0xd70e('0x6'));var Template=require(_0xd70e('0x7'));var Campaign=require(_0xd70e('0x8'));var VoiceExtension=require(_0xd70e('0x9'));var ZendeskAccount=require(_0xd70e('0xa'));var SalesforceAccount=require(_0xd70e('0xb'));var FreshdeskAccount=require(_0xd70e('0xc'));var SugarcrmAccount=require(_0xd70e('0xd'));var ZohoAccount=require('../model/zohoAccount');var DeskAccount=require(_0xd70e('0xe'));var VtigerAccount=require(_0xd70e('0xf'));var ServicenowAccount=require(_0xd70e('0x10'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require(_0xd70e('0x11'));var FaxAccount=require(_0xd70e('0x12'));var Realtime=function(){this[_0xd70e('0x13')]={};this['telephones']={};this[_0xd70e('0x14')]={};this[_0xd70e('0x15')]={};this[_0xd70e('0x16')]={};this[_0xd70e('0x17')]={};this[_0xd70e('0x18')]={};this[_0xd70e('0x19')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0xd70e('0x1a')]={};this[_0xd70e('0x1b')]={};this[_0xd70e('0x1c')]={};this[_0xd70e('0x1d')]={};this[_0xd70e('0x1e')]={};this[_0xd70e('0x1f')]={};this[_0xd70e('0x20')]={};this[_0xd70e('0x21')]={};this['zohoAccounts']={};this[_0xd70e('0x22')]={};this['vtigerAccounts']={};this[_0xd70e('0x23')]={};this[_0xd70e('0x24')]={};this['freshsalesAccounts']={};this[_0xd70e('0x25')]={};};function freeIsNotKey(_0xa2d53b,_0x3872bd,_0x221f5f){var _0x1f20b2=_['mapKeys'](_0xa2d53b,function(_0x26c29f,_0xa48a20){return _0x26c29f[_0x221f5f];});for(var _0x4be686 in _0x3872bd){if(_0x3872bd[_0xd70e('0x26')](_0x4be686)){if(!_0x1f20b2[_0x4be686]){delete _0x3872bd[_0x4be686];}}}}function freeIsNotKeySip(_0x2ea429,_0x4b3730){var _0x291c0c=_[_0xd70e('0x27')](_0x2ea429,function(_0x37f8fd,_0x5b32d6){return util['format'](_0xd70e('0x28'),_0x37f8fd[_0xd70e('0x29')]);});for(var _0x38f67f in _0x4b3730){if(_0x4b3730[_0xd70e('0x26')](_0x38f67f)){if(!_0x291c0c[_0x38f67f]){delete _0x4b3730[_0x38f67f];}}}}function freeIsNotKeyAgent(_0x318fe4,_0x58ceea){var _0x84edb=_['mapKeys'](_0x318fe4,function(_0x2a4a0a,_0x553394){var _0x2c03e3=_[_0xd70e('0x2a')](_0x2a4a0a['interface'])?util[_0xd70e('0x2b')](_0xd70e('0x28'),_0x2a4a0a[_0xd70e('0x29')]):_0x2a4a0a[_0xd70e('0x2c')];return _0x2c03e3;});for(var _0x417f2f in _0x58ceea){if(_0x58ceea['hasOwnProperty'](_0x417f2f)){if(!_0x84edb[_0x417f2f]){delete _0x58ceea[_0x417f2f];}}}}function clearVoiceCallReports(_0x457b2b){_0x457b2b[_0xd70e('0x2d')]=0x0;_0x457b2b[_0xd70e('0x2e')]=0x0;_0x457b2b[_0xd70e('0x2f')]=0x0;_0x457b2b[_0xd70e('0x30')]=0x0;_0x457b2b['sumBillable']=0x0;}function clearCampaigns(_0xd76889){if(!_['isEmpty'](_0xd76889)){for(var _0x169465 in _0xd76889){if(_0xd76889[_0xd70e('0x26')](_0x169465)){_0xd76889[_0x169465][_0xd70e('0x31')]=0x0;_0xd76889[_0x169465][_0xd70e('0x32')]=0x0;}}}}function clearVoiceQueues(_0x493e34){if(!_[_0xd70e('0x33')](_0x493e34)){for(var _0x12cf3c in _0x493e34){if(_0x493e34[_0xd70e('0x26')](_0x12cf3c)){_0x493e34[_0x12cf3c][_0xd70e('0x2d')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x2e')]=0x0;_0x493e34[_0x12cf3c]['unmanaged']=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x34')]=0x0;_0x493e34[_0x12cf3c]['sumHoldTime']=0x0;_0x493e34[_0x12cf3c]['sumDuration']=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x35')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x36')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x37')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x38')]=0x0;_0x493e34[_0x12cf3c]['outboundCongestionCallsDay']=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x39')]=0x0;_0x493e34[_0x12cf3c]['outboundUnknownCallsDay']=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x3a')]=0x0;_0x493e34[_0x12cf3c]['outboundDropCallsDayCallersExit']=0x0;_0x493e34[_0x12cf3c]['outboundBlacklistCallsDay']=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x3b')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x3c')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x3d')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x36')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x3e')]=0x0;_0x493e34[_0x12cf3c][_0xd70e('0x3f')]=!![];}}}}Realtime['prototype'][_0xd70e('0x40')]=function(_0x42f78e,_0x1c38bd){for(var _0x56eb4d in _0x1c38bd){if(_0x42f78e[_0xd70e('0x26')](_0x56eb4d)){_0x42f78e[_0x56eb4d]=_0x1c38bd[_0x56eb4d];}}};Realtime[_0xd70e('0x41')]['initAgents']=function(){var _0x37777c=this;return function(_0x140b34){if(_0x140b34){freeIsNotKeyAgent(_0x140b34,_0x37777c[_0xd70e('0x13')]);for(var _0x4b30c5=0x0,_0x28e2cb={},_0x5ef330={};_0x4b30c5<_0x140b34[_0xd70e('0x42')];_0x4b30c5+=0x1){_0x28e2cb=_0x140b34[_0x4b30c5];var _0x1dccc9=_[_0xd70e('0x2a')](_0x28e2cb['interface'])?util[_0xd70e('0x2b')](_0xd70e('0x28'),_0x28e2cb['name']):_0x28e2cb[_0xd70e('0x2c')];if(_['isUndefined'](_0x37777c[_0xd70e('0x13')][_0x1dccc9])){_0x37777c[_0xd70e('0x13')][_0x1dccc9]=new Agent(_0x28e2cb);}else{_0x37777c[_0xd70e('0x40')](_0x37777c[_0xd70e('0x13')][_0x1dccc9],_0x28e2cb);}}}return _0x37777c[_0xd70e('0x13')];};};Realtime[_0xd70e('0x41')]['initTelephones']=function(){var _0x4f8a59=this;return function(_0x2cbd27){if(_0x2cbd27){freeIsNotKeySip(_0x2cbd27,_0x4f8a59[_0xd70e('0x43')]);for(var _0x2d473f=0x0,_0x580290={},_0x4fddf1={};_0x2d473f<_0x2cbd27['length'];_0x2d473f+=0x1){_0x580290=_0x2cbd27[_0x2d473f];if(_['isUndefined'](_0x4f8a59[_0xd70e('0x43')][util[_0xd70e('0x2b')]('SIP/%s',_0x580290[_0xd70e('0x29')])])){_0x4f8a59[_0xd70e('0x43')][util[_0xd70e('0x2b')](_0xd70e('0x28'),_0x580290[_0xd70e('0x29')])]=new Telephone(_0x580290);}else{_0x4f8a59[_0xd70e('0x40')](_0x4f8a59['telephones'][util[_0xd70e('0x2b')](_0xd70e('0x28'),_0x580290['name'])],_0x580290);}}}return _0x4f8a59[_0xd70e('0x43')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x44')]=function(){var _0x1bd314=this;return function(_0x22a6d6){if(_0x22a6d6){freeIsNotKeySip(_0x22a6d6,_0x1bd314[_0xd70e('0x14')]);for(var _0x3edeba=0x0,_0x76d76a={},_0x285497={};_0x3edeba<_0x22a6d6['length'];_0x3edeba+=0x1){_0x76d76a=_0x22a6d6[_0x3edeba];if(_[_0xd70e('0x45')](_0x1bd314['trunks'][util['format']('SIP/%s',_0x76d76a[_0xd70e('0x29')])])){_0x1bd314[_0xd70e('0x14')][util['format'](_0xd70e('0x28'),_0x76d76a['name'])]=new Trunk(_0x76d76a);}else{_0x1bd314['mergeFromDatabase'](_0x1bd314[_0xd70e('0x14')][util[_0xd70e('0x2b')](_0xd70e('0x28'),_0x76d76a[_0xd70e('0x29')])],_0x76d76a);}}}return _0x1bd314[_0xd70e('0x14')];};};Realtime['prototype'][_0xd70e('0x46')]=function(){var _0x2d3dad=this;return function(_0x1fba18){if(_0x1fba18){freeIsNotKey(_0x1fba18,_0x2d3dad[_0xd70e('0x15')],_0xd70e('0x29'));for(var _0x12b393=0x0,_0x160923={},_0x297e63={};_0x12b393<_0x1fba18['length'];_0x12b393+=0x1){_0x160923=_0x1fba18[_0x12b393];if(_[_0xd70e('0x45')](_0x2d3dad['voiceQueues'][_0x160923[_0xd70e('0x29')]])){_0x2d3dad[_0xd70e('0x15')][_0x160923['name']]=new VoiceQueue(_0x160923);}else{_0x2d3dad['mergeFromDatabase'](_0x2d3dad[_0xd70e('0x15')][_0x160923[_0xd70e('0x29')]],_0x160923);}}}return _0x2d3dad['voiceQueues'];};};Realtime[_0xd70e('0x41')][_0xd70e('0x47')]=function(){var _0x546452=this;return function(_0x33968c){if(_0x33968c){freeIsNotKey(_0x33968c,_0x546452[_0xd70e('0x16')],'id');for(var _0x5e830a=0x0,_0x136433={},_0x210389={};_0x5e830a<_0x33968c['length'];_0x5e830a+=0x1){_0x136433=_0x33968c[_0x5e830a];if(_[_0xd70e('0x45')](_0x546452['triggers'][_0x136433['id']])){_0x546452[_0xd70e('0x16')][_0x136433['id']]=new Trigger(_0x136433);}else{_0x546452[_0xd70e('0x40')](_0x546452[_0xd70e('0x16')][_0x136433['id']],_0x136433);}}}return _0x546452['triggers'];};};Realtime['prototype'][_0xd70e('0x48')]=function(){var _0xcb0de0=this;return function(_0x38c76e){if(_0x38c76e){freeIsNotKey(_0x38c76e,_0xcb0de0['templates'],'id');for(var _0x428522=0x0,_0x2e7fb0={},_0x1d53ca={};_0x428522<_0x38c76e[_0xd70e('0x42')];_0x428522+=0x1){_0x2e7fb0=_0x38c76e[_0x428522];if(_[_0xd70e('0x45')](_0xcb0de0[_0xd70e('0x18')][_0x2e7fb0['id']])){_0xcb0de0[_0xd70e('0x18')][_0x2e7fb0['id']]=new Template(_0x2e7fb0);}else{_0xcb0de0['mergeFromDatabase'](_0xcb0de0[_0xd70e('0x18')][_0x2e7fb0['id']],_0x2e7fb0);}}}return _0xcb0de0[_0xd70e('0x18')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x49')]=function(){var _0x41a91a=this;return function(_0x51361e){if(_0x51361e){freeIsNotKey(_0x51361e,_0x41a91a[_0xd70e('0x1e')],'id');for(var _0x5000bc=0x0,_0x206767={},_0x43c443={};_0x5000bc<_0x51361e['length'];_0x5000bc+=0x1){_0x206767=_0x51361e[_0x5000bc];if(_[_0xd70e('0x45')](_0x41a91a[_0xd70e('0x1e')][_0x206767['id']])){_0x41a91a[_0xd70e('0x1e')][_0x206767['id']]=new ZendeskAccount(_0x206767);}else{_0x41a91a[_0xd70e('0x40')](_0x41a91a[_0xd70e('0x1e')][_0x206767['id']],_0x206767);}}}return _0x41a91a[_0xd70e('0x1e')];};};Realtime['prototype'][_0xd70e('0x4a')]=function(){var _0x44e99f=this;return function(_0x552efc){if(_0x552efc){freeIsNotKey(_0x552efc,_0x44e99f[_0xd70e('0x1f')],'id');for(var _0x10a00f=0x0,_0x41027f={},_0x16e90b={};_0x10a00f<_0x552efc[_0xd70e('0x42')];_0x10a00f+=0x1){_0x41027f=_0x552efc[_0x10a00f];if(_['isUndefined'](_0x44e99f[_0xd70e('0x1f')][_0x41027f['id']])){_0x44e99f[_0xd70e('0x1f')][_0x41027f['id']]=new SalesforceAccount(_0x41027f);}else{_0x44e99f['mergeFromDatabase'](_0x44e99f[_0xd70e('0x1f')][_0x41027f['id']],_0x41027f);}}}return _0x44e99f[_0xd70e('0x1f')];};};Realtime[_0xd70e('0x41')]['initFreshdeskAccounts']=function(){var _0x13e103=this;return function(_0x2d80fa){if(_0x2d80fa){freeIsNotKey(_0x2d80fa,_0x13e103[_0xd70e('0x21')],'id');for(var _0x335701=0x0,_0x290eae={},_0x32272c={};_0x335701<_0x2d80fa[_0xd70e('0x42')];_0x335701+=0x1){_0x290eae=_0x2d80fa[_0x335701];if(_[_0xd70e('0x45')](_0x13e103[_0xd70e('0x21')][_0x290eae['id']])){_0x13e103['freshdeskAccounts'][_0x290eae['id']]=new FreshdeskAccount(_0x290eae);}else{_0x13e103[_0xd70e('0x40')](_0x13e103[_0xd70e('0x21')][_0x290eae['id']],_0x290eae);}}}return _0x13e103[_0xd70e('0x21')];};};Realtime[_0xd70e('0x41')]['initZohoAccounts']=function(){var _0x4efef9=this;return function(_0x1f03ec){if(_0x1f03ec){freeIsNotKey(_0x1f03ec,_0x4efef9[_0xd70e('0x4b')],'id');for(var _0x5e0016=0x0,_0x291580={},_0x1be960={};_0x5e0016<_0x1f03ec['length'];_0x5e0016+=0x1){_0x291580=_0x1f03ec[_0x5e0016];if(_[_0xd70e('0x45')](_0x4efef9[_0xd70e('0x4b')][_0x291580['id']])){_0x4efef9[_0xd70e('0x4b')][_0x291580['id']]=new ZohoAccount(_0x291580);}else{_0x4efef9['mergeFromDatabase'](_0x4efef9[_0xd70e('0x4b')][_0x291580['id']],_0x291580);}}}return _0x4efef9[_0xd70e('0x4b')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x4c')]=function(){var _0x296edf=this;return function(_0x192a5a){if(_0x192a5a){freeIsNotKey(_0x192a5a,_0x296edf[_0xd70e('0x22')],'id');for(var _0x34f0ed=0x0,_0x23d04c={},_0x5e8b1c={};_0x34f0ed<_0x192a5a[_0xd70e('0x42')];_0x34f0ed+=0x1){_0x23d04c=_0x192a5a[_0x34f0ed];if(_[_0xd70e('0x45')](_0x296edf[_0xd70e('0x22')][_0x23d04c['id']])){_0x296edf['deskAccounts'][_0x23d04c['id']]=new DeskAccount(_0x23d04c);}else{_0x296edf[_0xd70e('0x40')](_0x296edf[_0xd70e('0x22')][_0x23d04c['id']],_0x23d04c);}}}return _0x296edf[_0xd70e('0x22')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x4d')]=function(){var _0xc5758=this;return function(_0x4ad73d){if(_0x4ad73d){freeIsNotKey(_0x4ad73d,_0xc5758[_0xd70e('0x20')],'id');for(var _0x4681d9=0x0,_0x3f5730={},_0x54e4b2={};_0x4681d9<_0x4ad73d[_0xd70e('0x42')];_0x4681d9+=0x1){_0x3f5730=_0x4ad73d[_0x4681d9];if(_['isUndefined'](_0xc5758[_0xd70e('0x20')][_0x3f5730['id']])){_0xc5758['sugarcrmAccounts'][_0x3f5730['id']]=new SugarcrmAccount(_0x3f5730);}else{_0xc5758['mergeFromDatabase'](_0xc5758[_0xd70e('0x20')][_0x3f5730['id']],_0x3f5730);}}}return _0xc5758['sugarcrmAccounts'];};};Realtime['prototype'][_0xd70e('0x4e')]=function(){var _0x5d0746=this;return function(_0x34867a){if(_0x34867a){freeIsNotKey(_0x34867a,_0x5d0746[_0xd70e('0x4f')],'id');for(var _0x579a5b=0x0,_0x355572={},_0x1c35ae={};_0x579a5b<_0x34867a[_0xd70e('0x42')];_0x579a5b+=0x1){_0x355572=_0x34867a[_0x579a5b];if(_[_0xd70e('0x45')](_0x5d0746['vtigerAccounts'][_0x355572['id']])){_0x5d0746[_0xd70e('0x4f')][_0x355572['id']]=new VtigerAccount(_0x355572);}else{_0x5d0746[_0xd70e('0x40')](_0x5d0746[_0xd70e('0x4f')][_0x355572['id']],_0x355572);}}}return _0x5d0746[_0xd70e('0x4f')];};};Realtime[_0xd70e('0x41')]['initServicenowAccounts']=function(){var _0x553841=this;return function(_0x5471a6){if(_0x5471a6){freeIsNotKey(_0x5471a6,_0x553841[_0xd70e('0x23')],'id');for(var _0xde12b9=0x0,_0x5812be={},_0x23fb35={};_0xde12b9<_0x5471a6['length'];_0xde12b9+=0x1){_0x5812be=_0x5471a6[_0xde12b9];if(_[_0xd70e('0x45')](_0x553841[_0xd70e('0x23')][_0x5812be['id']])){_0x553841['servicenowAccounts'][_0x5812be['id']]=new ServicenowAccount(_0x5812be);}else{_0x553841['mergeFromDatabase'](_0x553841[_0xd70e('0x23')][_0x5812be['id']],_0x5812be);}}}return _0x553841[_0xd70e('0x23')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x50')]=function(){var _0x67c8a4=this;return function(_0x4d624c){if(_0x4d624c){freeIsNotKey(_0x4d624c,_0x67c8a4[_0xd70e('0x24')],'id');for(var _0x5e36de=0x0,_0x384d06={},_0x2427b0={};_0x5e36de<_0x4d624c['length'];_0x5e36de+=0x1){_0x384d06=_0x4d624c[_0x5e36de];if(_[_0xd70e('0x45')](_0x67c8a4[_0xd70e('0x24')][_0x384d06['id']])){_0x67c8a4[_0xd70e('0x24')][_0x384d06['id']]=new Dynamics365Account(_0x384d06);}else{_0x67c8a4[_0xd70e('0x40')](_0x67c8a4[_0xd70e('0x24')][_0x384d06['id']],_0x384d06);}}}return _0x67c8a4[_0xd70e('0x24')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x51')]=function(){var _0x4a29e1=this;return function(_0x1d0079){if(_0x1d0079){freeIsNotKey(_0x1d0079,_0x4a29e1['freshsalesAccounts'],'id');for(var _0x1909a4=0x0,_0x129356={},_0x154821={};_0x1909a4<_0x1d0079['length'];_0x1909a4+=0x1){_0x129356=_0x1d0079[_0x1909a4];if(_['isUndefined'](_0x4a29e1[_0xd70e('0x52')][_0x129356['id']])){_0x4a29e1[_0xd70e('0x52')][_0x129356['id']]=new FreshsalesAccount(_0x129356);}else{_0x4a29e1[_0xd70e('0x40')](_0x4a29e1['freshsalesAccounts'][_0x129356['id']],_0x129356);}}}return _0x4a29e1[_0xd70e('0x52')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x53')]=function(){var _0x3eccd2=this;return function(_0x5a2f64){for(var _0x466825=0x0;_0x466825<_0x5a2f64[_0xd70e('0x42')];_0x466825+=0x1){_[_0xd70e('0x54')](_0x3eccd2['voiceQueues'][_0x5a2f64[_0x466825]['name']],_0x5a2f64[_0x466825]);}return _0x3eccd2['voiceQueues'];};};Realtime[_0xd70e('0x41')][_0xd70e('0x55')]=function(){var _0x2a516d=this;return function(_0x560419){clearVoiceQueues(_0x2a516d[_0xd70e('0x15')]);if(_0x560419){_0x560419=_[_0xd70e('0x56')](_0x560419,_0xd70e('0x57'));for(var _0x147f9d in _0x560419){if(_0x560419[_0xd70e('0x26')](_0x147f9d)){var _0x23ea7b={};for(var _0x4ce985=0x0;_0x4ce985<_0x560419[_0x147f9d][_0xd70e('0x42')];_0x4ce985+=0x1){var _0xe108b2=_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x58')];if(_0x2a516d[_0xd70e('0x15')][_0xe108b2]){if(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x59')]){_0x2a516d['voiceQueues'][_0xe108b2][_0xd70e('0x5a')]+=0x1;}if(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x5b')]){_0x2a516d['voiceQueues'][_0xe108b2]['abandoned']+=0x1;}_0x2a516d[_0xd70e('0x15')][_0xe108b2][_0xd70e('0x2f')]+=moment(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x5c')])['diff'](moment(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x5d')]),_0xd70e('0x5e'))||0x0;if(_0x4ce985===_0x560419[_0x147f9d]['length']-0x1){_0x2a516d[_0xd70e('0x15')][_0xe108b2]['sumDuration']+=moment(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x5f')]||_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x60')]||_0x560419[_0x147f9d][_0x4ce985]['queuecallerexitAt'])[_0xd70e('0x61')](moment(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x5d')]),_0xd70e('0x5e'))||0x0;_0x2a516d[_0xd70e('0x15')][_0xe108b2]['total']+=0x1;if(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x62')]){_0x2a516d[_0xd70e('0x15')][_0xe108b2]['answered']+=0x1;_0x2a516d[_0xd70e('0x15')][_0xe108b2][_0xd70e('0x35')]+=moment(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x5f')])[_0xd70e('0x61')](moment(_0x560419[_0x147f9d][_0x4ce985][_0xd70e('0x5c')]),'seconds')||0x0;}}else{_0x2a516d[_0xd70e('0x15')][_0xe108b2][_0xd70e('0x30')]+=_0x2a516d['voiceQueues'][_0xe108b2]['sumHoldTime']||0x0;}}}}}}return _0x2a516d[_0xd70e('0x15')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x63')]=function(){var _0x234018=this;return function(_0x2ee9df){clearVoiceCallReports(_0x234018[_0xd70e('0x19')]);if(_0x2ee9df){for(var _0x4094d0=0x0;_0x4094d0<_0x2ee9df[_0xd70e('0x42')];_0x4094d0+=0x1){_0x234018[_0xd70e('0x19')][_0xd70e('0x2d')]+=0x1;_0x234018[_0xd70e('0x19')][_0xd70e('0x30')]+=_0x2ee9df[_0x4094d0]['duration'];if(_0x2ee9df[_0x4094d0][_0xd70e('0x64')]==='ANSWERED'){_0x234018[_0xd70e('0x19')]['answered']+=0x1;_0x234018[_0xd70e('0x19')]['sumHoldTime']+=_0x2ee9df[_0x4094d0][_0xd70e('0x65')]-_0x2ee9df[_0x4094d0][_0xd70e('0x66')]||0x0;_0x234018[_0xd70e('0x19')]['sumBillable']+=_0x2ee9df[_0x4094d0][_0xd70e('0x66')];}}}return _0x234018[_0xd70e('0x19')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x67')]=function(){var _0x581879=this;return function(_0x1d6eb4){if(_0x1d6eb4){freeIsNotKey(_0x1d6eb4,_0x581879[_0xd70e('0x17')],'name');for(var _0x267d7b=0x0,_0x3b25d3={};_0x267d7b<_0x1d6eb4[_0xd70e('0x42')];_0x267d7b+=0x1){_0x3b25d3=_0x1d6eb4[_0x267d7b];if(_[_0xd70e('0x45')](_0x581879[_0xd70e('0x17')][_0x3b25d3[_0xd70e('0x29')]])){_0x581879[_0xd70e('0x17')][_0x3b25d3['name']]=new Campaign(_0x3b25d3);}else{_0x581879[_0xd70e('0x40')](_0x581879[_0xd70e('0x17')][_0x3b25d3[_0xd70e('0x29')]],_0x3b25d3);_0x581879[_0xd70e('0x17')][_0x3b25d3[_0xd70e('0x29')]][_0xd70e('0x68')]=_0x3b25d3[_0xd70e('0x69')]?_0x3b25d3[_0xd70e('0x69')][_0xd70e('0x29')]:undefined;}}}return _0x581879[_0xd70e('0x17')];};};Realtime[_0xd70e('0x41')][_0xd70e('0x6a')]=function(){var _0x9ffb91=this;return function(_0x460a3e){if(_0x460a3e){freeIsNotKey(_0x460a3e,_0x9ffb91['voiceExtensions'],'id');for(var _0x5894fb=0x0,_0x5daa2c={};_0x5894fb<_0x460a3e['length'];_0x5894fb+=0x1){_0x5daa2c=_0x460a3e[_0x5894fb];if(_['isUndefined'](_0x9ffb91[_0xd70e('0x6b')][_0x5daa2c['id']])){_0x9ffb91[_0xd70e('0x6b')][_0x5daa2c['id']]=new VoiceExtension(_0x5daa2c);}else{_0x9ffb91['mergeFromDatabase'](_0x9ffb91['voiceExtensions'][_0x5daa2c['id']],_0x5daa2c);}}}return _0x9ffb91[_0xd70e('0x6b')];};};Realtime[_0xd70e('0x41')]['initCampaignHopperHistory']=function(){var _0x22a620=this;return function(_0x5122b8){clearCampaigns(_0x22a620[_0xd70e('0x17')]);for(var _0x5e23f4=0x0;_0x5e23f4<_0x5122b8['length'];_0x5e23f4+=0x1){_[_0xd70e('0x54')](_0x22a620[_0xd70e('0x17')][_0x5122b8[_0x5e23f4][_0xd70e('0x29')]],_0x5122b8[_0x5e23f4]);}return _0x22a620[_0xd70e('0x17')];};};Realtime[_0xd70e('0x41')]['initFaxAccounts']=function(){var _0x5d6af3=this;return function(_0x1796e1){if(_0x1796e1){freeIsNotKey(_0x1796e1,_0x5d6af3['faxAccounts'],'id');for(var _0x1380f4=0x0,_0x278497={},_0x22f915={};_0x1380f4<_0x1796e1[_0xd70e('0x42')];_0x1380f4+=0x1){_0x278497=_0x1796e1[_0x1380f4];if(_[_0xd70e('0x45')](_0x5d6af3[_0xd70e('0x25')][_0x278497['id']])){_0x5d6af3[_0xd70e('0x25')][_0x278497['id']]=new FaxAccount(_0x278497);}else{_0x5d6af3[_0xd70e('0x40')](_0x5d6af3[_0xd70e('0x25')][_0x278497['id']],_0x278497);}}}return _0x5d6af3[_0xd70e('0x25')];};};module[_0xd70e('0x6c')]=Realtime;