566ab287da7de80a9f69bfc35e2f02f8dda3ac22
[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 _0x2575=['telephones','campaigns','outbound','voiceExtensions','queueChannels','outboundChannels','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','mapKeys','hasOwnProperty','name','isNil','format','SIP/%s','interface','total','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','answered','unmanaged','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayCallersExit','outboundOriginateFailureCallsDay','outboundRejectCallsDay','queueStatusComplete','prototype','mergeFromDatabase','length','isUndefined','initTelephones','trunks','initVoiceQueues','voiceQueues','initTriggers','triggers','templates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','zohoAccounts','deskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','queuecallerabandon','diff','seconds','queuecallercompleteAt','queuecallerexitAt','queuecallerjoinAt','queuecallercomplete','queuecallerleaveAt','duration','disposition','ANSWERED','sumHoldTime','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','faxAccounts','exports','bluebird','moment','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents'];(function(_0x111ccc,_0x4f5094){var _0x5bd2a5=function(_0x3a31dd){while(--_0x3a31dd){_0x111ccc['push'](_0x111ccc['shift']());}};_0x5bd2a5(++_0x4f5094);}(_0x2575,0x127));var _0x5257=function(_0x307952,_0x2597e2){_0x307952=_0x307952-0x0;var _0x57e512=_0x2575[_0x307952];return _0x57e512;};'use strict';var BPromise=require(_0x5257('0x0'));var util=require('util');var _=require('lodash');var moment=require(_0x5257('0x1'));var Agent=require('../model/agent');var Telephone=require(_0x5257('0x2'));var Trunk=require(_0x5257('0x3'));var VoiceQueue=require(_0x5257('0x4'));var Trigger=require(_0x5257('0x5'));var Template=require('../model/template');var Campaign=require(_0x5257('0x6'));var VoiceExtension=require(_0x5257('0x7'));var ZendeskAccount=require(_0x5257('0x8'));var SalesforceAccount=require(_0x5257('0x9'));var FreshdeskAccount=require(_0x5257('0xa'));var SugarcrmAccount=require(_0x5257('0xb'));var ZohoAccount=require(_0x5257('0xc'));var DeskAccount=require(_0x5257('0xd'));var VtigerAccount=require(_0x5257('0xe'));var ServicenowAccount=require(_0x5257('0xf'));var Dynamics365Account=require(_0x5257('0x10'));var FreshsalesAccount=require(_0x5257('0x11'));var FaxAccount=require(_0x5257('0x12'));var Realtime=function(){this[_0x5257('0x13')]={};this[_0x5257('0x14')]={};this['trunks']={};this['voiceQueues']={};this['triggers']={};this[_0x5257('0x15')]={};this['templates']={};this[_0x5257('0x16')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x5257('0x17')]={};this['channels']={};this[_0x5257('0x18')]={};this[_0x5257('0x19')]={};this[_0x5257('0x1a')]={};this['settings']={};this[_0x5257('0x1b')]={};this[_0x5257('0x1c')]={};this[_0x5257('0x1d')]={};this[_0x5257('0x1e')]={};this['zohoAccounts']={};this['deskAccounts']={};this[_0x5257('0x1f')]={};this[_0x5257('0x20')]={};this[_0x5257('0x21')]={};this[_0x5257('0x22')]={};this['faxAccounts']={};};function freeIsNotKey(_0x5c1f77,_0x452ca2,_0x897311){var _0x89b801=_[_0x5257('0x23')](_0x5c1f77,function(_0x18c95f,_0x1d679f){return _0x18c95f[_0x897311];});for(var _0x2c9e2b in _0x452ca2){if(_0x452ca2[_0x5257('0x24')](_0x2c9e2b)){if(!_0x89b801[_0x2c9e2b]){delete _0x452ca2[_0x2c9e2b];}}}}function freeIsNotKeySip(_0x566593,_0x7af6c3){var _0x310af2=_['mapKeys'](_0x566593,function(_0x23f15d,_0x523c93){return util['format']('SIP/%s',_0x23f15d[_0x5257('0x25')]);});for(var _0x264bcc in _0x7af6c3){if(_0x7af6c3[_0x5257('0x24')](_0x264bcc)){if(!_0x310af2[_0x264bcc]){delete _0x7af6c3[_0x264bcc];}}}}function freeIsNotKeyAgent(_0xd4eacf,_0x290e8e){var _0x10b2e7=_[_0x5257('0x23')](_0xd4eacf,function(_0x4ef71d,_0x506246){var _0x14e1b4=_[_0x5257('0x26')](_0x4ef71d['interface'])?util[_0x5257('0x27')](_0x5257('0x28'),_0x4ef71d[_0x5257('0x25')]):_0x4ef71d[_0x5257('0x29')];return _0x14e1b4;});for(var _0x606bcf in _0x290e8e){if(_0x290e8e[_0x5257('0x24')](_0x606bcf)){if(!_0x10b2e7[_0x606bcf]){delete _0x290e8e[_0x606bcf];}}}}function clearVoiceCallReports(_0x56ab52){_0x56ab52[_0x5257('0x2a')]=0x0;_0x56ab52['answered']=0x0;_0x56ab52['sumHoldTime']=0x0;_0x56ab52[_0x5257('0x2b')]=0x0;_0x56ab52[_0x5257('0x2c')]=0x0;}function clearCampaigns(_0x187456){if(!_[_0x5257('0x2d')](_0x187456)){for(var _0x13339e in _0x187456){if(_0x187456['hasOwnProperty'](_0x13339e)){_0x187456[_0x13339e][_0x5257('0x2e')]=0x0;_0x187456[_0x13339e][_0x5257('0x2f')]=0x0;}}}}function clearVoiceQueues(_0x2e2b64){if(!_['isEmpty'](_0x2e2b64)){for(var _0x2208b7 in _0x2e2b64){if(_0x2e2b64[_0x5257('0x24')](_0x2208b7)){_0x2e2b64[_0x2208b7][_0x5257('0x2a')]=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x30')]=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x31')]=0x0;_0x2e2b64[_0x2208b7]['abandoned']=0x0;_0x2e2b64[_0x2208b7]['sumHoldTime']=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x2b')]=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x2c')]=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x32')]=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x33')]=0x0;_0x2e2b64[_0x2208b7]['outboundBusyCallsDay']=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x34')]=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x35')]=0x0;_0x2e2b64[_0x2208b7]['outboundUnknownCallsDay']=0x0;_0x2e2b64[_0x2208b7]['outboundDropCallsDayTimeout']=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x36')]=0x0;_0x2e2b64[_0x2208b7]['outboundBlacklistCallsDay']=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x37')]=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x38')]=0x0;_0x2e2b64[_0x2208b7]['outboundReCallsDay']=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x32')]=0x0;_0x2e2b64[_0x2208b7]['outboundAnswerCallsDay']=0x0;_0x2e2b64[_0x2208b7][_0x5257('0x39')]=!![];}}}}Realtime[_0x5257('0x3a')][_0x5257('0x3b')]=function(_0x2ab943,_0xa417d6){for(var _0x123e73 in _0xa417d6){if(_0x2ab943['hasOwnProperty'](_0x123e73)){_0x2ab943[_0x123e73]=_0xa417d6[_0x123e73];}}};Realtime[_0x5257('0x3a')]['initAgents']=function(){var _0x419214=this;return function(_0x2337a3){if(_0x2337a3){freeIsNotKeyAgent(_0x2337a3,_0x419214[_0x5257('0x13')]);for(var _0xb9cf0=0x0,_0x53cd63={},_0x4b848c={};_0xb9cf0<_0x2337a3[_0x5257('0x3c')];_0xb9cf0+=0x1){_0x53cd63=_0x2337a3[_0xb9cf0];var _0x23b386=_[_0x5257('0x26')](_0x53cd63['interface'])?util['format'](_0x5257('0x28'),_0x53cd63['name']):_0x53cd63['interface'];if(_[_0x5257('0x3d')](_0x419214[_0x5257('0x13')][_0x23b386])){_0x419214['agents'][_0x23b386]=new Agent(_0x53cd63);}else{_0x419214['mergeFromDatabase'](_0x419214[_0x5257('0x13')][_0x23b386],_0x53cd63);}}}return _0x419214[_0x5257('0x13')];};};Realtime[_0x5257('0x3a')][_0x5257('0x3e')]=function(){var _0xe53823=this;return function(_0x218a34){if(_0x218a34){freeIsNotKeySip(_0x218a34,_0xe53823[_0x5257('0x14')]);for(var _0x1f8227=0x0,_0x4ed259={},_0x5e8aac={};_0x1f8227<_0x218a34[_0x5257('0x3c')];_0x1f8227+=0x1){_0x4ed259=_0x218a34[_0x1f8227];if(_['isUndefined'](_0xe53823[_0x5257('0x14')][util[_0x5257('0x27')](_0x5257('0x28'),_0x4ed259[_0x5257('0x25')])])){_0xe53823[_0x5257('0x14')][util[_0x5257('0x27')](_0x5257('0x28'),_0x4ed259[_0x5257('0x25')])]=new Telephone(_0x4ed259);}else{_0xe53823['mergeFromDatabase'](_0xe53823[_0x5257('0x14')][util[_0x5257('0x27')](_0x5257('0x28'),_0x4ed259[_0x5257('0x25')])],_0x4ed259);}}}return _0xe53823[_0x5257('0x14')];};};Realtime[_0x5257('0x3a')]['initTrunks']=function(){var _0x4a7cad=this;return function(_0x489fbf){if(_0x489fbf){freeIsNotKeySip(_0x489fbf,_0x4a7cad[_0x5257('0x3f')]);for(var _0x2ced95=0x0,_0x58f942={},_0x1231c9={};_0x2ced95<_0x489fbf[_0x5257('0x3c')];_0x2ced95+=0x1){_0x58f942=_0x489fbf[_0x2ced95];if(_[_0x5257('0x3d')](_0x4a7cad[_0x5257('0x3f')][util[_0x5257('0x27')]('SIP/%s',_0x58f942[_0x5257('0x25')])])){_0x4a7cad['trunks'][util['format']('SIP/%s',_0x58f942[_0x5257('0x25')])]=new Trunk(_0x58f942);}else{_0x4a7cad[_0x5257('0x3b')](_0x4a7cad[_0x5257('0x3f')][util[_0x5257('0x27')]('SIP/%s',_0x58f942[_0x5257('0x25')])],_0x58f942);}}}return _0x4a7cad[_0x5257('0x3f')];};};Realtime[_0x5257('0x3a')][_0x5257('0x40')]=function(){var _0x4df2d1=this;return function(_0x64809f){if(_0x64809f){freeIsNotKey(_0x64809f,_0x4df2d1[_0x5257('0x41')],_0x5257('0x25'));for(var _0x3b4a4c=0x0,_0x15cc05={},_0x1ae80e={};_0x3b4a4c<_0x64809f[_0x5257('0x3c')];_0x3b4a4c+=0x1){_0x15cc05=_0x64809f[_0x3b4a4c];if(_[_0x5257('0x3d')](_0x4df2d1[_0x5257('0x41')][_0x15cc05[_0x5257('0x25')]])){_0x4df2d1[_0x5257('0x41')][_0x15cc05['name']]=new VoiceQueue(_0x15cc05);}else{_0x4df2d1[_0x5257('0x3b')](_0x4df2d1['voiceQueues'][_0x15cc05[_0x5257('0x25')]],_0x15cc05);}}}return _0x4df2d1[_0x5257('0x41')];};};Realtime[_0x5257('0x3a')][_0x5257('0x42')]=function(){var _0x3f68da=this;return function(_0x3b8754){if(_0x3b8754){freeIsNotKey(_0x3b8754,_0x3f68da[_0x5257('0x43')],'id');for(var _0x115662=0x0,_0x5d75a4={},_0x21444c={};_0x115662<_0x3b8754[_0x5257('0x3c')];_0x115662+=0x1){_0x5d75a4=_0x3b8754[_0x115662];if(_[_0x5257('0x3d')](_0x3f68da[_0x5257('0x43')][_0x5d75a4['id']])){_0x3f68da['triggers'][_0x5d75a4['id']]=new Trigger(_0x5d75a4);}else{_0x3f68da[_0x5257('0x3b')](_0x3f68da[_0x5257('0x43')][_0x5d75a4['id']],_0x5d75a4);}}}return _0x3f68da[_0x5257('0x43')];};};Realtime[_0x5257('0x3a')]['initTemplates']=function(){var _0x58789b=this;return function(_0xa0ccb9){if(_0xa0ccb9){freeIsNotKey(_0xa0ccb9,_0x58789b['templates'],'id');for(var _0x85ffd1=0x0,_0x65caf3={},_0x590919={};_0x85ffd1<_0xa0ccb9[_0x5257('0x3c')];_0x85ffd1+=0x1){_0x65caf3=_0xa0ccb9[_0x85ffd1];if(_[_0x5257('0x3d')](_0x58789b[_0x5257('0x44')][_0x65caf3['id']])){_0x58789b[_0x5257('0x44')][_0x65caf3['id']]=new Template(_0x65caf3);}else{_0x58789b[_0x5257('0x3b')](_0x58789b[_0x5257('0x44')][_0x65caf3['id']],_0x65caf3);}}}return _0x58789b[_0x5257('0x44')];};};Realtime['prototype'][_0x5257('0x45')]=function(){var _0x59a624=this;return function(_0x3b100d){if(_0x3b100d){freeIsNotKey(_0x3b100d,_0x59a624[_0x5257('0x1b')],'id');for(var _0x50b58c=0x0,_0x18a503={},_0x424084={};_0x50b58c<_0x3b100d[_0x5257('0x3c')];_0x50b58c+=0x1){_0x18a503=_0x3b100d[_0x50b58c];if(_[_0x5257('0x3d')](_0x59a624[_0x5257('0x1b')][_0x18a503['id']])){_0x59a624[_0x5257('0x1b')][_0x18a503['id']]=new ZendeskAccount(_0x18a503);}else{_0x59a624['mergeFromDatabase'](_0x59a624[_0x5257('0x1b')][_0x18a503['id']],_0x18a503);}}}return _0x59a624[_0x5257('0x1b')];};};Realtime[_0x5257('0x3a')][_0x5257('0x46')]=function(){var _0x5e78d5=this;return function(_0x58f593){if(_0x58f593){freeIsNotKey(_0x58f593,_0x5e78d5[_0x5257('0x1c')],'id');for(var _0x1fe1d4=0x0,_0xdd2cd5={},_0x107233={};_0x1fe1d4<_0x58f593[_0x5257('0x3c')];_0x1fe1d4+=0x1){_0xdd2cd5=_0x58f593[_0x1fe1d4];if(_[_0x5257('0x3d')](_0x5e78d5[_0x5257('0x1c')][_0xdd2cd5['id']])){_0x5e78d5['salesforceAccounts'][_0xdd2cd5['id']]=new SalesforceAccount(_0xdd2cd5);}else{_0x5e78d5[_0x5257('0x3b')](_0x5e78d5[_0x5257('0x1c')][_0xdd2cd5['id']],_0xdd2cd5);}}}return _0x5e78d5[_0x5257('0x1c')];};};Realtime[_0x5257('0x3a')][_0x5257('0x47')]=function(){var _0x4880d6=this;return function(_0xb3fab3){if(_0xb3fab3){freeIsNotKey(_0xb3fab3,_0x4880d6[_0x5257('0x1e')],'id');for(var _0x21b1f2=0x0,_0xe562b={},_0x3fe802={};_0x21b1f2<_0xb3fab3['length'];_0x21b1f2+=0x1){_0xe562b=_0xb3fab3[_0x21b1f2];if(_[_0x5257('0x3d')](_0x4880d6['freshdeskAccounts'][_0xe562b['id']])){_0x4880d6[_0x5257('0x1e')][_0xe562b['id']]=new FreshdeskAccount(_0xe562b);}else{_0x4880d6[_0x5257('0x3b')](_0x4880d6[_0x5257('0x1e')][_0xe562b['id']],_0xe562b);}}}return _0x4880d6['freshdeskAccounts'];};};Realtime['prototype']['initZohoAccounts']=function(){var _0x131375=this;return function(_0x41bca8){if(_0x41bca8){freeIsNotKey(_0x41bca8,_0x131375[_0x5257('0x48')],'id');for(var _0x2eab9f=0x0,_0x12b80a={},_0x3d064e={};_0x2eab9f<_0x41bca8[_0x5257('0x3c')];_0x2eab9f+=0x1){_0x12b80a=_0x41bca8[_0x2eab9f];if(_[_0x5257('0x3d')](_0x131375[_0x5257('0x48')][_0x12b80a['id']])){_0x131375[_0x5257('0x48')][_0x12b80a['id']]=new ZohoAccount(_0x12b80a);}else{_0x131375[_0x5257('0x3b')](_0x131375[_0x5257('0x48')][_0x12b80a['id']],_0x12b80a);}}}return _0x131375[_0x5257('0x48')];};};Realtime[_0x5257('0x3a')]['initDeskAccounts']=function(){var _0xe87097=this;return function(_0x2d0bcf){if(_0x2d0bcf){freeIsNotKey(_0x2d0bcf,_0xe87097[_0x5257('0x49')],'id');for(var _0x5373fc=0x0,_0x55c60a={},_0x4cbe57={};_0x5373fc<_0x2d0bcf['length'];_0x5373fc+=0x1){_0x55c60a=_0x2d0bcf[_0x5373fc];if(_[_0x5257('0x3d')](_0xe87097[_0x5257('0x49')][_0x55c60a['id']])){_0xe87097[_0x5257('0x49')][_0x55c60a['id']]=new DeskAccount(_0x55c60a);}else{_0xe87097[_0x5257('0x3b')](_0xe87097[_0x5257('0x49')][_0x55c60a['id']],_0x55c60a);}}}return _0xe87097['deskAccounts'];};};Realtime[_0x5257('0x3a')][_0x5257('0x4a')]=function(){var _0x2492b6=this;return function(_0x594d03){if(_0x594d03){freeIsNotKey(_0x594d03,_0x2492b6['sugarcrmAccounts'],'id');for(var _0x273c80=0x0,_0x43552a={},_0x2757da={};_0x273c80<_0x594d03['length'];_0x273c80+=0x1){_0x43552a=_0x594d03[_0x273c80];if(_[_0x5257('0x3d')](_0x2492b6[_0x5257('0x1d')][_0x43552a['id']])){_0x2492b6[_0x5257('0x1d')][_0x43552a['id']]=new SugarcrmAccount(_0x43552a);}else{_0x2492b6['mergeFromDatabase'](_0x2492b6['sugarcrmAccounts'][_0x43552a['id']],_0x43552a);}}}return _0x2492b6['sugarcrmAccounts'];};};Realtime['prototype'][_0x5257('0x4b')]=function(){var _0x4c83d6=this;return function(_0x164f33){if(_0x164f33){freeIsNotKey(_0x164f33,_0x4c83d6['vtigerAccounts'],'id');for(var _0x287abc=0x0,_0x11dfae={},_0x4ff4d0={};_0x287abc<_0x164f33[_0x5257('0x3c')];_0x287abc+=0x1){_0x11dfae=_0x164f33[_0x287abc];if(_[_0x5257('0x3d')](_0x4c83d6['vtigerAccounts'][_0x11dfae['id']])){_0x4c83d6[_0x5257('0x1f')][_0x11dfae['id']]=new VtigerAccount(_0x11dfae);}else{_0x4c83d6[_0x5257('0x3b')](_0x4c83d6[_0x5257('0x1f')][_0x11dfae['id']],_0x11dfae);}}}return _0x4c83d6[_0x5257('0x1f')];};};Realtime[_0x5257('0x3a')][_0x5257('0x4c')]=function(){var _0x328ec5=this;return function(_0x889986){if(_0x889986){freeIsNotKey(_0x889986,_0x328ec5[_0x5257('0x20')],'id');for(var _0x457e79=0x0,_0xd868f9={},_0x390db7={};_0x457e79<_0x889986[_0x5257('0x3c')];_0x457e79+=0x1){_0xd868f9=_0x889986[_0x457e79];if(_[_0x5257('0x3d')](_0x328ec5[_0x5257('0x20')][_0xd868f9['id']])){_0x328ec5[_0x5257('0x20')][_0xd868f9['id']]=new ServicenowAccount(_0xd868f9);}else{_0x328ec5['mergeFromDatabase'](_0x328ec5[_0x5257('0x20')][_0xd868f9['id']],_0xd868f9);}}}return _0x328ec5[_0x5257('0x20')];};};Realtime[_0x5257('0x3a')][_0x5257('0x4d')]=function(){var _0x4c6ee1=this;return function(_0xcea990){if(_0xcea990){freeIsNotKey(_0xcea990,_0x4c6ee1[_0x5257('0x21')],'id');for(var _0x4eb9fd=0x0,_0x49ac6f={},_0xb946fc={};_0x4eb9fd<_0xcea990['length'];_0x4eb9fd+=0x1){_0x49ac6f=_0xcea990[_0x4eb9fd];if(_[_0x5257('0x3d')](_0x4c6ee1[_0x5257('0x21')][_0x49ac6f['id']])){_0x4c6ee1['dynamics365Accounts'][_0x49ac6f['id']]=new Dynamics365Account(_0x49ac6f);}else{_0x4c6ee1['mergeFromDatabase'](_0x4c6ee1['dynamics365Accounts'][_0x49ac6f['id']],_0x49ac6f);}}}return _0x4c6ee1[_0x5257('0x21')];};};Realtime[_0x5257('0x3a')][_0x5257('0x4e')]=function(){var _0x300fb5=this;return function(_0x3b2062){if(_0x3b2062){freeIsNotKey(_0x3b2062,_0x300fb5[_0x5257('0x22')],'id');for(var _0x239005=0x0,_0xa1586b={},_0x2cfa3f={};_0x239005<_0x3b2062[_0x5257('0x3c')];_0x239005+=0x1){_0xa1586b=_0x3b2062[_0x239005];if(_[_0x5257('0x3d')](_0x300fb5[_0x5257('0x22')][_0xa1586b['id']])){_0x300fb5['freshsalesAccounts'][_0xa1586b['id']]=new FreshsalesAccount(_0xa1586b);}else{_0x300fb5[_0x5257('0x3b')](_0x300fb5[_0x5257('0x22')][_0xa1586b['id']],_0xa1586b);}}}return _0x300fb5['freshsalesAccounts'];};};Realtime['prototype']['initVoiceQueueHopperHistory']=function(){var _0x156848=this;return function(_0x11af1c){for(var _0x48c521=0x0;_0x48c521<_0x11af1c['length'];_0x48c521+=0x1){_[_0x5257('0x4f')](_0x156848[_0x5257('0x41')][_0x11af1c[_0x48c521][_0x5257('0x25')]],_0x11af1c[_0x48c521]);}return _0x156848[_0x5257('0x41')];};};Realtime['prototype'][_0x5257('0x50')]=function(){var _0x68196=this;return function(_0x5e676a){clearVoiceQueues(_0x68196[_0x5257('0x41')]);if(_0x5e676a){_0x5e676a=_[_0x5257('0x51')](_0x5e676a,_0x5257('0x52'));for(var _0x4e8f56 in _0x5e676a){if(_0x5e676a['hasOwnProperty'](_0x4e8f56)){var _0x53cda9={};for(var _0x3562f2=0x0;_0x3562f2<_0x5e676a[_0x4e8f56][_0x5257('0x3c')];_0x3562f2+=0x1){var _0x53a8d2=_0x5e676a[_0x4e8f56][_0x3562f2]['queue'];if(_0x68196[_0x5257('0x41')][_0x53a8d2]){if(_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x53')]){_0x68196[_0x5257('0x41')][_0x53a8d2][_0x5257('0x31')]+=0x1;}if(_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x54')]){_0x68196[_0x5257('0x41')][_0x53a8d2]['abandoned']+=0x1;}_0x68196['voiceQueues'][_0x53a8d2]['sumHoldTime']+=moment(_0x5e676a[_0x4e8f56][_0x3562f2]['queuecallerleaveAt'])[_0x5257('0x55')](moment(_0x5e676a[_0x4e8f56][_0x3562f2]['queuecallerjoinAt']),_0x5257('0x56'))||0x0;if(_0x3562f2===_0x5e676a[_0x4e8f56][_0x5257('0x3c')]-0x1){_0x68196[_0x5257('0x41')][_0x53a8d2][_0x5257('0x2b')]+=moment(_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x57')]||_0x5e676a[_0x4e8f56][_0x3562f2]['queuecallerabandonAt']||_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x58')])[_0x5257('0x55')](moment(_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x59')]),'seconds')||0x0;_0x68196[_0x5257('0x41')][_0x53a8d2][_0x5257('0x2a')]+=0x1;if(_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x5a')]){_0x68196[_0x5257('0x41')][_0x53a8d2][_0x5257('0x30')]+=0x1;_0x68196[_0x5257('0x41')][_0x53a8d2][_0x5257('0x2c')]+=moment(_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x57')])[_0x5257('0x55')](moment(_0x5e676a[_0x4e8f56][_0x3562f2][_0x5257('0x5b')]),'seconds')||0x0;}}else{_0x68196[_0x5257('0x41')][_0x53a8d2][_0x5257('0x2b')]+=_0x68196[_0x5257('0x41')][_0x53a8d2]['sumHoldTime']||0x0;}}}}}}return _0x68196['voiceQueues'];};};Realtime[_0x5257('0x3a')]['initVoiceCallReports']=function(){var _0x5ad693=this;return function(_0x28d126){clearVoiceCallReports(_0x5ad693[_0x5257('0x16')]);if(_0x28d126){for(var _0x1b5242=0x0;_0x1b5242<_0x28d126[_0x5257('0x3c')];_0x1b5242+=0x1){_0x5ad693[_0x5257('0x16')][_0x5257('0x2a')]+=0x1;_0x5ad693[_0x5257('0x16')][_0x5257('0x2b')]+=_0x28d126[_0x1b5242][_0x5257('0x5c')];if(_0x28d126[_0x1b5242][_0x5257('0x5d')]===_0x5257('0x5e')){_0x5ad693[_0x5257('0x16')][_0x5257('0x30')]+=0x1;_0x5ad693[_0x5257('0x16')][_0x5257('0x5f')]+=_0x28d126[_0x1b5242]['duration']-_0x28d126[_0x1b5242]['billableseconds']||0x0;_0x5ad693[_0x5257('0x16')][_0x5257('0x2c')]+=_0x28d126[_0x1b5242][_0x5257('0x60')];}}}return _0x5ad693[_0x5257('0x16')];};};Realtime[_0x5257('0x3a')][_0x5257('0x61')]=function(){var _0x427cac=this;return function(_0x5d627b){if(_0x5d627b){freeIsNotKey(_0x5d627b,_0x427cac[_0x5257('0x15')],_0x5257('0x25'));for(var _0x22c5b8=0x0,_0x59f4da={};_0x22c5b8<_0x5d627b[_0x5257('0x3c')];_0x22c5b8+=0x1){_0x59f4da=_0x5d627b[_0x22c5b8];if(_[_0x5257('0x3d')](_0x427cac[_0x5257('0x15')][_0x59f4da[_0x5257('0x25')]])){_0x427cac[_0x5257('0x15')][_0x59f4da[_0x5257('0x25')]]=new Campaign(_0x59f4da);}else{_0x427cac['mergeFromDatabase'](_0x427cac[_0x5257('0x15')][_0x59f4da[_0x5257('0x25')]],_0x59f4da);_0x427cac[_0x5257('0x15')][_0x59f4da['name']][_0x5257('0x62')]=_0x59f4da[_0x5257('0x63')]?_0x59f4da[_0x5257('0x63')][_0x5257('0x25')]:undefined;}}}return _0x427cac[_0x5257('0x15')];};};Realtime['prototype'][_0x5257('0x64')]=function(){var _0x37dd4c=this;return function(_0x54aa6e){if(_0x54aa6e){freeIsNotKey(_0x54aa6e,_0x37dd4c['voiceExtensions'],'id');for(var _0x4c052c=0x0,_0x126bd4={};_0x4c052c<_0x54aa6e[_0x5257('0x3c')];_0x4c052c+=0x1){_0x126bd4=_0x54aa6e[_0x4c052c];if(_[_0x5257('0x3d')](_0x37dd4c['voiceExtensions'][_0x126bd4['id']])){_0x37dd4c[_0x5257('0x17')][_0x126bd4['id']]=new VoiceExtension(_0x126bd4);}else{_0x37dd4c[_0x5257('0x3b')](_0x37dd4c[_0x5257('0x17')][_0x126bd4['id']],_0x126bd4);}}}return _0x37dd4c[_0x5257('0x17')];};};Realtime[_0x5257('0x3a')][_0x5257('0x65')]=function(){var _0x51287e=this;return function(_0x1f831d){clearCampaigns(_0x51287e[_0x5257('0x15')]);for(var _0x11d84b=0x0;_0x11d84b<_0x1f831d[_0x5257('0x3c')];_0x11d84b+=0x1){_[_0x5257('0x4f')](_0x51287e['campaigns'][_0x1f831d[_0x11d84b][_0x5257('0x25')]],_0x1f831d[_0x11d84b]);}return _0x51287e['campaigns'];};};Realtime[_0x5257('0x3a')][_0x5257('0x66')]=function(){var _0x137dde=this;return function(_0x1bf49f){if(_0x1bf49f){freeIsNotKey(_0x1bf49f,_0x137dde['faxAccounts'],'id');for(var _0x3eb5f8=0x0,_0x21a009={},_0x364883={};_0x3eb5f8<_0x1bf49f['length'];_0x3eb5f8+=0x1){_0x21a009=_0x1bf49f[_0x3eb5f8];if(_[_0x5257('0x3d')](_0x137dde[_0x5257('0x67')][_0x21a009['id']])){_0x137dde[_0x5257('0x67')][_0x21a009['id']]=new FaxAccount(_0x21a009);}else{_0x137dde[_0x5257('0x3b')](_0x137dde['faxAccounts'][_0x21a009['id']],_0x21a009);}}}return _0x137dde['faxAccounts'];};};module[_0x5257('0x68')]=Realtime;