37436a0b5c404fbda24bcc7599cad919591ffb06
[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 _0x00bb=['outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','mergeFromDatabase','prototype','initAgents','length','isNil','isUndefined','initVoiceQueues','initTriggers','triggers','templates','initZendeskAccounts','salesforceAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','servicenowAccounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','queue','queuecallerexit','unmanaged','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','queuecallerexitAt','queuecallercomplete','seconds','initVoiceCallReports','outbound','duration','disposition','ANSWERED','billableseconds','dialQueueProject','SquareProject','voiceExtensions','initFaxAccounts','faxAccounts','bluebird','util','lodash','../model/agent','../model/trunk','../model/voiceQueue','../model/template','../model/campaign','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/faxAccount','agents','telephones','trunks','voiceQueues','campaigns','channels','queueChannels','outboundChannels','timers','settings','zendeskAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','vtigerAccounts','freshsalesAccounts','mapKeys','hasOwnProperty','SIP/%s','interface','format','name','total','answered','sumBillable','ivrTotalCallsDays','ivrAnswerCallsDay','isEmpty','abandoned','sumHoldTime','sumDuration','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout'];(function(_0x259a5e,_0x52b6c8){var _0x18792c=function(_0x1dc2f7){while(--_0x1dc2f7){_0x259a5e['push'](_0x259a5e['shift']());}};_0x18792c(++_0x52b6c8);}(_0x00bb,0x1d8));var _0xb00b=function(_0x311c35,_0x534915){_0x311c35=_0x311c35-0x0;var _0x5cc50c=_0x00bb[_0x311c35];return _0x5cc50c;};'use strict';var BPromise=require(_0xb00b('0x0'));var util=require(_0xb00b('0x1'));var _=require(_0xb00b('0x2'));var moment=require('moment');var Agent=require(_0xb00b('0x3'));var Telephone=require('../model/telephone');var Trunk=require(_0xb00b('0x4'));var VoiceQueue=require(_0xb00b('0x5'));var Trigger=require('../model/trigger');var Template=require(_0xb00b('0x6'));var Campaign=require(_0xb00b('0x7'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0xb00b('0x8'));var SugarcrmAccount=require(_0xb00b('0x9'));var ZohoAccount=require(_0xb00b('0xa'));var DeskAccount=require(_0xb00b('0xb'));var VtigerAccount=require(_0xb00b('0xc'));var ServicenowAccount=require(_0xb00b('0xd'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0xb00b('0xe'));var Realtime=function(){this[_0xb00b('0xf')]={};this[_0xb00b('0x10')]={};this[_0xb00b('0x11')]={};this[_0xb00b('0x12')]={};this['triggers']={};this[_0xb00b('0x13')]={};this['templates']={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0xb00b('0x14')]={};this[_0xb00b('0x15')]={};this[_0xb00b('0x16')]={};this[_0xb00b('0x17')]={};this[_0xb00b('0x18')]={};this[_0xb00b('0x19')]={};this['salesforceAccounts']={};this[_0xb00b('0x1a')]={};this[_0xb00b('0x1b')]={};this['zohoAccounts']={};this[_0xb00b('0x1c')]={};this[_0xb00b('0x1d')]={};this['servicenowAccounts']={};this['dynamics365Accounts']={};this[_0xb00b('0x1e')]={};this['faxAccounts']={};};function freeIsNotKey(_0x51d136,_0x1f9c78,_0x638443){var _0x387d97=_[_0xb00b('0x1f')](_0x51d136,function(_0x58d65f,_0x2a7231){return _0x58d65f[_0x638443];});for(var _0x599347 in _0x1f9c78){if(_0x1f9c78[_0xb00b('0x20')](_0x599347)){if(!_0x387d97[_0x599347]){delete _0x1f9c78[_0x599347];}}}}function freeIsNotKeySip(_0x5aa9a0,_0x25d7a0){var _0x5e8d7b=_[_0xb00b('0x1f')](_0x5aa9a0,function(_0x3355a3,_0x53ee68){return util['format'](_0xb00b('0x21'),_0x3355a3['name']);});for(var _0x1344c4 in _0x25d7a0){if(_0x25d7a0[_0xb00b('0x20')](_0x1344c4)){if(!_0x5e8d7b[_0x1344c4]){delete _0x25d7a0[_0x1344c4];}}}}function freeIsNotKeyAgent(_0x2fe48d,_0x3501af){var _0x56c189=_[_0xb00b('0x1f')](_0x2fe48d,function(_0x4df284,_0x25a973){var _0x121ec7=_['isNil'](_0x4df284[_0xb00b('0x22')])?util[_0xb00b('0x23')]('SIP/%s',_0x4df284[_0xb00b('0x24')]):_0x4df284[_0xb00b('0x22')];return _0x121ec7;});for(var _0x5568bb in _0x3501af){if(_0x3501af[_0xb00b('0x20')](_0x5568bb)){if(!_0x56c189[_0x5568bb]){delete _0x3501af[_0x5568bb];}}}}function clearVoiceCallReports(_0x243fdb){_0x243fdb[_0xb00b('0x25')]=0x0;_0x243fdb[_0xb00b('0x26')]=0x0;_0x243fdb['sumHoldTime']=0x0;_0x243fdb['sumDuration']=0x0;_0x243fdb[_0xb00b('0x27')]=0x0;}function clearCampaigns(_0x490380){if(!_['isEmpty'](_0x490380)){for(var _0x4a635e in _0x490380){if(_0x490380[_0xb00b('0x20')](_0x4a635e)){_0x490380[_0x4a635e][_0xb00b('0x28')]=0x0;_0x490380[_0x4a635e][_0xb00b('0x29')]=0x0;}}}}function clearVoiceQueues(_0x3825af){if(!_[_0xb00b('0x2a')](_0x3825af)){for(var _0x197379 in _0x3825af){if(_0x3825af[_0xb00b('0x20')](_0x197379)){_0x3825af[_0x197379]['total']=0x0;_0x3825af[_0x197379][_0xb00b('0x26')]=0x0;_0x3825af[_0x197379]['unmanaged']=0x0;_0x3825af[_0x197379][_0xb00b('0x2b')]=0x0;_0x3825af[_0x197379][_0xb00b('0x2c')]=0x0;_0x3825af[_0x197379][_0xb00b('0x2d')]=0x0;_0x3825af[_0x197379]['sumBillable']=0x0;_0x3825af[_0x197379][_0xb00b('0x2e')]=0x0;_0x3825af[_0x197379][_0xb00b('0x2f')]=0x0;_0x3825af[_0x197379][_0xb00b('0x30')]=0x0;_0x3825af[_0x197379][_0xb00b('0x31')]=0x0;_0x3825af[_0x197379][_0xb00b('0x32')]=0x0;_0x3825af[_0x197379][_0xb00b('0x33')]=0x0;_0x3825af[_0x197379][_0xb00b('0x34')]=0x0;_0x3825af[_0x197379][_0xb00b('0x35')]=0x0;_0x3825af[_0x197379][_0xb00b('0x36')]=0x0;_0x3825af[_0x197379]['outboundOriginateFailureCallsDay']=0x0;_0x3825af[_0x197379][_0xb00b('0x37')]=0x0;_0x3825af[_0x197379][_0xb00b('0x38')]=0x0;_0x3825af[_0x197379]['outboundAnswerAgiCallsDay']=0x0;_0x3825af[_0x197379][_0xb00b('0x39')]=0x0;_0x3825af[_0x197379][_0xb00b('0x3a')]=!![];}}}}Realtime['prototype'][_0xb00b('0x3b')]=function(_0x4d2ee5,_0x20e1c9){for(var _0x4117f2 in _0x20e1c9){if(_0x4d2ee5[_0xb00b('0x20')](_0x4117f2)){_0x4d2ee5[_0x4117f2]=_0x20e1c9[_0x4117f2];}}};Realtime[_0xb00b('0x3c')][_0xb00b('0x3d')]=function(){var _0x1436ad=this;return function(_0x17f613){if(_0x17f613){freeIsNotKeyAgent(_0x17f613,_0x1436ad['agents']);for(var _0x57e8f9=0x0,_0x5b04c2={},_0x347e73={};_0x57e8f9<_0x17f613[_0xb00b('0x3e')];_0x57e8f9+=0x1){_0x5b04c2=_0x17f613[_0x57e8f9];var _0x45dcda=_[_0xb00b('0x3f')](_0x5b04c2['interface'])?util[_0xb00b('0x23')](_0xb00b('0x21'),_0x5b04c2[_0xb00b('0x24')]):_0x5b04c2[_0xb00b('0x22')];if(_[_0xb00b('0x40')](_0x1436ad[_0xb00b('0xf')][_0x45dcda])){_0x1436ad[_0xb00b('0xf')][_0x45dcda]=new Agent(_0x5b04c2);}else{_0x1436ad[_0xb00b('0x3b')](_0x1436ad['agents'][_0x45dcda],_0x5b04c2);}}}return _0x1436ad['agents'];};};Realtime[_0xb00b('0x3c')]['initTelephones']=function(){var _0x1c8258=this;return function(_0x1c5400){if(_0x1c5400){freeIsNotKeySip(_0x1c5400,_0x1c8258[_0xb00b('0x10')]);for(var _0x45ca74=0x0,_0x37c017={},_0x142cdd={};_0x45ca74<_0x1c5400[_0xb00b('0x3e')];_0x45ca74+=0x1){_0x37c017=_0x1c5400[_0x45ca74];if(_['isUndefined'](_0x1c8258[_0xb00b('0x10')][util[_0xb00b('0x23')](_0xb00b('0x21'),_0x37c017[_0xb00b('0x24')])])){_0x1c8258[_0xb00b('0x10')][util[_0xb00b('0x23')]('SIP/%s',_0x37c017[_0xb00b('0x24')])]=new Telephone(_0x37c017);}else{_0x1c8258[_0xb00b('0x3b')](_0x1c8258['telephones'][util[_0xb00b('0x23')](_0xb00b('0x21'),_0x37c017[_0xb00b('0x24')])],_0x37c017);}}}return _0x1c8258[_0xb00b('0x10')];};};Realtime[_0xb00b('0x3c')]['initTrunks']=function(){var _0x14ff6a=this;return function(_0xe4b5b6){if(_0xe4b5b6){freeIsNotKeySip(_0xe4b5b6,_0x14ff6a[_0xb00b('0x11')]);for(var _0xa262a3=0x0,_0x5d2bbd={},_0x4867fe={};_0xa262a3<_0xe4b5b6[_0xb00b('0x3e')];_0xa262a3+=0x1){_0x5d2bbd=_0xe4b5b6[_0xa262a3];if(_[_0xb00b('0x40')](_0x14ff6a[_0xb00b('0x11')][util[_0xb00b('0x23')](_0xb00b('0x21'),_0x5d2bbd[_0xb00b('0x24')])])){_0x14ff6a[_0xb00b('0x11')][util['format'](_0xb00b('0x21'),_0x5d2bbd[_0xb00b('0x24')])]=new Trunk(_0x5d2bbd);}else{_0x14ff6a[_0xb00b('0x3b')](_0x14ff6a[_0xb00b('0x11')][util[_0xb00b('0x23')](_0xb00b('0x21'),_0x5d2bbd[_0xb00b('0x24')])],_0x5d2bbd);}}}return _0x14ff6a[_0xb00b('0x11')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x41')]=function(){var _0xc0dddd=this;return function(_0x419113){if(_0x419113){freeIsNotKey(_0x419113,_0xc0dddd['voiceQueues'],_0xb00b('0x24'));for(var _0x35a0ba=0x0,_0xd07fb8={},_0x44afa0={};_0x35a0ba<_0x419113[_0xb00b('0x3e')];_0x35a0ba+=0x1){_0xd07fb8=_0x419113[_0x35a0ba];if(_[_0xb00b('0x40')](_0xc0dddd[_0xb00b('0x12')][_0xd07fb8[_0xb00b('0x24')]])){_0xc0dddd[_0xb00b('0x12')][_0xd07fb8[_0xb00b('0x24')]]=new VoiceQueue(_0xd07fb8);}else{_0xc0dddd[_0xb00b('0x3b')](_0xc0dddd[_0xb00b('0x12')][_0xd07fb8['name']],_0xd07fb8);}}}return _0xc0dddd['voiceQueues'];};};Realtime['prototype'][_0xb00b('0x42')]=function(){var _0x23d858=this;return function(_0x481154){if(_0x481154){freeIsNotKey(_0x481154,_0x23d858[_0xb00b('0x43')],'id');for(var _0x3c0fa=0x0,_0x1d3c5d={},_0x32163b={};_0x3c0fa<_0x481154['length'];_0x3c0fa+=0x1){_0x1d3c5d=_0x481154[_0x3c0fa];if(_['isUndefined'](_0x23d858[_0xb00b('0x43')][_0x1d3c5d['id']])){_0x23d858[_0xb00b('0x43')][_0x1d3c5d['id']]=new Trigger(_0x1d3c5d);}else{_0x23d858['mergeFromDatabase'](_0x23d858['triggers'][_0x1d3c5d['id']],_0x1d3c5d);}}}return _0x23d858[_0xb00b('0x43')];};};Realtime[_0xb00b('0x3c')]['initTemplates']=function(){var _0x2228e9=this;return function(_0x47a814){if(_0x47a814){freeIsNotKey(_0x47a814,_0x2228e9['templates'],'id');for(var _0x4bcc9e=0x0,_0x465d90={},_0x481515={};_0x4bcc9e<_0x47a814[_0xb00b('0x3e')];_0x4bcc9e+=0x1){_0x465d90=_0x47a814[_0x4bcc9e];if(_[_0xb00b('0x40')](_0x2228e9[_0xb00b('0x44')][_0x465d90['id']])){_0x2228e9[_0xb00b('0x44')][_0x465d90['id']]=new Template(_0x465d90);}else{_0x2228e9[_0xb00b('0x3b')](_0x2228e9[_0xb00b('0x44')][_0x465d90['id']],_0x465d90);}}}return _0x2228e9['templates'];};};Realtime['prototype'][_0xb00b('0x45')]=function(){var _0x161da9=this;return function(_0x559357){if(_0x559357){freeIsNotKey(_0x559357,_0x161da9[_0xb00b('0x19')],'id');for(var _0xe4cf45=0x0,_0x57f6ab={},_0x15dcbf={};_0xe4cf45<_0x559357[_0xb00b('0x3e')];_0xe4cf45+=0x1){_0x57f6ab=_0x559357[_0xe4cf45];if(_[_0xb00b('0x40')](_0x161da9['zendeskAccounts'][_0x57f6ab['id']])){_0x161da9['zendeskAccounts'][_0x57f6ab['id']]=new ZendeskAccount(_0x57f6ab);}else{_0x161da9[_0xb00b('0x3b')](_0x161da9[_0xb00b('0x19')][_0x57f6ab['id']],_0x57f6ab);}}}return _0x161da9[_0xb00b('0x19')];};};Realtime[_0xb00b('0x3c')]['initSalesforceAccounts']=function(){var _0x380acb=this;return function(_0x3f31e5){if(_0x3f31e5){freeIsNotKey(_0x3f31e5,_0x380acb['salesforceAccounts'],'id');for(var _0x4cd9fd=0x0,_0x160965={},_0x524b05={};_0x4cd9fd<_0x3f31e5[_0xb00b('0x3e')];_0x4cd9fd+=0x1){_0x160965=_0x3f31e5[_0x4cd9fd];if(_[_0xb00b('0x40')](_0x380acb[_0xb00b('0x46')][_0x160965['id']])){_0x380acb[_0xb00b('0x46')][_0x160965['id']]=new SalesforceAccount(_0x160965);}else{_0x380acb[_0xb00b('0x3b')](_0x380acb[_0xb00b('0x46')][_0x160965['id']],_0x160965);}}}return _0x380acb['salesforceAccounts'];};};Realtime[_0xb00b('0x3c')]['initFreshdeskAccounts']=function(){var _0x37d4d2=this;return function(_0x98caa9){if(_0x98caa9){freeIsNotKey(_0x98caa9,_0x37d4d2[_0xb00b('0x1b')],'id');for(var _0x5ac79e=0x0,_0x248335={},_0x25f1f6={};_0x5ac79e<_0x98caa9[_0xb00b('0x3e')];_0x5ac79e+=0x1){_0x248335=_0x98caa9[_0x5ac79e];if(_['isUndefined'](_0x37d4d2[_0xb00b('0x1b')][_0x248335['id']])){_0x37d4d2[_0xb00b('0x1b')][_0x248335['id']]=new FreshdeskAccount(_0x248335);}else{_0x37d4d2[_0xb00b('0x3b')](_0x37d4d2[_0xb00b('0x1b')][_0x248335['id']],_0x248335);}}}return _0x37d4d2[_0xb00b('0x1b')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x47')]=function(){var _0x3a0b90=this;return function(_0x4c3067){if(_0x4c3067){freeIsNotKey(_0x4c3067,_0x3a0b90[_0xb00b('0x48')],'id');for(var _0x2cbe80=0x0,_0x1b4860={},_0x4a22dd={};_0x2cbe80<_0x4c3067[_0xb00b('0x3e')];_0x2cbe80+=0x1){_0x1b4860=_0x4c3067[_0x2cbe80];if(_[_0xb00b('0x40')](_0x3a0b90[_0xb00b('0x48')][_0x1b4860['id']])){_0x3a0b90[_0xb00b('0x48')][_0x1b4860['id']]=new ZohoAccount(_0x1b4860);}else{_0x3a0b90[_0xb00b('0x3b')](_0x3a0b90['zohoAccounts'][_0x1b4860['id']],_0x1b4860);}}}return _0x3a0b90[_0xb00b('0x48')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x49')]=function(){var _0x1cad79=this;return function(_0x4b1e5f){if(_0x4b1e5f){freeIsNotKey(_0x4b1e5f,_0x1cad79[_0xb00b('0x1c')],'id');for(var _0x2301b7=0x0,_0x2c93db={},_0x2d73bb={};_0x2301b7<_0x4b1e5f[_0xb00b('0x3e')];_0x2301b7+=0x1){_0x2c93db=_0x4b1e5f[_0x2301b7];if(_[_0xb00b('0x40')](_0x1cad79[_0xb00b('0x1c')][_0x2c93db['id']])){_0x1cad79['deskAccounts'][_0x2c93db['id']]=new DeskAccount(_0x2c93db);}else{_0x1cad79[_0xb00b('0x3b')](_0x1cad79['deskAccounts'][_0x2c93db['id']],_0x2c93db);}}}return _0x1cad79[_0xb00b('0x1c')];};};Realtime['prototype'][_0xb00b('0x4a')]=function(){var _0x530d4a=this;return function(_0xe2d5ca){if(_0xe2d5ca){freeIsNotKey(_0xe2d5ca,_0x530d4a['sugarcrmAccounts'],'id');for(var _0x3dffaf=0x0,_0x2534ed={},_0x3bae02={};_0x3dffaf<_0xe2d5ca['length'];_0x3dffaf+=0x1){_0x2534ed=_0xe2d5ca[_0x3dffaf];if(_['isUndefined'](_0x530d4a['sugarcrmAccounts'][_0x2534ed['id']])){_0x530d4a[_0xb00b('0x1a')][_0x2534ed['id']]=new SugarcrmAccount(_0x2534ed);}else{_0x530d4a[_0xb00b('0x3b')](_0x530d4a[_0xb00b('0x1a')][_0x2534ed['id']],_0x2534ed);}}}return _0x530d4a['sugarcrmAccounts'];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x4b')]=function(){var _0xca87d4=this;return function(_0x2ddba4){if(_0x2ddba4){freeIsNotKey(_0x2ddba4,_0xca87d4[_0xb00b('0x1d')],'id');for(var _0x485033=0x0,_0x32f924={},_0x27b13b={};_0x485033<_0x2ddba4['length'];_0x485033+=0x1){_0x32f924=_0x2ddba4[_0x485033];if(_[_0xb00b('0x40')](_0xca87d4[_0xb00b('0x1d')][_0x32f924['id']])){_0xca87d4[_0xb00b('0x1d')][_0x32f924['id']]=new VtigerAccount(_0x32f924);}else{_0xca87d4['mergeFromDatabase'](_0xca87d4['vtigerAccounts'][_0x32f924['id']],_0x32f924);}}}return _0xca87d4[_0xb00b('0x1d')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x4c')]=function(){var _0x49f0a2=this;return function(_0x5aac5f){if(_0x5aac5f){freeIsNotKey(_0x5aac5f,_0x49f0a2['servicenowAccounts'],'id');for(var _0x5e9677=0x0,_0xc695f={},_0x4df7fa={};_0x5e9677<_0x5aac5f[_0xb00b('0x3e')];_0x5e9677+=0x1){_0xc695f=_0x5aac5f[_0x5e9677];if(_[_0xb00b('0x40')](_0x49f0a2['servicenowAccounts'][_0xc695f['id']])){_0x49f0a2[_0xb00b('0x4d')][_0xc695f['id']]=new ServicenowAccount(_0xc695f);}else{_0x49f0a2[_0xb00b('0x3b')](_0x49f0a2[_0xb00b('0x4d')][_0xc695f['id']],_0xc695f);}}}return _0x49f0a2[_0xb00b('0x4d')];};};Realtime[_0xb00b('0x3c')]['initDynamics365Accounts']=function(){var _0x222066=this;return function(_0x851800){if(_0x851800){freeIsNotKey(_0x851800,_0x222066[_0xb00b('0x4e')],'id');for(var _0x15dcc3=0x0,_0x8e7e4e={},_0x404fbd={};_0x15dcc3<_0x851800[_0xb00b('0x3e')];_0x15dcc3+=0x1){_0x8e7e4e=_0x851800[_0x15dcc3];if(_['isUndefined'](_0x222066[_0xb00b('0x4e')][_0x8e7e4e['id']])){_0x222066[_0xb00b('0x4e')][_0x8e7e4e['id']]=new Dynamics365Account(_0x8e7e4e);}else{_0x222066[_0xb00b('0x3b')](_0x222066[_0xb00b('0x4e')][_0x8e7e4e['id']],_0x8e7e4e);}}}return _0x222066[_0xb00b('0x4e')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x4f')]=function(){var _0x266294=this;return function(_0x4d6f3a){if(_0x4d6f3a){freeIsNotKey(_0x4d6f3a,_0x266294[_0xb00b('0x1e')],'id');for(var _0x446e42=0x0,_0x1bf5ad={},_0x3e6a79={};_0x446e42<_0x4d6f3a[_0xb00b('0x3e')];_0x446e42+=0x1){_0x1bf5ad=_0x4d6f3a[_0x446e42];if(_[_0xb00b('0x40')](_0x266294[_0xb00b('0x1e')][_0x1bf5ad['id']])){_0x266294[_0xb00b('0x1e')][_0x1bf5ad['id']]=new FreshsalesAccount(_0x1bf5ad);}else{_0x266294['mergeFromDatabase'](_0x266294[_0xb00b('0x1e')][_0x1bf5ad['id']],_0x1bf5ad);}}}return _0x266294[_0xb00b('0x1e')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x50')]=function(){var _0x227949=this;return function(_0x376adc){for(var _0x26461a=0x0;_0x26461a<_0x376adc['length'];_0x26461a+=0x1){_[_0xb00b('0x51')](_0x227949[_0xb00b('0x12')][_0x376adc[_0x26461a][_0xb00b('0x24')]],_0x376adc[_0x26461a]);}return _0x227949[_0xb00b('0x12')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x52')]=function(){var _0x4930f3=this;return function(_0x39bb6c){clearVoiceQueues(_0x4930f3['voiceQueues']);if(_0x39bb6c){_0x39bb6c=_[_0xb00b('0x53')](_0x39bb6c,'uniqueid');for(var _0x1b255d in _0x39bb6c){if(_0x39bb6c[_0xb00b('0x20')](_0x1b255d)){var _0x20e844={};for(var _0x4d1daa=0x0;_0x4d1daa<_0x39bb6c[_0x1b255d]['length'];_0x4d1daa+=0x1){var _0x9ad1c6=_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x54')];if(_0x4930f3[_0xb00b('0x12')][_0x9ad1c6]){if(_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x55')]){_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x56')]+=0x1;}if(_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x57')]){_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x2b')]+=0x1;}_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x2c')]+=moment(_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x58')])[_0xb00b('0x59')](moment(_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x5a')]),'seconds')||0x0;if(_0x4d1daa===_0x39bb6c[_0x1b255d]['length']-0x1){_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x2d')]+=moment(_0x39bb6c[_0x1b255d][_0x4d1daa]['queuecallercompleteAt']||_0x39bb6c[_0x1b255d][_0x4d1daa]['queuecallerabandonAt']||_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x5b')])[_0xb00b('0x59')](moment(_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x5a')]),'seconds')||0x0;_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x25')]+=0x1;if(_0x39bb6c[_0x1b255d][_0x4d1daa][_0xb00b('0x5c')]){_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x26')]+=0x1;_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x27')]+=moment(_0x39bb6c[_0x1b255d][_0x4d1daa]['queuecallercompleteAt'])[_0xb00b('0x59')](moment(_0x39bb6c[_0x1b255d][_0x4d1daa]['queuecallerleaveAt']),_0xb00b('0x5d'))||0x0;}}else{_0x4930f3[_0xb00b('0x12')][_0x9ad1c6]['sumDuration']+=_0x4930f3[_0xb00b('0x12')][_0x9ad1c6][_0xb00b('0x2c')]||0x0;}}}}}}return _0x4930f3[_0xb00b('0x12')];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x5e')]=function(){var _0x4434fa=this;return function(_0xc41c1f){clearVoiceCallReports(_0x4434fa[_0xb00b('0x5f')]);if(_0xc41c1f){for(var _0x36ba5c=0x0;_0x36ba5c<_0xc41c1f[_0xb00b('0x3e')];_0x36ba5c+=0x1){_0x4434fa[_0xb00b('0x5f')][_0xb00b('0x25')]+=0x1;_0x4434fa['outbound'][_0xb00b('0x2d')]+=_0xc41c1f[_0x36ba5c][_0xb00b('0x60')];if(_0xc41c1f[_0x36ba5c][_0xb00b('0x61')]===_0xb00b('0x62')){_0x4434fa['outbound'][_0xb00b('0x26')]+=0x1;_0x4434fa[_0xb00b('0x5f')][_0xb00b('0x2c')]+=_0xc41c1f[_0x36ba5c][_0xb00b('0x60')]-_0xc41c1f[_0x36ba5c][_0xb00b('0x63')]||0x0;_0x4434fa['outbound'][_0xb00b('0x27')]+=_0xc41c1f[_0x36ba5c][_0xb00b('0x63')];}}}return _0x4434fa[_0xb00b('0x5f')];};};Realtime[_0xb00b('0x3c')]['initCampaigns']=function(){var _0x34dcb0=this;return function(_0x584f4b){if(_0x584f4b){freeIsNotKey(_0x584f4b,_0x34dcb0[_0xb00b('0x13')],_0xb00b('0x24'));for(var _0x69b4e0=0x0,_0x165442={};_0x69b4e0<_0x584f4b[_0xb00b('0x3e')];_0x69b4e0+=0x1){_0x165442=_0x584f4b[_0x69b4e0];if(_[_0xb00b('0x40')](_0x34dcb0[_0xb00b('0x13')][_0x165442[_0xb00b('0x24')]])){_0x34dcb0[_0xb00b('0x13')][_0x165442[_0xb00b('0x24')]]=new Campaign(_0x165442);}else{_0x34dcb0[_0xb00b('0x3b')](_0x34dcb0['campaigns'][_0x165442[_0xb00b('0x24')]],_0x165442);_0x34dcb0[_0xb00b('0x13')][_0x165442[_0xb00b('0x24')]][_0xb00b('0x64')]=_0x165442['SquareProject']?_0x165442[_0xb00b('0x65')][_0xb00b('0x24')]:undefined;}}}return _0x34dcb0['campaigns'];};};Realtime[_0xb00b('0x3c')]['initVoiceExtensions']=function(){var _0x3caf51=this;return function(_0x43377c){if(_0x43377c){freeIsNotKey(_0x43377c,_0x3caf51[_0xb00b('0x66')],'id');for(var _0x51fdf7=0x0,_0x2c4cdf={};_0x51fdf7<_0x43377c[_0xb00b('0x3e')];_0x51fdf7+=0x1){_0x2c4cdf=_0x43377c[_0x51fdf7];if(_[_0xb00b('0x40')](_0x3caf51[_0xb00b('0x66')][_0x2c4cdf['id']])){_0x3caf51[_0xb00b('0x66')][_0x2c4cdf['id']]=new VoiceExtension(_0x2c4cdf);}else{_0x3caf51[_0xb00b('0x3b')](_0x3caf51[_0xb00b('0x66')][_0x2c4cdf['id']],_0x2c4cdf);}}}return _0x3caf51[_0xb00b('0x66')];};};Realtime[_0xb00b('0x3c')]['initCampaignHopperHistory']=function(){var _0x5914c9=this;return function(_0x466ddb){clearCampaigns(_0x5914c9[_0xb00b('0x13')]);for(var _0x2c4488=0x0;_0x2c4488<_0x466ddb[_0xb00b('0x3e')];_0x2c4488+=0x1){_['merge'](_0x5914c9[_0xb00b('0x13')][_0x466ddb[_0x2c4488][_0xb00b('0x24')]],_0x466ddb[_0x2c4488]);}return _0x5914c9['campaigns'];};};Realtime[_0xb00b('0x3c')][_0xb00b('0x67')]=function(){var _0x2762fb=this;return function(_0x54244b){if(_0x54244b){freeIsNotKey(_0x54244b,_0x2762fb[_0xb00b('0x68')],'id');for(var _0x1dd043=0x0,_0x51d9de={},_0x2b7fa9={};_0x1dd043<_0x54244b[_0xb00b('0x3e')];_0x1dd043+=0x1){_0x51d9de=_0x54244b[_0x1dd043];if(_[_0xb00b('0x40')](_0x2762fb[_0xb00b('0x68')][_0x51d9de['id']])){_0x2762fb[_0xb00b('0x68')][_0x51d9de['id']]=new FaxAccount(_0x51d9de);}else{_0x2762fb[_0xb00b('0x3b')](_0x2762fb[_0xb00b('0x68')][_0x51d9de['id']],_0x51d9de);}}}return _0x2762fb[_0xb00b('0x68')];};};module['exports']=Realtime;