Built motion from commit (unavailable).|2.5.9
[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 _0x99d4=['../model/faxAccount','agents','telephones','trunks','voiceQueues','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','timers','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','answered','sumHoldTime','sumDuration','isEmpty','ivrTotalCallsDays','unmanaged','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isUndefined','initTelephones','initTrunks','initVoiceQueues','initTriggers','triggers','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','initZohoAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','uniqueid','queue','queuecallerexit','queuecallerabandon','abandoned','queuecallerleaveAt','diff','queuecallerjoinAt','queuecallerabandonAt','queuecallerexitAt','seconds','queuecallercomplete','queuecallercompleteAt','initVoiceCallReports','disposition','ANSWERED','duration','billableseconds','sumBillable','initCampaigns','dialQueueProject','SquareProject','initCampaignHopperHistory','bluebird','lodash','../model/telephone','../model/trunk','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount'];(function(_0x54c7b0,_0x58a4d9){var _0x2835d8=function(_0x187099){while(--_0x187099){_0x54c7b0['push'](_0x54c7b0['shift']());}};_0x2835d8(++_0x58a4d9);}(_0x99d4,0x122));var _0x499d=function(_0x136469,_0x2d30b1){_0x136469=_0x136469-0x0;var _0xe91361=_0x99d4[_0x136469];return _0xe91361;};'use strict';var BPromise=require(_0x499d('0x0'));var util=require('util');var _=require(_0x499d('0x1'));var moment=require('moment');var Agent=require('../model/agent');var Telephone=require(_0x499d('0x2'));var Trunk=require(_0x499d('0x3'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require('../model/trigger');var Template=require('../model/template');var Campaign=require(_0x499d('0x4'));var VoiceExtension=require(_0x499d('0x5'));var ZendeskAccount=require(_0x499d('0x6'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x499d('0x7'));var SugarcrmAccount=require(_0x499d('0x8'));var ZohoAccount=require(_0x499d('0x9'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x499d('0xa'));var Dynamics365Account=require(_0x499d('0xb'));var FreshsalesAccount=require(_0x499d('0xc'));var FaxAccount=require(_0x499d('0xd'));var Realtime=function(){this[_0x499d('0xe')]={};this[_0x499d('0xf')]={};this[_0x499d('0x10')]={};this[_0x499d('0x11')]={};this['triggers']={};this[_0x499d('0x12')]={};this[_0x499d('0x13')]={};this[_0x499d('0x14')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x499d('0x15')]={};this[_0x499d('0x16')]={};this[_0x499d('0x17')]={};this['outboundChannels']={};this[_0x499d('0x18')]={};this['zendeskAccounts']={};this[_0x499d('0x19')]={};this[_0x499d('0x1a')]={};this[_0x499d('0x1b')]={};this[_0x499d('0x1c')]={};this[_0x499d('0x1d')]={};this[_0x499d('0x1e')]={};this[_0x499d('0x1f')]={};this['dynamics365Accounts']={};this[_0x499d('0x20')]={};this[_0x499d('0x21')]={};};function freeIsNotKey(_0x2ba73f,_0x41213e,_0xae3041){var _0x1abcc1=_[_0x499d('0x22')](_0x2ba73f,function(_0xa7a656,_0x2e9e48){return _0xa7a656[_0xae3041];});for(var _0x34bed5 in _0x41213e){if(_0x41213e[_0x499d('0x23')](_0x34bed5)){if(!_0x1abcc1[_0x34bed5]){delete _0x41213e[_0x34bed5];}}}}function freeIsNotKeySip(_0x32cbd9,_0x2d4f7e){var _0x350869=_[_0x499d('0x22')](_0x32cbd9,function(_0xe1c6b,_0x1f5765){return util[_0x499d('0x24')](_0x499d('0x25'),_0xe1c6b[_0x499d('0x26')]);});for(var _0x4af883 in _0x2d4f7e){if(_0x2d4f7e[_0x499d('0x23')](_0x4af883)){if(!_0x350869[_0x4af883]){delete _0x2d4f7e[_0x4af883];}}}}function freeIsNotKeyAgent(_0x3cd98f,_0x31222e){var _0x95b23a=_[_0x499d('0x22')](_0x3cd98f,function(_0x3bbda3,_0x1dd378){var _0x345e8c=_[_0x499d('0x27')](_0x3bbda3[_0x499d('0x28')])?util[_0x499d('0x24')](_0x499d('0x25'),_0x3bbda3['name']):_0x3bbda3['interface'];return _0x345e8c;});for(var _0x1842b4 in _0x31222e){if(_0x31222e[_0x499d('0x23')](_0x1842b4)){if(!_0x95b23a[_0x1842b4]){delete _0x31222e[_0x1842b4];}}}}function clearVoiceCallReports(_0x43056d){_0x43056d[_0x499d('0x29')]=0x0;_0x43056d[_0x499d('0x2a')]=0x0;_0x43056d[_0x499d('0x2b')]=0x0;_0x43056d[_0x499d('0x2c')]=0x0;_0x43056d['sumBillable']=0x0;}function clearCampaigns(_0x1e87be){if(!_[_0x499d('0x2d')](_0x1e87be)){for(var _0x4b8175 in _0x1e87be){if(_0x1e87be['hasOwnProperty'](_0x4b8175)){_0x1e87be[_0x4b8175][_0x499d('0x2e')]=0x0;_0x1e87be[_0x4b8175]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x2d4766){if(!_[_0x499d('0x2d')](_0x2d4766)){for(var _0x2f257a in _0x2d4766){if(_0x2d4766[_0x499d('0x23')](_0x2f257a)){_0x2d4766[_0x2f257a]['total']=0x0;_0x2d4766[_0x2f257a][_0x499d('0x2a')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x2f')]=0x0;_0x2d4766[_0x2f257a]['abandoned']=0x0;_0x2d4766[_0x2f257a][_0x499d('0x2b')]=0x0;_0x2d4766[_0x2f257a]['sumDuration']=0x0;_0x2d4766[_0x2f257a]['sumBillable']=0x0;_0x2d4766[_0x2f257a]['outboundAnswerAgiCallsDay']=0x0;_0x2d4766[_0x2f257a]['outboundNoAnswerCallsDay']=0x0;_0x2d4766[_0x2f257a][_0x499d('0x30')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x31')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x32')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x33')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x34')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x35')]=0x0;_0x2d4766[_0x2f257a]['outboundBlacklistCallsDay']=0x0;_0x2d4766[_0x2f257a][_0x499d('0x36')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x37')]=0x0;_0x2d4766[_0x2f257a]['outboundReCallsDay']=0x0;_0x2d4766[_0x2f257a]['outboundAnswerAgiCallsDay']=0x0;_0x2d4766[_0x2f257a][_0x499d('0x38')]=0x0;_0x2d4766[_0x2f257a][_0x499d('0x39')]=!![];}}}}Realtime[_0x499d('0x3a')][_0x499d('0x3b')]=function(_0x555b64,_0x505391){for(var _0x35ff3f in _0x505391){if(_0x555b64[_0x499d('0x23')](_0x35ff3f)){_0x555b64[_0x35ff3f]=_0x505391[_0x35ff3f];}}};Realtime[_0x499d('0x3a')][_0x499d('0x3c')]=function(){var _0x18d129=this;return function(_0x28906){if(_0x28906){freeIsNotKeyAgent(_0x28906,_0x18d129[_0x499d('0xe')]);for(var _0x25b65d=0x0,_0x224e71={},_0x44b1a1={};_0x25b65d<_0x28906[_0x499d('0x3d')];_0x25b65d+=0x1){_0x224e71=_0x28906[_0x25b65d];var _0x566676=_[_0x499d('0x27')](_0x224e71[_0x499d('0x28')])?util['format']('SIP/%s',_0x224e71['name']):_0x224e71[_0x499d('0x28')];if(_[_0x499d('0x3e')](_0x18d129[_0x499d('0xe')][_0x566676])){_0x18d129[_0x499d('0xe')][_0x566676]=new Agent(_0x224e71);}else{_0x18d129[_0x499d('0x3b')](_0x18d129['agents'][_0x566676],_0x224e71);}}}return _0x18d129[_0x499d('0xe')];};};Realtime[_0x499d('0x3a')][_0x499d('0x3f')]=function(){var _0x5d1e6a=this;return function(_0x9b3a23){if(_0x9b3a23){freeIsNotKeySip(_0x9b3a23,_0x5d1e6a[_0x499d('0xf')]);for(var _0x57b1e3=0x0,_0x268f56={},_0x2d7ba8={};_0x57b1e3<_0x9b3a23[_0x499d('0x3d')];_0x57b1e3+=0x1){_0x268f56=_0x9b3a23[_0x57b1e3];if(_[_0x499d('0x3e')](_0x5d1e6a[_0x499d('0xf')][util[_0x499d('0x24')](_0x499d('0x25'),_0x268f56[_0x499d('0x26')])])){_0x5d1e6a[_0x499d('0xf')][util[_0x499d('0x24')](_0x499d('0x25'),_0x268f56[_0x499d('0x26')])]=new Telephone(_0x268f56);}else{_0x5d1e6a[_0x499d('0x3b')](_0x5d1e6a[_0x499d('0xf')][util[_0x499d('0x24')]('SIP/%s',_0x268f56[_0x499d('0x26')])],_0x268f56);}}}return _0x5d1e6a[_0x499d('0xf')];};};Realtime[_0x499d('0x3a')][_0x499d('0x40')]=function(){var _0x2c3bff=this;return function(_0x2c84fe){if(_0x2c84fe){freeIsNotKeySip(_0x2c84fe,_0x2c3bff['trunks']);for(var _0x5e9066=0x0,_0xa19475={},_0x3a3d3c={};_0x5e9066<_0x2c84fe[_0x499d('0x3d')];_0x5e9066+=0x1){_0xa19475=_0x2c84fe[_0x5e9066];if(_['isUndefined'](_0x2c3bff[_0x499d('0x10')][util[_0x499d('0x24')](_0x499d('0x25'),_0xa19475[_0x499d('0x26')])])){_0x2c3bff['trunks'][util[_0x499d('0x24')](_0x499d('0x25'),_0xa19475[_0x499d('0x26')])]=new Trunk(_0xa19475);}else{_0x2c3bff[_0x499d('0x3b')](_0x2c3bff[_0x499d('0x10')][util[_0x499d('0x24')]('SIP/%s',_0xa19475[_0x499d('0x26')])],_0xa19475);}}}return _0x2c3bff[_0x499d('0x10')];};};Realtime[_0x499d('0x3a')][_0x499d('0x41')]=function(){var _0x25f675=this;return function(_0x3f1800){if(_0x3f1800){freeIsNotKey(_0x3f1800,_0x25f675[_0x499d('0x11')],_0x499d('0x26'));for(var _0x45cf5a=0x0,_0x9e363={},_0x11c393={};_0x45cf5a<_0x3f1800['length'];_0x45cf5a+=0x1){_0x9e363=_0x3f1800[_0x45cf5a];if(_[_0x499d('0x3e')](_0x25f675[_0x499d('0x11')][_0x9e363['name']])){_0x25f675[_0x499d('0x11')][_0x9e363[_0x499d('0x26')]]=new VoiceQueue(_0x9e363);}else{_0x25f675['mergeFromDatabase'](_0x25f675[_0x499d('0x11')][_0x9e363['name']],_0x9e363);}}}return _0x25f675['voiceQueues'];};};Realtime[_0x499d('0x3a')][_0x499d('0x42')]=function(){var _0x40e710=this;return function(_0xab9d23){if(_0xab9d23){freeIsNotKey(_0xab9d23,_0x40e710[_0x499d('0x43')],'id');for(var _0x4b3a90=0x0,_0x3b70ea={},_0x489a73={};_0x4b3a90<_0xab9d23[_0x499d('0x3d')];_0x4b3a90+=0x1){_0x3b70ea=_0xab9d23[_0x4b3a90];if(_['isUndefined'](_0x40e710[_0x499d('0x43')][_0x3b70ea['id']])){_0x40e710[_0x499d('0x43')][_0x3b70ea['id']]=new Trigger(_0x3b70ea);}else{_0x40e710[_0x499d('0x3b')](_0x40e710[_0x499d('0x43')][_0x3b70ea['id']],_0x3b70ea);}}}return _0x40e710['triggers'];};};Realtime[_0x499d('0x3a')]['initTemplates']=function(){var _0x318a8e=this;return function(_0x195125){if(_0x195125){freeIsNotKey(_0x195125,_0x318a8e[_0x499d('0x13')],'id');for(var _0x23a834=0x0,_0x46b3af={},_0x182241={};_0x23a834<_0x195125[_0x499d('0x3d')];_0x23a834+=0x1){_0x46b3af=_0x195125[_0x23a834];if(_[_0x499d('0x3e')](_0x318a8e[_0x499d('0x13')][_0x46b3af['id']])){_0x318a8e[_0x499d('0x13')][_0x46b3af['id']]=new Template(_0x46b3af);}else{_0x318a8e[_0x499d('0x3b')](_0x318a8e['templates'][_0x46b3af['id']],_0x46b3af);}}}return _0x318a8e[_0x499d('0x13')];};};Realtime[_0x499d('0x3a')][_0x499d('0x44')]=function(){var _0x17f5e2=this;return function(_0x569fed){if(_0x569fed){freeIsNotKey(_0x569fed,_0x17f5e2[_0x499d('0x45')],'id');for(var _0x558f67=0x0,_0x211078={},_0x148a95={};_0x558f67<_0x569fed[_0x499d('0x3d')];_0x558f67+=0x1){_0x211078=_0x569fed[_0x558f67];if(_[_0x499d('0x3e')](_0x17f5e2[_0x499d('0x45')][_0x211078['id']])){_0x17f5e2[_0x499d('0x45')][_0x211078['id']]=new ZendeskAccount(_0x211078);}else{_0x17f5e2['mergeFromDatabase'](_0x17f5e2[_0x499d('0x45')][_0x211078['id']],_0x211078);}}}return _0x17f5e2['zendeskAccounts'];};};Realtime[_0x499d('0x3a')][_0x499d('0x46')]=function(){var _0x57f325=this;return function(_0x461f41){if(_0x461f41){freeIsNotKey(_0x461f41,_0x57f325[_0x499d('0x19')],'id');for(var _0x3756a0=0x0,_0x117004={},_0x42277d={};_0x3756a0<_0x461f41['length'];_0x3756a0+=0x1){_0x117004=_0x461f41[_0x3756a0];if(_['isUndefined'](_0x57f325[_0x499d('0x19')][_0x117004['id']])){_0x57f325[_0x499d('0x19')][_0x117004['id']]=new SalesforceAccount(_0x117004);}else{_0x57f325[_0x499d('0x3b')](_0x57f325[_0x499d('0x19')][_0x117004['id']],_0x117004);}}}return _0x57f325['salesforceAccounts'];};};Realtime[_0x499d('0x3a')]['initFreshdeskAccounts']=function(){var _0x1041b7=this;return function(_0x551a84){if(_0x551a84){freeIsNotKey(_0x551a84,_0x1041b7[_0x499d('0x1b')],'id');for(var _0x35a90a=0x0,_0x2463f8={},_0x527b2a={};_0x35a90a<_0x551a84[_0x499d('0x3d')];_0x35a90a+=0x1){_0x2463f8=_0x551a84[_0x35a90a];if(_[_0x499d('0x3e')](_0x1041b7[_0x499d('0x1b')][_0x2463f8['id']])){_0x1041b7[_0x499d('0x1b')][_0x2463f8['id']]=new FreshdeskAccount(_0x2463f8);}else{_0x1041b7['mergeFromDatabase'](_0x1041b7[_0x499d('0x1b')][_0x2463f8['id']],_0x2463f8);}}}return _0x1041b7[_0x499d('0x1b')];};};Realtime[_0x499d('0x3a')][_0x499d('0x47')]=function(){var _0x3c6595=this;return function(_0x1f24d0){if(_0x1f24d0){freeIsNotKey(_0x1f24d0,_0x3c6595[_0x499d('0x1c')],'id');for(var _0x59c25a=0x0,_0x257d49={},_0x5aaeaa={};_0x59c25a<_0x1f24d0[_0x499d('0x3d')];_0x59c25a+=0x1){_0x257d49=_0x1f24d0[_0x59c25a];if(_[_0x499d('0x3e')](_0x3c6595['zohoAccounts'][_0x257d49['id']])){_0x3c6595[_0x499d('0x1c')][_0x257d49['id']]=new ZohoAccount(_0x257d49);}else{_0x3c6595[_0x499d('0x3b')](_0x3c6595[_0x499d('0x1c')][_0x257d49['id']],_0x257d49);}}}return _0x3c6595['zohoAccounts'];};};Realtime[_0x499d('0x3a')]['initDeskAccounts']=function(){var _0x404e4c=this;return function(_0x4ba99c){if(_0x4ba99c){freeIsNotKey(_0x4ba99c,_0x404e4c[_0x499d('0x1d')],'id');for(var _0x1a1a0e=0x0,_0x3ed1b1={},_0x492551={};_0x1a1a0e<_0x4ba99c[_0x499d('0x3d')];_0x1a1a0e+=0x1){_0x3ed1b1=_0x4ba99c[_0x1a1a0e];if(_[_0x499d('0x3e')](_0x404e4c[_0x499d('0x1d')][_0x3ed1b1['id']])){_0x404e4c[_0x499d('0x1d')][_0x3ed1b1['id']]=new DeskAccount(_0x3ed1b1);}else{_0x404e4c[_0x499d('0x3b')](_0x404e4c[_0x499d('0x1d')][_0x3ed1b1['id']],_0x3ed1b1);}}}return _0x404e4c[_0x499d('0x1d')];};};Realtime[_0x499d('0x3a')]['initSugarcrmAccounts']=function(){var _0x4790dc=this;return function(_0x29cfbb){if(_0x29cfbb){freeIsNotKey(_0x29cfbb,_0x4790dc[_0x499d('0x1a')],'id');for(var _0x32d324=0x0,_0x1ccc75={},_0x1fe808={};_0x32d324<_0x29cfbb[_0x499d('0x3d')];_0x32d324+=0x1){_0x1ccc75=_0x29cfbb[_0x32d324];if(_[_0x499d('0x3e')](_0x4790dc[_0x499d('0x1a')][_0x1ccc75['id']])){_0x4790dc[_0x499d('0x1a')][_0x1ccc75['id']]=new SugarcrmAccount(_0x1ccc75);}else{_0x4790dc['mergeFromDatabase'](_0x4790dc['sugarcrmAccounts'][_0x1ccc75['id']],_0x1ccc75);}}}return _0x4790dc['sugarcrmAccounts'];};};Realtime[_0x499d('0x3a')]['initVtigerAccounts']=function(){var _0x31892a=this;return function(_0x38481c){if(_0x38481c){freeIsNotKey(_0x38481c,_0x31892a[_0x499d('0x1e')],'id');for(var _0x18a657=0x0,_0xdd1ff3={},_0x29e5f3={};_0x18a657<_0x38481c[_0x499d('0x3d')];_0x18a657+=0x1){_0xdd1ff3=_0x38481c[_0x18a657];if(_[_0x499d('0x3e')](_0x31892a[_0x499d('0x1e')][_0xdd1ff3['id']])){_0x31892a['vtigerAccounts'][_0xdd1ff3['id']]=new VtigerAccount(_0xdd1ff3);}else{_0x31892a['mergeFromDatabase'](_0x31892a[_0x499d('0x1e')][_0xdd1ff3['id']],_0xdd1ff3);}}}return _0x31892a[_0x499d('0x1e')];};};Realtime[_0x499d('0x3a')][_0x499d('0x48')]=function(){var _0x3b10fd=this;return function(_0x2c0c7d){if(_0x2c0c7d){freeIsNotKey(_0x2c0c7d,_0x3b10fd[_0x499d('0x1f')],'id');for(var _0x21e789=0x0,_0x48f54d={},_0x3e83d2={};_0x21e789<_0x2c0c7d[_0x499d('0x3d')];_0x21e789+=0x1){_0x48f54d=_0x2c0c7d[_0x21e789];if(_[_0x499d('0x3e')](_0x3b10fd[_0x499d('0x1f')][_0x48f54d['id']])){_0x3b10fd[_0x499d('0x1f')][_0x48f54d['id']]=new ServicenowAccount(_0x48f54d);}else{_0x3b10fd['mergeFromDatabase'](_0x3b10fd[_0x499d('0x1f')][_0x48f54d['id']],_0x48f54d);}}}return _0x3b10fd[_0x499d('0x1f')];};};Realtime[_0x499d('0x3a')][_0x499d('0x49')]=function(){var _0xd2c95f=this;return function(_0x38ac39){if(_0x38ac39){freeIsNotKey(_0x38ac39,_0xd2c95f[_0x499d('0x4a')],'id');for(var _0x220069=0x0,_0x2c9d35={},_0x4a0fad={};_0x220069<_0x38ac39[_0x499d('0x3d')];_0x220069+=0x1){_0x2c9d35=_0x38ac39[_0x220069];if(_[_0x499d('0x3e')](_0xd2c95f[_0x499d('0x4a')][_0x2c9d35['id']])){_0xd2c95f[_0x499d('0x4a')][_0x2c9d35['id']]=new Dynamics365Account(_0x2c9d35);}else{_0xd2c95f['mergeFromDatabase'](_0xd2c95f[_0x499d('0x4a')][_0x2c9d35['id']],_0x2c9d35);}}}return _0xd2c95f[_0x499d('0x4a')];};};Realtime[_0x499d('0x3a')]['initFreshsalesAccounts']=function(){var _0x59534a=this;return function(_0x1b5e22){if(_0x1b5e22){freeIsNotKey(_0x1b5e22,_0x59534a[_0x499d('0x20')],'id');for(var _0x237984=0x0,_0x50fc8b={},_0x389654={};_0x237984<_0x1b5e22[_0x499d('0x3d')];_0x237984+=0x1){_0x50fc8b=_0x1b5e22[_0x237984];if(_[_0x499d('0x3e')](_0x59534a[_0x499d('0x20')][_0x50fc8b['id']])){_0x59534a[_0x499d('0x20')][_0x50fc8b['id']]=new FreshsalesAccount(_0x50fc8b);}else{_0x59534a['mergeFromDatabase'](_0x59534a['freshsalesAccounts'][_0x50fc8b['id']],_0x50fc8b);}}}return _0x59534a['freshsalesAccounts'];};};Realtime['prototype'][_0x499d('0x4b')]=function(){var _0x26739b=this;return function(_0xb85617){for(var _0x36f9ec=0x0;_0x36f9ec<_0xb85617['length'];_0x36f9ec+=0x1){_[_0x499d('0x4c')](_0x26739b['voiceQueues'][_0xb85617[_0x36f9ec][_0x499d('0x26')]],_0xb85617[_0x36f9ec]);}return _0x26739b[_0x499d('0x11')];};};Realtime[_0x499d('0x3a')][_0x499d('0x4d')]=function(){var _0x307887=this;return function(_0x3bc42a){clearVoiceQueues(_0x307887[_0x499d('0x11')]);if(_0x3bc42a){_0x3bc42a=_['groupBy'](_0x3bc42a,_0x499d('0x4e'));for(var _0x4923a8 in _0x3bc42a){if(_0x3bc42a['hasOwnProperty'](_0x4923a8)){var _0x382384={};for(var _0x388a7b=0x0;_0x388a7b<_0x3bc42a[_0x4923a8][_0x499d('0x3d')];_0x388a7b+=0x1){var _0x1f2698=_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x4f')];if(_0x307887[_0x499d('0x11')][_0x1f2698]){if(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x50')]){_0x307887[_0x499d('0x11')][_0x1f2698]['unmanaged']+=0x1;}if(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x51')]){_0x307887[_0x499d('0x11')][_0x1f2698][_0x499d('0x52')]+=0x1;}_0x307887[_0x499d('0x11')][_0x1f2698][_0x499d('0x2b')]+=moment(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x53')])[_0x499d('0x54')](moment(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x55')]),'seconds')||0x0;if(_0x388a7b===_0x3bc42a[_0x4923a8][_0x499d('0x3d')]-0x1){_0x307887[_0x499d('0x11')][_0x1f2698][_0x499d('0x2c')]+=moment(_0x3bc42a[_0x4923a8][_0x388a7b]['queuecallercompleteAt']||_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x56')]||_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x57')])[_0x499d('0x54')](moment(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x55')]),_0x499d('0x58'))||0x0;_0x307887['voiceQueues'][_0x1f2698][_0x499d('0x29')]+=0x1;if(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x59')]){_0x307887[_0x499d('0x11')][_0x1f2698][_0x499d('0x2a')]+=0x1;_0x307887[_0x499d('0x11')][_0x1f2698]['sumBillable']+=moment(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x5a')])[_0x499d('0x54')](moment(_0x3bc42a[_0x4923a8][_0x388a7b][_0x499d('0x53')]),_0x499d('0x58'))||0x0;}}else{_0x307887[_0x499d('0x11')][_0x1f2698]['sumDuration']+=_0x307887[_0x499d('0x11')][_0x1f2698]['sumHoldTime']||0x0;}}}}}}return _0x307887[_0x499d('0x11')];};};Realtime['prototype'][_0x499d('0x5b')]=function(){var _0x3b1ac6=this;return function(_0x39e5dd){clearVoiceCallReports(_0x3b1ac6[_0x499d('0x14')]);if(_0x39e5dd){for(var _0x32b8f2=0x0;_0x32b8f2<_0x39e5dd[_0x499d('0x3d')];_0x32b8f2+=0x1){_0x3b1ac6[_0x499d('0x14')]['total']+=0x1;_0x3b1ac6[_0x499d('0x14')][_0x499d('0x2c')]+=_0x39e5dd[_0x32b8f2]['duration'];if(_0x39e5dd[_0x32b8f2][_0x499d('0x5c')]===_0x499d('0x5d')){_0x3b1ac6[_0x499d('0x14')][_0x499d('0x2a')]+=0x1;_0x3b1ac6[_0x499d('0x14')]['sumHoldTime']+=_0x39e5dd[_0x32b8f2][_0x499d('0x5e')]-_0x39e5dd[_0x32b8f2][_0x499d('0x5f')]||0x0;_0x3b1ac6[_0x499d('0x14')][_0x499d('0x60')]+=_0x39e5dd[_0x32b8f2]['billableseconds'];}}}return _0x3b1ac6[_0x499d('0x14')];};};Realtime[_0x499d('0x3a')][_0x499d('0x61')]=function(){var _0x9890f=this;return function(_0x3f1e99){if(_0x3f1e99){freeIsNotKey(_0x3f1e99,_0x9890f[_0x499d('0x12')],_0x499d('0x26'));for(var _0x1adcc3=0x0,_0x560990={};_0x1adcc3<_0x3f1e99['length'];_0x1adcc3+=0x1){_0x560990=_0x3f1e99[_0x1adcc3];if(_['isUndefined'](_0x9890f[_0x499d('0x12')][_0x560990[_0x499d('0x26')]])){_0x9890f['campaigns'][_0x560990['name']]=new Campaign(_0x560990);}else{_0x9890f[_0x499d('0x3b')](_0x9890f[_0x499d('0x12')][_0x560990[_0x499d('0x26')]],_0x560990);_0x9890f[_0x499d('0x12')][_0x560990['name']][_0x499d('0x62')]=_0x560990[_0x499d('0x63')]?_0x560990[_0x499d('0x63')][_0x499d('0x26')]:undefined;}}}return _0x9890f[_0x499d('0x12')];};};Realtime[_0x499d('0x3a')]['initVoiceExtensions']=function(){var _0x3a364e=this;return function(_0x21764c){if(_0x21764c){freeIsNotKey(_0x21764c,_0x3a364e['voiceExtensions'],'id');for(var _0x30c2c5=0x0,_0x47c0fa={};_0x30c2c5<_0x21764c['length'];_0x30c2c5+=0x1){_0x47c0fa=_0x21764c[_0x30c2c5];if(_[_0x499d('0x3e')](_0x3a364e[_0x499d('0x15')][_0x47c0fa['id']])){_0x3a364e['voiceExtensions'][_0x47c0fa['id']]=new VoiceExtension(_0x47c0fa);}else{_0x3a364e[_0x499d('0x3b')](_0x3a364e[_0x499d('0x15')][_0x47c0fa['id']],_0x47c0fa);}}}return _0x3a364e[_0x499d('0x15')];};};Realtime[_0x499d('0x3a')][_0x499d('0x64')]=function(){var _0x3467b1=this;return function(_0x422a43){clearCampaigns(_0x3467b1[_0x499d('0x12')]);for(var _0x468a12=0x0;_0x468a12<_0x422a43[_0x499d('0x3d')];_0x468a12+=0x1){_[_0x499d('0x4c')](_0x3467b1[_0x499d('0x12')][_0x422a43[_0x468a12]['name']],_0x422a43[_0x468a12]);}return _0x3467b1['campaigns'];};};Realtime['prototype']['initFaxAccounts']=function(){var _0x4261b2=this;return function(_0x551e3a){if(_0x551e3a){freeIsNotKey(_0x551e3a,_0x4261b2[_0x499d('0x21')],'id');for(var _0x42690f=0x0,_0xdb4e7f={},_0x4de36d={};_0x42690f<_0x551e3a['length'];_0x42690f+=0x1){_0xdb4e7f=_0x551e3a[_0x42690f];if(_['isUndefined'](_0x4261b2[_0x499d('0x21')][_0xdb4e7f['id']])){_0x4261b2['faxAccounts'][_0xdb4e7f['id']]=new FaxAccount(_0xdb4e7f);}else{_0x4261b2[_0x499d('0x3b')](_0x4261b2[_0x499d('0x21')][_0xdb4e7f['id']],_0xdb4e7f);}}}return _0x4261b2[_0x499d('0x21')];};};module['exports']=Realtime;