Built motion from commit 497d3d92.|2.5.43
[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 _0x9a38=['billableseconds','initCampaigns','SquareProject','initVoiceExtensions','initCampaignHopperHistory','faxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/dynamics365Account','../model/freshsalesAccount','agents','telephones','triggers','campaigns','voiceExtensions','queueChannels','outboundChannels','timers','settings','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','dynamics365Accounts','freshsalesAccounts','mapKeys','hasOwnProperty','format','SIP/%s','isNil','name','interface','total','sumHoldTime','sumBillable','isEmpty','ivrTotalCallsDays','unmanaged','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isUndefined','initTrunks','trunks','initVoiceQueues','voiceQueues','initTriggers','initTemplates','templates','initZendeskAccounts','zendeskAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','servicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerabandon','diff','queuecallerjoinAt','seconds','sumDuration','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','answered','queuecallerleaveAt','initVoiceCallReports','outbound','duration','disposition'];(function(_0x4f3515,_0x4f6ace){var _0xc5cf1a=function(_0xd983a7){while(--_0xd983a7){_0x4f3515['push'](_0x4f3515['shift']());}};_0xc5cf1a(++_0x4f6ace);}(_0x9a38,0xdf));var _0x89a3=function(_0x5c2385,_0x22be1e){_0x5c2385=_0x5c2385-0x0;var _0x79732a=_0x9a38[_0x5c2385];return _0x79732a;};'use strict';var BPromise=require(_0x89a3('0x0'));var util=require(_0x89a3('0x1'));var _=require(_0x89a3('0x2'));var moment=require(_0x89a3('0x3'));var Agent=require(_0x89a3('0x4'));var Telephone=require(_0x89a3('0x5'));var Trunk=require(_0x89a3('0x6'));var VoiceQueue=require(_0x89a3('0x7'));var Trigger=require(_0x89a3('0x8'));var Template=require(_0x89a3('0x9'));var Campaign=require('../model/campaign');var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require(_0x89a3('0xa'));var FreshdeskAccount=require(_0x89a3('0xb'));var SugarcrmAccount=require(_0x89a3('0xc'));var ZohoAccount=require(_0x89a3('0xd'));var DeskAccount=require(_0x89a3('0xe'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x89a3('0xf'));var FreshsalesAccount=require(_0x89a3('0x10'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0x89a3('0x11')]={};this[_0x89a3('0x12')]={};this['trunks']={};this['voiceQueues']={};this[_0x89a3('0x13')]={};this[_0x89a3('0x14')]={};this['templates']={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x89a3('0x15')]={};this['channels']={};this[_0x89a3('0x16')]={};this[_0x89a3('0x17')]={};this[_0x89a3('0x18')]={};this[_0x89a3('0x19')]={};this['zendeskAccounts']={};this[_0x89a3('0x1a')]={};this[_0x89a3('0x1b')]={};this[_0x89a3('0x1c')]={};this[_0x89a3('0x1d')]={};this[_0x89a3('0x1e')]={};this['vtigerAccounts']={};this['servicenowAccounts']={};this[_0x89a3('0x1f')]={};this[_0x89a3('0x20')]={};this['faxAccounts']={};};function freeIsNotKey(_0x2354fd,_0x191a6c,_0x5d5c37){var _0x44bf01=_[_0x89a3('0x21')](_0x2354fd,function(_0x417028,_0x4b16fb){return _0x417028[_0x5d5c37];});for(var _0x29f460 in _0x191a6c){if(_0x191a6c[_0x89a3('0x22')](_0x29f460)){if(!_0x44bf01[_0x29f460]){delete _0x191a6c[_0x29f460];}}}}function freeIsNotKeySip(_0x3f5bf4,_0x454969){var _0x45e5f1=_[_0x89a3('0x21')](_0x3f5bf4,function(_0x405af9,_0x1c6a16){return util[_0x89a3('0x23')](_0x89a3('0x24'),_0x405af9['name']);});for(var _0x53cfd3 in _0x454969){if(_0x454969[_0x89a3('0x22')](_0x53cfd3)){if(!_0x45e5f1[_0x53cfd3]){delete _0x454969[_0x53cfd3];}}}}function freeIsNotKeyAgent(_0x4a5119,_0xa9c414){var _0xf4e805=_[_0x89a3('0x21')](_0x4a5119,function(_0xeab88,_0x1a5359){var _0x5ffa5a=_[_0x89a3('0x25')](_0xeab88['interface'])?util[_0x89a3('0x23')](_0x89a3('0x24'),_0xeab88[_0x89a3('0x26')]):_0xeab88[_0x89a3('0x27')];return _0x5ffa5a;});for(var _0x1bca15 in _0xa9c414){if(_0xa9c414[_0x89a3('0x22')](_0x1bca15)){if(!_0xf4e805[_0x1bca15]){delete _0xa9c414[_0x1bca15];}}}}function clearVoiceCallReports(_0x53f7aa){_0x53f7aa[_0x89a3('0x28')]=0x0;_0x53f7aa['answered']=0x0;_0x53f7aa[_0x89a3('0x29')]=0x0;_0x53f7aa['sumDuration']=0x0;_0x53f7aa[_0x89a3('0x2a')]=0x0;}function clearCampaigns(_0x4dd698){if(!_[_0x89a3('0x2b')](_0x4dd698)){for(var _0x246221 in _0x4dd698){if(_0x4dd698[_0x89a3('0x22')](_0x246221)){_0x4dd698[_0x246221][_0x89a3('0x2c')]=0x0;_0x4dd698[_0x246221]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x456073){if(!_[_0x89a3('0x2b')](_0x456073)){for(var _0x11a1ae in _0x456073){if(_0x456073[_0x89a3('0x22')](_0x11a1ae)){_0x456073[_0x11a1ae]['total']=0x0;_0x456073[_0x11a1ae]['answered']=0x0;_0x456073[_0x11a1ae][_0x89a3('0x2d')]=0x0;_0x456073[_0x11a1ae]['abandoned']=0x0;_0x456073[_0x11a1ae]['sumHoldTime']=0x0;_0x456073[_0x11a1ae]['sumDuration']=0x0;_0x456073[_0x11a1ae][_0x89a3('0x2a')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x2e')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x2f')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x30')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x31')]=0x0;_0x456073[_0x11a1ae]['outboundNoSuchCallsDay']=0x0;_0x456073[_0x11a1ae]['outboundUnknownCallsDay']=0x0;_0x456073[_0x11a1ae][_0x89a3('0x32')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x33')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x34')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x35')]=0x0;_0x456073[_0x11a1ae]['outboundRejectCallsDay']=0x0;_0x456073[_0x11a1ae][_0x89a3('0x36')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x2e')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x37')]=0x0;_0x456073[_0x11a1ae][_0x89a3('0x38')]=!![];}}}}Realtime[_0x89a3('0x39')][_0x89a3('0x3a')]=function(_0x3ebf20,_0xdd5bbf){for(var _0x518872 in _0xdd5bbf){if(_0x3ebf20[_0x89a3('0x22')](_0x518872)){_0x3ebf20[_0x518872]=_0xdd5bbf[_0x518872];}}};Realtime[_0x89a3('0x39')][_0x89a3('0x3b')]=function(){var _0x18c476=this;return function(_0x4318cf){if(_0x4318cf){freeIsNotKeyAgent(_0x4318cf,_0x18c476['agents']);for(var _0x328a1e=0x0,_0x1fa200={},_0x55a4f6={};_0x328a1e<_0x4318cf[_0x89a3('0x3c')];_0x328a1e+=0x1){_0x1fa200=_0x4318cf[_0x328a1e];var _0x2783b3=_['isNil'](_0x1fa200[_0x89a3('0x27')])?util[_0x89a3('0x23')](_0x89a3('0x24'),_0x1fa200[_0x89a3('0x26')]):_0x1fa200[_0x89a3('0x27')];if(_['isUndefined'](_0x18c476[_0x89a3('0x11')][_0x2783b3])){_0x18c476[_0x89a3('0x11')][_0x2783b3]=new Agent(_0x1fa200);}else{_0x18c476[_0x89a3('0x3a')](_0x18c476['agents'][_0x2783b3],_0x1fa200);}}}return _0x18c476[_0x89a3('0x11')];};};Realtime[_0x89a3('0x39')]['initTelephones']=function(){var _0x2a17bc=this;return function(_0x48abde){if(_0x48abde){freeIsNotKeySip(_0x48abde,_0x2a17bc[_0x89a3('0x12')]);for(var _0x39759a=0x0,_0x4202bf={},_0x42cd6f={};_0x39759a<_0x48abde[_0x89a3('0x3c')];_0x39759a+=0x1){_0x4202bf=_0x48abde[_0x39759a];if(_[_0x89a3('0x3d')](_0x2a17bc[_0x89a3('0x12')][util[_0x89a3('0x23')](_0x89a3('0x24'),_0x4202bf[_0x89a3('0x26')])])){_0x2a17bc[_0x89a3('0x12')][util[_0x89a3('0x23')](_0x89a3('0x24'),_0x4202bf['name'])]=new Telephone(_0x4202bf);}else{_0x2a17bc[_0x89a3('0x3a')](_0x2a17bc[_0x89a3('0x12')][util['format'](_0x89a3('0x24'),_0x4202bf[_0x89a3('0x26')])],_0x4202bf);}}}return _0x2a17bc['telephones'];};};Realtime[_0x89a3('0x39')][_0x89a3('0x3e')]=function(){var _0x1766a4=this;return function(_0x39dc3e){if(_0x39dc3e){freeIsNotKeySip(_0x39dc3e,_0x1766a4[_0x89a3('0x3f')]);for(var _0x12719e=0x0,_0x519f7c={},_0x1ebc22={};_0x12719e<_0x39dc3e[_0x89a3('0x3c')];_0x12719e+=0x1){_0x519f7c=_0x39dc3e[_0x12719e];if(_[_0x89a3('0x3d')](_0x1766a4[_0x89a3('0x3f')][util[_0x89a3('0x23')](_0x89a3('0x24'),_0x519f7c[_0x89a3('0x26')])])){_0x1766a4['trunks'][util[_0x89a3('0x23')](_0x89a3('0x24'),_0x519f7c[_0x89a3('0x26')])]=new Trunk(_0x519f7c);}else{_0x1766a4[_0x89a3('0x3a')](_0x1766a4[_0x89a3('0x3f')][util[_0x89a3('0x23')](_0x89a3('0x24'),_0x519f7c[_0x89a3('0x26')])],_0x519f7c);}}}return _0x1766a4[_0x89a3('0x3f')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x40')]=function(){var _0x5356bb=this;return function(_0x5353b3){if(_0x5353b3){freeIsNotKey(_0x5353b3,_0x5356bb[_0x89a3('0x41')],_0x89a3('0x26'));for(var _0x1af28d=0x0,_0x23b6f2={},_0x569238={};_0x1af28d<_0x5353b3[_0x89a3('0x3c')];_0x1af28d+=0x1){_0x23b6f2=_0x5353b3[_0x1af28d];if(_[_0x89a3('0x3d')](_0x5356bb['voiceQueues'][_0x23b6f2[_0x89a3('0x26')]])){_0x5356bb[_0x89a3('0x41')][_0x23b6f2['name']]=new VoiceQueue(_0x23b6f2);}else{_0x5356bb[_0x89a3('0x3a')](_0x5356bb['voiceQueues'][_0x23b6f2['name']],_0x23b6f2);}}}return _0x5356bb['voiceQueues'];};};Realtime[_0x89a3('0x39')][_0x89a3('0x42')]=function(){var _0x1ef8ec=this;return function(_0x2db747){if(_0x2db747){freeIsNotKey(_0x2db747,_0x1ef8ec[_0x89a3('0x13')],'id');for(var _0x1436d1=0x0,_0x36d365={},_0x50e853={};_0x1436d1<_0x2db747[_0x89a3('0x3c')];_0x1436d1+=0x1){_0x36d365=_0x2db747[_0x1436d1];if(_['isUndefined'](_0x1ef8ec['triggers'][_0x36d365['id']])){_0x1ef8ec['triggers'][_0x36d365['id']]=new Trigger(_0x36d365);}else{_0x1ef8ec[_0x89a3('0x3a')](_0x1ef8ec[_0x89a3('0x13')][_0x36d365['id']],_0x36d365);}}}return _0x1ef8ec[_0x89a3('0x13')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x43')]=function(){var _0x2dd0e5=this;return function(_0x41f0b7){if(_0x41f0b7){freeIsNotKey(_0x41f0b7,_0x2dd0e5[_0x89a3('0x44')],'id');for(var _0x4328f4=0x0,_0xe7a820={},_0x2b87a6={};_0x4328f4<_0x41f0b7[_0x89a3('0x3c')];_0x4328f4+=0x1){_0xe7a820=_0x41f0b7[_0x4328f4];if(_[_0x89a3('0x3d')](_0x2dd0e5[_0x89a3('0x44')][_0xe7a820['id']])){_0x2dd0e5[_0x89a3('0x44')][_0xe7a820['id']]=new Template(_0xe7a820);}else{_0x2dd0e5[_0x89a3('0x3a')](_0x2dd0e5[_0x89a3('0x44')][_0xe7a820['id']],_0xe7a820);}}}return _0x2dd0e5[_0x89a3('0x44')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x45')]=function(){var _0x539cd7=this;return function(_0x56377e){if(_0x56377e){freeIsNotKey(_0x56377e,_0x539cd7[_0x89a3('0x46')],'id');for(var _0x1b63ba=0x0,_0x2df4b4={},_0x2b53d8={};_0x1b63ba<_0x56377e[_0x89a3('0x3c')];_0x1b63ba+=0x1){_0x2df4b4=_0x56377e[_0x1b63ba];if(_[_0x89a3('0x3d')](_0x539cd7[_0x89a3('0x46')][_0x2df4b4['id']])){_0x539cd7[_0x89a3('0x46')][_0x2df4b4['id']]=new ZendeskAccount(_0x2df4b4);}else{_0x539cd7[_0x89a3('0x3a')](_0x539cd7[_0x89a3('0x46')][_0x2df4b4['id']],_0x2df4b4);}}}return _0x539cd7[_0x89a3('0x46')];};};Realtime[_0x89a3('0x39')]['initSalesforceAccounts']=function(){var _0x34e33a=this;return function(_0x54b320){if(_0x54b320){freeIsNotKey(_0x54b320,_0x34e33a['salesforceAccounts'],'id');for(var _0x5595ef=0x0,_0x15debd={},_0x156b1b={};_0x5595ef<_0x54b320['length'];_0x5595ef+=0x1){_0x15debd=_0x54b320[_0x5595ef];if(_[_0x89a3('0x3d')](_0x34e33a[_0x89a3('0x1a')][_0x15debd['id']])){_0x34e33a[_0x89a3('0x1a')][_0x15debd['id']]=new SalesforceAccount(_0x15debd);}else{_0x34e33a[_0x89a3('0x3a')](_0x34e33a['salesforceAccounts'][_0x15debd['id']],_0x15debd);}}}return _0x34e33a['salesforceAccounts'];};};Realtime[_0x89a3('0x39')][_0x89a3('0x47')]=function(){var _0x1a81c7=this;return function(_0x22a336){if(_0x22a336){freeIsNotKey(_0x22a336,_0x1a81c7[_0x89a3('0x1c')],'id');for(var _0x43fcc3=0x0,_0x155b10={},_0x223b26={};_0x43fcc3<_0x22a336[_0x89a3('0x3c')];_0x43fcc3+=0x1){_0x155b10=_0x22a336[_0x43fcc3];if(_[_0x89a3('0x3d')](_0x1a81c7[_0x89a3('0x1c')][_0x155b10['id']])){_0x1a81c7['freshdeskAccounts'][_0x155b10['id']]=new FreshdeskAccount(_0x155b10);}else{_0x1a81c7[_0x89a3('0x3a')](_0x1a81c7[_0x89a3('0x1c')][_0x155b10['id']],_0x155b10);}}}return _0x1a81c7[_0x89a3('0x1c')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x48')]=function(){var _0x53ae0c=this;return function(_0x4670c6){if(_0x4670c6){freeIsNotKey(_0x4670c6,_0x53ae0c[_0x89a3('0x1d')],'id');for(var _0x1e5515=0x0,_0x329b97={},_0x25fb5f={};_0x1e5515<_0x4670c6[_0x89a3('0x3c')];_0x1e5515+=0x1){_0x329b97=_0x4670c6[_0x1e5515];if(_[_0x89a3('0x3d')](_0x53ae0c['zohoAccounts'][_0x329b97['id']])){_0x53ae0c[_0x89a3('0x1d')][_0x329b97['id']]=new ZohoAccount(_0x329b97);}else{_0x53ae0c[_0x89a3('0x3a')](_0x53ae0c['zohoAccounts'][_0x329b97['id']],_0x329b97);}}}return _0x53ae0c[_0x89a3('0x1d')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x49')]=function(){var _0xf9bd01=this;return function(_0x4c65c5){if(_0x4c65c5){freeIsNotKey(_0x4c65c5,_0xf9bd01[_0x89a3('0x1e')],'id');for(var _0x4dc2f0=0x0,_0x3bb35a={},_0x43593d={};_0x4dc2f0<_0x4c65c5['length'];_0x4dc2f0+=0x1){_0x3bb35a=_0x4c65c5[_0x4dc2f0];if(_[_0x89a3('0x3d')](_0xf9bd01[_0x89a3('0x1e')][_0x3bb35a['id']])){_0xf9bd01[_0x89a3('0x1e')][_0x3bb35a['id']]=new DeskAccount(_0x3bb35a);}else{_0xf9bd01[_0x89a3('0x3a')](_0xf9bd01[_0x89a3('0x1e')][_0x3bb35a['id']],_0x3bb35a);}}}return _0xf9bd01[_0x89a3('0x1e')];};};Realtime['prototype'][_0x89a3('0x4a')]=function(){var _0x421338=this;return function(_0x57dda3){if(_0x57dda3){freeIsNotKey(_0x57dda3,_0x421338[_0x89a3('0x1b')],'id');for(var _0x49ae27=0x0,_0x33a93f={},_0x359048={};_0x49ae27<_0x57dda3[_0x89a3('0x3c')];_0x49ae27+=0x1){_0x33a93f=_0x57dda3[_0x49ae27];if(_['isUndefined'](_0x421338['sugarcrmAccounts'][_0x33a93f['id']])){_0x421338[_0x89a3('0x1b')][_0x33a93f['id']]=new SugarcrmAccount(_0x33a93f);}else{_0x421338[_0x89a3('0x3a')](_0x421338[_0x89a3('0x1b')][_0x33a93f['id']],_0x33a93f);}}}return _0x421338[_0x89a3('0x1b')];};};Realtime['prototype'][_0x89a3('0x4b')]=function(){var _0x365cf8=this;return function(_0x4e926f){if(_0x4e926f){freeIsNotKey(_0x4e926f,_0x365cf8[_0x89a3('0x4c')],'id');for(var _0x522b12=0x0,_0x14c535={},_0xc8c8ca={};_0x522b12<_0x4e926f['length'];_0x522b12+=0x1){_0x14c535=_0x4e926f[_0x522b12];if(_['isUndefined'](_0x365cf8[_0x89a3('0x4c')][_0x14c535['id']])){_0x365cf8[_0x89a3('0x4c')][_0x14c535['id']]=new VtigerAccount(_0x14c535);}else{_0x365cf8['mergeFromDatabase'](_0x365cf8[_0x89a3('0x4c')][_0x14c535['id']],_0x14c535);}}}return _0x365cf8[_0x89a3('0x4c')];};};Realtime['prototype'][_0x89a3('0x4d')]=function(){var _0x39cb67=this;return function(_0x3e8a37){if(_0x3e8a37){freeIsNotKey(_0x3e8a37,_0x39cb67[_0x89a3('0x4e')],'id');for(var _0x5ebd00=0x0,_0x2a86cc={},_0x4d15af={};_0x5ebd00<_0x3e8a37[_0x89a3('0x3c')];_0x5ebd00+=0x1){_0x2a86cc=_0x3e8a37[_0x5ebd00];if(_['isUndefined'](_0x39cb67[_0x89a3('0x4e')][_0x2a86cc['id']])){_0x39cb67[_0x89a3('0x4e')][_0x2a86cc['id']]=new ServicenowAccount(_0x2a86cc);}else{_0x39cb67['mergeFromDatabase'](_0x39cb67[_0x89a3('0x4e')][_0x2a86cc['id']],_0x2a86cc);}}}return _0x39cb67[_0x89a3('0x4e')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x4f')]=function(){var _0x24ae78=this;return function(_0x5939b7){if(_0x5939b7){freeIsNotKey(_0x5939b7,_0x24ae78[_0x89a3('0x1f')],'id');for(var _0x33d791=0x0,_0x3dc434={},_0x3f28ab={};_0x33d791<_0x5939b7[_0x89a3('0x3c')];_0x33d791+=0x1){_0x3dc434=_0x5939b7[_0x33d791];if(_[_0x89a3('0x3d')](_0x24ae78[_0x89a3('0x1f')][_0x3dc434['id']])){_0x24ae78['dynamics365Accounts'][_0x3dc434['id']]=new Dynamics365Account(_0x3dc434);}else{_0x24ae78[_0x89a3('0x3a')](_0x24ae78[_0x89a3('0x1f')][_0x3dc434['id']],_0x3dc434);}}}return _0x24ae78[_0x89a3('0x1f')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x50')]=function(){var _0x261442=this;return function(_0x4547be){if(_0x4547be){freeIsNotKey(_0x4547be,_0x261442['freshsalesAccounts'],'id');for(var _0x48fba9=0x0,_0x8c557c={},_0x48570d={};_0x48fba9<_0x4547be['length'];_0x48fba9+=0x1){_0x8c557c=_0x4547be[_0x48fba9];if(_['isUndefined'](_0x261442['freshsalesAccounts'][_0x8c557c['id']])){_0x261442['freshsalesAccounts'][_0x8c557c['id']]=new FreshsalesAccount(_0x8c557c);}else{_0x261442[_0x89a3('0x3a')](_0x261442[_0x89a3('0x20')][_0x8c557c['id']],_0x8c557c);}}}return _0x261442['freshsalesAccounts'];};};Realtime[_0x89a3('0x39')][_0x89a3('0x51')]=function(){var _0x438693=this;return function(_0x3f76a1){for(var _0x22facc=0x0;_0x22facc<_0x3f76a1[_0x89a3('0x3c')];_0x22facc+=0x1){_[_0x89a3('0x52')](_0x438693[_0x89a3('0x41')][_0x3f76a1[_0x22facc][_0x89a3('0x26')]],_0x3f76a1[_0x22facc]);}return _0x438693[_0x89a3('0x41')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x53')]=function(){var _0x92abae=this;return function(_0x3f1340){clearVoiceQueues(_0x92abae[_0x89a3('0x41')]);if(_0x3f1340){_0x3f1340=_[_0x89a3('0x54')](_0x3f1340,_0x89a3('0x55'));for(var _0xdc2f27 in _0x3f1340){if(_0x3f1340[_0x89a3('0x22')](_0xdc2f27)){var _0x48aae6={};for(var _0x18f4c0=0x0;_0x18f4c0<_0x3f1340[_0xdc2f27][_0x89a3('0x3c')];_0x18f4c0+=0x1){var _0x344d1a=_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x56')];if(_0x92abae[_0x89a3('0x41')][_0x344d1a]){if(_0x3f1340[_0xdc2f27][_0x18f4c0]['queuecallerexit']){_0x92abae['voiceQueues'][_0x344d1a]['unmanaged']+=0x1;}if(_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x57')]){_0x92abae[_0x89a3('0x41')][_0x344d1a]['abandoned']+=0x1;}_0x92abae[_0x89a3('0x41')][_0x344d1a][_0x89a3('0x29')]+=moment(_0x3f1340[_0xdc2f27][_0x18f4c0]['queuecallerleaveAt'])[_0x89a3('0x58')](moment(_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x59')]),_0x89a3('0x5a'))||0x0;if(_0x18f4c0===_0x3f1340[_0xdc2f27][_0x89a3('0x3c')]-0x1){_0x92abae[_0x89a3('0x41')][_0x344d1a][_0x89a3('0x5b')]+=moment(_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x5c')]||_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x5d')]||_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x5e')])[_0x89a3('0x58')](moment(_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x59')]),'seconds')||0x0;_0x92abae[_0x89a3('0x41')][_0x344d1a][_0x89a3('0x28')]+=0x1;if(_0x3f1340[_0xdc2f27][_0x18f4c0]['queuecallercomplete']){_0x92abae['voiceQueues'][_0x344d1a][_0x89a3('0x5f')]+=0x1;_0x92abae[_0x89a3('0x41')][_0x344d1a][_0x89a3('0x2a')]+=moment(_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x5c')])['diff'](moment(_0x3f1340[_0xdc2f27][_0x18f4c0][_0x89a3('0x60')]),_0x89a3('0x5a'))||0x0;}}else{_0x92abae[_0x89a3('0x41')][_0x344d1a][_0x89a3('0x5b')]+=_0x92abae['voiceQueues'][_0x344d1a][_0x89a3('0x29')]||0x0;}}}}}}return _0x92abae['voiceQueues'];};};Realtime[_0x89a3('0x39')][_0x89a3('0x61')]=function(){var _0x4a15ae=this;return function(_0x5c4101){clearVoiceCallReports(_0x4a15ae[_0x89a3('0x62')]);if(_0x5c4101){for(var _0x5b4d43=0x0;_0x5b4d43<_0x5c4101['length'];_0x5b4d43+=0x1){_0x4a15ae[_0x89a3('0x62')]['total']+=0x1;_0x4a15ae[_0x89a3('0x62')][_0x89a3('0x5b')]+=_0x5c4101[_0x5b4d43][_0x89a3('0x63')];if(_0x5c4101[_0x5b4d43][_0x89a3('0x64')]==='ANSWERED'){_0x4a15ae[_0x89a3('0x62')][_0x89a3('0x5f')]+=0x1;_0x4a15ae[_0x89a3('0x62')]['sumHoldTime']+=_0x5c4101[_0x5b4d43][_0x89a3('0x63')]-_0x5c4101[_0x5b4d43]['billableseconds']||0x0;_0x4a15ae[_0x89a3('0x62')][_0x89a3('0x2a')]+=_0x5c4101[_0x5b4d43][_0x89a3('0x65')];}}}return _0x4a15ae[_0x89a3('0x62')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x66')]=function(){var _0xdaaa46=this;return function(_0x2fdc5c){if(_0x2fdc5c){freeIsNotKey(_0x2fdc5c,_0xdaaa46[_0x89a3('0x14')],'name');for(var _0x327802=0x0,_0x276182={};_0x327802<_0x2fdc5c[_0x89a3('0x3c')];_0x327802+=0x1){_0x276182=_0x2fdc5c[_0x327802];if(_[_0x89a3('0x3d')](_0xdaaa46[_0x89a3('0x14')][_0x276182['name']])){_0xdaaa46[_0x89a3('0x14')][_0x276182[_0x89a3('0x26')]]=new Campaign(_0x276182);}else{_0xdaaa46[_0x89a3('0x3a')](_0xdaaa46['campaigns'][_0x276182[_0x89a3('0x26')]],_0x276182);_0xdaaa46[_0x89a3('0x14')][_0x276182[_0x89a3('0x26')]]['dialQueueProject']=_0x276182[_0x89a3('0x67')]?_0x276182[_0x89a3('0x67')][_0x89a3('0x26')]:undefined;}}}return _0xdaaa46[_0x89a3('0x14')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x68')]=function(){var _0x18f33c=this;return function(_0x37552b){if(_0x37552b){freeIsNotKey(_0x37552b,_0x18f33c['voiceExtensions'],'id');for(var _0x2f2b72=0x0,_0x3fdf88={};_0x2f2b72<_0x37552b[_0x89a3('0x3c')];_0x2f2b72+=0x1){_0x3fdf88=_0x37552b[_0x2f2b72];if(_[_0x89a3('0x3d')](_0x18f33c[_0x89a3('0x15')][_0x3fdf88['id']])){_0x18f33c[_0x89a3('0x15')][_0x3fdf88['id']]=new VoiceExtension(_0x3fdf88);}else{_0x18f33c['mergeFromDatabase'](_0x18f33c['voiceExtensions'][_0x3fdf88['id']],_0x3fdf88);}}}return _0x18f33c[_0x89a3('0x15')];};};Realtime[_0x89a3('0x39')][_0x89a3('0x69')]=function(){var _0x331fdc=this;return function(_0x4a2327){clearCampaigns(_0x331fdc[_0x89a3('0x14')]);for(var _0x1f6179=0x0;_0x1f6179<_0x4a2327[_0x89a3('0x3c')];_0x1f6179+=0x1){_[_0x89a3('0x52')](_0x331fdc[_0x89a3('0x14')][_0x4a2327[_0x1f6179][_0x89a3('0x26')]],_0x4a2327[_0x1f6179]);}return _0x331fdc['campaigns'];};};Realtime[_0x89a3('0x39')]['initFaxAccounts']=function(){var _0x213cd5=this;return function(_0x528a00){if(_0x528a00){freeIsNotKey(_0x528a00,_0x213cd5[_0x89a3('0x6a')],'id');for(var _0x5390ba=0x0,_0x540897={},_0xf5104e={};_0x5390ba<_0x528a00[_0x89a3('0x3c')];_0x5390ba+=0x1){_0x540897=_0x528a00[_0x5390ba];if(_['isUndefined'](_0x213cd5[_0x89a3('0x6a')][_0x540897['id']])){_0x213cd5['faxAccounts'][_0x540897['id']]=new FaxAccount(_0x540897);}else{_0x213cd5[_0x89a3('0x3a')](_0x213cd5[_0x89a3('0x6a')][_0x540897['id']],_0x540897);}}}return _0x213cd5[_0x89a3('0x6a')];};};module[_0x89a3('0x6b')]=Realtime;