Built motion from commit (unavailable).|2.5.21
[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 _0x1a2d=['../model/faxAccount','agents','trunks','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','interface','name','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrAnswerCallsDay','unmanaged','abandoned','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','isNil','isUndefined','initTelephones','telephones','length','initTrunks','initVoiceQueues','initTemplates','initZendeskAccounts','initSalesforceAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','groupBy','uniqueid','queuecallerexit','queuecallerabandon','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallercomplete','queuecallerleaveAt','disposition','ANSWERED','duration','billableseconds','SquareProject','initVoiceExtensions','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/template','../model/campaign','../model/salesforceAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount'];(function(_0x1b5aea,_0x1afe6f){var _0x51cae9=function(_0x1494a6){while(--_0x1494a6){_0x1b5aea['push'](_0x1b5aea['shift']());}};_0x51cae9(++_0x1afe6f);}(_0x1a2d,0x12d));var _0xd1a2=function(_0x4a030a,_0xfe11a4){_0x4a030a=_0x4a030a-0x0;var _0x3e68b1=_0x1a2d[_0x4a030a];return _0x3e68b1;};'use strict';var BPromise=require(_0xd1a2('0x0'));var util=require(_0xd1a2('0x1'));var _=require(_0xd1a2('0x2'));var moment=require(_0xd1a2('0x3'));var Agent=require(_0xd1a2('0x4'));var Telephone=require(_0xd1a2('0x5'));var Trunk=require(_0xd1a2('0x6'));var VoiceQueue=require(_0xd1a2('0x7'));var Trigger=require('../model/trigger');var Template=require(_0xd1a2('0x8'));var Campaign=require(_0xd1a2('0x9'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0xd1a2('0xa'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0xd1a2('0xb'));var DeskAccount=require(_0xd1a2('0xc'));var VtigerAccount=require(_0xd1a2('0xd'));var ServicenowAccount=require(_0xd1a2('0xe'));var Dynamics365Account=require(_0xd1a2('0xf'));var FreshsalesAccount=require(_0xd1a2('0x10'));var FaxAccount=require(_0xd1a2('0x11'));var Realtime=function(){this[_0xd1a2('0x12')]={};this['telephones']={};this[_0xd1a2('0x13')]={};this[_0xd1a2('0x14')]={};this[_0xd1a2('0x15')]={};this[_0xd1a2('0x16')]={};this[_0xd1a2('0x17')]={};this[_0xd1a2('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xd1a2('0x19')]={};this[_0xd1a2('0x1a')]={};this[_0xd1a2('0x1b')]={};this[_0xd1a2('0x1c')]={};this['timers']={};this[_0xd1a2('0x1d')]={};this[_0xd1a2('0x1e')]={};this[_0xd1a2('0x1f')]={};this[_0xd1a2('0x20')]={};this['zohoAccounts']={};this[_0xd1a2('0x21')]={};this[_0xd1a2('0x22')]={};this[_0xd1a2('0x23')]={};this['dynamics365Accounts']={};this[_0xd1a2('0x24')]={};this[_0xd1a2('0x25')]={};};function freeIsNotKey(_0x248ceb,_0x583ef9,_0x4ebc01){var _0x5e0498=_[_0xd1a2('0x26')](_0x248ceb,function(_0x2561f1,_0x44d1a1){return _0x2561f1[_0x4ebc01];});for(var _0x475d90 in _0x583ef9){if(_0x583ef9[_0xd1a2('0x27')](_0x475d90)){if(!_0x5e0498[_0x475d90]){delete _0x583ef9[_0x475d90];}}}}function freeIsNotKeySip(_0x425fc5,_0x15a5c7){var _0x45adc9=_['mapKeys'](_0x425fc5,function(_0x14d6b3,_0x30664e){return util[_0xd1a2('0x28')](_0xd1a2('0x29'),_0x14d6b3['name']);});for(var _0x87f831 in _0x15a5c7){if(_0x15a5c7[_0xd1a2('0x27')](_0x87f831)){if(!_0x45adc9[_0x87f831]){delete _0x15a5c7[_0x87f831];}}}}function freeIsNotKeyAgent(_0x11833a,_0x5ef46f){var _0x5b2094=_[_0xd1a2('0x26')](_0x11833a,function(_0x5024c7,_0x1319eb){var _0x4c7837=_['isNil'](_0x5024c7[_0xd1a2('0x2a')])?util['format'](_0xd1a2('0x29'),_0x5024c7[_0xd1a2('0x2b')]):_0x5024c7[_0xd1a2('0x2a')];return _0x4c7837;});for(var _0x471cc6 in _0x5ef46f){if(_0x5ef46f[_0xd1a2('0x27')](_0x471cc6)){if(!_0x5b2094[_0x471cc6]){delete _0x5ef46f[_0x471cc6];}}}}function clearVoiceCallReports(_0x569f58){_0x569f58[_0xd1a2('0x2c')]=0x0;_0x569f58[_0xd1a2('0x2d')]=0x0;_0x569f58[_0xd1a2('0x2e')]=0x0;_0x569f58[_0xd1a2('0x2f')]=0x0;_0x569f58[_0xd1a2('0x30')]=0x0;}function clearCampaigns(_0x1e934){if(!_[_0xd1a2('0x31')](_0x1e934)){for(var _0x14dbfa in _0x1e934){if(_0x1e934[_0xd1a2('0x27')](_0x14dbfa)){_0x1e934[_0x14dbfa]['ivrTotalCallsDays']=0x0;_0x1e934[_0x14dbfa][_0xd1a2('0x32')]=0x0;}}}}function clearVoiceQueues(_0x5577f8){if(!_[_0xd1a2('0x31')](_0x5577f8)){for(var _0x56422a in _0x5577f8){if(_0x5577f8['hasOwnProperty'](_0x56422a)){_0x5577f8[_0x56422a][_0xd1a2('0x2c')]=0x0;_0x5577f8[_0x56422a]['answered']=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x33')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x34')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x2e')]=0x0;_0x5577f8[_0x56422a]['sumDuration']=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x30')]=0x0;_0x5577f8[_0x56422a]['outboundAnswerAgiCallsDay']=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x35')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x36')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x37')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x38')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x39')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x3a')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x3b')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x3c')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x3d')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x3e')]=0x0;_0x5577f8[_0x56422a]['outboundReCallsDay']=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x3f')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x40')]=0x0;_0x5577f8[_0x56422a][_0xd1a2('0x41')]=!![];}}}}Realtime[_0xd1a2('0x42')][_0xd1a2('0x43')]=function(_0x47ffa0,_0x50db5b){for(var _0x398e03 in _0x50db5b){if(_0x47ffa0[_0xd1a2('0x27')](_0x398e03)){_0x47ffa0[_0x398e03]=_0x50db5b[_0x398e03];}}};Realtime[_0xd1a2('0x42')]['initAgents']=function(){var _0x31efb2=this;return function(_0x3b6801){if(_0x3b6801){freeIsNotKeyAgent(_0x3b6801,_0x31efb2[_0xd1a2('0x12')]);for(var _0x14144e=0x0,_0x4f485c={},_0x14bba4={};_0x14144e<_0x3b6801['length'];_0x14144e+=0x1){_0x4f485c=_0x3b6801[_0x14144e];var _0xbc4709=_[_0xd1a2('0x44')](_0x4f485c[_0xd1a2('0x2a')])?util[_0xd1a2('0x28')]('SIP/%s',_0x4f485c[_0xd1a2('0x2b')]):_0x4f485c[_0xd1a2('0x2a')];if(_[_0xd1a2('0x45')](_0x31efb2['agents'][_0xbc4709])){_0x31efb2[_0xd1a2('0x12')][_0xbc4709]=new Agent(_0x4f485c);}else{_0x31efb2['mergeFromDatabase'](_0x31efb2[_0xd1a2('0x12')][_0xbc4709],_0x4f485c);}}}return _0x31efb2[_0xd1a2('0x12')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x46')]=function(){var _0x91bb8d=this;return function(_0x178479){if(_0x178479){freeIsNotKeySip(_0x178479,_0x91bb8d[_0xd1a2('0x47')]);for(var _0x5e256d=0x0,_0x151c92={},_0x43cd36={};_0x5e256d<_0x178479[_0xd1a2('0x48')];_0x5e256d+=0x1){_0x151c92=_0x178479[_0x5e256d];if(_[_0xd1a2('0x45')](_0x91bb8d['telephones'][util[_0xd1a2('0x28')](_0xd1a2('0x29'),_0x151c92[_0xd1a2('0x2b')])])){_0x91bb8d['telephones'][util[_0xd1a2('0x28')]('SIP/%s',_0x151c92[_0xd1a2('0x2b')])]=new Telephone(_0x151c92);}else{_0x91bb8d[_0xd1a2('0x43')](_0x91bb8d['telephones'][util['format'](_0xd1a2('0x29'),_0x151c92[_0xd1a2('0x2b')])],_0x151c92);}}}return _0x91bb8d[_0xd1a2('0x47')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x49')]=function(){var _0x1f000d=this;return function(_0x5576ba){if(_0x5576ba){freeIsNotKeySip(_0x5576ba,_0x1f000d[_0xd1a2('0x13')]);for(var _0x102096=0x0,_0x157ad5={},_0x1cbeed={};_0x102096<_0x5576ba[_0xd1a2('0x48')];_0x102096+=0x1){_0x157ad5=_0x5576ba[_0x102096];if(_[_0xd1a2('0x45')](_0x1f000d[_0xd1a2('0x13')][util[_0xd1a2('0x28')](_0xd1a2('0x29'),_0x157ad5[_0xd1a2('0x2b')])])){_0x1f000d[_0xd1a2('0x13')][util[_0xd1a2('0x28')](_0xd1a2('0x29'),_0x157ad5[_0xd1a2('0x2b')])]=new Trunk(_0x157ad5);}else{_0x1f000d[_0xd1a2('0x43')](_0x1f000d[_0xd1a2('0x13')][util[_0xd1a2('0x28')](_0xd1a2('0x29'),_0x157ad5[_0xd1a2('0x2b')])],_0x157ad5);}}}return _0x1f000d[_0xd1a2('0x13')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x4a')]=function(){var _0x54dcd1=this;return function(_0x2b3ec8){if(_0x2b3ec8){freeIsNotKey(_0x2b3ec8,_0x54dcd1[_0xd1a2('0x14')],'name');for(var _0x49a9ef=0x0,_0x3b522d={},_0x1ba9ad={};_0x49a9ef<_0x2b3ec8[_0xd1a2('0x48')];_0x49a9ef+=0x1){_0x3b522d=_0x2b3ec8[_0x49a9ef];if(_[_0xd1a2('0x45')](_0x54dcd1['voiceQueues'][_0x3b522d[_0xd1a2('0x2b')]])){_0x54dcd1[_0xd1a2('0x14')][_0x3b522d[_0xd1a2('0x2b')]]=new VoiceQueue(_0x3b522d);}else{_0x54dcd1[_0xd1a2('0x43')](_0x54dcd1['voiceQueues'][_0x3b522d[_0xd1a2('0x2b')]],_0x3b522d);}}}return _0x54dcd1[_0xd1a2('0x14')];};};Realtime[_0xd1a2('0x42')]['initTriggers']=function(){var _0x54fbbd=this;return function(_0x285a16){if(_0x285a16){freeIsNotKey(_0x285a16,_0x54fbbd[_0xd1a2('0x15')],'id');for(var _0x3ec328=0x0,_0x3c5a99={},_0x5a732c={};_0x3ec328<_0x285a16[_0xd1a2('0x48')];_0x3ec328+=0x1){_0x3c5a99=_0x285a16[_0x3ec328];if(_[_0xd1a2('0x45')](_0x54fbbd[_0xd1a2('0x15')][_0x3c5a99['id']])){_0x54fbbd[_0xd1a2('0x15')][_0x3c5a99['id']]=new Trigger(_0x3c5a99);}else{_0x54fbbd[_0xd1a2('0x43')](_0x54fbbd[_0xd1a2('0x15')][_0x3c5a99['id']],_0x3c5a99);}}}return _0x54fbbd[_0xd1a2('0x15')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x4b')]=function(){var _0x3572f1=this;return function(_0x4bf07b){if(_0x4bf07b){freeIsNotKey(_0x4bf07b,_0x3572f1[_0xd1a2('0x17')],'id');for(var _0x14eb9d=0x0,_0x4650ae={},_0x37d82a={};_0x14eb9d<_0x4bf07b[_0xd1a2('0x48')];_0x14eb9d+=0x1){_0x4650ae=_0x4bf07b[_0x14eb9d];if(_[_0xd1a2('0x45')](_0x3572f1[_0xd1a2('0x17')][_0x4650ae['id']])){_0x3572f1[_0xd1a2('0x17')][_0x4650ae['id']]=new Template(_0x4650ae);}else{_0x3572f1[_0xd1a2('0x43')](_0x3572f1[_0xd1a2('0x17')][_0x4650ae['id']],_0x4650ae);}}}return _0x3572f1['templates'];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x4c')]=function(){var _0x3a9f63=this;return function(_0x5ec03b){if(_0x5ec03b){freeIsNotKey(_0x5ec03b,_0x3a9f63['zendeskAccounts'],'id');for(var _0x180b4f=0x0,_0x3639e2={},_0xf1b215={};_0x180b4f<_0x5ec03b['length'];_0x180b4f+=0x1){_0x3639e2=_0x5ec03b[_0x180b4f];if(_[_0xd1a2('0x45')](_0x3a9f63[_0xd1a2('0x1d')][_0x3639e2['id']])){_0x3a9f63[_0xd1a2('0x1d')][_0x3639e2['id']]=new ZendeskAccount(_0x3639e2);}else{_0x3a9f63['mergeFromDatabase'](_0x3a9f63[_0xd1a2('0x1d')][_0x3639e2['id']],_0x3639e2);}}}return _0x3a9f63[_0xd1a2('0x1d')];};};Realtime['prototype'][_0xd1a2('0x4d')]=function(){var _0x3f0315=this;return function(_0x44d763){if(_0x44d763){freeIsNotKey(_0x44d763,_0x3f0315[_0xd1a2('0x1e')],'id');for(var _0x56a62f=0x0,_0xff4af5={},_0x37aecc={};_0x56a62f<_0x44d763[_0xd1a2('0x48')];_0x56a62f+=0x1){_0xff4af5=_0x44d763[_0x56a62f];if(_[_0xd1a2('0x45')](_0x3f0315[_0xd1a2('0x1e')][_0xff4af5['id']])){_0x3f0315['salesforceAccounts'][_0xff4af5['id']]=new SalesforceAccount(_0xff4af5);}else{_0x3f0315['mergeFromDatabase'](_0x3f0315[_0xd1a2('0x1e')][_0xff4af5['id']],_0xff4af5);}}}return _0x3f0315[_0xd1a2('0x1e')];};};Realtime[_0xd1a2('0x42')]['initFreshdeskAccounts']=function(){var _0x38c76d=this;return function(_0x211b0a){if(_0x211b0a){freeIsNotKey(_0x211b0a,_0x38c76d['freshdeskAccounts'],'id');for(var _0x1ff514=0x0,_0x35fe39={},_0x45701d={};_0x1ff514<_0x211b0a['length'];_0x1ff514+=0x1){_0x35fe39=_0x211b0a[_0x1ff514];if(_[_0xd1a2('0x45')](_0x38c76d[_0xd1a2('0x20')][_0x35fe39['id']])){_0x38c76d[_0xd1a2('0x20')][_0x35fe39['id']]=new FreshdeskAccount(_0x35fe39);}else{_0x38c76d[_0xd1a2('0x43')](_0x38c76d[_0xd1a2('0x20')][_0x35fe39['id']],_0x35fe39);}}}return _0x38c76d[_0xd1a2('0x20')];};};Realtime['prototype'][_0xd1a2('0x4e')]=function(){var _0x24f979=this;return function(_0x16c509){if(_0x16c509){freeIsNotKey(_0x16c509,_0x24f979[_0xd1a2('0x4f')],'id');for(var _0x211825=0x0,_0x55c2d5={},_0x1e612a={};_0x211825<_0x16c509[_0xd1a2('0x48')];_0x211825+=0x1){_0x55c2d5=_0x16c509[_0x211825];if(_[_0xd1a2('0x45')](_0x24f979[_0xd1a2('0x4f')][_0x55c2d5['id']])){_0x24f979[_0xd1a2('0x4f')][_0x55c2d5['id']]=new ZohoAccount(_0x55c2d5);}else{_0x24f979[_0xd1a2('0x43')](_0x24f979[_0xd1a2('0x4f')][_0x55c2d5['id']],_0x55c2d5);}}}return _0x24f979['zohoAccounts'];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x50')]=function(){var _0xbf5be4=this;return function(_0x1acb6c){if(_0x1acb6c){freeIsNotKey(_0x1acb6c,_0xbf5be4[_0xd1a2('0x21')],'id');for(var _0x304c4b=0x0,_0x28c161={},_0x140ca6={};_0x304c4b<_0x1acb6c[_0xd1a2('0x48')];_0x304c4b+=0x1){_0x28c161=_0x1acb6c[_0x304c4b];if(_[_0xd1a2('0x45')](_0xbf5be4[_0xd1a2('0x21')][_0x28c161['id']])){_0xbf5be4['deskAccounts'][_0x28c161['id']]=new DeskAccount(_0x28c161);}else{_0xbf5be4[_0xd1a2('0x43')](_0xbf5be4[_0xd1a2('0x21')][_0x28c161['id']],_0x28c161);}}}return _0xbf5be4[_0xd1a2('0x21')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x51')]=function(){var _0x525129=this;return function(_0x2f5a1a){if(_0x2f5a1a){freeIsNotKey(_0x2f5a1a,_0x525129[_0xd1a2('0x1f')],'id');for(var _0x352ea2=0x0,_0x1937bf={},_0x22a5c0={};_0x352ea2<_0x2f5a1a[_0xd1a2('0x48')];_0x352ea2+=0x1){_0x1937bf=_0x2f5a1a[_0x352ea2];if(_[_0xd1a2('0x45')](_0x525129['sugarcrmAccounts'][_0x1937bf['id']])){_0x525129[_0xd1a2('0x1f')][_0x1937bf['id']]=new SugarcrmAccount(_0x1937bf);}else{_0x525129['mergeFromDatabase'](_0x525129[_0xd1a2('0x1f')][_0x1937bf['id']],_0x1937bf);}}}return _0x525129['sugarcrmAccounts'];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x52')]=function(){var _0x3ce0ae=this;return function(_0x4cbc22){if(_0x4cbc22){freeIsNotKey(_0x4cbc22,_0x3ce0ae[_0xd1a2('0x22')],'id');for(var _0x1e620a=0x0,_0x3a20bb={},_0x3965fc={};_0x1e620a<_0x4cbc22[_0xd1a2('0x48')];_0x1e620a+=0x1){_0x3a20bb=_0x4cbc22[_0x1e620a];if(_[_0xd1a2('0x45')](_0x3ce0ae[_0xd1a2('0x22')][_0x3a20bb['id']])){_0x3ce0ae[_0xd1a2('0x22')][_0x3a20bb['id']]=new VtigerAccount(_0x3a20bb);}else{_0x3ce0ae['mergeFromDatabase'](_0x3ce0ae['vtigerAccounts'][_0x3a20bb['id']],_0x3a20bb);}}}return _0x3ce0ae[_0xd1a2('0x22')];};};Realtime['prototype'][_0xd1a2('0x53')]=function(){var _0x135dfd=this;return function(_0x32a8e5){if(_0x32a8e5){freeIsNotKey(_0x32a8e5,_0x135dfd[_0xd1a2('0x23')],'id');for(var _0x595d40=0x0,_0x457511={},_0x4ec1de={};_0x595d40<_0x32a8e5['length'];_0x595d40+=0x1){_0x457511=_0x32a8e5[_0x595d40];if(_[_0xd1a2('0x45')](_0x135dfd[_0xd1a2('0x23')][_0x457511['id']])){_0x135dfd[_0xd1a2('0x23')][_0x457511['id']]=new ServicenowAccount(_0x457511);}else{_0x135dfd[_0xd1a2('0x43')](_0x135dfd[_0xd1a2('0x23')][_0x457511['id']],_0x457511);}}}return _0x135dfd[_0xd1a2('0x23')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x54')]=function(){var _0x6cc088=this;return function(_0x23420a){if(_0x23420a){freeIsNotKey(_0x23420a,_0x6cc088[_0xd1a2('0x55')],'id');for(var _0x12acc8=0x0,_0x175b3d={},_0x276ae3={};_0x12acc8<_0x23420a[_0xd1a2('0x48')];_0x12acc8+=0x1){_0x175b3d=_0x23420a[_0x12acc8];if(_['isUndefined'](_0x6cc088[_0xd1a2('0x55')][_0x175b3d['id']])){_0x6cc088['dynamics365Accounts'][_0x175b3d['id']]=new Dynamics365Account(_0x175b3d);}else{_0x6cc088[_0xd1a2('0x43')](_0x6cc088[_0xd1a2('0x55')][_0x175b3d['id']],_0x175b3d);}}}return _0x6cc088[_0xd1a2('0x55')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x56')]=function(){var _0x2bc8b5=this;return function(_0x512ef4){if(_0x512ef4){freeIsNotKey(_0x512ef4,_0x2bc8b5[_0xd1a2('0x24')],'id');for(var _0x35e72e=0x0,_0x492ed7={},_0x101c41={};_0x35e72e<_0x512ef4['length'];_0x35e72e+=0x1){_0x492ed7=_0x512ef4[_0x35e72e];if(_[_0xd1a2('0x45')](_0x2bc8b5['freshsalesAccounts'][_0x492ed7['id']])){_0x2bc8b5[_0xd1a2('0x24')][_0x492ed7['id']]=new FreshsalesAccount(_0x492ed7);}else{_0x2bc8b5[_0xd1a2('0x43')](_0x2bc8b5[_0xd1a2('0x24')][_0x492ed7['id']],_0x492ed7);}}}return _0x2bc8b5['freshsalesAccounts'];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x57')]=function(){var _0x23d46f=this;return function(_0x4f5ac0){for(var _0x5a43fc=0x0;_0x5a43fc<_0x4f5ac0[_0xd1a2('0x48')];_0x5a43fc+=0x1){_[_0xd1a2('0x58')](_0x23d46f['voiceQueues'][_0x4f5ac0[_0x5a43fc][_0xd1a2('0x2b')]],_0x4f5ac0[_0x5a43fc]);}return _0x23d46f['voiceQueues'];};};Realtime['prototype']['initVoiceQueueReports']=function(){var _0x35ac12=this;return function(_0x26dc46){clearVoiceQueues(_0x35ac12[_0xd1a2('0x14')]);if(_0x26dc46){_0x26dc46=_[_0xd1a2('0x59')](_0x26dc46,_0xd1a2('0x5a'));for(var _0x3e283d in _0x26dc46){if(_0x26dc46['hasOwnProperty'](_0x3e283d)){var _0x41d174={};for(var _0x5eaded=0x0;_0x5eaded<_0x26dc46[_0x3e283d][_0xd1a2('0x48')];_0x5eaded+=0x1){var _0x8d6732=_0x26dc46[_0x3e283d][_0x5eaded]['queue'];if(_0x35ac12[_0xd1a2('0x14')][_0x8d6732]){if(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x5b')]){_0x35ac12['voiceQueues'][_0x8d6732][_0xd1a2('0x33')]+=0x1;}if(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x5c')]){_0x35ac12['voiceQueues'][_0x8d6732][_0xd1a2('0x34')]+=0x1;}_0x35ac12['voiceQueues'][_0x8d6732][_0xd1a2('0x2e')]+=moment(_0x26dc46[_0x3e283d][_0x5eaded]['queuecallerleaveAt'])[_0xd1a2('0x5d')](moment(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x5e')]),_0xd1a2('0x5f'))||0x0;if(_0x5eaded===_0x26dc46[_0x3e283d][_0xd1a2('0x48')]-0x1){_0x35ac12[_0xd1a2('0x14')][_0x8d6732][_0xd1a2('0x2f')]+=moment(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x60')]||_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x61')]||_0x26dc46[_0x3e283d][_0x5eaded]['queuecallerexitAt'])[_0xd1a2('0x5d')](moment(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x5e')]),_0xd1a2('0x5f'))||0x0;_0x35ac12[_0xd1a2('0x14')][_0x8d6732][_0xd1a2('0x2c')]+=0x1;if(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x62')]){_0x35ac12[_0xd1a2('0x14')][_0x8d6732]['answered']+=0x1;_0x35ac12[_0xd1a2('0x14')][_0x8d6732][_0xd1a2('0x30')]+=moment(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x60')])[_0xd1a2('0x5d')](moment(_0x26dc46[_0x3e283d][_0x5eaded][_0xd1a2('0x63')]),_0xd1a2('0x5f'))||0x0;}}else{_0x35ac12[_0xd1a2('0x14')][_0x8d6732][_0xd1a2('0x2f')]+=_0x35ac12[_0xd1a2('0x14')][_0x8d6732][_0xd1a2('0x2e')]||0x0;}}}}}}return _0x35ac12[_0xd1a2('0x14')];};};Realtime[_0xd1a2('0x42')]['initVoiceCallReports']=function(){var _0x33c69f=this;return function(_0xe52c90){clearVoiceCallReports(_0x33c69f[_0xd1a2('0x18')]);if(_0xe52c90){for(var _0x2d010c=0x0;_0x2d010c<_0xe52c90[_0xd1a2('0x48')];_0x2d010c+=0x1){_0x33c69f[_0xd1a2('0x18')][_0xd1a2('0x2c')]+=0x1;_0x33c69f['outbound'][_0xd1a2('0x2f')]+=_0xe52c90[_0x2d010c]['duration'];if(_0xe52c90[_0x2d010c][_0xd1a2('0x64')]===_0xd1a2('0x65')){_0x33c69f[_0xd1a2('0x18')]['answered']+=0x1;_0x33c69f[_0xd1a2('0x18')]['sumHoldTime']+=_0xe52c90[_0x2d010c][_0xd1a2('0x66')]-_0xe52c90[_0x2d010c][_0xd1a2('0x67')]||0x0;_0x33c69f[_0xd1a2('0x18')][_0xd1a2('0x30')]+=_0xe52c90[_0x2d010c][_0xd1a2('0x67')];}}}return _0x33c69f[_0xd1a2('0x18')];};};Realtime[_0xd1a2('0x42')]['initCampaigns']=function(){var _0x3b1d61=this;return function(_0xfd1d98){if(_0xfd1d98){freeIsNotKey(_0xfd1d98,_0x3b1d61[_0xd1a2('0x16')],_0xd1a2('0x2b'));for(var _0x26753f=0x0,_0x374e55={};_0x26753f<_0xfd1d98[_0xd1a2('0x48')];_0x26753f+=0x1){_0x374e55=_0xfd1d98[_0x26753f];if(_[_0xd1a2('0x45')](_0x3b1d61[_0xd1a2('0x16')][_0x374e55[_0xd1a2('0x2b')]])){_0x3b1d61[_0xd1a2('0x16')][_0x374e55[_0xd1a2('0x2b')]]=new Campaign(_0x374e55);}else{_0x3b1d61[_0xd1a2('0x43')](_0x3b1d61['campaigns'][_0x374e55[_0xd1a2('0x2b')]],_0x374e55);_0x3b1d61[_0xd1a2('0x16')][_0x374e55[_0xd1a2('0x2b')]]['dialQueueProject']=_0x374e55[_0xd1a2('0x68')]?_0x374e55[_0xd1a2('0x68')]['name']:undefined;}}}return _0x3b1d61[_0xd1a2('0x16')];};};Realtime[_0xd1a2('0x42')][_0xd1a2('0x69')]=function(){var _0x11b8bd=this;return function(_0x916064){if(_0x916064){freeIsNotKey(_0x916064,_0x11b8bd[_0xd1a2('0x19')],'id');for(var _0x305515=0x0,_0x20d7be={};_0x305515<_0x916064[_0xd1a2('0x48')];_0x305515+=0x1){_0x20d7be=_0x916064[_0x305515];if(_[_0xd1a2('0x45')](_0x11b8bd[_0xd1a2('0x19')][_0x20d7be['id']])){_0x11b8bd[_0xd1a2('0x19')][_0x20d7be['id']]=new VoiceExtension(_0x20d7be);}else{_0x11b8bd[_0xd1a2('0x43')](_0x11b8bd[_0xd1a2('0x19')][_0x20d7be['id']],_0x20d7be);}}}return _0x11b8bd[_0xd1a2('0x19')];};};Realtime[_0xd1a2('0x42')]['initCampaignHopperHistory']=function(){var _0x438373=this;return function(_0x578e85){clearCampaigns(_0x438373[_0xd1a2('0x16')]);for(var _0x598bd5=0x0;_0x598bd5<_0x578e85['length'];_0x598bd5+=0x1){_[_0xd1a2('0x58')](_0x438373['campaigns'][_0x578e85[_0x598bd5][_0xd1a2('0x2b')]],_0x578e85[_0x598bd5]);}return _0x438373[_0xd1a2('0x16')];};};Realtime[_0xd1a2('0x42')]['initFaxAccounts']=function(){var _0x2b97fc=this;return function(_0x2a4f05){if(_0x2a4f05){freeIsNotKey(_0x2a4f05,_0x2b97fc['faxAccounts'],'id');for(var _0x262564=0x0,_0x3c26bb={},_0x754532={};_0x262564<_0x2a4f05[_0xd1a2('0x48')];_0x262564+=0x1){_0x3c26bb=_0x2a4f05[_0x262564];if(_[_0xd1a2('0x45')](_0x2b97fc[_0xd1a2('0x25')][_0x3c26bb['id']])){_0x2b97fc[_0xd1a2('0x25')][_0x3c26bb['id']]=new FaxAccount(_0x3c26bb);}else{_0x2b97fc[_0xd1a2('0x43')](_0x2b97fc[_0xd1a2('0x25')][_0x3c26bb['id']],_0x3c26bb);}}}return _0x2b97fc[_0xd1a2('0x25')];};};module['exports']=Realtime;