32eae015d92e959b03d51a55380d2343d8c6f856
[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 _0x833a=['disposition','ANSWERED','duration','billableseconds','initCampaigns','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','util','lodash','../model/agent','../model/telephone','../model/trunk','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/faxAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','timers','settings','salesforceAccounts','sugarcrmAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','mapKeys','hasOwnProperty','format','name','isNil','SIP/%s','interface','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','mergeFromDatabase','initAgents','length','isUndefined','prototype','initTelephones','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerabandon','abandoned','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerexitAt','initVoiceCallReports'];(function(_0x274f1a,_0x270c64){var _0x5c7884=function(_0x30554f){while(--_0x30554f){_0x274f1a['push'](_0x274f1a['shift']());}};_0x5c7884(++_0x270c64);}(_0x833a,0x77));var _0xa833=function(_0x268d21,_0x3c2b73){_0x268d21=_0x268d21-0x0;var _0x1e2a4e=_0x833a[_0x268d21];return _0x1e2a4e;};'use strict';var BPromise=require(_0xa833('0x0'));var util=require(_0xa833('0x1'));var _=require(_0xa833('0x2'));var moment=require('moment');var Agent=require(_0xa833('0x3'));var Telephone=require(_0xa833('0x4'));var Trunk=require(_0xa833('0x5'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require('../model/trigger');var Template=require('../model/template');var Campaign=require(_0xa833('0x6'));var VoiceExtension=require(_0xa833('0x7'));var ZendeskAccount=require(_0xa833('0x8'));var SalesforceAccount=require(_0xa833('0x9'));var FreshdeskAccount=require(_0xa833('0xa'));var SugarcrmAccount=require(_0xa833('0xb'));var ZohoAccount=require(_0xa833('0xc'));var DeskAccount=require(_0xa833('0xd'));var VtigerAccount=require(_0xa833('0xe'));var ServicenowAccount=require(_0xa833('0xf'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0xa833('0x10'));var Realtime=function(){this[_0xa833('0x11')]={};this[_0xa833('0x12')]={};this[_0xa833('0x13')]={};this[_0xa833('0x14')]={};this[_0xa833('0x15')]={};this[_0xa833('0x16')]={};this[_0xa833('0x17')]={};this[_0xa833('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xa833('0x19')]={};this[_0xa833('0x1a')]={};this[_0xa833('0x1b')]={};this['outboundChannels']={};this[_0xa833('0x1c')]={};this[_0xa833('0x1d')]={};this['zendeskAccounts']={};this[_0xa833('0x1e')]={};this[_0xa833('0x1f')]={};this['freshdeskAccounts']={};this[_0xa833('0x20')]={};this[_0xa833('0x21')]={};this[_0xa833('0x22')]={};this[_0xa833('0x23')]={};this[_0xa833('0x24')]={};this['freshsalesAccounts']={};this[_0xa833('0x25')]={};};function freeIsNotKey(_0xbcad98,_0x3ba8f7,_0x3bff5b){var _0x334116=_[_0xa833('0x26')](_0xbcad98,function(_0x20c6bc,_0x2d84a1){return _0x20c6bc[_0x3bff5b];});for(var _0x4f0217 in _0x3ba8f7){if(_0x3ba8f7[_0xa833('0x27')](_0x4f0217)){if(!_0x334116[_0x4f0217]){delete _0x3ba8f7[_0x4f0217];}}}}function freeIsNotKeySip(_0x372c8c,_0xed3898){var _0x1e17dd=_[_0xa833('0x26')](_0x372c8c,function(_0x4bc5d2,_0x504180){return util[_0xa833('0x28')]('SIP/%s',_0x4bc5d2[_0xa833('0x29')]);});for(var _0x3354f7 in _0xed3898){if(_0xed3898['hasOwnProperty'](_0x3354f7)){if(!_0x1e17dd[_0x3354f7]){delete _0xed3898[_0x3354f7];}}}}function freeIsNotKeyAgent(_0x3a49ab,_0xbb9eba){var _0xd178f=_['mapKeys'](_0x3a49ab,function(_0x10d0b7,_0x555505){var _0x46faac=_[_0xa833('0x2a')](_0x10d0b7['interface'])?util[_0xa833('0x28')](_0xa833('0x2b'),_0x10d0b7[_0xa833('0x29')]):_0x10d0b7[_0xa833('0x2c')];return _0x46faac;});for(var _0x56dca4 in _0xbb9eba){if(_0xbb9eba[_0xa833('0x27')](_0x56dca4)){if(!_0xd178f[_0x56dca4]){delete _0xbb9eba[_0x56dca4];}}}}function clearVoiceCallReports(_0x77c19b){_0x77c19b[_0xa833('0x2d')]=0x0;_0x77c19b[_0xa833('0x2e')]=0x0;_0x77c19b[_0xa833('0x2f')]=0x0;_0x77c19b[_0xa833('0x30')]=0x0;_0x77c19b[_0xa833('0x31')]=0x0;}function clearCampaigns(_0x1c06af){if(!_[_0xa833('0x32')](_0x1c06af)){for(var _0x3c53b7 in _0x1c06af){if(_0x1c06af['hasOwnProperty'](_0x3c53b7)){_0x1c06af[_0x3c53b7][_0xa833('0x33')]=0x0;_0x1c06af[_0x3c53b7][_0xa833('0x34')]=0x0;}}}}function clearVoiceQueues(_0x2684b4){if(!_['isEmpty'](_0x2684b4)){for(var _0x1b7792 in _0x2684b4){if(_0x2684b4[_0xa833('0x27')](_0x1b7792)){_0x2684b4[_0x1b7792][_0xa833('0x2d')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x2e')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x35')]=0x0;_0x2684b4[_0x1b7792]['abandoned']=0x0;_0x2684b4[_0x1b7792]['sumHoldTime']=0x0;_0x2684b4[_0x1b7792][_0xa833('0x30')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x31')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x36')]=0x0;_0x2684b4[_0x1b7792]['outboundNoAnswerCallsDay']=0x0;_0x2684b4[_0x1b7792][_0xa833('0x37')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x38')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x39')]=0x0;_0x2684b4[_0x1b7792]['outboundUnknownCallsDay']=0x0;_0x2684b4[_0x1b7792][_0xa833('0x3a')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x3b')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x3c')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x3d')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x3e')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x3f')]=0x0;_0x2684b4[_0x1b7792][_0xa833('0x36')]=0x0;_0x2684b4[_0x1b7792]['outboundAnswerCallsDay']=0x0;_0x2684b4[_0x1b7792]['queueStatusComplete']=!![];}}}}Realtime['prototype'][_0xa833('0x40')]=function(_0x36afbe,_0x251834){for(var _0x33cb11 in _0x251834){if(_0x36afbe[_0xa833('0x27')](_0x33cb11)){_0x36afbe[_0x33cb11]=_0x251834[_0x33cb11];}}};Realtime['prototype'][_0xa833('0x41')]=function(){var _0x35bfe8=this;return function(_0x5cc6bf){if(_0x5cc6bf){freeIsNotKeyAgent(_0x5cc6bf,_0x35bfe8[_0xa833('0x11')]);for(var _0x2c81a0=0x0,_0x5a1666={},_0x51f421={};_0x2c81a0<_0x5cc6bf[_0xa833('0x42')];_0x2c81a0+=0x1){_0x5a1666=_0x5cc6bf[_0x2c81a0];var _0x16e8a9=_[_0xa833('0x2a')](_0x5a1666[_0xa833('0x2c')])?util[_0xa833('0x28')](_0xa833('0x2b'),_0x5a1666['name']):_0x5a1666[_0xa833('0x2c')];if(_[_0xa833('0x43')](_0x35bfe8['agents'][_0x16e8a9])){_0x35bfe8[_0xa833('0x11')][_0x16e8a9]=new Agent(_0x5a1666);}else{_0x35bfe8['mergeFromDatabase'](_0x35bfe8[_0xa833('0x11')][_0x16e8a9],_0x5a1666);}}}return _0x35bfe8[_0xa833('0x11')];};};Realtime[_0xa833('0x44')][_0xa833('0x45')]=function(){var _0x34e541=this;return function(_0x4129a6){if(_0x4129a6){freeIsNotKeySip(_0x4129a6,_0x34e541[_0xa833('0x12')]);for(var _0x3a6703=0x0,_0xd85c4e={},_0x5b23a0={};_0x3a6703<_0x4129a6[_0xa833('0x42')];_0x3a6703+=0x1){_0xd85c4e=_0x4129a6[_0x3a6703];if(_['isUndefined'](_0x34e541['telephones'][util['format'](_0xa833('0x2b'),_0xd85c4e[_0xa833('0x29')])])){_0x34e541[_0xa833('0x12')][util[_0xa833('0x28')](_0xa833('0x2b'),_0xd85c4e['name'])]=new Telephone(_0xd85c4e);}else{_0x34e541[_0xa833('0x40')](_0x34e541[_0xa833('0x12')][util[_0xa833('0x28')](_0xa833('0x2b'),_0xd85c4e[_0xa833('0x29')])],_0xd85c4e);}}}return _0x34e541[_0xa833('0x12')];};};Realtime[_0xa833('0x44')]['initTrunks']=function(){var _0x204852=this;return function(_0x3d7e3f){if(_0x3d7e3f){freeIsNotKeySip(_0x3d7e3f,_0x204852[_0xa833('0x13')]);for(var _0x26afc1=0x0,_0xcc598={},_0x3b3b73={};_0x26afc1<_0x3d7e3f['length'];_0x26afc1+=0x1){_0xcc598=_0x3d7e3f[_0x26afc1];if(_['isUndefined'](_0x204852['trunks'][util['format']('SIP/%s',_0xcc598[_0xa833('0x29')])])){_0x204852[_0xa833('0x13')][util[_0xa833('0x28')]('SIP/%s',_0xcc598[_0xa833('0x29')])]=new Trunk(_0xcc598);}else{_0x204852[_0xa833('0x40')](_0x204852[_0xa833('0x13')][util[_0xa833('0x28')]('SIP/%s',_0xcc598[_0xa833('0x29')])],_0xcc598);}}}return _0x204852[_0xa833('0x13')];};};Realtime[_0xa833('0x44')][_0xa833('0x46')]=function(){var _0x46123e=this;return function(_0x4f2390){if(_0x4f2390){freeIsNotKey(_0x4f2390,_0x46123e[_0xa833('0x14')],'name');for(var _0x587e21=0x0,_0x53c85a={},_0xf43cd1={};_0x587e21<_0x4f2390[_0xa833('0x42')];_0x587e21+=0x1){_0x53c85a=_0x4f2390[_0x587e21];if(_['isUndefined'](_0x46123e[_0xa833('0x14')][_0x53c85a['name']])){_0x46123e[_0xa833('0x14')][_0x53c85a[_0xa833('0x29')]]=new VoiceQueue(_0x53c85a);}else{_0x46123e['mergeFromDatabase'](_0x46123e[_0xa833('0x14')][_0x53c85a[_0xa833('0x29')]],_0x53c85a);}}}return _0x46123e['voiceQueues'];};};Realtime[_0xa833('0x44')][_0xa833('0x47')]=function(){var _0x484ea=this;return function(_0x3ff247){if(_0x3ff247){freeIsNotKey(_0x3ff247,_0x484ea[_0xa833('0x15')],'id');for(var _0x3cfdf1=0x0,_0x14ee6b={},_0x427d03={};_0x3cfdf1<_0x3ff247[_0xa833('0x42')];_0x3cfdf1+=0x1){_0x14ee6b=_0x3ff247[_0x3cfdf1];if(_['isUndefined'](_0x484ea[_0xa833('0x15')][_0x14ee6b['id']])){_0x484ea[_0xa833('0x15')][_0x14ee6b['id']]=new Trigger(_0x14ee6b);}else{_0x484ea['mergeFromDatabase'](_0x484ea[_0xa833('0x15')][_0x14ee6b['id']],_0x14ee6b);}}}return _0x484ea[_0xa833('0x15')];};};Realtime[_0xa833('0x44')][_0xa833('0x48')]=function(){var _0x1c9a09=this;return function(_0x22e19e){if(_0x22e19e){freeIsNotKey(_0x22e19e,_0x1c9a09[_0xa833('0x17')],'id');for(var _0x43aaec=0x0,_0x1834fc={},_0x4040eb={};_0x43aaec<_0x22e19e[_0xa833('0x42')];_0x43aaec+=0x1){_0x1834fc=_0x22e19e[_0x43aaec];if(_[_0xa833('0x43')](_0x1c9a09[_0xa833('0x17')][_0x1834fc['id']])){_0x1c9a09[_0xa833('0x17')][_0x1834fc['id']]=new Template(_0x1834fc);}else{_0x1c9a09[_0xa833('0x40')](_0x1c9a09[_0xa833('0x17')][_0x1834fc['id']],_0x1834fc);}}}return _0x1c9a09[_0xa833('0x17')];};};Realtime[_0xa833('0x44')][_0xa833('0x49')]=function(){var _0x2881de=this;return function(_0x35d6c9){if(_0x35d6c9){freeIsNotKey(_0x35d6c9,_0x2881de[_0xa833('0x4a')],'id');for(var _0x376d9f=0x0,_0x2d1c2a={},_0x34e706={};_0x376d9f<_0x35d6c9[_0xa833('0x42')];_0x376d9f+=0x1){_0x2d1c2a=_0x35d6c9[_0x376d9f];if(_[_0xa833('0x43')](_0x2881de[_0xa833('0x4a')][_0x2d1c2a['id']])){_0x2881de[_0xa833('0x4a')][_0x2d1c2a['id']]=new ZendeskAccount(_0x2d1c2a);}else{_0x2881de[_0xa833('0x40')](_0x2881de['zendeskAccounts'][_0x2d1c2a['id']],_0x2d1c2a);}}}return _0x2881de[_0xa833('0x4a')];};};Realtime[_0xa833('0x44')][_0xa833('0x4b')]=function(){var _0x9aaccc=this;return function(_0x55e8dd){if(_0x55e8dd){freeIsNotKey(_0x55e8dd,_0x9aaccc['salesforceAccounts'],'id');for(var _0x29b5c1=0x0,_0x1a6f70={},_0x46cd70={};_0x29b5c1<_0x55e8dd['length'];_0x29b5c1+=0x1){_0x1a6f70=_0x55e8dd[_0x29b5c1];if(_[_0xa833('0x43')](_0x9aaccc[_0xa833('0x1e')][_0x1a6f70['id']])){_0x9aaccc[_0xa833('0x1e')][_0x1a6f70['id']]=new SalesforceAccount(_0x1a6f70);}else{_0x9aaccc[_0xa833('0x40')](_0x9aaccc[_0xa833('0x1e')][_0x1a6f70['id']],_0x1a6f70);}}}return _0x9aaccc[_0xa833('0x1e')];};};Realtime['prototype'][_0xa833('0x4c')]=function(){var _0x784b5f=this;return function(_0x1f8823){if(_0x1f8823){freeIsNotKey(_0x1f8823,_0x784b5f[_0xa833('0x4d')],'id');for(var _0x27df38=0x0,_0x2578ff={},_0x4c09e9={};_0x27df38<_0x1f8823[_0xa833('0x42')];_0x27df38+=0x1){_0x2578ff=_0x1f8823[_0x27df38];if(_['isUndefined'](_0x784b5f[_0xa833('0x4d')][_0x2578ff['id']])){_0x784b5f[_0xa833('0x4d')][_0x2578ff['id']]=new FreshdeskAccount(_0x2578ff);}else{_0x784b5f[_0xa833('0x40')](_0x784b5f[_0xa833('0x4d')][_0x2578ff['id']],_0x2578ff);}}}return _0x784b5f[_0xa833('0x4d')];};};Realtime['prototype'][_0xa833('0x4e')]=function(){var _0x539935=this;return function(_0x1c13a7){if(_0x1c13a7){freeIsNotKey(_0x1c13a7,_0x539935[_0xa833('0x20')],'id');for(var _0x2cc759=0x0,_0x3e81c5={},_0x1c2348={};_0x2cc759<_0x1c13a7[_0xa833('0x42')];_0x2cc759+=0x1){_0x3e81c5=_0x1c13a7[_0x2cc759];if(_[_0xa833('0x43')](_0x539935[_0xa833('0x20')][_0x3e81c5['id']])){_0x539935[_0xa833('0x20')][_0x3e81c5['id']]=new ZohoAccount(_0x3e81c5);}else{_0x539935[_0xa833('0x40')](_0x539935['zohoAccounts'][_0x3e81c5['id']],_0x3e81c5);}}}return _0x539935[_0xa833('0x20')];};};Realtime[_0xa833('0x44')]['initDeskAccounts']=function(){var _0x921e87=this;return function(_0x1df4d3){if(_0x1df4d3){freeIsNotKey(_0x1df4d3,_0x921e87[_0xa833('0x21')],'id');for(var _0xffed34=0x0,_0x4dc24a={},_0x3e8eec={};_0xffed34<_0x1df4d3[_0xa833('0x42')];_0xffed34+=0x1){_0x4dc24a=_0x1df4d3[_0xffed34];if(_[_0xa833('0x43')](_0x921e87['deskAccounts'][_0x4dc24a['id']])){_0x921e87[_0xa833('0x21')][_0x4dc24a['id']]=new DeskAccount(_0x4dc24a);}else{_0x921e87[_0xa833('0x40')](_0x921e87[_0xa833('0x21')][_0x4dc24a['id']],_0x4dc24a);}}}return _0x921e87[_0xa833('0x21')];};};Realtime[_0xa833('0x44')][_0xa833('0x4f')]=function(){var _0x13f8ba=this;return function(_0x48e9f6){if(_0x48e9f6){freeIsNotKey(_0x48e9f6,_0x13f8ba[_0xa833('0x1f')],'id');for(var _0x1251d2=0x0,_0x81947e={},_0x28ea23={};_0x1251d2<_0x48e9f6[_0xa833('0x42')];_0x1251d2+=0x1){_0x81947e=_0x48e9f6[_0x1251d2];if(_[_0xa833('0x43')](_0x13f8ba[_0xa833('0x1f')][_0x81947e['id']])){_0x13f8ba['sugarcrmAccounts'][_0x81947e['id']]=new SugarcrmAccount(_0x81947e);}else{_0x13f8ba[_0xa833('0x40')](_0x13f8ba['sugarcrmAccounts'][_0x81947e['id']],_0x81947e);}}}return _0x13f8ba[_0xa833('0x1f')];};};Realtime['prototype'][_0xa833('0x50')]=function(){var _0x19040d=this;return function(_0x3081dd){if(_0x3081dd){freeIsNotKey(_0x3081dd,_0x19040d[_0xa833('0x22')],'id');for(var _0x19846a=0x0,_0x4681d7={},_0x269aad={};_0x19846a<_0x3081dd['length'];_0x19846a+=0x1){_0x4681d7=_0x3081dd[_0x19846a];if(_[_0xa833('0x43')](_0x19040d[_0xa833('0x22')][_0x4681d7['id']])){_0x19040d['vtigerAccounts'][_0x4681d7['id']]=new VtigerAccount(_0x4681d7);}else{_0x19040d[_0xa833('0x40')](_0x19040d['vtigerAccounts'][_0x4681d7['id']],_0x4681d7);}}}return _0x19040d['vtigerAccounts'];};};Realtime[_0xa833('0x44')][_0xa833('0x51')]=function(){var _0x1b64aa=this;return function(_0x103b92){if(_0x103b92){freeIsNotKey(_0x103b92,_0x1b64aa['servicenowAccounts'],'id');for(var _0x3e0fa1=0x0,_0x3e988d={},_0x1b57b8={};_0x3e0fa1<_0x103b92['length'];_0x3e0fa1+=0x1){_0x3e988d=_0x103b92[_0x3e0fa1];if(_[_0xa833('0x43')](_0x1b64aa[_0xa833('0x23')][_0x3e988d['id']])){_0x1b64aa[_0xa833('0x23')][_0x3e988d['id']]=new ServicenowAccount(_0x3e988d);}else{_0x1b64aa[_0xa833('0x40')](_0x1b64aa[_0xa833('0x23')][_0x3e988d['id']],_0x3e988d);}}}return _0x1b64aa[_0xa833('0x23')];};};Realtime[_0xa833('0x44')][_0xa833('0x52')]=function(){var _0x4790b3=this;return function(_0x222d16){if(_0x222d16){freeIsNotKey(_0x222d16,_0x4790b3['dynamics365Accounts'],'id');for(var _0x59e82e=0x0,_0x5c19b7={},_0x5c7c26={};_0x59e82e<_0x222d16[_0xa833('0x42')];_0x59e82e+=0x1){_0x5c19b7=_0x222d16[_0x59e82e];if(_[_0xa833('0x43')](_0x4790b3[_0xa833('0x24')][_0x5c19b7['id']])){_0x4790b3[_0xa833('0x24')][_0x5c19b7['id']]=new Dynamics365Account(_0x5c19b7);}else{_0x4790b3[_0xa833('0x40')](_0x4790b3[_0xa833('0x24')][_0x5c19b7['id']],_0x5c19b7);}}}return _0x4790b3['dynamics365Accounts'];};};Realtime['prototype'][_0xa833('0x53')]=function(){var _0x53c32e=this;return function(_0x281df1){if(_0x281df1){freeIsNotKey(_0x281df1,_0x53c32e[_0xa833('0x54')],'id');for(var _0x3608b4=0x0,_0x5a08a7={},_0x148c83={};_0x3608b4<_0x281df1[_0xa833('0x42')];_0x3608b4+=0x1){_0x5a08a7=_0x281df1[_0x3608b4];if(_[_0xa833('0x43')](_0x53c32e[_0xa833('0x54')][_0x5a08a7['id']])){_0x53c32e[_0xa833('0x54')][_0x5a08a7['id']]=new FreshsalesAccount(_0x5a08a7);}else{_0x53c32e[_0xa833('0x40')](_0x53c32e[_0xa833('0x54')][_0x5a08a7['id']],_0x5a08a7);}}}return _0x53c32e['freshsalesAccounts'];};};Realtime['prototype']['initVoiceQueueHopperHistory']=function(){var _0x140bf6=this;return function(_0x1b9dd2){for(var _0x364ba9=0x0;_0x364ba9<_0x1b9dd2[_0xa833('0x42')];_0x364ba9+=0x1){_[_0xa833('0x55')](_0x140bf6['voiceQueues'][_0x1b9dd2[_0x364ba9][_0xa833('0x29')]],_0x1b9dd2[_0x364ba9]);}return _0x140bf6['voiceQueues'];};};Realtime['prototype'][_0xa833('0x56')]=function(){var _0x511aa6=this;return function(_0x316f6d){clearVoiceQueues(_0x511aa6[_0xa833('0x14')]);if(_0x316f6d){_0x316f6d=_[_0xa833('0x57')](_0x316f6d,_0xa833('0x58'));for(var _0x3728a4 in _0x316f6d){if(_0x316f6d[_0xa833('0x27')](_0x3728a4)){var _0x22ae5b={};for(var _0x3fac79=0x0;_0x3fac79<_0x316f6d[_0x3728a4][_0xa833('0x42')];_0x3fac79+=0x1){var _0xcf372c=_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x59')];if(_0x511aa6[_0xa833('0x14')][_0xcf372c]){if(_0x316f6d[_0x3728a4][_0x3fac79]['queuecallerexit']){_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x35')]+=0x1;}if(_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x5a')]){_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x5b')]+=0x1;}_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x2f')]+=moment(_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x5c')])[_0xa833('0x5d')](moment(_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x5e')]),_0xa833('0x5f'))||0x0;if(_0x3fac79===_0x316f6d[_0x3728a4][_0xa833('0x42')]-0x1){_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x30')]+=moment(_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x60')]||_0x316f6d[_0x3728a4][_0x3fac79]['queuecallerabandonAt']||_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x61')])['diff'](moment(_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x5e')]),_0xa833('0x5f'))||0x0;_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x2d')]+=0x1;if(_0x316f6d[_0x3728a4][_0x3fac79]['queuecallercomplete']){_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x2e')]+=0x1;_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x31')]+=moment(_0x316f6d[_0x3728a4][_0x3fac79][_0xa833('0x60')])[_0xa833('0x5d')](moment(_0x316f6d[_0x3728a4][_0x3fac79]['queuecallerleaveAt']),_0xa833('0x5f'))||0x0;}}else{_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x30')]+=_0x511aa6[_0xa833('0x14')][_0xcf372c][_0xa833('0x2f')]||0x0;}}}}}}return _0x511aa6[_0xa833('0x14')];};};Realtime[_0xa833('0x44')][_0xa833('0x62')]=function(){var _0x4648e0=this;return function(_0x19b4f0){clearVoiceCallReports(_0x4648e0['outbound']);if(_0x19b4f0){for(var _0x513c24=0x0;_0x513c24<_0x19b4f0[_0xa833('0x42')];_0x513c24+=0x1){_0x4648e0[_0xa833('0x18')][_0xa833('0x2d')]+=0x1;_0x4648e0[_0xa833('0x18')]['sumDuration']+=_0x19b4f0[_0x513c24]['duration'];if(_0x19b4f0[_0x513c24][_0xa833('0x63')]===_0xa833('0x64')){_0x4648e0[_0xa833('0x18')][_0xa833('0x2e')]+=0x1;_0x4648e0['outbound']['sumHoldTime']+=_0x19b4f0[_0x513c24][_0xa833('0x65')]-_0x19b4f0[_0x513c24]['billableseconds']||0x0;_0x4648e0[_0xa833('0x18')][_0xa833('0x31')]+=_0x19b4f0[_0x513c24][_0xa833('0x66')];}}}return _0x4648e0[_0xa833('0x18')];};};Realtime['prototype'][_0xa833('0x67')]=function(){var _0x5ddb92=this;return function(_0x372ca2){if(_0x372ca2){freeIsNotKey(_0x372ca2,_0x5ddb92['campaigns'],_0xa833('0x29'));for(var _0x5a80e5=0x0,_0x49524c={};_0x5a80e5<_0x372ca2[_0xa833('0x42')];_0x5a80e5+=0x1){_0x49524c=_0x372ca2[_0x5a80e5];if(_[_0xa833('0x43')](_0x5ddb92[_0xa833('0x16')][_0x49524c[_0xa833('0x29')]])){_0x5ddb92[_0xa833('0x16')][_0x49524c['name']]=new Campaign(_0x49524c);}else{_0x5ddb92[_0xa833('0x40')](_0x5ddb92[_0xa833('0x16')][_0x49524c[_0xa833('0x29')]],_0x49524c);_0x5ddb92[_0xa833('0x16')][_0x49524c[_0xa833('0x29')]]['dialQueueProject']=_0x49524c['SquareProject']?_0x49524c[_0xa833('0x68')]['name']:undefined;}}}return _0x5ddb92[_0xa833('0x16')];};};Realtime[_0xa833('0x44')][_0xa833('0x69')]=function(){var _0xefaa3d=this;return function(_0x26d990){if(_0x26d990){freeIsNotKey(_0x26d990,_0xefaa3d[_0xa833('0x19')],'id');for(var _0x4ee04c=0x0,_0x1471a9={};_0x4ee04c<_0x26d990[_0xa833('0x42')];_0x4ee04c+=0x1){_0x1471a9=_0x26d990[_0x4ee04c];if(_['isUndefined'](_0xefaa3d[_0xa833('0x19')][_0x1471a9['id']])){_0xefaa3d[_0xa833('0x19')][_0x1471a9['id']]=new VoiceExtension(_0x1471a9);}else{_0xefaa3d[_0xa833('0x40')](_0xefaa3d['voiceExtensions'][_0x1471a9['id']],_0x1471a9);}}}return _0xefaa3d[_0xa833('0x19')];};};Realtime[_0xa833('0x44')][_0xa833('0x6a')]=function(){var _0x3c249a=this;return function(_0x2df61d){clearCampaigns(_0x3c249a[_0xa833('0x16')]);for(var _0x4db7a5=0x0;_0x4db7a5<_0x2df61d[_0xa833('0x42')];_0x4db7a5+=0x1){_[_0xa833('0x55')](_0x3c249a[_0xa833('0x16')][_0x2df61d[_0x4db7a5]['name']],_0x2df61d[_0x4db7a5]);}return _0x3c249a[_0xa833('0x16')];};};Realtime['prototype'][_0xa833('0x6b')]=function(){var _0x50009d=this;return function(_0x4c3270){if(_0x4c3270){freeIsNotKey(_0x4c3270,_0x50009d['faxAccounts'],'id');for(var _0x5d30e0=0x0,_0x332638={},_0x1357d5={};_0x5d30e0<_0x4c3270[_0xa833('0x42')];_0x5d30e0+=0x1){_0x332638=_0x4c3270[_0x5d30e0];if(_['isUndefined'](_0x50009d[_0xa833('0x25')][_0x332638['id']])){_0x50009d['faxAccounts'][_0x332638['id']]=new FaxAccount(_0x332638);}else{_0x50009d[_0xa833('0x40')](_0x50009d[_0xa833('0x25')][_0x332638['id']],_0x332638);}}}return _0x50009d[_0xa833('0x25')];};};module[_0xa833('0x6c')]=Realtime;