22c930b2ef6386d80152eb2a764feb3b270f47d8
[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 _0x9140=['sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','freshsalesAccounts','mapKeys','hasOwnProperty','format','SIP/%s','isNil','interface','name','total','answered','sumDuration','ivrTotalCallsDays','isEmpty','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundRejectCallsDay','queueStatusComplete','prototype','mergeFromDatabase','length','isUndefined','initTelephones','initTrunks','initVoiceQueues','triggers','initTemplates','initZendeskAccounts','zendeskAccounts','salesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initServicenowAccounts','servicenowAccounts','initDynamics365Accounts','dynamics365Accounts','merge','initVoiceQueueReports','groupBy','queue','queuecallerexit','queuecallerabandon','sumHoldTime','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallercomplete','sumBillable','initVoiceCallReports','duration','disposition','ANSWERED','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','faxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','trunks','voiceQueues','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','timers'];(function(_0x5d4607,_0x6b5e7b){var _0x5e4a86=function(_0x46891a){while(--_0x46891a){_0x5d4607['push'](_0x5d4607['shift']());}};_0x5e4a86(++_0x6b5e7b);}(_0x9140,0x185));var _0x0914=function(_0xf91c3f,_0x1e5bce){_0xf91c3f=_0xf91c3f-0x0;var _0x1f72ab=_0x9140[_0xf91c3f];return _0x1f72ab;};'use strict';var BPromise=require(_0x0914('0x0'));var util=require(_0x0914('0x1'));var _=require(_0x0914('0x2'));var moment=require(_0x0914('0x3'));var Agent=require(_0x0914('0x4'));var Telephone=require('../model/telephone');var Trunk=require(_0x0914('0x5'));var VoiceQueue=require(_0x0914('0x6'));var Trigger=require(_0x0914('0x7'));var Template=require('../model/template');var Campaign=require(_0x0914('0x8'));var VoiceExtension=require(_0x0914('0x9'));var ZendeskAccount=require(_0x0914('0xa'));var SalesforceAccount=require(_0x0914('0xb'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0x0914('0xc'));var ZohoAccount=require(_0x0914('0xd'));var DeskAccount=require(_0x0914('0xe'));var VtigerAccount=require(_0x0914('0xf'));var ServicenowAccount=require(_0x0914('0x10'));var Dynamics365Account=require(_0x0914('0x11'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x0914('0x12'));var Realtime=function(){this[_0x0914('0x13')]={};this[_0x0914('0x14')]={};this[_0x0914('0x15')]={};this[_0x0914('0x16')]={};this['triggers']={};this[_0x0914('0x17')]={};this[_0x0914('0x18')]={};this[_0x0914('0x19')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x0914('0x1a')]={};this[_0x0914('0x1b')]={};this[_0x0914('0x1c')]={};this[_0x0914('0x1d')]={};this[_0x0914('0x1e')]={};this['zendeskAccounts']={};this['salesforceAccounts']={};this[_0x0914('0x1f')]={};this[_0x0914('0x20')]={};this[_0x0914('0x21')]={};this[_0x0914('0x22')]={};this[_0x0914('0x23')]={};this['servicenowAccounts']={};this['dynamics365Accounts']={};this[_0x0914('0x24')]={};this['faxAccounts']={};};function freeIsNotKey(_0x424973,_0x3aaf67,_0x4294fe){var _0x198a1d=_[_0x0914('0x25')](_0x424973,function(_0x13023b,_0x38f823){return _0x13023b[_0x4294fe];});for(var _0x4e7a7c in _0x3aaf67){if(_0x3aaf67[_0x0914('0x26')](_0x4e7a7c)){if(!_0x198a1d[_0x4e7a7c]){delete _0x3aaf67[_0x4e7a7c];}}}}function freeIsNotKeySip(_0x1509f4,_0x5dc6e1){var _0x5b93d4=_[_0x0914('0x25')](_0x1509f4,function(_0x5602a6,_0x4c518c){return util[_0x0914('0x27')](_0x0914('0x28'),_0x5602a6['name']);});for(var _0x3ea29a in _0x5dc6e1){if(_0x5dc6e1[_0x0914('0x26')](_0x3ea29a)){if(!_0x5b93d4[_0x3ea29a]){delete _0x5dc6e1[_0x3ea29a];}}}}function freeIsNotKeyAgent(_0x2a9d0d,_0x4f320c){var _0x188d61=_['mapKeys'](_0x2a9d0d,function(_0x3ca21f,_0x30962a){var _0x2bb1cf=_[_0x0914('0x29')](_0x3ca21f[_0x0914('0x2a')])?util[_0x0914('0x27')](_0x0914('0x28'),_0x3ca21f[_0x0914('0x2b')]):_0x3ca21f['interface'];return _0x2bb1cf;});for(var _0x198818 in _0x4f320c){if(_0x4f320c[_0x0914('0x26')](_0x198818)){if(!_0x188d61[_0x198818]){delete _0x4f320c[_0x198818];}}}}function clearVoiceCallReports(_0xee76c){_0xee76c[_0x0914('0x2c')]=0x0;_0xee76c[_0x0914('0x2d')]=0x0;_0xee76c['sumHoldTime']=0x0;_0xee76c[_0x0914('0x2e')]=0x0;_0xee76c['sumBillable']=0x0;}function clearCampaigns(_0x374cfa){if(!_['isEmpty'](_0x374cfa)){for(var _0x5db83 in _0x374cfa){if(_0x374cfa[_0x0914('0x26')](_0x5db83)){_0x374cfa[_0x5db83][_0x0914('0x2f')]=0x0;_0x374cfa[_0x5db83]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x23d81e){if(!_[_0x0914('0x30')](_0x23d81e)){for(var _0xd2fad in _0x23d81e){if(_0x23d81e[_0x0914('0x26')](_0xd2fad)){_0x23d81e[_0xd2fad][_0x0914('0x2c')]=0x0;_0x23d81e[_0xd2fad][_0x0914('0x2d')]=0x0;_0x23d81e[_0xd2fad][_0x0914('0x31')]=0x0;_0x23d81e[_0xd2fad][_0x0914('0x32')]=0x0;_0x23d81e[_0xd2fad]['sumHoldTime']=0x0;_0x23d81e[_0xd2fad]['sumDuration']=0x0;_0x23d81e[_0xd2fad]['sumBillable']=0x0;_0x23d81e[_0xd2fad][_0x0914('0x33')]=0x0;_0x23d81e[_0xd2fad]['outboundNoAnswerCallsDay']=0x0;_0x23d81e[_0xd2fad][_0x0914('0x34')]=0x0;_0x23d81e[_0xd2fad][_0x0914('0x35')]=0x0;_0x23d81e[_0xd2fad][_0x0914('0x36')]=0x0;_0x23d81e[_0xd2fad][_0x0914('0x37')]=0x0;_0x23d81e[_0xd2fad]['outboundDropCallsDayTimeout']=0x0;_0x23d81e[_0xd2fad][_0x0914('0x38')]=0x0;_0x23d81e[_0xd2fad][_0x0914('0x39')]=0x0;_0x23d81e[_0xd2fad]['outboundOriginateFailureCallsDay']=0x0;_0x23d81e[_0xd2fad][_0x0914('0x3a')]=0x0;_0x23d81e[_0xd2fad]['outboundReCallsDay']=0x0;_0x23d81e[_0xd2fad][_0x0914('0x33')]=0x0;_0x23d81e[_0xd2fad]['outboundAnswerCallsDay']=0x0;_0x23d81e[_0xd2fad][_0x0914('0x3b')]=!![];}}}}Realtime[_0x0914('0x3c')][_0x0914('0x3d')]=function(_0x5ef912,_0x2d9178){for(var _0x378d27 in _0x2d9178){if(_0x5ef912['hasOwnProperty'](_0x378d27)){_0x5ef912[_0x378d27]=_0x2d9178[_0x378d27];}}};Realtime['prototype']['initAgents']=function(){var _0x4e0a54=this;return function(_0x21f8f4){if(_0x21f8f4){freeIsNotKeyAgent(_0x21f8f4,_0x4e0a54[_0x0914('0x13')]);for(var _0x325694=0x0,_0xbb65b0={},_0x53aab0={};_0x325694<_0x21f8f4[_0x0914('0x3e')];_0x325694+=0x1){_0xbb65b0=_0x21f8f4[_0x325694];var _0x22ec5e=_['isNil'](_0xbb65b0[_0x0914('0x2a')])?util[_0x0914('0x27')](_0x0914('0x28'),_0xbb65b0[_0x0914('0x2b')]):_0xbb65b0[_0x0914('0x2a')];if(_[_0x0914('0x3f')](_0x4e0a54[_0x0914('0x13')][_0x22ec5e])){_0x4e0a54[_0x0914('0x13')][_0x22ec5e]=new Agent(_0xbb65b0);}else{_0x4e0a54[_0x0914('0x3d')](_0x4e0a54['agents'][_0x22ec5e],_0xbb65b0);}}}return _0x4e0a54[_0x0914('0x13')];};};Realtime[_0x0914('0x3c')][_0x0914('0x40')]=function(){var _0x16e548=this;return function(_0x4facaa){if(_0x4facaa){freeIsNotKeySip(_0x4facaa,_0x16e548[_0x0914('0x14')]);for(var _0x16e607=0x0,_0x55f637={},_0x547396={};_0x16e607<_0x4facaa[_0x0914('0x3e')];_0x16e607+=0x1){_0x55f637=_0x4facaa[_0x16e607];if(_['isUndefined'](_0x16e548[_0x0914('0x14')][util[_0x0914('0x27')]('SIP/%s',_0x55f637['name'])])){_0x16e548[_0x0914('0x14')][util[_0x0914('0x27')](_0x0914('0x28'),_0x55f637['name'])]=new Telephone(_0x55f637);}else{_0x16e548['mergeFromDatabase'](_0x16e548[_0x0914('0x14')][util[_0x0914('0x27')]('SIP/%s',_0x55f637[_0x0914('0x2b')])],_0x55f637);}}}return _0x16e548[_0x0914('0x14')];};};Realtime[_0x0914('0x3c')][_0x0914('0x41')]=function(){var _0x55cff8=this;return function(_0x24af8b){if(_0x24af8b){freeIsNotKeySip(_0x24af8b,_0x55cff8['trunks']);for(var _0x1df4ae=0x0,_0x383d03={},_0x2f1144={};_0x1df4ae<_0x24af8b['length'];_0x1df4ae+=0x1){_0x383d03=_0x24af8b[_0x1df4ae];if(_['isUndefined'](_0x55cff8[_0x0914('0x15')][util[_0x0914('0x27')](_0x0914('0x28'),_0x383d03[_0x0914('0x2b')])])){_0x55cff8[_0x0914('0x15')][util['format'](_0x0914('0x28'),_0x383d03[_0x0914('0x2b')])]=new Trunk(_0x383d03);}else{_0x55cff8[_0x0914('0x3d')](_0x55cff8[_0x0914('0x15')][util[_0x0914('0x27')]('SIP/%s',_0x383d03[_0x0914('0x2b')])],_0x383d03);}}}return _0x55cff8['trunks'];};};Realtime[_0x0914('0x3c')][_0x0914('0x42')]=function(){var _0x2a3a5b=this;return function(_0x11a4c5){if(_0x11a4c5){freeIsNotKey(_0x11a4c5,_0x2a3a5b[_0x0914('0x16')],_0x0914('0x2b'));for(var _0x324ae2=0x0,_0x7a4b1d={},_0x39b248={};_0x324ae2<_0x11a4c5[_0x0914('0x3e')];_0x324ae2+=0x1){_0x7a4b1d=_0x11a4c5[_0x324ae2];if(_[_0x0914('0x3f')](_0x2a3a5b[_0x0914('0x16')][_0x7a4b1d[_0x0914('0x2b')]])){_0x2a3a5b[_0x0914('0x16')][_0x7a4b1d['name']]=new VoiceQueue(_0x7a4b1d);}else{_0x2a3a5b[_0x0914('0x3d')](_0x2a3a5b[_0x0914('0x16')][_0x7a4b1d[_0x0914('0x2b')]],_0x7a4b1d);}}}return _0x2a3a5b[_0x0914('0x16')];};};Realtime[_0x0914('0x3c')]['initTriggers']=function(){var _0x8e0406=this;return function(_0x202967){if(_0x202967){freeIsNotKey(_0x202967,_0x8e0406[_0x0914('0x43')],'id');for(var _0x490cd8=0x0,_0x3109d3={},_0x11ec24={};_0x490cd8<_0x202967[_0x0914('0x3e')];_0x490cd8+=0x1){_0x3109d3=_0x202967[_0x490cd8];if(_[_0x0914('0x3f')](_0x8e0406['triggers'][_0x3109d3['id']])){_0x8e0406[_0x0914('0x43')][_0x3109d3['id']]=new Trigger(_0x3109d3);}else{_0x8e0406[_0x0914('0x3d')](_0x8e0406[_0x0914('0x43')][_0x3109d3['id']],_0x3109d3);}}}return _0x8e0406['triggers'];};};Realtime[_0x0914('0x3c')][_0x0914('0x44')]=function(){var _0x917378=this;return function(_0x6e0941){if(_0x6e0941){freeIsNotKey(_0x6e0941,_0x917378[_0x0914('0x18')],'id');for(var _0x5dfd9f=0x0,_0x734037={},_0x28191b={};_0x5dfd9f<_0x6e0941[_0x0914('0x3e')];_0x5dfd9f+=0x1){_0x734037=_0x6e0941[_0x5dfd9f];if(_[_0x0914('0x3f')](_0x917378[_0x0914('0x18')][_0x734037['id']])){_0x917378[_0x0914('0x18')][_0x734037['id']]=new Template(_0x734037);}else{_0x917378['mergeFromDatabase'](_0x917378[_0x0914('0x18')][_0x734037['id']],_0x734037);}}}return _0x917378[_0x0914('0x18')];};};Realtime[_0x0914('0x3c')][_0x0914('0x45')]=function(){var _0x16bba8=this;return function(_0x30df63){if(_0x30df63){freeIsNotKey(_0x30df63,_0x16bba8[_0x0914('0x46')],'id');for(var _0x241578=0x0,_0x225964={},_0x5021b9={};_0x241578<_0x30df63[_0x0914('0x3e')];_0x241578+=0x1){_0x225964=_0x30df63[_0x241578];if(_[_0x0914('0x3f')](_0x16bba8[_0x0914('0x46')][_0x225964['id']])){_0x16bba8['zendeskAccounts'][_0x225964['id']]=new ZendeskAccount(_0x225964);}else{_0x16bba8[_0x0914('0x3d')](_0x16bba8[_0x0914('0x46')][_0x225964['id']],_0x225964);}}}return _0x16bba8['zendeskAccounts'];};};Realtime['prototype']['initSalesforceAccounts']=function(){var _0x1cc38c=this;return function(_0x3d574f){if(_0x3d574f){freeIsNotKey(_0x3d574f,_0x1cc38c[_0x0914('0x47')],'id');for(var _0x6c192a=0x0,_0x48735d={},_0x2d490f={};_0x6c192a<_0x3d574f[_0x0914('0x3e')];_0x6c192a+=0x1){_0x48735d=_0x3d574f[_0x6c192a];if(_[_0x0914('0x3f')](_0x1cc38c[_0x0914('0x47')][_0x48735d['id']])){_0x1cc38c[_0x0914('0x47')][_0x48735d['id']]=new SalesforceAccount(_0x48735d);}else{_0x1cc38c[_0x0914('0x3d')](_0x1cc38c[_0x0914('0x47')][_0x48735d['id']],_0x48735d);}}}return _0x1cc38c['salesforceAccounts'];};};Realtime[_0x0914('0x3c')][_0x0914('0x48')]=function(){var _0x4214ed=this;return function(_0x3396e2){if(_0x3396e2){freeIsNotKey(_0x3396e2,_0x4214ed[_0x0914('0x20')],'id');for(var _0x448f68=0x0,_0x48d5e5={},_0x5553a6={};_0x448f68<_0x3396e2[_0x0914('0x3e')];_0x448f68+=0x1){_0x48d5e5=_0x3396e2[_0x448f68];if(_[_0x0914('0x3f')](_0x4214ed[_0x0914('0x20')][_0x48d5e5['id']])){_0x4214ed['freshdeskAccounts'][_0x48d5e5['id']]=new FreshdeskAccount(_0x48d5e5);}else{_0x4214ed[_0x0914('0x3d')](_0x4214ed[_0x0914('0x20')][_0x48d5e5['id']],_0x48d5e5);}}}return _0x4214ed[_0x0914('0x20')];};};Realtime['prototype'][_0x0914('0x49')]=function(){var _0x233f89=this;return function(_0x31f688){if(_0x31f688){freeIsNotKey(_0x31f688,_0x233f89['zohoAccounts'],'id');for(var _0xf5f197=0x0,_0x7517b5={},_0x20fa11={};_0xf5f197<_0x31f688[_0x0914('0x3e')];_0xf5f197+=0x1){_0x7517b5=_0x31f688[_0xf5f197];if(_[_0x0914('0x3f')](_0x233f89[_0x0914('0x21')][_0x7517b5['id']])){_0x233f89[_0x0914('0x21')][_0x7517b5['id']]=new ZohoAccount(_0x7517b5);}else{_0x233f89[_0x0914('0x3d')](_0x233f89[_0x0914('0x21')][_0x7517b5['id']],_0x7517b5);}}}return _0x233f89[_0x0914('0x21')];};};Realtime[_0x0914('0x3c')][_0x0914('0x4a')]=function(){var _0x1d8d83=this;return function(_0xb48120){if(_0xb48120){freeIsNotKey(_0xb48120,_0x1d8d83['deskAccounts'],'id');for(var _0x55001f=0x0,_0x276d19={},_0x52e05d={};_0x55001f<_0xb48120[_0x0914('0x3e')];_0x55001f+=0x1){_0x276d19=_0xb48120[_0x55001f];if(_[_0x0914('0x3f')](_0x1d8d83[_0x0914('0x22')][_0x276d19['id']])){_0x1d8d83[_0x0914('0x22')][_0x276d19['id']]=new DeskAccount(_0x276d19);}else{_0x1d8d83[_0x0914('0x3d')](_0x1d8d83[_0x0914('0x22')][_0x276d19['id']],_0x276d19);}}}return _0x1d8d83[_0x0914('0x22')];};};Realtime[_0x0914('0x3c')][_0x0914('0x4b')]=function(){var _0x3e0f4e=this;return function(_0x19725b){if(_0x19725b){freeIsNotKey(_0x19725b,_0x3e0f4e[_0x0914('0x1f')],'id');for(var _0x3858c2=0x0,_0xc1e479={},_0x390747={};_0x3858c2<_0x19725b[_0x0914('0x3e')];_0x3858c2+=0x1){_0xc1e479=_0x19725b[_0x3858c2];if(_[_0x0914('0x3f')](_0x3e0f4e[_0x0914('0x1f')][_0xc1e479['id']])){_0x3e0f4e['sugarcrmAccounts'][_0xc1e479['id']]=new SugarcrmAccount(_0xc1e479);}else{_0x3e0f4e[_0x0914('0x3d')](_0x3e0f4e[_0x0914('0x1f')][_0xc1e479['id']],_0xc1e479);}}}return _0x3e0f4e[_0x0914('0x1f')];};};Realtime[_0x0914('0x3c')]['initVtigerAccounts']=function(){var _0x42b3b9=this;return function(_0x5136ac){if(_0x5136ac){freeIsNotKey(_0x5136ac,_0x42b3b9[_0x0914('0x23')],'id');for(var _0x27cea2=0x0,_0x31f1e8={},_0x3d91be={};_0x27cea2<_0x5136ac[_0x0914('0x3e')];_0x27cea2+=0x1){_0x31f1e8=_0x5136ac[_0x27cea2];if(_['isUndefined'](_0x42b3b9[_0x0914('0x23')][_0x31f1e8['id']])){_0x42b3b9['vtigerAccounts'][_0x31f1e8['id']]=new VtigerAccount(_0x31f1e8);}else{_0x42b3b9[_0x0914('0x3d')](_0x42b3b9[_0x0914('0x23')][_0x31f1e8['id']],_0x31f1e8);}}}return _0x42b3b9[_0x0914('0x23')];};};Realtime['prototype'][_0x0914('0x4c')]=function(){var _0x39f3b2=this;return function(_0x4da42b){if(_0x4da42b){freeIsNotKey(_0x4da42b,_0x39f3b2[_0x0914('0x4d')],'id');for(var _0x3aec16=0x0,_0x5c5d47={},_0x5a9731={};_0x3aec16<_0x4da42b[_0x0914('0x3e')];_0x3aec16+=0x1){_0x5c5d47=_0x4da42b[_0x3aec16];if(_['isUndefined'](_0x39f3b2['servicenowAccounts'][_0x5c5d47['id']])){_0x39f3b2['servicenowAccounts'][_0x5c5d47['id']]=new ServicenowAccount(_0x5c5d47);}else{_0x39f3b2['mergeFromDatabase'](_0x39f3b2[_0x0914('0x4d')][_0x5c5d47['id']],_0x5c5d47);}}}return _0x39f3b2[_0x0914('0x4d')];};};Realtime[_0x0914('0x3c')][_0x0914('0x4e')]=function(){var _0x2a27cb=this;return function(_0x59742b){if(_0x59742b){freeIsNotKey(_0x59742b,_0x2a27cb[_0x0914('0x4f')],'id');for(var _0x253934=0x0,_0x56d567={},_0x324232={};_0x253934<_0x59742b['length'];_0x253934+=0x1){_0x56d567=_0x59742b[_0x253934];if(_[_0x0914('0x3f')](_0x2a27cb[_0x0914('0x4f')][_0x56d567['id']])){_0x2a27cb[_0x0914('0x4f')][_0x56d567['id']]=new Dynamics365Account(_0x56d567);}else{_0x2a27cb[_0x0914('0x3d')](_0x2a27cb['dynamics365Accounts'][_0x56d567['id']],_0x56d567);}}}return _0x2a27cb['dynamics365Accounts'];};};Realtime['prototype']['initFreshsalesAccounts']=function(){var _0x3f3d27=this;return function(_0x1ea146){if(_0x1ea146){freeIsNotKey(_0x1ea146,_0x3f3d27[_0x0914('0x24')],'id');for(var _0x1a1e82=0x0,_0x39ea91={},_0x4af05e={};_0x1a1e82<_0x1ea146[_0x0914('0x3e')];_0x1a1e82+=0x1){_0x39ea91=_0x1ea146[_0x1a1e82];if(_[_0x0914('0x3f')](_0x3f3d27[_0x0914('0x24')][_0x39ea91['id']])){_0x3f3d27['freshsalesAccounts'][_0x39ea91['id']]=new FreshsalesAccount(_0x39ea91);}else{_0x3f3d27[_0x0914('0x3d')](_0x3f3d27[_0x0914('0x24')][_0x39ea91['id']],_0x39ea91);}}}return _0x3f3d27[_0x0914('0x24')];};};Realtime[_0x0914('0x3c')]['initVoiceQueueHopperHistory']=function(){var _0x57d18c=this;return function(_0x317267){for(var _0x3fd78c=0x0;_0x3fd78c<_0x317267[_0x0914('0x3e')];_0x3fd78c+=0x1){_[_0x0914('0x50')](_0x57d18c[_0x0914('0x16')][_0x317267[_0x3fd78c]['name']],_0x317267[_0x3fd78c]);}return _0x57d18c[_0x0914('0x16')];};};Realtime[_0x0914('0x3c')][_0x0914('0x51')]=function(){var _0x35da33=this;return function(_0xc24355){clearVoiceQueues(_0x35da33['voiceQueues']);if(_0xc24355){_0xc24355=_[_0x0914('0x52')](_0xc24355,'uniqueid');for(var _0x50d538 in _0xc24355){if(_0xc24355[_0x0914('0x26')](_0x50d538)){var _0x10e70a={};for(var _0x369182=0x0;_0x369182<_0xc24355[_0x50d538]['length'];_0x369182+=0x1){var _0x3efebd=_0xc24355[_0x50d538][_0x369182][_0x0914('0x53')];if(_0x35da33['voiceQueues'][_0x3efebd]){if(_0xc24355[_0x50d538][_0x369182][_0x0914('0x54')]){_0x35da33[_0x0914('0x16')][_0x3efebd][_0x0914('0x31')]+=0x1;}if(_0xc24355[_0x50d538][_0x369182][_0x0914('0x55')]){_0x35da33['voiceQueues'][_0x3efebd][_0x0914('0x32')]+=0x1;}_0x35da33[_0x0914('0x16')][_0x3efebd][_0x0914('0x56')]+=moment(_0xc24355[_0x50d538][_0x369182][_0x0914('0x57')])[_0x0914('0x58')](moment(_0xc24355[_0x50d538][_0x369182][_0x0914('0x59')]),_0x0914('0x5a'))||0x0;if(_0x369182===_0xc24355[_0x50d538][_0x0914('0x3e')]-0x1){_0x35da33[_0x0914('0x16')][_0x3efebd][_0x0914('0x2e')]+=moment(_0xc24355[_0x50d538][_0x369182][_0x0914('0x5b')]||_0xc24355[_0x50d538][_0x369182][_0x0914('0x5c')]||_0xc24355[_0x50d538][_0x369182]['queuecallerexitAt'])[_0x0914('0x58')](moment(_0xc24355[_0x50d538][_0x369182][_0x0914('0x59')]),_0x0914('0x5a'))||0x0;_0x35da33[_0x0914('0x16')][_0x3efebd]['total']+=0x1;if(_0xc24355[_0x50d538][_0x369182][_0x0914('0x5d')]){_0x35da33[_0x0914('0x16')][_0x3efebd][_0x0914('0x2d')]+=0x1;_0x35da33['voiceQueues'][_0x3efebd][_0x0914('0x5e')]+=moment(_0xc24355[_0x50d538][_0x369182][_0x0914('0x5b')])[_0x0914('0x58')](moment(_0xc24355[_0x50d538][_0x369182][_0x0914('0x57')]),'seconds')||0x0;}}else{_0x35da33[_0x0914('0x16')][_0x3efebd]['sumDuration']+=_0x35da33[_0x0914('0x16')][_0x3efebd][_0x0914('0x56')]||0x0;}}}}}}return _0x35da33[_0x0914('0x16')];};};Realtime[_0x0914('0x3c')][_0x0914('0x5f')]=function(){var _0x40522a=this;return function(_0x4e52e6){clearVoiceCallReports(_0x40522a['outbound']);if(_0x4e52e6){for(var _0x1586b6=0x0;_0x1586b6<_0x4e52e6[_0x0914('0x3e')];_0x1586b6+=0x1){_0x40522a[_0x0914('0x19')][_0x0914('0x2c')]+=0x1;_0x40522a['outbound']['sumDuration']+=_0x4e52e6[_0x1586b6][_0x0914('0x60')];if(_0x4e52e6[_0x1586b6][_0x0914('0x61')]===_0x0914('0x62')){_0x40522a[_0x0914('0x19')][_0x0914('0x2d')]+=0x1;_0x40522a[_0x0914('0x19')][_0x0914('0x56')]+=_0x4e52e6[_0x1586b6]['duration']-_0x4e52e6[_0x1586b6]['billableseconds']||0x0;_0x40522a[_0x0914('0x19')][_0x0914('0x5e')]+=_0x4e52e6[_0x1586b6]['billableseconds'];}}}return _0x40522a[_0x0914('0x19')];};};Realtime[_0x0914('0x3c')]['initCampaigns']=function(){var _0x654b1c=this;return function(_0x25b85f){if(_0x25b85f){freeIsNotKey(_0x25b85f,_0x654b1c[_0x0914('0x17')],_0x0914('0x2b'));for(var _0x270762=0x0,_0x2cc235={};_0x270762<_0x25b85f[_0x0914('0x3e')];_0x270762+=0x1){_0x2cc235=_0x25b85f[_0x270762];if(_[_0x0914('0x3f')](_0x654b1c[_0x0914('0x17')][_0x2cc235['name']])){_0x654b1c[_0x0914('0x17')][_0x2cc235[_0x0914('0x2b')]]=new Campaign(_0x2cc235);}else{_0x654b1c[_0x0914('0x3d')](_0x654b1c[_0x0914('0x17')][_0x2cc235[_0x0914('0x2b')]],_0x2cc235);_0x654b1c['campaigns'][_0x2cc235[_0x0914('0x2b')]][_0x0914('0x63')]=_0x2cc235[_0x0914('0x64')]?_0x2cc235[_0x0914('0x64')][_0x0914('0x2b')]:undefined;}}}return _0x654b1c[_0x0914('0x17')];};};Realtime['prototype'][_0x0914('0x65')]=function(){var _0x203b29=this;return function(_0x7ac60d){if(_0x7ac60d){freeIsNotKey(_0x7ac60d,_0x203b29[_0x0914('0x1a')],'id');for(var _0x50c33a=0x0,_0x1ba5be={};_0x50c33a<_0x7ac60d[_0x0914('0x3e')];_0x50c33a+=0x1){_0x1ba5be=_0x7ac60d[_0x50c33a];if(_['isUndefined'](_0x203b29['voiceExtensions'][_0x1ba5be['id']])){_0x203b29[_0x0914('0x1a')][_0x1ba5be['id']]=new VoiceExtension(_0x1ba5be);}else{_0x203b29[_0x0914('0x3d')](_0x203b29['voiceExtensions'][_0x1ba5be['id']],_0x1ba5be);}}}return _0x203b29['voiceExtensions'];};};Realtime[_0x0914('0x3c')][_0x0914('0x66')]=function(){var _0x3f0ca9=this;return function(_0x2f283c){clearCampaigns(_0x3f0ca9[_0x0914('0x17')]);for(var _0x2c174b=0x0;_0x2c174b<_0x2f283c['length'];_0x2c174b+=0x1){_[_0x0914('0x50')](_0x3f0ca9[_0x0914('0x17')][_0x2f283c[_0x2c174b]['name']],_0x2f283c[_0x2c174b]);}return _0x3f0ca9['campaigns'];};};Realtime[_0x0914('0x3c')]['initFaxAccounts']=function(){var _0x472bac=this;return function(_0x5eec63){if(_0x5eec63){freeIsNotKey(_0x5eec63,_0x472bac[_0x0914('0x67')],'id');for(var _0x5e3e57=0x0,_0x37d198={},_0x400a64={};_0x5e3e57<_0x5eec63[_0x0914('0x3e')];_0x5e3e57+=0x1){_0x37d198=_0x5eec63[_0x5e3e57];if(_[_0x0914('0x3f')](_0x472bac[_0x0914('0x67')][_0x37d198['id']])){_0x472bac[_0x0914('0x67')][_0x37d198['id']]=new FaxAccount(_0x37d198);}else{_0x472bac[_0x0914('0x3d')](_0x472bac[_0x0914('0x67')][_0x37d198['id']],_0x37d198);}}}return _0x472bac['faxAccounts'];};};module[_0x0914('0x68')]=Realtime;