8abc66dc43e015ff0ff7171aa42a024757a4ba30
[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 _0x1e9f=['abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','queueStatusComplete','prototype','initAgents','length','isNil','name','isUndefined','mergeFromDatabase','initTelephones','initVoiceQueues','initTriggers','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initVtigerAccounts','initServicenowAccounts','servicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','groupBy','uniqueid','queuecallerexit','queuecallerabandon','queuecallerleaveAt','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','initVoiceCallReports','outbound','duration','disposition','ANSWERED','billableseconds','initCampaigns','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','bluebird','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/template','../model/zendeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','voiceExtensions','channels','outboundChannels','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','interface','format','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','total','unmanaged'];(function(_0x3edc29,_0x424002){var _0x141a71=function(_0x1addcf){while(--_0x1addcf){_0x3edc29['push'](_0x3edc29['shift']());}};_0x141a71(++_0x424002);}(_0x1e9f,0x107));var _0xf1e9=function(_0x5e8336,_0x5b5ca7){_0x5e8336=_0x5e8336-0x0;var _0x118d44=_0x1e9f[_0x5e8336];return _0x118d44;};'use strict';var BPromise=require(_0xf1e9('0x0'));var util=require('util');var _=require(_0xf1e9('0x1'));var moment=require(_0xf1e9('0x2'));var Agent=require(_0xf1e9('0x3'));var Telephone=require(_0xf1e9('0x4'));var Trunk=require(_0xf1e9('0x5'));var VoiceQueue=require(_0xf1e9('0x6'));var Trigger=require('../model/trigger');var Template=require(_0xf1e9('0x7'));var Campaign=require('../model/campaign');var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0xf1e9('0x8'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0xf1e9('0x9'));var ZohoAccount=require(_0xf1e9('0xa'));var DeskAccount=require(_0xf1e9('0xb'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0xf1e9('0xc'));var Dynamics365Account=require(_0xf1e9('0xd'));var FreshsalesAccount=require(_0xf1e9('0xe'));var FaxAccount=require(_0xf1e9('0xf'));var Realtime=function(){this[_0xf1e9('0x10')]={};this[_0xf1e9('0x11')]={};this[_0xf1e9('0x12')]={};this[_0xf1e9('0x13')]={};this[_0xf1e9('0x14')]={};this[_0xf1e9('0x15')]={};this[_0xf1e9('0x16')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xf1e9('0x17')]={};this[_0xf1e9('0x18')]={};this['queueChannels']={};this[_0xf1e9('0x19')]={};this['timers']={};this[_0xf1e9('0x1a')]={};this[_0xf1e9('0x1b')]={};this[_0xf1e9('0x1c')]={};this[_0xf1e9('0x1d')]={};this[_0xf1e9('0x1e')]={};this[_0xf1e9('0x1f')]={};this[_0xf1e9('0x20')]={};this['servicenowAccounts']={};this[_0xf1e9('0x21')]={};this[_0xf1e9('0x22')]={};this[_0xf1e9('0x23')]={};};function freeIsNotKey(_0x53534b,_0x2e7f3c,_0x1430a7){var _0x30c666=_[_0xf1e9('0x24')](_0x53534b,function(_0x3bd1f5,_0x925cd){return _0x3bd1f5[_0x1430a7];});for(var _0x4365db in _0x2e7f3c){if(_0x2e7f3c[_0xf1e9('0x25')](_0x4365db)){if(!_0x30c666[_0x4365db]){delete _0x2e7f3c[_0x4365db];}}}}function freeIsNotKeySip(_0x1e6f08,_0x4a9d91){var _0x1e248f=_[_0xf1e9('0x24')](_0x1e6f08,function(_0x2723e1,_0x249b73){return util['format'](_0xf1e9('0x26'),_0x2723e1['name']);});for(var _0x5e64ce in _0x4a9d91){if(_0x4a9d91['hasOwnProperty'](_0x5e64ce)){if(!_0x1e248f[_0x5e64ce]){delete _0x4a9d91[_0x5e64ce];}}}}function freeIsNotKeyAgent(_0x37d48a,_0x4f9813){var _0x5f0832=_['mapKeys'](_0x37d48a,function(_0x5dc899,_0x1aed5f){var _0x196b9d=_['isNil'](_0x5dc899[_0xf1e9('0x27')])?util[_0xf1e9('0x28')](_0xf1e9('0x26'),_0x5dc899['name']):_0x5dc899['interface'];return _0x196b9d;});for(var _0x48fc21 in _0x4f9813){if(_0x4f9813[_0xf1e9('0x25')](_0x48fc21)){if(!_0x5f0832[_0x48fc21]){delete _0x4f9813[_0x48fc21];}}}}function clearVoiceCallReports(_0x573583){_0x573583['total']=0x0;_0x573583[_0xf1e9('0x29')]=0x0;_0x573583[_0xf1e9('0x2a')]=0x0;_0x573583[_0xf1e9('0x2b')]=0x0;_0x573583[_0xf1e9('0x2c')]=0x0;}function clearCampaigns(_0x2b0bef){if(!_[_0xf1e9('0x2d')](_0x2b0bef)){for(var _0xcd76e9 in _0x2b0bef){if(_0x2b0bef['hasOwnProperty'](_0xcd76e9)){_0x2b0bef[_0xcd76e9][_0xf1e9('0x2e')]=0x0;_0x2b0bef[_0xcd76e9]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x388f8b){if(!_[_0xf1e9('0x2d')](_0x388f8b)){for(var _0x5465ed in _0x388f8b){if(_0x388f8b['hasOwnProperty'](_0x5465ed)){_0x388f8b[_0x5465ed][_0xf1e9('0x2f')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x29')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x30')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x31')]=0x0;_0x388f8b[_0x5465ed]['sumHoldTime']=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x2b')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x2c')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x32')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x33')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x34')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x35')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x36')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x37')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x38')]=0x0;_0x388f8b[_0x5465ed]['outboundDropCallsDayCallersExit']=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x39')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x3a')]=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x3b')]=0x0;_0x388f8b[_0x5465ed]['outboundReCallsDay']=0x0;_0x388f8b[_0x5465ed]['outboundAnswerAgiCallsDay']=0x0;_0x388f8b[_0x5465ed]['outboundAnswerCallsDay']=0x0;_0x388f8b[_0x5465ed][_0xf1e9('0x3c')]=!![];}}}}Realtime[_0xf1e9('0x3d')]['mergeFromDatabase']=function(_0x381622,_0x54603c){for(var _0xb80da in _0x54603c){if(_0x381622[_0xf1e9('0x25')](_0xb80da)){_0x381622[_0xb80da]=_0x54603c[_0xb80da];}}};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x3e')]=function(){var _0x24fe68=this;return function(_0x58b46e){if(_0x58b46e){freeIsNotKeyAgent(_0x58b46e,_0x24fe68['agents']);for(var _0x265b1e=0x0,_0x32de6a={},_0x191f97={};_0x265b1e<_0x58b46e[_0xf1e9('0x3f')];_0x265b1e+=0x1){_0x32de6a=_0x58b46e[_0x265b1e];var _0x53292b=_[_0xf1e9('0x40')](_0x32de6a[_0xf1e9('0x27')])?util['format'](_0xf1e9('0x26'),_0x32de6a[_0xf1e9('0x41')]):_0x32de6a[_0xf1e9('0x27')];if(_[_0xf1e9('0x42')](_0x24fe68['agents'][_0x53292b])){_0x24fe68['agents'][_0x53292b]=new Agent(_0x32de6a);}else{_0x24fe68[_0xf1e9('0x43')](_0x24fe68[_0xf1e9('0x10')][_0x53292b],_0x32de6a);}}}return _0x24fe68['agents'];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x44')]=function(){var _0x1b9458=this;return function(_0x1ff553){if(_0x1ff553){freeIsNotKeySip(_0x1ff553,_0x1b9458[_0xf1e9('0x11')]);for(var _0x1d3720=0x0,_0x2262b7={},_0x3999eb={};_0x1d3720<_0x1ff553[_0xf1e9('0x3f')];_0x1d3720+=0x1){_0x2262b7=_0x1ff553[_0x1d3720];if(_[_0xf1e9('0x42')](_0x1b9458['telephones'][util['format']('SIP/%s',_0x2262b7[_0xf1e9('0x41')])])){_0x1b9458[_0xf1e9('0x11')][util[_0xf1e9('0x28')](_0xf1e9('0x26'),_0x2262b7[_0xf1e9('0x41')])]=new Telephone(_0x2262b7);}else{_0x1b9458[_0xf1e9('0x43')](_0x1b9458[_0xf1e9('0x11')][util[_0xf1e9('0x28')](_0xf1e9('0x26'),_0x2262b7[_0xf1e9('0x41')])],_0x2262b7);}}}return _0x1b9458['telephones'];};};Realtime[_0xf1e9('0x3d')]['initTrunks']=function(){var _0x2747e7=this;return function(_0x432af9){if(_0x432af9){freeIsNotKeySip(_0x432af9,_0x2747e7['trunks']);for(var _0x1faa62=0x0,_0x463dcc={},_0x1a4084={};_0x1faa62<_0x432af9['length'];_0x1faa62+=0x1){_0x463dcc=_0x432af9[_0x1faa62];if(_[_0xf1e9('0x42')](_0x2747e7[_0xf1e9('0x12')][util['format'](_0xf1e9('0x26'),_0x463dcc['name'])])){_0x2747e7['trunks'][util[_0xf1e9('0x28')](_0xf1e9('0x26'),_0x463dcc[_0xf1e9('0x41')])]=new Trunk(_0x463dcc);}else{_0x2747e7[_0xf1e9('0x43')](_0x2747e7[_0xf1e9('0x12')][util[_0xf1e9('0x28')](_0xf1e9('0x26'),_0x463dcc[_0xf1e9('0x41')])],_0x463dcc);}}}return _0x2747e7[_0xf1e9('0x12')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x45')]=function(){var _0x483ebe=this;return function(_0x29482e){if(_0x29482e){freeIsNotKey(_0x29482e,_0x483ebe[_0xf1e9('0x13')],_0xf1e9('0x41'));for(var _0x3b2172=0x0,_0x17c7db={},_0x4a4632={};_0x3b2172<_0x29482e['length'];_0x3b2172+=0x1){_0x17c7db=_0x29482e[_0x3b2172];if(_[_0xf1e9('0x42')](_0x483ebe[_0xf1e9('0x13')][_0x17c7db[_0xf1e9('0x41')]])){_0x483ebe[_0xf1e9('0x13')][_0x17c7db[_0xf1e9('0x41')]]=new VoiceQueue(_0x17c7db);}else{_0x483ebe[_0xf1e9('0x43')](_0x483ebe[_0xf1e9('0x13')][_0x17c7db['name']],_0x17c7db);}}}return _0x483ebe[_0xf1e9('0x13')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x46')]=function(){var _0x2d4068=this;return function(_0x54328a){if(_0x54328a){freeIsNotKey(_0x54328a,_0x2d4068['triggers'],'id');for(var _0x5c9441=0x0,_0x384f48={},_0x33d729={};_0x5c9441<_0x54328a['length'];_0x5c9441+=0x1){_0x384f48=_0x54328a[_0x5c9441];if(_[_0xf1e9('0x42')](_0x2d4068[_0xf1e9('0x14')][_0x384f48['id']])){_0x2d4068['triggers'][_0x384f48['id']]=new Trigger(_0x384f48);}else{_0x2d4068[_0xf1e9('0x43')](_0x2d4068[_0xf1e9('0x14')][_0x384f48['id']],_0x384f48);}}}return _0x2d4068[_0xf1e9('0x14')];};};Realtime[_0xf1e9('0x3d')]['initTemplates']=function(){var _0x5c9d7c=this;return function(_0x1ec2d2){if(_0x1ec2d2){freeIsNotKey(_0x1ec2d2,_0x5c9d7c[_0xf1e9('0x16')],'id');for(var _0x71de44=0x0,_0x15f4da={},_0x236005={};_0x71de44<_0x1ec2d2['length'];_0x71de44+=0x1){_0x15f4da=_0x1ec2d2[_0x71de44];if(_[_0xf1e9('0x42')](_0x5c9d7c['templates'][_0x15f4da['id']])){_0x5c9d7c[_0xf1e9('0x16')][_0x15f4da['id']]=new Template(_0x15f4da);}else{_0x5c9d7c[_0xf1e9('0x43')](_0x5c9d7c[_0xf1e9('0x16')][_0x15f4da['id']],_0x15f4da);}}}return _0x5c9d7c['templates'];};};Realtime[_0xf1e9('0x3d')]['initZendeskAccounts']=function(){var _0x2e86e6=this;return function(_0x3a4cca){if(_0x3a4cca){freeIsNotKey(_0x3a4cca,_0x2e86e6[_0xf1e9('0x1a')],'id');for(var _0x9ddbf4=0x0,_0x52341b={},_0x26721a={};_0x9ddbf4<_0x3a4cca[_0xf1e9('0x3f')];_0x9ddbf4+=0x1){_0x52341b=_0x3a4cca[_0x9ddbf4];if(_[_0xf1e9('0x42')](_0x2e86e6[_0xf1e9('0x1a')][_0x52341b['id']])){_0x2e86e6[_0xf1e9('0x1a')][_0x52341b['id']]=new ZendeskAccount(_0x52341b);}else{_0x2e86e6['mergeFromDatabase'](_0x2e86e6[_0xf1e9('0x1a')][_0x52341b['id']],_0x52341b);}}}return _0x2e86e6[_0xf1e9('0x1a')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x47')]=function(){var _0x26f9f6=this;return function(_0x164446){if(_0x164446){freeIsNotKey(_0x164446,_0x26f9f6[_0xf1e9('0x1b')],'id');for(var _0x3a4c73=0x0,_0x4d458d={},_0x5d62ef={};_0x3a4c73<_0x164446['length'];_0x3a4c73+=0x1){_0x4d458d=_0x164446[_0x3a4c73];if(_[_0xf1e9('0x42')](_0x26f9f6['salesforceAccounts'][_0x4d458d['id']])){_0x26f9f6[_0xf1e9('0x1b')][_0x4d458d['id']]=new SalesforceAccount(_0x4d458d);}else{_0x26f9f6[_0xf1e9('0x43')](_0x26f9f6[_0xf1e9('0x1b')][_0x4d458d['id']],_0x4d458d);}}}return _0x26f9f6[_0xf1e9('0x1b')];};};Realtime['prototype'][_0xf1e9('0x48')]=function(){var _0x5647ac=this;return function(_0x1ba98b){if(_0x1ba98b){freeIsNotKey(_0x1ba98b,_0x5647ac[_0xf1e9('0x1d')],'id');for(var _0x53c86a=0x0,_0x3cb8ac={},_0x1dd7e8={};_0x53c86a<_0x1ba98b['length'];_0x53c86a+=0x1){_0x3cb8ac=_0x1ba98b[_0x53c86a];if(_[_0xf1e9('0x42')](_0x5647ac[_0xf1e9('0x1d')][_0x3cb8ac['id']])){_0x5647ac['freshdeskAccounts'][_0x3cb8ac['id']]=new FreshdeskAccount(_0x3cb8ac);}else{_0x5647ac[_0xf1e9('0x43')](_0x5647ac['freshdeskAccounts'][_0x3cb8ac['id']],_0x3cb8ac);}}}return _0x5647ac[_0xf1e9('0x1d')];};};Realtime['prototype'][_0xf1e9('0x49')]=function(){var _0x275bde=this;return function(_0x29b02c){if(_0x29b02c){freeIsNotKey(_0x29b02c,_0x275bde['zohoAccounts'],'id');for(var _0x46459d=0x0,_0x54d2c9={},_0x44d21a={};_0x46459d<_0x29b02c[_0xf1e9('0x3f')];_0x46459d+=0x1){_0x54d2c9=_0x29b02c[_0x46459d];if(_[_0xf1e9('0x42')](_0x275bde[_0xf1e9('0x1e')][_0x54d2c9['id']])){_0x275bde[_0xf1e9('0x1e')][_0x54d2c9['id']]=new ZohoAccount(_0x54d2c9);}else{_0x275bde[_0xf1e9('0x43')](_0x275bde[_0xf1e9('0x1e')][_0x54d2c9['id']],_0x54d2c9);}}}return _0x275bde['zohoAccounts'];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x4a')]=function(){var _0x4de851=this;return function(_0x19ddc4){if(_0x19ddc4){freeIsNotKey(_0x19ddc4,_0x4de851[_0xf1e9('0x1f')],'id');for(var _0x1c72ff=0x0,_0x54cb63={},_0x30cde2={};_0x1c72ff<_0x19ddc4[_0xf1e9('0x3f')];_0x1c72ff+=0x1){_0x54cb63=_0x19ddc4[_0x1c72ff];if(_[_0xf1e9('0x42')](_0x4de851[_0xf1e9('0x1f')][_0x54cb63['id']])){_0x4de851[_0xf1e9('0x1f')][_0x54cb63['id']]=new DeskAccount(_0x54cb63);}else{_0x4de851[_0xf1e9('0x43')](_0x4de851[_0xf1e9('0x1f')][_0x54cb63['id']],_0x54cb63);}}}return _0x4de851[_0xf1e9('0x1f')];};};Realtime['prototype']['initSugarcrmAccounts']=function(){var _0x42a454=this;return function(_0x5770a5){if(_0x5770a5){freeIsNotKey(_0x5770a5,_0x42a454[_0xf1e9('0x1c')],'id');for(var _0x120f64=0x0,_0x5f12ab={},_0x977cc5={};_0x120f64<_0x5770a5[_0xf1e9('0x3f')];_0x120f64+=0x1){_0x5f12ab=_0x5770a5[_0x120f64];if(_['isUndefined'](_0x42a454[_0xf1e9('0x1c')][_0x5f12ab['id']])){_0x42a454[_0xf1e9('0x1c')][_0x5f12ab['id']]=new SugarcrmAccount(_0x5f12ab);}else{_0x42a454[_0xf1e9('0x43')](_0x42a454[_0xf1e9('0x1c')][_0x5f12ab['id']],_0x5f12ab);}}}return _0x42a454[_0xf1e9('0x1c')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x4b')]=function(){var _0x291a1a=this;return function(_0x2549c3){if(_0x2549c3){freeIsNotKey(_0x2549c3,_0x291a1a['vtigerAccounts'],'id');for(var _0x23c547=0x0,_0x109418={},_0x3bf1a7={};_0x23c547<_0x2549c3['length'];_0x23c547+=0x1){_0x109418=_0x2549c3[_0x23c547];if(_[_0xf1e9('0x42')](_0x291a1a[_0xf1e9('0x20')][_0x109418['id']])){_0x291a1a[_0xf1e9('0x20')][_0x109418['id']]=new VtigerAccount(_0x109418);}else{_0x291a1a['mergeFromDatabase'](_0x291a1a[_0xf1e9('0x20')][_0x109418['id']],_0x109418);}}}return _0x291a1a[_0xf1e9('0x20')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x4c')]=function(){var _0x30e698=this;return function(_0x1dd241){if(_0x1dd241){freeIsNotKey(_0x1dd241,_0x30e698[_0xf1e9('0x4d')],'id');for(var _0x44c907=0x0,_0x4c95f8={},_0x4bfcd4={};_0x44c907<_0x1dd241[_0xf1e9('0x3f')];_0x44c907+=0x1){_0x4c95f8=_0x1dd241[_0x44c907];if(_['isUndefined'](_0x30e698['servicenowAccounts'][_0x4c95f8['id']])){_0x30e698[_0xf1e9('0x4d')][_0x4c95f8['id']]=new ServicenowAccount(_0x4c95f8);}else{_0x30e698[_0xf1e9('0x43')](_0x30e698[_0xf1e9('0x4d')][_0x4c95f8['id']],_0x4c95f8);}}}return _0x30e698['servicenowAccounts'];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x4e')]=function(){var _0x12e26c=this;return function(_0x357401){if(_0x357401){freeIsNotKey(_0x357401,_0x12e26c[_0xf1e9('0x21')],'id');for(var _0x4e113a=0x0,_0x19363c={},_0x1e49e9={};_0x4e113a<_0x357401['length'];_0x4e113a+=0x1){_0x19363c=_0x357401[_0x4e113a];if(_['isUndefined'](_0x12e26c[_0xf1e9('0x21')][_0x19363c['id']])){_0x12e26c[_0xf1e9('0x21')][_0x19363c['id']]=new Dynamics365Account(_0x19363c);}else{_0x12e26c['mergeFromDatabase'](_0x12e26c[_0xf1e9('0x21')][_0x19363c['id']],_0x19363c);}}}return _0x12e26c[_0xf1e9('0x21')];};};Realtime['prototype'][_0xf1e9('0x4f')]=function(){var _0x28d4b9=this;return function(_0x26d2b9){if(_0x26d2b9){freeIsNotKey(_0x26d2b9,_0x28d4b9['freshsalesAccounts'],'id');for(var _0x2bbf7e=0x0,_0x4feb71={},_0x256aff={};_0x2bbf7e<_0x26d2b9[_0xf1e9('0x3f')];_0x2bbf7e+=0x1){_0x4feb71=_0x26d2b9[_0x2bbf7e];if(_[_0xf1e9('0x42')](_0x28d4b9['freshsalesAccounts'][_0x4feb71['id']])){_0x28d4b9[_0xf1e9('0x22')][_0x4feb71['id']]=new FreshsalesAccount(_0x4feb71);}else{_0x28d4b9[_0xf1e9('0x43')](_0x28d4b9[_0xf1e9('0x22')][_0x4feb71['id']],_0x4feb71);}}}return _0x28d4b9['freshsalesAccounts'];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x50')]=function(){var _0xee78af=this;return function(_0x1981da){for(var _0x149101=0x0;_0x149101<_0x1981da[_0xf1e9('0x3f')];_0x149101+=0x1){_[_0xf1e9('0x51')](_0xee78af[_0xf1e9('0x13')][_0x1981da[_0x149101]['name']],_0x1981da[_0x149101]);}return _0xee78af[_0xf1e9('0x13')];};};Realtime[_0xf1e9('0x3d')]['initVoiceQueueReports']=function(){var _0x397ecb=this;return function(_0x29c3eb){clearVoiceQueues(_0x397ecb['voiceQueues']);if(_0x29c3eb){_0x29c3eb=_[_0xf1e9('0x52')](_0x29c3eb,_0xf1e9('0x53'));for(var _0x170642 in _0x29c3eb){if(_0x29c3eb['hasOwnProperty'](_0x170642)){var _0xcd4ee3={};for(var _0x47909d=0x0;_0x47909d<_0x29c3eb[_0x170642][_0xf1e9('0x3f')];_0x47909d+=0x1){var _0x24f47e=_0x29c3eb[_0x170642][_0x47909d]['queue'];if(_0x397ecb[_0xf1e9('0x13')][_0x24f47e]){if(_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x54')]){_0x397ecb[_0xf1e9('0x13')][_0x24f47e][_0xf1e9('0x30')]+=0x1;}if(_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x55')]){_0x397ecb[_0xf1e9('0x13')][_0x24f47e][_0xf1e9('0x31')]+=0x1;}_0x397ecb['voiceQueues'][_0x24f47e]['sumHoldTime']+=moment(_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x56')])['diff'](moment(_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x57')]),_0xf1e9('0x58'))||0x0;if(_0x47909d===_0x29c3eb[_0x170642][_0xf1e9('0x3f')]-0x1){_0x397ecb[_0xf1e9('0x13')][_0x24f47e][_0xf1e9('0x2b')]+=moment(_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x59')]||_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x5a')]||_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x5b')])['diff'](moment(_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x57')]),_0xf1e9('0x58'))||0x0;_0x397ecb[_0xf1e9('0x13')][_0x24f47e][_0xf1e9('0x2f')]+=0x1;if(_0x29c3eb[_0x170642][_0x47909d]['queuecallercomplete']){_0x397ecb[_0xf1e9('0x13')][_0x24f47e]['answered']+=0x1;_0x397ecb[_0xf1e9('0x13')][_0x24f47e][_0xf1e9('0x2c')]+=moment(_0x29c3eb[_0x170642][_0x47909d][_0xf1e9('0x59')])['diff'](moment(_0x29c3eb[_0x170642][_0x47909d]['queuecallerleaveAt']),'seconds')||0x0;}}else{_0x397ecb[_0xf1e9('0x13')][_0x24f47e]['sumDuration']+=_0x397ecb['voiceQueues'][_0x24f47e]['sumHoldTime']||0x0;}}}}}}return _0x397ecb[_0xf1e9('0x13')];};};Realtime['prototype'][_0xf1e9('0x5c')]=function(){var _0x1c43bc=this;return function(_0x53bfcb){clearVoiceCallReports(_0x1c43bc[_0xf1e9('0x5d')]);if(_0x53bfcb){for(var _0x1ec761=0x0;_0x1ec761<_0x53bfcb[_0xf1e9('0x3f')];_0x1ec761+=0x1){_0x1c43bc[_0xf1e9('0x5d')]['total']+=0x1;_0x1c43bc['outbound'][_0xf1e9('0x2b')]+=_0x53bfcb[_0x1ec761][_0xf1e9('0x5e')];if(_0x53bfcb[_0x1ec761][_0xf1e9('0x5f')]===_0xf1e9('0x60')){_0x1c43bc['outbound'][_0xf1e9('0x29')]+=0x1;_0x1c43bc['outbound'][_0xf1e9('0x2a')]+=_0x53bfcb[_0x1ec761]['duration']-_0x53bfcb[_0x1ec761][_0xf1e9('0x61')]||0x0;_0x1c43bc[_0xf1e9('0x5d')][_0xf1e9('0x2c')]+=_0x53bfcb[_0x1ec761]['billableseconds'];}}}return _0x1c43bc[_0xf1e9('0x5d')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x62')]=function(){var _0x2d0d9d=this;return function(_0x5591d0){if(_0x5591d0){freeIsNotKey(_0x5591d0,_0x2d0d9d['campaigns'],_0xf1e9('0x41'));for(var _0x386c9d=0x0,_0x1a0d06={};_0x386c9d<_0x5591d0[_0xf1e9('0x3f')];_0x386c9d+=0x1){_0x1a0d06=_0x5591d0[_0x386c9d];if(_[_0xf1e9('0x42')](_0x2d0d9d['campaigns'][_0x1a0d06['name']])){_0x2d0d9d[_0xf1e9('0x15')][_0x1a0d06[_0xf1e9('0x41')]]=new Campaign(_0x1a0d06);}else{_0x2d0d9d[_0xf1e9('0x43')](_0x2d0d9d['campaigns'][_0x1a0d06[_0xf1e9('0x41')]],_0x1a0d06);_0x2d0d9d[_0xf1e9('0x15')][_0x1a0d06[_0xf1e9('0x41')]]['dialQueueProject']=_0x1a0d06['SquareProject']?_0x1a0d06[_0xf1e9('0x63')][_0xf1e9('0x41')]:undefined;}}}return _0x2d0d9d[_0xf1e9('0x15')];};};Realtime['prototype'][_0xf1e9('0x64')]=function(){var _0x1129e3=this;return function(_0x195c15){if(_0x195c15){freeIsNotKey(_0x195c15,_0x1129e3['voiceExtensions'],'id');for(var _0x1258fa=0x0,_0x14d6b3={};_0x1258fa<_0x195c15[_0xf1e9('0x3f')];_0x1258fa+=0x1){_0x14d6b3=_0x195c15[_0x1258fa];if(_[_0xf1e9('0x42')](_0x1129e3['voiceExtensions'][_0x14d6b3['id']])){_0x1129e3[_0xf1e9('0x17')][_0x14d6b3['id']]=new VoiceExtension(_0x14d6b3);}else{_0x1129e3[_0xf1e9('0x43')](_0x1129e3[_0xf1e9('0x17')][_0x14d6b3['id']],_0x14d6b3);}}}return _0x1129e3[_0xf1e9('0x17')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x65')]=function(){var _0x2cd5cd=this;return function(_0x8b8b14){clearCampaigns(_0x2cd5cd[_0xf1e9('0x15')]);for(var _0x4e24d4=0x0;_0x4e24d4<_0x8b8b14[_0xf1e9('0x3f')];_0x4e24d4+=0x1){_[_0xf1e9('0x51')](_0x2cd5cd[_0xf1e9('0x15')][_0x8b8b14[_0x4e24d4][_0xf1e9('0x41')]],_0x8b8b14[_0x4e24d4]);}return _0x2cd5cd[_0xf1e9('0x15')];};};Realtime[_0xf1e9('0x3d')][_0xf1e9('0x66')]=function(){var _0x521452=this;return function(_0x19a969){if(_0x19a969){freeIsNotKey(_0x19a969,_0x521452[_0xf1e9('0x23')],'id');for(var _0x737a57=0x0,_0x3447f7={},_0x2e6d80={};_0x737a57<_0x19a969['length'];_0x737a57+=0x1){_0x3447f7=_0x19a969[_0x737a57];if(_[_0xf1e9('0x42')](_0x521452[_0xf1e9('0x23')][_0x3447f7['id']])){_0x521452[_0xf1e9('0x23')][_0x3447f7['id']]=new FaxAccount(_0x3447f7);}else{_0x521452[_0xf1e9('0x43')](_0x521452[_0xf1e9('0x23')][_0x3447f7['id']],_0x3447f7);}}}return _0x521452[_0xf1e9('0x23')];};};module[_0xf1e9('0x67')]=Realtime;