4aba0cdd323597126a8166ad4e5d5993380ab79a
[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 _0x4750=['../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/salesforceAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/freshsalesAccount','agents','telephones','trunks','voiceQueues','triggers','templates','outbound','voiceExtensions','channels','queueChannels','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','mapKeys','format','name','hasOwnProperty','interface','SIP/%s','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','total','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundRejectCallsDay','outboundAnswerCallsDay','queueStatusComplete','mergeFromDatabase','prototype','initAgents','length','isNil','isUndefined','initTrunks','initVoiceQueues','initTriggers','initTemplates','initSalesforceAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','freshsalesAccounts','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerexitAt','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','initCampaigns','campaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','lodash','moment','../model/agent','../model/trunk'];(function(_0x1c9c4e,_0x1f7791){var _0x43a7d7=function(_0x49c9c1){while(--_0x49c9c1){_0x1c9c4e['push'](_0x1c9c4e['shift']());}};_0x43a7d7(++_0x1f7791);}(_0x4750,0x19c));var _0x0475=function(_0x4326fc,_0x726580){_0x4326fc=_0x4326fc-0x0;var _0x14d678=_0x4750[_0x4326fc];return _0x14d678;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x0475('0x0'));var moment=require(_0x0475('0x1'));var Agent=require(_0x0475('0x2'));var Telephone=require('../model/telephone');var Trunk=require(_0x0475('0x3'));var VoiceQueue=require(_0x0475('0x4'));var Trigger=require(_0x0475('0x5'));var Template=require('../model/template');var Campaign=require(_0x0475('0x6'));var VoiceExtension=require(_0x0475('0x7'));var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0x0475('0x8'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0x0475('0x9'));var ZohoAccount=require(_0x0475('0xa'));var DeskAccount=require(_0x0475('0xb'));var VtigerAccount=require(_0x0475('0xc'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x0475('0xd'));var FreshsalesAccount=require(_0x0475('0xe'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0x0475('0xf')]={};this[_0x0475('0x10')]={};this[_0x0475('0x11')]={};this[_0x0475('0x12')]={};this[_0x0475('0x13')]={};this['campaigns']={};this[_0x0475('0x14')]={};this[_0x0475('0x15')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x0475('0x16')]={};this[_0x0475('0x17')]={};this[_0x0475('0x18')]={};this['outboundChannels']={};this['timers']={};this[_0x0475('0x19')]={};this[_0x0475('0x1a')]={};this[_0x0475('0x1b')]={};this[_0x0475('0x1c')]={};this[_0x0475('0x1d')]={};this[_0x0475('0x1e')]={};this['vtigerAccounts']={};this[_0x0475('0x1f')]={};this[_0x0475('0x20')]={};this['freshsalesAccounts']={};this[_0x0475('0x21')]={};};function freeIsNotKey(_0x3ea9ca,_0x3e278d,_0x39b6e4){var _0x267385=_[_0x0475('0x22')](_0x3ea9ca,function(_0xcf80c5,_0x17b14c){return _0xcf80c5[_0x39b6e4];});for(var _0x3ea659 in _0x3e278d){if(_0x3e278d['hasOwnProperty'](_0x3ea659)){if(!_0x267385[_0x3ea659]){delete _0x3e278d[_0x3ea659];}}}}function freeIsNotKeySip(_0x19e4e3,_0x2e55b4){var _0x468558=_[_0x0475('0x22')](_0x19e4e3,function(_0x50c69e,_0x4a4270){return util[_0x0475('0x23')]('SIP/%s',_0x50c69e[_0x0475('0x24')]);});for(var _0x1d42dc in _0x2e55b4){if(_0x2e55b4[_0x0475('0x25')](_0x1d42dc)){if(!_0x468558[_0x1d42dc]){delete _0x2e55b4[_0x1d42dc];}}}}function freeIsNotKeyAgent(_0x134c3e,_0x3432a0){var _0x572cf9=_[_0x0475('0x22')](_0x134c3e,function(_0x50c268,_0x277d96){var _0x3cb55e=_['isNil'](_0x50c268[_0x0475('0x26')])?util[_0x0475('0x23')](_0x0475('0x27'),_0x50c268[_0x0475('0x24')]):_0x50c268[_0x0475('0x26')];return _0x3cb55e;});for(var _0x28265e in _0x3432a0){if(_0x3432a0['hasOwnProperty'](_0x28265e)){if(!_0x572cf9[_0x28265e]){delete _0x3432a0[_0x28265e];}}}}function clearVoiceCallReports(_0x37fe4c){_0x37fe4c['total']=0x0;_0x37fe4c[_0x0475('0x28')]=0x0;_0x37fe4c[_0x0475('0x29')]=0x0;_0x37fe4c[_0x0475('0x2a')]=0x0;_0x37fe4c[_0x0475('0x2b')]=0x0;}function clearCampaigns(_0x1a7e3c){if(!_[_0x0475('0x2c')](_0x1a7e3c)){for(var _0xc07f9 in _0x1a7e3c){if(_0x1a7e3c['hasOwnProperty'](_0xc07f9)){_0x1a7e3c[_0xc07f9][_0x0475('0x2d')]=0x0;_0x1a7e3c[_0xc07f9]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x21144d){if(!_['isEmpty'](_0x21144d)){for(var _0x3741d3 in _0x21144d){if(_0x21144d[_0x0475('0x25')](_0x3741d3)){_0x21144d[_0x3741d3][_0x0475('0x2e')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x28')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x2f')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x30')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x29')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x2a')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x2b')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x31')]=0x0;_0x21144d[_0x3741d3]['outboundNoAnswerCallsDay']=0x0;_0x21144d[_0x3741d3][_0x0475('0x32')]=0x0;_0x21144d[_0x3741d3]['outboundCongestionCallsDay']=0x0;_0x21144d[_0x3741d3][_0x0475('0x33')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x34')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x35')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x36')]=0x0;_0x21144d[_0x3741d3]['outboundBlacklistCallsDay']=0x0;_0x21144d[_0x3741d3]['outboundOriginateFailureCallsDay']=0x0;_0x21144d[_0x3741d3][_0x0475('0x37')]=0x0;_0x21144d[_0x3741d3]['outboundReCallsDay']=0x0;_0x21144d[_0x3741d3][_0x0475('0x31')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x38')]=0x0;_0x21144d[_0x3741d3][_0x0475('0x39')]=!![];}}}}Realtime['prototype'][_0x0475('0x3a')]=function(_0x3a1cd8,_0x58fbf6){for(var _0x564161 in _0x58fbf6){if(_0x3a1cd8[_0x0475('0x25')](_0x564161)){_0x3a1cd8[_0x564161]=_0x58fbf6[_0x564161];}}};Realtime[_0x0475('0x3b')][_0x0475('0x3c')]=function(){var _0x472fe7=this;return function(_0x4d4f36){if(_0x4d4f36){freeIsNotKeyAgent(_0x4d4f36,_0x472fe7['agents']);for(var _0x2e58b7=0x0,_0x2b1900={},_0x5ed0f1={};_0x2e58b7<_0x4d4f36[_0x0475('0x3d')];_0x2e58b7+=0x1){_0x2b1900=_0x4d4f36[_0x2e58b7];var _0x49c14b=_[_0x0475('0x3e')](_0x2b1900['interface'])?util['format'](_0x0475('0x27'),_0x2b1900[_0x0475('0x24')]):_0x2b1900[_0x0475('0x26')];if(_['isUndefined'](_0x472fe7[_0x0475('0xf')][_0x49c14b])){_0x472fe7[_0x0475('0xf')][_0x49c14b]=new Agent(_0x2b1900);}else{_0x472fe7['mergeFromDatabase'](_0x472fe7[_0x0475('0xf')][_0x49c14b],_0x2b1900);}}}return _0x472fe7['agents'];};};Realtime[_0x0475('0x3b')]['initTelephones']=function(){var _0x26651b=this;return function(_0x25da8a){if(_0x25da8a){freeIsNotKeySip(_0x25da8a,_0x26651b[_0x0475('0x10')]);for(var _0x3e499d=0x0,_0x13ce7c={},_0xfa36ef={};_0x3e499d<_0x25da8a[_0x0475('0x3d')];_0x3e499d+=0x1){_0x13ce7c=_0x25da8a[_0x3e499d];if(_[_0x0475('0x3f')](_0x26651b[_0x0475('0x10')][util[_0x0475('0x23')]('SIP/%s',_0x13ce7c[_0x0475('0x24')])])){_0x26651b[_0x0475('0x10')][util[_0x0475('0x23')]('SIP/%s',_0x13ce7c[_0x0475('0x24')])]=new Telephone(_0x13ce7c);}else{_0x26651b['mergeFromDatabase'](_0x26651b['telephones'][util[_0x0475('0x23')]('SIP/%s',_0x13ce7c[_0x0475('0x24')])],_0x13ce7c);}}}return _0x26651b[_0x0475('0x10')];};};Realtime[_0x0475('0x3b')][_0x0475('0x40')]=function(){var _0x247a7e=this;return function(_0x252954){if(_0x252954){freeIsNotKeySip(_0x252954,_0x247a7e[_0x0475('0x11')]);for(var _0x32f28a=0x0,_0x1fe2e5={},_0x49d9db={};_0x32f28a<_0x252954[_0x0475('0x3d')];_0x32f28a+=0x1){_0x1fe2e5=_0x252954[_0x32f28a];if(_['isUndefined'](_0x247a7e['trunks'][util[_0x0475('0x23')](_0x0475('0x27'),_0x1fe2e5[_0x0475('0x24')])])){_0x247a7e[_0x0475('0x11')][util[_0x0475('0x23')](_0x0475('0x27'),_0x1fe2e5[_0x0475('0x24')])]=new Trunk(_0x1fe2e5);}else{_0x247a7e['mergeFromDatabase'](_0x247a7e['trunks'][util[_0x0475('0x23')]('SIP/%s',_0x1fe2e5[_0x0475('0x24')])],_0x1fe2e5);}}}return _0x247a7e['trunks'];};};Realtime[_0x0475('0x3b')][_0x0475('0x41')]=function(){var _0x3320a9=this;return function(_0x24ed9d){if(_0x24ed9d){freeIsNotKey(_0x24ed9d,_0x3320a9[_0x0475('0x12')],_0x0475('0x24'));for(var _0x57bca8=0x0,_0x2fce19={},_0x7e80ae={};_0x57bca8<_0x24ed9d[_0x0475('0x3d')];_0x57bca8+=0x1){_0x2fce19=_0x24ed9d[_0x57bca8];if(_[_0x0475('0x3f')](_0x3320a9[_0x0475('0x12')][_0x2fce19[_0x0475('0x24')]])){_0x3320a9[_0x0475('0x12')][_0x2fce19['name']]=new VoiceQueue(_0x2fce19);}else{_0x3320a9[_0x0475('0x3a')](_0x3320a9[_0x0475('0x12')][_0x2fce19[_0x0475('0x24')]],_0x2fce19);}}}return _0x3320a9[_0x0475('0x12')];};};Realtime[_0x0475('0x3b')][_0x0475('0x42')]=function(){var _0x1fc83c=this;return function(_0x3e7c97){if(_0x3e7c97){freeIsNotKey(_0x3e7c97,_0x1fc83c[_0x0475('0x13')],'id');for(var _0x1bb4cf=0x0,_0x1754bc={},_0x1555a4={};_0x1bb4cf<_0x3e7c97[_0x0475('0x3d')];_0x1bb4cf+=0x1){_0x1754bc=_0x3e7c97[_0x1bb4cf];if(_[_0x0475('0x3f')](_0x1fc83c[_0x0475('0x13')][_0x1754bc['id']])){_0x1fc83c[_0x0475('0x13')][_0x1754bc['id']]=new Trigger(_0x1754bc);}else{_0x1fc83c[_0x0475('0x3a')](_0x1fc83c[_0x0475('0x13')][_0x1754bc['id']],_0x1754bc);}}}return _0x1fc83c[_0x0475('0x13')];};};Realtime[_0x0475('0x3b')][_0x0475('0x43')]=function(){var _0xc8df7c=this;return function(_0x4db83a){if(_0x4db83a){freeIsNotKey(_0x4db83a,_0xc8df7c[_0x0475('0x14')],'id');for(var _0x41cfd6=0x0,_0x15bda2={},_0x5bfe5c={};_0x41cfd6<_0x4db83a[_0x0475('0x3d')];_0x41cfd6+=0x1){_0x15bda2=_0x4db83a[_0x41cfd6];if(_[_0x0475('0x3f')](_0xc8df7c[_0x0475('0x14')][_0x15bda2['id']])){_0xc8df7c['templates'][_0x15bda2['id']]=new Template(_0x15bda2);}else{_0xc8df7c[_0x0475('0x3a')](_0xc8df7c[_0x0475('0x14')][_0x15bda2['id']],_0x15bda2);}}}return _0xc8df7c[_0x0475('0x14')];};};Realtime[_0x0475('0x3b')]['initZendeskAccounts']=function(){var _0x3151f9=this;return function(_0x36b088){if(_0x36b088){freeIsNotKey(_0x36b088,_0x3151f9[_0x0475('0x19')],'id');for(var _0x5d9d10=0x0,_0x56f33d={},_0x383de9={};_0x5d9d10<_0x36b088[_0x0475('0x3d')];_0x5d9d10+=0x1){_0x56f33d=_0x36b088[_0x5d9d10];if(_[_0x0475('0x3f')](_0x3151f9[_0x0475('0x19')][_0x56f33d['id']])){_0x3151f9[_0x0475('0x19')][_0x56f33d['id']]=new ZendeskAccount(_0x56f33d);}else{_0x3151f9[_0x0475('0x3a')](_0x3151f9[_0x0475('0x19')][_0x56f33d['id']],_0x56f33d);}}}return _0x3151f9['zendeskAccounts'];};};Realtime[_0x0475('0x3b')][_0x0475('0x44')]=function(){var _0x363fac=this;return function(_0xa7c40e){if(_0xa7c40e){freeIsNotKey(_0xa7c40e,_0x363fac[_0x0475('0x1a')],'id');for(var _0x444665=0x0,_0x3b77ce={},_0xf53dcc={};_0x444665<_0xa7c40e[_0x0475('0x3d')];_0x444665+=0x1){_0x3b77ce=_0xa7c40e[_0x444665];if(_[_0x0475('0x3f')](_0x363fac[_0x0475('0x1a')][_0x3b77ce['id']])){_0x363fac[_0x0475('0x1a')][_0x3b77ce['id']]=new SalesforceAccount(_0x3b77ce);}else{_0x363fac[_0x0475('0x3a')](_0x363fac['salesforceAccounts'][_0x3b77ce['id']],_0x3b77ce);}}}return _0x363fac[_0x0475('0x1a')];};};Realtime[_0x0475('0x3b')]['initFreshdeskAccounts']=function(){var _0x485b90=this;return function(_0x4173f0){if(_0x4173f0){freeIsNotKey(_0x4173f0,_0x485b90[_0x0475('0x1c')],'id');for(var _0x420fde=0x0,_0x2a28d2={},_0x38d2b0={};_0x420fde<_0x4173f0[_0x0475('0x3d')];_0x420fde+=0x1){_0x2a28d2=_0x4173f0[_0x420fde];if(_[_0x0475('0x3f')](_0x485b90[_0x0475('0x1c')][_0x2a28d2['id']])){_0x485b90[_0x0475('0x1c')][_0x2a28d2['id']]=new FreshdeskAccount(_0x2a28d2);}else{_0x485b90[_0x0475('0x3a')](_0x485b90[_0x0475('0x1c')][_0x2a28d2['id']],_0x2a28d2);}}}return _0x485b90[_0x0475('0x1c')];};};Realtime[_0x0475('0x3b')][_0x0475('0x45')]=function(){var _0x5ca028=this;return function(_0xcc425){if(_0xcc425){freeIsNotKey(_0xcc425,_0x5ca028[_0x0475('0x1d')],'id');for(var _0x295173=0x0,_0x341cd6={},_0x71bd4d={};_0x295173<_0xcc425[_0x0475('0x3d')];_0x295173+=0x1){_0x341cd6=_0xcc425[_0x295173];if(_[_0x0475('0x3f')](_0x5ca028[_0x0475('0x1d')][_0x341cd6['id']])){_0x5ca028[_0x0475('0x1d')][_0x341cd6['id']]=new ZohoAccount(_0x341cd6);}else{_0x5ca028['mergeFromDatabase'](_0x5ca028[_0x0475('0x1d')][_0x341cd6['id']],_0x341cd6);}}}return _0x5ca028['zohoAccounts'];};};Realtime[_0x0475('0x3b')][_0x0475('0x46')]=function(){var _0x67637a=this;return function(_0x4ef2ee){if(_0x4ef2ee){freeIsNotKey(_0x4ef2ee,_0x67637a['deskAccounts'],'id');for(var _0x2759be=0x0,_0x36c9d7={},_0x332d3b={};_0x2759be<_0x4ef2ee[_0x0475('0x3d')];_0x2759be+=0x1){_0x36c9d7=_0x4ef2ee[_0x2759be];if(_['isUndefined'](_0x67637a['deskAccounts'][_0x36c9d7['id']])){_0x67637a[_0x0475('0x1e')][_0x36c9d7['id']]=new DeskAccount(_0x36c9d7);}else{_0x67637a[_0x0475('0x3a')](_0x67637a[_0x0475('0x1e')][_0x36c9d7['id']],_0x36c9d7);}}}return _0x67637a[_0x0475('0x1e')];};};Realtime[_0x0475('0x3b')][_0x0475('0x47')]=function(){var _0x17cf85=this;return function(_0x5aab4b){if(_0x5aab4b){freeIsNotKey(_0x5aab4b,_0x17cf85['sugarcrmAccounts'],'id');for(var _0x545a4f=0x0,_0x5e76d3={},_0x170f2d={};_0x545a4f<_0x5aab4b['length'];_0x545a4f+=0x1){_0x5e76d3=_0x5aab4b[_0x545a4f];if(_['isUndefined'](_0x17cf85[_0x0475('0x1b')][_0x5e76d3['id']])){_0x17cf85[_0x0475('0x1b')][_0x5e76d3['id']]=new SugarcrmAccount(_0x5e76d3);}else{_0x17cf85[_0x0475('0x3a')](_0x17cf85[_0x0475('0x1b')][_0x5e76d3['id']],_0x5e76d3);}}}return _0x17cf85['sugarcrmAccounts'];};};Realtime[_0x0475('0x3b')][_0x0475('0x48')]=function(){var _0x33f860=this;return function(_0x323b38){if(_0x323b38){freeIsNotKey(_0x323b38,_0x33f860['vtigerAccounts'],'id');for(var _0x43cfa7=0x0,_0xc71578={},_0x2f38ef={};_0x43cfa7<_0x323b38[_0x0475('0x3d')];_0x43cfa7+=0x1){_0xc71578=_0x323b38[_0x43cfa7];if(_[_0x0475('0x3f')](_0x33f860[_0x0475('0x49')][_0xc71578['id']])){_0x33f860[_0x0475('0x49')][_0xc71578['id']]=new VtigerAccount(_0xc71578);}else{_0x33f860[_0x0475('0x3a')](_0x33f860[_0x0475('0x49')][_0xc71578['id']],_0xc71578);}}}return _0x33f860['vtigerAccounts'];};};Realtime[_0x0475('0x3b')][_0x0475('0x4a')]=function(){var _0x4bb3a7=this;return function(_0x3a9ba8){if(_0x3a9ba8){freeIsNotKey(_0x3a9ba8,_0x4bb3a7[_0x0475('0x1f')],'id');for(var _0x295101=0x0,_0x1d0e76={},_0x3cbec2={};_0x295101<_0x3a9ba8[_0x0475('0x3d')];_0x295101+=0x1){_0x1d0e76=_0x3a9ba8[_0x295101];if(_[_0x0475('0x3f')](_0x4bb3a7['servicenowAccounts'][_0x1d0e76['id']])){_0x4bb3a7[_0x0475('0x1f')][_0x1d0e76['id']]=new ServicenowAccount(_0x1d0e76);}else{_0x4bb3a7[_0x0475('0x3a')](_0x4bb3a7['servicenowAccounts'][_0x1d0e76['id']],_0x1d0e76);}}}return _0x4bb3a7['servicenowAccounts'];};};Realtime[_0x0475('0x3b')][_0x0475('0x4b')]=function(){var _0x14e914=this;return function(_0x1d1aab){if(_0x1d1aab){freeIsNotKey(_0x1d1aab,_0x14e914[_0x0475('0x20')],'id');for(var _0xea067f=0x0,_0x75dd9b={},_0x19af2b={};_0xea067f<_0x1d1aab[_0x0475('0x3d')];_0xea067f+=0x1){_0x75dd9b=_0x1d1aab[_0xea067f];if(_[_0x0475('0x3f')](_0x14e914[_0x0475('0x20')][_0x75dd9b['id']])){_0x14e914[_0x0475('0x20')][_0x75dd9b['id']]=new Dynamics365Account(_0x75dd9b);}else{_0x14e914[_0x0475('0x3a')](_0x14e914[_0x0475('0x20')][_0x75dd9b['id']],_0x75dd9b);}}}return _0x14e914['dynamics365Accounts'];};};Realtime[_0x0475('0x3b')][_0x0475('0x4c')]=function(){var _0x2c14a0=this;return function(_0x102dda){if(_0x102dda){freeIsNotKey(_0x102dda,_0x2c14a0[_0x0475('0x4d')],'id');for(var _0x3f228a=0x0,_0x2b9e28={},_0x4a3550={};_0x3f228a<_0x102dda['length'];_0x3f228a+=0x1){_0x2b9e28=_0x102dda[_0x3f228a];if(_[_0x0475('0x3f')](_0x2c14a0[_0x0475('0x4d')][_0x2b9e28['id']])){_0x2c14a0[_0x0475('0x4d')][_0x2b9e28['id']]=new FreshsalesAccount(_0x2b9e28);}else{_0x2c14a0[_0x0475('0x3a')](_0x2c14a0[_0x0475('0x4d')][_0x2b9e28['id']],_0x2b9e28);}}}return _0x2c14a0[_0x0475('0x4d')];};};Realtime['prototype']['initVoiceQueueHopperHistory']=function(){var _0x3c5121=this;return function(_0x4cfcf6){for(var _0x300398=0x0;_0x300398<_0x4cfcf6['length'];_0x300398+=0x1){_[_0x0475('0x4e')](_0x3c5121[_0x0475('0x12')][_0x4cfcf6[_0x300398][_0x0475('0x24')]],_0x4cfcf6[_0x300398]);}return _0x3c5121[_0x0475('0x12')];};};Realtime['prototype'][_0x0475('0x4f')]=function(){var _0x18e08c=this;return function(_0x4649d4){clearVoiceQueues(_0x18e08c[_0x0475('0x12')]);if(_0x4649d4){_0x4649d4=_[_0x0475('0x50')](_0x4649d4,_0x0475('0x51'));for(var _0x316a1a in _0x4649d4){if(_0x4649d4[_0x0475('0x25')](_0x316a1a)){var _0x44751a={};for(var _0x3abb05=0x0;_0x3abb05<_0x4649d4[_0x316a1a][_0x0475('0x3d')];_0x3abb05+=0x1){var _0x463b01=_0x4649d4[_0x316a1a][_0x3abb05][_0x0475('0x52')];if(_0x18e08c[_0x0475('0x12')][_0x463b01]){if(_0x4649d4[_0x316a1a][_0x3abb05][_0x0475('0x53')]){_0x18e08c[_0x0475('0x12')][_0x463b01][_0x0475('0x2f')]+=0x1;}if(_0x4649d4[_0x316a1a][_0x3abb05][_0x0475('0x54')]){_0x18e08c[_0x0475('0x12')][_0x463b01]['abandoned']+=0x1;}_0x18e08c[_0x0475('0x12')][_0x463b01]['sumHoldTime']+=moment(_0x4649d4[_0x316a1a][_0x3abb05][_0x0475('0x55')])[_0x0475('0x56')](moment(_0x4649d4[_0x316a1a][_0x3abb05][_0x0475('0x57')]),_0x0475('0x58'))||0x0;if(_0x3abb05===_0x4649d4[_0x316a1a]['length']-0x1){_0x18e08c[_0x0475('0x12')][_0x463b01][_0x0475('0x2a')]+=moment(_0x4649d4[_0x316a1a][_0x3abb05][_0x0475('0x59')]||_0x4649d4[_0x316a1a][_0x3abb05]['queuecallerabandonAt']||_0x4649d4[_0x316a1a][_0x3abb05][_0x0475('0x5a')])[_0x0475('0x56')](moment(_0x4649d4[_0x316a1a][_0x3abb05]['queuecallerjoinAt']),_0x0475('0x58'))||0x0;_0x18e08c[_0x0475('0x12')][_0x463b01][_0x0475('0x2e')]+=0x1;if(_0x4649d4[_0x316a1a][_0x3abb05]['queuecallercomplete']){_0x18e08c[_0x0475('0x12')][_0x463b01][_0x0475('0x28')]+=0x1;_0x18e08c[_0x0475('0x12')][_0x463b01][_0x0475('0x2b')]+=moment(_0x4649d4[_0x316a1a][_0x3abb05]['queuecallercompleteAt'])[_0x0475('0x56')](moment(_0x4649d4[_0x316a1a][_0x3abb05]['queuecallerleaveAt']),_0x0475('0x58'))||0x0;}}else{_0x18e08c[_0x0475('0x12')][_0x463b01][_0x0475('0x2a')]+=_0x18e08c[_0x0475('0x12')][_0x463b01][_0x0475('0x29')]||0x0;}}}}}}return _0x18e08c[_0x0475('0x12')];};};Realtime[_0x0475('0x3b')][_0x0475('0x5b')]=function(){var _0x33cef3=this;return function(_0x142302){clearVoiceCallReports(_0x33cef3[_0x0475('0x15')]);if(_0x142302){for(var _0x191eaf=0x0;_0x191eaf<_0x142302['length'];_0x191eaf+=0x1){_0x33cef3[_0x0475('0x15')][_0x0475('0x2e')]+=0x1;_0x33cef3[_0x0475('0x15')][_0x0475('0x2a')]+=_0x142302[_0x191eaf][_0x0475('0x5c')];if(_0x142302[_0x191eaf][_0x0475('0x5d')]===_0x0475('0x5e')){_0x33cef3[_0x0475('0x15')][_0x0475('0x28')]+=0x1;_0x33cef3[_0x0475('0x15')][_0x0475('0x29')]+=_0x142302[_0x191eaf][_0x0475('0x5c')]-_0x142302[_0x191eaf][_0x0475('0x5f')]||0x0;_0x33cef3['outbound'][_0x0475('0x2b')]+=_0x142302[_0x191eaf][_0x0475('0x5f')];}}}return _0x33cef3['outbound'];};};Realtime['prototype'][_0x0475('0x60')]=function(){var _0x354da0=this;return function(_0x588057){if(_0x588057){freeIsNotKey(_0x588057,_0x354da0[_0x0475('0x61')],_0x0475('0x24'));for(var _0xdd00f8=0x0,_0x11a849={};_0xdd00f8<_0x588057[_0x0475('0x3d')];_0xdd00f8+=0x1){_0x11a849=_0x588057[_0xdd00f8];if(_[_0x0475('0x3f')](_0x354da0[_0x0475('0x61')][_0x11a849['name']])){_0x354da0[_0x0475('0x61')][_0x11a849['name']]=new Campaign(_0x11a849);}else{_0x354da0[_0x0475('0x3a')](_0x354da0['campaigns'][_0x11a849[_0x0475('0x24')]],_0x11a849);_0x354da0[_0x0475('0x61')][_0x11a849[_0x0475('0x24')]][_0x0475('0x62')]=_0x11a849[_0x0475('0x63')]?_0x11a849[_0x0475('0x63')][_0x0475('0x24')]:undefined;}}}return _0x354da0[_0x0475('0x61')];};};Realtime['prototype'][_0x0475('0x64')]=function(){var _0x55a771=this;return function(_0x2c4c77){if(_0x2c4c77){freeIsNotKey(_0x2c4c77,_0x55a771[_0x0475('0x16')],'id');for(var _0x33682c=0x0,_0x212873={};_0x33682c<_0x2c4c77[_0x0475('0x3d')];_0x33682c+=0x1){_0x212873=_0x2c4c77[_0x33682c];if(_[_0x0475('0x3f')](_0x55a771['voiceExtensions'][_0x212873['id']])){_0x55a771[_0x0475('0x16')][_0x212873['id']]=new VoiceExtension(_0x212873);}else{_0x55a771[_0x0475('0x3a')](_0x55a771[_0x0475('0x16')][_0x212873['id']],_0x212873);}}}return _0x55a771[_0x0475('0x16')];};};Realtime['prototype'][_0x0475('0x65')]=function(){var _0x384610=this;return function(_0x45092e){clearCampaigns(_0x384610[_0x0475('0x61')]);for(var _0x2a4da6=0x0;_0x2a4da6<_0x45092e[_0x0475('0x3d')];_0x2a4da6+=0x1){_['merge'](_0x384610[_0x0475('0x61')][_0x45092e[_0x2a4da6][_0x0475('0x24')]],_0x45092e[_0x2a4da6]);}return _0x384610[_0x0475('0x61')];};};Realtime[_0x0475('0x3b')][_0x0475('0x66')]=function(){var _0x19884a=this;return function(_0x39134c){if(_0x39134c){freeIsNotKey(_0x39134c,_0x19884a[_0x0475('0x21')],'id');for(var _0x2623ad=0x0,_0x4cbbe1={},_0x25e39a={};_0x2623ad<_0x39134c['length'];_0x2623ad+=0x1){_0x4cbbe1=_0x39134c[_0x2623ad];if(_[_0x0475('0x3f')](_0x19884a['faxAccounts'][_0x4cbbe1['id']])){_0x19884a[_0x0475('0x21')][_0x4cbbe1['id']]=new FaxAccount(_0x4cbbe1);}else{_0x19884a[_0x0475('0x3a')](_0x19884a['faxAccounts'][_0x4cbbe1['id']],_0x4cbbe1);}}}return _0x19884a['faxAccounts'];};};module[_0x0475('0x67')]=Realtime;