b7482af8f34b79b15e7a43fb1df30c20683db469
[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 _0xe02e=['isEmpty','total','abandoned','outboundAnswerAgiCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','mergeFromDatabase','prototype','initAgents','agents','length','interface','SIP/%s','isUndefined','initTelephones','initTrunks','trunks','initVoiceQueues','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','servicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','unmanaged','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallercomplete','initVoiceCallReports','outbound','disposition','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','exports','lodash','moment','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/freshsalesAccount','../model/faxAccount','telephones','voiceQueues','triggers','campaigns','templates','voiceExtensions','channels','queueChannels','settings','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','name','answered','sumHoldTime','sumDuration','sumBillable'];(function(_0x29970c,_0x376af8){var _0x44e163=function(_0xd6a38c){while(--_0xd6a38c){_0x29970c['push'](_0x29970c['shift']());}};_0x44e163(++_0x376af8);}(_0xe02e,0x1f0));var _0xee02=function(_0x5783f4,_0x4a9e0a){_0x5783f4=_0x5783f4-0x0;var _0x28e380=_0xe02e[_0x5783f4];return _0x28e380;};'use strict';var util=require('util');var _=require(_0xee02('0x0'));var moment=require(_0xee02('0x1'));var Agent=require('../model/agent');var Telephone=require('../model/telephone');var Trunk=require(_0xee02('0x2'));var VoiceQueue=require(_0xee02('0x3'));var Trigger=require(_0xee02('0x4'));var Template=require(_0xee02('0x5'));var Campaign=require(_0xee02('0x6'));var VoiceExtension=require(_0xee02('0x7'));var ZendeskAccount=require(_0xee02('0x8'));var SalesforceAccount=require(_0xee02('0x9'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0xee02('0xa'));var ZohoAccount=require(_0xee02('0xb'));var DeskAccount=require(_0xee02('0xc'));var VtigerAccount=require(_0xee02('0xd'));var ServicenowAccount=require(_0xee02('0xe'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require(_0xee02('0xf'));var FaxAccount=require(_0xee02('0x10'));var Realtime=function(){this['agents']={};this[_0xee02('0x11')]={};this['trunks']={};this[_0xee02('0x12')]={};this[_0xee02('0x13')]={};this[_0xee02('0x14')]={};this[_0xee02('0x15')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xee02('0x16')]={};this[_0xee02('0x17')]={};this[_0xee02('0x18')]={};this['outboundChannels']={};this['timers']={};this[_0xee02('0x19')]={};this[_0xee02('0x1a')]={};this[_0xee02('0x1b')]={};this[_0xee02('0x1c')]={};this[_0xee02('0x1d')]={};this[_0xee02('0x1e')]={};this[_0xee02('0x1f')]={};this[_0xee02('0x20')]={};this['servicenowAccounts']={};this[_0xee02('0x21')]={};this[_0xee02('0x22')]={};this[_0xee02('0x23')]={};};function freeIsNotKey(_0x3bb150,_0x58cd27,_0x401c04){var _0x4eadfe=_[_0xee02('0x24')](_0x3bb150,function(_0x2fccb8,_0x502179){return _0x2fccb8[_0x401c04];});for(var _0xbfdb9e in _0x58cd27){if(_0x58cd27[_0xee02('0x25')](_0xbfdb9e)){if(!_0x4eadfe[_0xbfdb9e]){delete _0x58cd27[_0xbfdb9e];}}}}function freeIsNotKeySip(_0x364b41,_0x1e3477){var _0x7ba582=_[_0xee02('0x24')](_0x364b41,function(_0x20bbbe,_0x5b8e49){return util[_0xee02('0x26')]('SIP/%s',_0x20bbbe[_0xee02('0x27')]);});for(var _0x5edf51 in _0x1e3477){if(_0x1e3477[_0xee02('0x25')](_0x5edf51)){if(!_0x7ba582[_0x5edf51]){delete _0x1e3477[_0x5edf51];}}}}function freeIsNotKeyAgent(_0x1816a9,_0x5e0a9b){var _0x19487d=_[_0xee02('0x24')](_0x1816a9,function(_0x5cf63d,_0x132242){var _0x1a2ab1=_['isNil'](_0x5cf63d['interface'])?util[_0xee02('0x26')]('SIP/%s',_0x5cf63d['name']):_0x5cf63d['interface'];return _0x1a2ab1;});for(var _0x1d6c93 in _0x5e0a9b){if(_0x5e0a9b['hasOwnProperty'](_0x1d6c93)){if(!_0x19487d[_0x1d6c93]){delete _0x5e0a9b[_0x1d6c93];}}}}function clearVoiceCallReports(_0x401d82){_0x401d82['total']=0x0;_0x401d82[_0xee02('0x28')]=0x0;_0x401d82[_0xee02('0x29')]=0x0;_0x401d82[_0xee02('0x2a')]=0x0;_0x401d82[_0xee02('0x2b')]=0x0;}function clearCampaigns(_0x547e6f){if(!_[_0xee02('0x2c')](_0x547e6f)){for(var _0x15c175 in _0x547e6f){if(_0x547e6f[_0xee02('0x25')](_0x15c175)){_0x547e6f[_0x15c175]['ivrTotalCallsDays']=0x0;_0x547e6f[_0x15c175]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x3d7747){if(!_['isEmpty'](_0x3d7747)){for(var _0x2948e7 in _0x3d7747){if(_0x3d7747[_0xee02('0x25')](_0x2948e7)){_0x3d7747[_0x2948e7][_0xee02('0x2d')]=0x0;_0x3d7747[_0x2948e7]['answered']=0x0;_0x3d7747[_0x2948e7]['unmanaged']=0x0;_0x3d7747[_0x2948e7][_0xee02('0x2e')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x29')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x2a')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x2b')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x2f')]=0x0;_0x3d7747[_0x2948e7]['outboundNoAnswerCallsDay']=0x0;_0x3d7747[_0x2948e7]['outboundBusyCallsDay']=0x0;_0x3d7747[_0x2948e7][_0xee02('0x30')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x31')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x32')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x33')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x34')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x35')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x36')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x37')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x38')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x2f')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x39')]=0x0;_0x3d7747[_0x2948e7][_0xee02('0x3a')]=!![];}}}}Realtime['prototype'][_0xee02('0x3b')]=function(_0x24daad,_0x1217f7){for(var _0x3149c0 in _0x1217f7){if(_0x24daad['hasOwnProperty'](_0x3149c0)){_0x24daad[_0x3149c0]=_0x1217f7[_0x3149c0];}}};Realtime[_0xee02('0x3c')][_0xee02('0x3d')]=function(){var _0x72cc8d=this;return function(_0x17a7c7){if(_0x17a7c7){freeIsNotKeyAgent(_0x17a7c7,_0x72cc8d[_0xee02('0x3e')]);for(var _0x22410e=0x0,_0x458d7c={},_0x397f7a={};_0x22410e<_0x17a7c7[_0xee02('0x3f')];_0x22410e+=0x1){_0x458d7c=_0x17a7c7[_0x22410e];var _0x14feca=_['isNil'](_0x458d7c[_0xee02('0x40')])?util[_0xee02('0x26')](_0xee02('0x41'),_0x458d7c[_0xee02('0x27')]):_0x458d7c[_0xee02('0x40')];if(_[_0xee02('0x42')](_0x72cc8d[_0xee02('0x3e')][_0x14feca])){_0x72cc8d['agents'][_0x14feca]=new Agent(_0x458d7c);}else{_0x72cc8d[_0xee02('0x3b')](_0x72cc8d['agents'][_0x14feca],_0x458d7c);}}}return _0x72cc8d[_0xee02('0x3e')];};};Realtime[_0xee02('0x3c')][_0xee02('0x43')]=function(){var _0x52002f=this;return function(_0xaae53f){if(_0xaae53f){freeIsNotKeySip(_0xaae53f,_0x52002f[_0xee02('0x11')]);for(var _0x4dd4df=0x0,_0x5b087a={},_0x460726={};_0x4dd4df<_0xaae53f['length'];_0x4dd4df+=0x1){_0x5b087a=_0xaae53f[_0x4dd4df];if(_['isUndefined'](_0x52002f[_0xee02('0x11')][util[_0xee02('0x26')](_0xee02('0x41'),_0x5b087a[_0xee02('0x27')])])){_0x52002f[_0xee02('0x11')][util[_0xee02('0x26')](_0xee02('0x41'),_0x5b087a[_0xee02('0x27')])]=new Telephone(_0x5b087a);}else{_0x52002f[_0xee02('0x3b')](_0x52002f['telephones'][util[_0xee02('0x26')](_0xee02('0x41'),_0x5b087a[_0xee02('0x27')])],_0x5b087a);}}}return _0x52002f[_0xee02('0x11')];};};Realtime['prototype'][_0xee02('0x44')]=function(){var _0x5e1618=this;return function(_0x5187d8){if(_0x5187d8){freeIsNotKeySip(_0x5187d8,_0x5e1618[_0xee02('0x45')]);for(var _0x4e53e5=0x0,_0x587b9e={},_0x1936da={};_0x4e53e5<_0x5187d8[_0xee02('0x3f')];_0x4e53e5+=0x1){_0x587b9e=_0x5187d8[_0x4e53e5];if(_[_0xee02('0x42')](_0x5e1618[_0xee02('0x45')][util['format'](_0xee02('0x41'),_0x587b9e[_0xee02('0x27')])])){_0x5e1618['trunks'][util[_0xee02('0x26')](_0xee02('0x41'),_0x587b9e['name'])]=new Trunk(_0x587b9e);}else{_0x5e1618[_0xee02('0x3b')](_0x5e1618[_0xee02('0x45')][util[_0xee02('0x26')](_0xee02('0x41'),_0x587b9e[_0xee02('0x27')])],_0x587b9e);}}}return _0x5e1618[_0xee02('0x45')];};};Realtime[_0xee02('0x3c')][_0xee02('0x46')]=function(){var _0x204db2=this;return function(_0x2b505e){if(_0x2b505e){freeIsNotKey(_0x2b505e,_0x204db2[_0xee02('0x12')],_0xee02('0x27'));for(var _0xce8670=0x0,_0x1254a0={},_0x3a1410={};_0xce8670<_0x2b505e[_0xee02('0x3f')];_0xce8670+=0x1){_0x1254a0=_0x2b505e[_0xce8670];if(_[_0xee02('0x42')](_0x204db2[_0xee02('0x12')][_0x1254a0[_0xee02('0x27')]])){_0x204db2['voiceQueues'][_0x1254a0[_0xee02('0x27')]]=new VoiceQueue(_0x1254a0);}else{_0x204db2[_0xee02('0x3b')](_0x204db2[_0xee02('0x12')][_0x1254a0[_0xee02('0x27')]],_0x1254a0);}}}return _0x204db2[_0xee02('0x12')];};};Realtime[_0xee02('0x3c')]['initTriggers']=function(){var _0x510b95=this;return function(_0x244389){if(_0x244389){freeIsNotKey(_0x244389,_0x510b95[_0xee02('0x13')],'id');for(var _0x3f7afa=0x0,_0x4808f4={},_0xbc9b45={};_0x3f7afa<_0x244389[_0xee02('0x3f')];_0x3f7afa+=0x1){_0x4808f4=_0x244389[_0x3f7afa];if(_['isUndefined'](_0x510b95[_0xee02('0x13')][_0x4808f4['id']])){_0x510b95['triggers'][_0x4808f4['id']]=new Trigger(_0x4808f4);}else{_0x510b95[_0xee02('0x3b')](_0x510b95[_0xee02('0x13')][_0x4808f4['id']],_0x4808f4);}}}return _0x510b95[_0xee02('0x13')];};};Realtime['prototype'][_0xee02('0x47')]=function(){var _0x3a573c=this;return function(_0x4f11ff){if(_0x4f11ff){freeIsNotKey(_0x4f11ff,_0x3a573c[_0xee02('0x15')],'id');for(var _0x39337d=0x0,_0x32496f={},_0x59d1f7={};_0x39337d<_0x4f11ff[_0xee02('0x3f')];_0x39337d+=0x1){_0x32496f=_0x4f11ff[_0x39337d];if(_[_0xee02('0x42')](_0x3a573c[_0xee02('0x15')][_0x32496f['id']])){_0x3a573c['templates'][_0x32496f['id']]=new Template(_0x32496f);}else{_0x3a573c[_0xee02('0x3b')](_0x3a573c[_0xee02('0x15')][_0x32496f['id']],_0x32496f);}}}return _0x3a573c['templates'];};};Realtime['prototype'][_0xee02('0x48')]=function(){var _0x452b40=this;return function(_0x10cd0e){if(_0x10cd0e){freeIsNotKey(_0x10cd0e,_0x452b40['zendeskAccounts'],'id');for(var _0x1638c4=0x0,_0x16ad98={},_0x5f5043={};_0x1638c4<_0x10cd0e[_0xee02('0x3f')];_0x1638c4+=0x1){_0x16ad98=_0x10cd0e[_0x1638c4];if(_[_0xee02('0x42')](_0x452b40[_0xee02('0x1a')][_0x16ad98['id']])){_0x452b40[_0xee02('0x1a')][_0x16ad98['id']]=new ZendeskAccount(_0x16ad98);}else{_0x452b40['mergeFromDatabase'](_0x452b40[_0xee02('0x1a')][_0x16ad98['id']],_0x16ad98);}}}return _0x452b40[_0xee02('0x1a')];};};Realtime['prototype'][_0xee02('0x49')]=function(){var _0x3d5448=this;return function(_0x242904){if(_0x242904){freeIsNotKey(_0x242904,_0x3d5448[_0xee02('0x1b')],'id');for(var _0x2381a5=0x0,_0x16fc0a={},_0x941ae1={};_0x2381a5<_0x242904[_0xee02('0x3f')];_0x2381a5+=0x1){_0x16fc0a=_0x242904[_0x2381a5];if(_[_0xee02('0x42')](_0x3d5448[_0xee02('0x1b')][_0x16fc0a['id']])){_0x3d5448['salesforceAccounts'][_0x16fc0a['id']]=new SalesforceAccount(_0x16fc0a);}else{_0x3d5448[_0xee02('0x3b')](_0x3d5448[_0xee02('0x1b')][_0x16fc0a['id']],_0x16fc0a);}}}return _0x3d5448[_0xee02('0x1b')];};};Realtime[_0xee02('0x3c')][_0xee02('0x4a')]=function(){var _0x37e28b=this;return function(_0x59b8e1){if(_0x59b8e1){freeIsNotKey(_0x59b8e1,_0x37e28b['freshdeskAccounts'],'id');for(var _0x2bb913=0x0,_0x9afe29={},_0x225b13={};_0x2bb913<_0x59b8e1[_0xee02('0x3f')];_0x2bb913+=0x1){_0x9afe29=_0x59b8e1[_0x2bb913];if(_['isUndefined'](_0x37e28b['freshdeskAccounts'][_0x9afe29['id']])){_0x37e28b[_0xee02('0x1d')][_0x9afe29['id']]=new FreshdeskAccount(_0x9afe29);}else{_0x37e28b[_0xee02('0x3b')](_0x37e28b['freshdeskAccounts'][_0x9afe29['id']],_0x9afe29);}}}return _0x37e28b[_0xee02('0x1d')];};};Realtime[_0xee02('0x3c')][_0xee02('0x4b')]=function(){var _0x1dd98e=this;return function(_0x58c009){if(_0x58c009){freeIsNotKey(_0x58c009,_0x1dd98e[_0xee02('0x1e')],'id');for(var _0x5cda22=0x0,_0x30d4e9={},_0x54cf70={};_0x5cda22<_0x58c009[_0xee02('0x3f')];_0x5cda22+=0x1){_0x30d4e9=_0x58c009[_0x5cda22];if(_['isUndefined'](_0x1dd98e[_0xee02('0x1e')][_0x30d4e9['id']])){_0x1dd98e[_0xee02('0x1e')][_0x30d4e9['id']]=new ZohoAccount(_0x30d4e9);}else{_0x1dd98e[_0xee02('0x3b')](_0x1dd98e['zohoAccounts'][_0x30d4e9['id']],_0x30d4e9);}}}return _0x1dd98e[_0xee02('0x1e')];};};Realtime[_0xee02('0x3c')][_0xee02('0x4c')]=function(){var _0x256225=this;return function(_0x1ae93f){if(_0x1ae93f){freeIsNotKey(_0x1ae93f,_0x256225[_0xee02('0x1f')],'id');for(var _0x6d63a1=0x0,_0x17857b={},_0x4e58d2={};_0x6d63a1<_0x1ae93f[_0xee02('0x3f')];_0x6d63a1+=0x1){_0x17857b=_0x1ae93f[_0x6d63a1];if(_[_0xee02('0x42')](_0x256225[_0xee02('0x1f')][_0x17857b['id']])){_0x256225[_0xee02('0x1f')][_0x17857b['id']]=new DeskAccount(_0x17857b);}else{_0x256225['mergeFromDatabase'](_0x256225[_0xee02('0x1f')][_0x17857b['id']],_0x17857b);}}}return _0x256225['deskAccounts'];};};Realtime[_0xee02('0x3c')][_0xee02('0x4d')]=function(){var _0x1dd3a0=this;return function(_0x493faf){if(_0x493faf){freeIsNotKey(_0x493faf,_0x1dd3a0[_0xee02('0x1c')],'id');for(var _0x591ee3=0x0,_0x260285={},_0x480874={};_0x591ee3<_0x493faf[_0xee02('0x3f')];_0x591ee3+=0x1){_0x260285=_0x493faf[_0x591ee3];if(_[_0xee02('0x42')](_0x1dd3a0[_0xee02('0x1c')][_0x260285['id']])){_0x1dd3a0[_0xee02('0x1c')][_0x260285['id']]=new SugarcrmAccount(_0x260285);}else{_0x1dd3a0[_0xee02('0x3b')](_0x1dd3a0[_0xee02('0x1c')][_0x260285['id']],_0x260285);}}}return _0x1dd3a0[_0xee02('0x1c')];};};Realtime[_0xee02('0x3c')][_0xee02('0x4e')]=function(){var _0x324f8a=this;return function(_0x46973e){if(_0x46973e){freeIsNotKey(_0x46973e,_0x324f8a[_0xee02('0x20')],'id');for(var _0x452f71=0x0,_0x55bd23={},_0x23928d={};_0x452f71<_0x46973e[_0xee02('0x3f')];_0x452f71+=0x1){_0x55bd23=_0x46973e[_0x452f71];if(_[_0xee02('0x42')](_0x324f8a[_0xee02('0x20')][_0x55bd23['id']])){_0x324f8a[_0xee02('0x20')][_0x55bd23['id']]=new VtigerAccount(_0x55bd23);}else{_0x324f8a[_0xee02('0x3b')](_0x324f8a['vtigerAccounts'][_0x55bd23['id']],_0x55bd23);}}}return _0x324f8a['vtigerAccounts'];};};Realtime['prototype']['initServicenowAccounts']=function(){var _0x527cc9=this;return function(_0x4c5507){if(_0x4c5507){freeIsNotKey(_0x4c5507,_0x527cc9[_0xee02('0x4f')],'id');for(var _0x526d47=0x0,_0x426fac={},_0x278021={};_0x526d47<_0x4c5507[_0xee02('0x3f')];_0x526d47+=0x1){_0x426fac=_0x4c5507[_0x526d47];if(_[_0xee02('0x42')](_0x527cc9[_0xee02('0x4f')][_0x426fac['id']])){_0x527cc9['servicenowAccounts'][_0x426fac['id']]=new ServicenowAccount(_0x426fac);}else{_0x527cc9[_0xee02('0x3b')](_0x527cc9[_0xee02('0x4f')][_0x426fac['id']],_0x426fac);}}}return _0x527cc9['servicenowAccounts'];};};Realtime[_0xee02('0x3c')][_0xee02('0x50')]=function(){var _0x4435ca=this;return function(_0x3fc440){if(_0x3fc440){freeIsNotKey(_0x3fc440,_0x4435ca['dynamics365Accounts'],'id');for(var _0x1f14fc=0x0,_0x947777={},_0x378bae={};_0x1f14fc<_0x3fc440[_0xee02('0x3f')];_0x1f14fc+=0x1){_0x947777=_0x3fc440[_0x1f14fc];if(_[_0xee02('0x42')](_0x4435ca[_0xee02('0x21')][_0x947777['id']])){_0x4435ca[_0xee02('0x21')][_0x947777['id']]=new Dynamics365Account(_0x947777);}else{_0x4435ca[_0xee02('0x3b')](_0x4435ca[_0xee02('0x21')][_0x947777['id']],_0x947777);}}}return _0x4435ca[_0xee02('0x21')];};};Realtime[_0xee02('0x3c')][_0xee02('0x51')]=function(){var _0x3225a0=this;return function(_0xd7130c){if(_0xd7130c){freeIsNotKey(_0xd7130c,_0x3225a0[_0xee02('0x22')],'id');for(var _0x5d81e9=0x0,_0x1b06d9={},_0x2f5945={};_0x5d81e9<_0xd7130c[_0xee02('0x3f')];_0x5d81e9+=0x1){_0x1b06d9=_0xd7130c[_0x5d81e9];if(_[_0xee02('0x42')](_0x3225a0[_0xee02('0x22')][_0x1b06d9['id']])){_0x3225a0[_0xee02('0x22')][_0x1b06d9['id']]=new FreshsalesAccount(_0x1b06d9);}else{_0x3225a0[_0xee02('0x3b')](_0x3225a0[_0xee02('0x22')][_0x1b06d9['id']],_0x1b06d9);}}}return _0x3225a0[_0xee02('0x22')];};};Realtime[_0xee02('0x3c')][_0xee02('0x52')]=function(){var _0x4be38d=this;return function(_0x4e7188){for(var _0x4804b7=0x0;_0x4804b7<_0x4e7188[_0xee02('0x3f')];_0x4804b7+=0x1){_[_0xee02('0x53')](_0x4be38d[_0xee02('0x12')][_0x4e7188[_0x4804b7][_0xee02('0x27')]],_0x4e7188[_0x4804b7]);}return _0x4be38d[_0xee02('0x12')];};};Realtime[_0xee02('0x3c')][_0xee02('0x54')]=function(){var _0x5f0e3b=this;return function(_0x1cac55){clearVoiceQueues(_0x5f0e3b[_0xee02('0x12')]);if(_0x1cac55){_0x1cac55=_[_0xee02('0x55')](_0x1cac55,_0xee02('0x56'));for(var _0x212634 in _0x1cac55){if(_0x1cac55[_0xee02('0x25')](_0x212634)){var _0x5a7f60={};for(var _0x4b4761=0x0;_0x4b4761<_0x1cac55[_0x212634][_0xee02('0x3f')];_0x4b4761+=0x1){var _0x153ad1=_0x1cac55[_0x212634][_0x4b4761]['queue'];if(_0x5f0e3b[_0xee02('0x12')][_0x153ad1]){if(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x57')]){_0x5f0e3b[_0xee02('0x12')][_0x153ad1][_0xee02('0x58')]+=0x1;}if(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x59')]){_0x5f0e3b['voiceQueues'][_0x153ad1][_0xee02('0x2e')]+=0x1;}_0x5f0e3b[_0xee02('0x12')][_0x153ad1][_0xee02('0x29')]+=moment(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x5a')])[_0xee02('0x5b')](moment(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x5c')]),_0xee02('0x5d'))||0x0;if(_0x4b4761===_0x1cac55[_0x212634][_0xee02('0x3f')]-0x1){_0x5f0e3b['voiceQueues'][_0x153ad1][_0xee02('0x2a')]+=moment(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x5e')]||_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x5f')]||_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x60')])[_0xee02('0x5b')](moment(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x5c')]),_0xee02('0x5d'))||0x0;_0x5f0e3b['voiceQueues'][_0x153ad1]['total']+=0x1;if(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x61')]){_0x5f0e3b[_0xee02('0x12')][_0x153ad1][_0xee02('0x28')]+=0x1;_0x5f0e3b[_0xee02('0x12')][_0x153ad1]['sumBillable']+=moment(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x5e')])[_0xee02('0x5b')](moment(_0x1cac55[_0x212634][_0x4b4761][_0xee02('0x5a')]),'seconds')||0x0;}}else{_0x5f0e3b[_0xee02('0x12')][_0x153ad1][_0xee02('0x2a')]+=_0x5f0e3b[_0xee02('0x12')][_0x153ad1][_0xee02('0x29')]||0x0;}}}}}}return _0x5f0e3b[_0xee02('0x12')];};};Realtime[_0xee02('0x3c')][_0xee02('0x62')]=function(){var _0x1ab8a5=this;return function(_0x5232d0){clearVoiceCallReports(_0x1ab8a5[_0xee02('0x63')]);if(_0x5232d0){for(var _0x2b12d9=0x0;_0x2b12d9<_0x5232d0[_0xee02('0x3f')];_0x2b12d9+=0x1){_0x1ab8a5[_0xee02('0x63')]['total']+=0x1;_0x1ab8a5[_0xee02('0x63')]['sumDuration']+=_0x5232d0[_0x2b12d9]['duration'];if(_0x5232d0[_0x2b12d9][_0xee02('0x64')]==='ANSWERED'){_0x1ab8a5[_0xee02('0x63')][_0xee02('0x28')]+=0x1;_0x1ab8a5[_0xee02('0x63')][_0xee02('0x29')]+=_0x5232d0[_0x2b12d9]['duration']-_0x5232d0[_0x2b12d9][_0xee02('0x65')]||0x0;_0x1ab8a5['outbound'][_0xee02('0x2b')]+=_0x5232d0[_0x2b12d9][_0xee02('0x65')];}}}return _0x1ab8a5[_0xee02('0x63')];};};Realtime[_0xee02('0x3c')][_0xee02('0x66')]=function(){var _0xe9f6d0=this;return function(_0x183519){if(_0x183519){freeIsNotKey(_0x183519,_0xe9f6d0[_0xee02('0x14')],_0xee02('0x27'));for(var _0x47a22f=0x0,_0x400003={};_0x47a22f<_0x183519[_0xee02('0x3f')];_0x47a22f+=0x1){_0x400003=_0x183519[_0x47a22f];if(_['isUndefined'](_0xe9f6d0[_0xee02('0x14')][_0x400003['name']])){_0xe9f6d0['campaigns'][_0x400003[_0xee02('0x27')]]=new Campaign(_0x400003);}else{_0xe9f6d0[_0xee02('0x3b')](_0xe9f6d0['campaigns'][_0x400003['name']],_0x400003);_0xe9f6d0['campaigns'][_0x400003[_0xee02('0x27')]][_0xee02('0x67')]=_0x400003[_0xee02('0x68')]?_0x400003[_0xee02('0x68')][_0xee02('0x27')]:undefined;}}}return _0xe9f6d0[_0xee02('0x14')];};};Realtime['prototype'][_0xee02('0x69')]=function(){var _0x400c4d=this;return function(_0x1bd499){if(_0x1bd499){freeIsNotKey(_0x1bd499,_0x400c4d[_0xee02('0x16')],'id');for(var _0x1bca3c=0x0,_0x923a0={};_0x1bca3c<_0x1bd499[_0xee02('0x3f')];_0x1bca3c+=0x1){_0x923a0=_0x1bd499[_0x1bca3c];if(_['isUndefined'](_0x400c4d['voiceExtensions'][_0x923a0['id']])){_0x400c4d[_0xee02('0x16')][_0x923a0['id']]=new VoiceExtension(_0x923a0);}else{_0x400c4d[_0xee02('0x3b')](_0x400c4d[_0xee02('0x16')][_0x923a0['id']],_0x923a0);}}}return _0x400c4d['voiceExtensions'];};};Realtime[_0xee02('0x3c')][_0xee02('0x6a')]=function(){var _0x320cd7=this;return function(_0x3b7cf0){clearCampaigns(_0x320cd7[_0xee02('0x14')]);for(var _0x4713f9=0x0;_0x4713f9<_0x3b7cf0[_0xee02('0x3f')];_0x4713f9+=0x1){_[_0xee02('0x53')](_0x320cd7['campaigns'][_0x3b7cf0[_0x4713f9][_0xee02('0x27')]],_0x3b7cf0[_0x4713f9]);}return _0x320cd7[_0xee02('0x14')];};};Realtime['prototype']['initFaxAccounts']=function(){var _0x5c14ac=this;return function(_0x3c23ec){if(_0x3c23ec){freeIsNotKey(_0x3c23ec,_0x5c14ac[_0xee02('0x23')],'id');for(var _0x2f6cc4=0x0,_0x22fe82={},_0x2ba1de={};_0x2f6cc4<_0x3c23ec['length'];_0x2f6cc4+=0x1){_0x22fe82=_0x3c23ec[_0x2f6cc4];if(_[_0xee02('0x42')](_0x5c14ac[_0xee02('0x23')][_0x22fe82['id']])){_0x5c14ac['faxAccounts'][_0x22fe82['id']]=new FaxAccount(_0x22fe82);}else{_0x5c14ac[_0xee02('0x3b')](_0x5c14ac[_0xee02('0x23')][_0x22fe82['id']],_0x22fe82);}}}return _0x5c14ac['faxAccounts'];};};module[_0xee02('0x6b')]=Realtime;