Built motion from commit e6806ed6.|2.6.0
[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 _0xc578=['total','answered','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','length','isNil','SIP/%s','initTelephones','initTrunks','trunks','isUndefined','initVoiceQueues','initTriggers','initTemplates','templates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','initSugarcrmAccounts','sugarcrmAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','queuecallerabandon','queuecallerleaveAt','diff','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallerjoinAt','seconds','queuecallercomplete','initVoiceCallReports','disposition','ANSWERED','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initFaxAccounts','faxAccounts','lodash','../model/telephone','../model/trunk','../model/trigger','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/zohoAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','voiceQueues','triggers','campaigns','outbound','voiceExtensions','channels','queueChannels','timers','settings','zendeskAccounts','salesforceAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','freshsalesAccounts','hasOwnProperty','mapKeys','name','interface','format','sumHoldTime','sumDuration','sumBillable','isEmpty'];(function(_0xcd46cc,_0x5a110b){var _0x5c3b79=function(_0x47729a){while(--_0x47729a){_0xcd46cc['push'](_0xcd46cc['shift']());}};_0x5c3b79(++_0x5a110b);}(_0xc578,0x187));var _0x8c57=function(_0x3ab9ee,_0x4a74b8){_0x3ab9ee=_0x3ab9ee-0x0;var _0x82ee88=_0xc578[_0x3ab9ee];return _0x82ee88;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x8c57('0x0'));var moment=require('moment');var Agent=require('../model/agent');var Telephone=require(_0x8c57('0x1'));var Trunk=require(_0x8c57('0x2'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x8c57('0x3'));var Template=require('../model/template');var Campaign=require(_0x8c57('0x4'));var VoiceExtension=require(_0x8c57('0x5'));var ZendeskAccount=require(_0x8c57('0x6'));var SalesforceAccount=require(_0x8c57('0x7'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0x8c57('0x8'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x8c57('0x9'));var Dynamics365Account=require(_0x8c57('0xa'));var FreshsalesAccount=require(_0x8c57('0xb'));var FaxAccount=require(_0x8c57('0xc'));var Realtime=function(){this[_0x8c57('0xd')]={};this[_0x8c57('0xe')]={};this['trunks']={};this[_0x8c57('0xf')]={};this[_0x8c57('0x10')]={};this[_0x8c57('0x11')]={};this['templates']={};this[_0x8c57('0x12')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x8c57('0x13')]={};this[_0x8c57('0x14')]={};this[_0x8c57('0x15')]={};this['outboundChannels']={};this[_0x8c57('0x16')]={};this[_0x8c57('0x17')]={};this[_0x8c57('0x18')]={};this[_0x8c57('0x19')]={};this['sugarcrmAccounts']={};this[_0x8c57('0x1a')]={};this[_0x8c57('0x1b')]={};this[_0x8c57('0x1c')]={};this[_0x8c57('0x1d')]={};this[_0x8c57('0x1e')]={};this['dynamics365Accounts']={};this[_0x8c57('0x1f')]={};this['faxAccounts']={};};function freeIsNotKey(_0x565b63,_0x538fcf,_0x2ab5ab){var _0x34313e=_['mapKeys'](_0x565b63,function(_0xaa8ca8,_0x4012a9){return _0xaa8ca8[_0x2ab5ab];});for(var _0x370077 in _0x538fcf){if(_0x538fcf[_0x8c57('0x20')](_0x370077)){if(!_0x34313e[_0x370077]){delete _0x538fcf[_0x370077];}}}}function freeIsNotKeySip(_0x299412,_0x21275a){var _0x3c801c=_[_0x8c57('0x21')](_0x299412,function(_0x5520b1,_0xa54fcb){return util['format']('SIP/%s',_0x5520b1[_0x8c57('0x22')]);});for(var _0x4fb844 in _0x21275a){if(_0x21275a[_0x8c57('0x20')](_0x4fb844)){if(!_0x3c801c[_0x4fb844]){delete _0x21275a[_0x4fb844];}}}}function freeIsNotKeyAgent(_0x5c8073,_0x1324d9){var _0x2075c5=_[_0x8c57('0x21')](_0x5c8073,function(_0x408120,_0x3d94ce){var _0x4b92e4=_['isNil'](_0x408120[_0x8c57('0x23')])?util[_0x8c57('0x24')]('SIP/%s',_0x408120['name']):_0x408120[_0x8c57('0x23')];return _0x4b92e4;});for(var _0x5b7068 in _0x1324d9){if(_0x1324d9[_0x8c57('0x20')](_0x5b7068)){if(!_0x2075c5[_0x5b7068]){delete _0x1324d9[_0x5b7068];}}}}function clearVoiceCallReports(_0xfe19d4){_0xfe19d4['total']=0x0;_0xfe19d4['answered']=0x0;_0xfe19d4[_0x8c57('0x25')]=0x0;_0xfe19d4[_0x8c57('0x26')]=0x0;_0xfe19d4[_0x8c57('0x27')]=0x0;}function clearCampaigns(_0x1e378d){if(!_[_0x8c57('0x28')](_0x1e378d)){for(var _0xc7aa46 in _0x1e378d){if(_0x1e378d[_0x8c57('0x20')](_0xc7aa46)){_0x1e378d[_0xc7aa46]['ivrTotalCallsDays']=0x0;_0x1e378d[_0xc7aa46]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x25032b){if(!_['isEmpty'](_0x25032b)){for(var _0x20dac4 in _0x25032b){if(_0x25032b[_0x8c57('0x20')](_0x20dac4)){_0x25032b[_0x20dac4][_0x8c57('0x29')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x2a')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x2b')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x2c')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x25')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x26')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x27')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x2d')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x2e')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x2f')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x30')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x31')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x32')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x33')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x34')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x35')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x36')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x37')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x38')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x2d')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x39')]=0x0;_0x25032b[_0x20dac4][_0x8c57('0x3a')]=!![];}}}}Realtime[_0x8c57('0x3b')][_0x8c57('0x3c')]=function(_0x34346e,_0x2119ac){for(var _0x32851a in _0x2119ac){if(_0x34346e[_0x8c57('0x20')](_0x32851a)){_0x34346e[_0x32851a]=_0x2119ac[_0x32851a];}}};Realtime[_0x8c57('0x3b')]['initAgents']=function(){var _0x2d8240=this;return function(_0xa58291){if(_0xa58291){freeIsNotKeyAgent(_0xa58291,_0x2d8240['agents']);for(var _0x3d228c=0x0,_0x58962b={},_0x308c21={};_0x3d228c<_0xa58291[_0x8c57('0x3d')];_0x3d228c+=0x1){_0x58962b=_0xa58291[_0x3d228c];var _0x37b020=_[_0x8c57('0x3e')](_0x58962b[_0x8c57('0x23')])?util[_0x8c57('0x24')](_0x8c57('0x3f'),_0x58962b['name']):_0x58962b[_0x8c57('0x23')];if(_['isUndefined'](_0x2d8240[_0x8c57('0xd')][_0x37b020])){_0x2d8240['agents'][_0x37b020]=new Agent(_0x58962b);}else{_0x2d8240[_0x8c57('0x3c')](_0x2d8240[_0x8c57('0xd')][_0x37b020],_0x58962b);}}}return _0x2d8240[_0x8c57('0xd')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x40')]=function(){var _0x3c3594=this;return function(_0x189b95){if(_0x189b95){freeIsNotKeySip(_0x189b95,_0x3c3594[_0x8c57('0xe')]);for(var _0x1e1c8c=0x0,_0x4bc5a7={},_0x40aeaa={};_0x1e1c8c<_0x189b95[_0x8c57('0x3d')];_0x1e1c8c+=0x1){_0x4bc5a7=_0x189b95[_0x1e1c8c];if(_['isUndefined'](_0x3c3594[_0x8c57('0xe')][util[_0x8c57('0x24')](_0x8c57('0x3f'),_0x4bc5a7['name'])])){_0x3c3594[_0x8c57('0xe')][util[_0x8c57('0x24')](_0x8c57('0x3f'),_0x4bc5a7[_0x8c57('0x22')])]=new Telephone(_0x4bc5a7);}else{_0x3c3594[_0x8c57('0x3c')](_0x3c3594[_0x8c57('0xe')][util[_0x8c57('0x24')](_0x8c57('0x3f'),_0x4bc5a7[_0x8c57('0x22')])],_0x4bc5a7);}}}return _0x3c3594[_0x8c57('0xe')];};};Realtime['prototype'][_0x8c57('0x41')]=function(){var _0x534c5d=this;return function(_0x28133f){if(_0x28133f){freeIsNotKeySip(_0x28133f,_0x534c5d[_0x8c57('0x42')]);for(var _0x883a1f=0x0,_0x94fabf={},_0x10b824={};_0x883a1f<_0x28133f['length'];_0x883a1f+=0x1){_0x94fabf=_0x28133f[_0x883a1f];if(_[_0x8c57('0x43')](_0x534c5d[_0x8c57('0x42')][util[_0x8c57('0x24')](_0x8c57('0x3f'),_0x94fabf[_0x8c57('0x22')])])){_0x534c5d[_0x8c57('0x42')][util['format']('SIP/%s',_0x94fabf['name'])]=new Trunk(_0x94fabf);}else{_0x534c5d[_0x8c57('0x3c')](_0x534c5d[_0x8c57('0x42')][util[_0x8c57('0x24')](_0x8c57('0x3f'),_0x94fabf[_0x8c57('0x22')])],_0x94fabf);}}}return _0x534c5d[_0x8c57('0x42')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x44')]=function(){var _0x19f416=this;return function(_0x27d666){if(_0x27d666){freeIsNotKey(_0x27d666,_0x19f416[_0x8c57('0xf')],_0x8c57('0x22'));for(var _0x5a33f2=0x0,_0x401131={},_0x5c0fae={};_0x5a33f2<_0x27d666[_0x8c57('0x3d')];_0x5a33f2+=0x1){_0x401131=_0x27d666[_0x5a33f2];if(_[_0x8c57('0x43')](_0x19f416[_0x8c57('0xf')][_0x401131['name']])){_0x19f416[_0x8c57('0xf')][_0x401131[_0x8c57('0x22')]]=new VoiceQueue(_0x401131);}else{_0x19f416[_0x8c57('0x3c')](_0x19f416['voiceQueues'][_0x401131[_0x8c57('0x22')]],_0x401131);}}}return _0x19f416[_0x8c57('0xf')];};};Realtime['prototype'][_0x8c57('0x45')]=function(){var _0x2074da=this;return function(_0x3ace83){if(_0x3ace83){freeIsNotKey(_0x3ace83,_0x2074da[_0x8c57('0x10')],'id');for(var _0x31793a=0x0,_0x2ee811={},_0x38c377={};_0x31793a<_0x3ace83[_0x8c57('0x3d')];_0x31793a+=0x1){_0x2ee811=_0x3ace83[_0x31793a];if(_[_0x8c57('0x43')](_0x2074da[_0x8c57('0x10')][_0x2ee811['id']])){_0x2074da[_0x8c57('0x10')][_0x2ee811['id']]=new Trigger(_0x2ee811);}else{_0x2074da[_0x8c57('0x3c')](_0x2074da[_0x8c57('0x10')][_0x2ee811['id']],_0x2ee811);}}}return _0x2074da[_0x8c57('0x10')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x46')]=function(){var _0xe68889=this;return function(_0x3fec89){if(_0x3fec89){freeIsNotKey(_0x3fec89,_0xe68889[_0x8c57('0x47')],'id');for(var _0x113644=0x0,_0x2e41c4={},_0x184c16={};_0x113644<_0x3fec89[_0x8c57('0x3d')];_0x113644+=0x1){_0x2e41c4=_0x3fec89[_0x113644];if(_[_0x8c57('0x43')](_0xe68889[_0x8c57('0x47')][_0x2e41c4['id']])){_0xe68889[_0x8c57('0x47')][_0x2e41c4['id']]=new Template(_0x2e41c4);}else{_0xe68889[_0x8c57('0x3c')](_0xe68889[_0x8c57('0x47')][_0x2e41c4['id']],_0x2e41c4);}}}return _0xe68889[_0x8c57('0x47')];};};Realtime['prototype'][_0x8c57('0x48')]=function(){var _0x21db97=this;return function(_0x1277ed){if(_0x1277ed){freeIsNotKey(_0x1277ed,_0x21db97[_0x8c57('0x18')],'id');for(var _0x25ce4c=0x0,_0x19b6e0={},_0x4472d2={};_0x25ce4c<_0x1277ed[_0x8c57('0x3d')];_0x25ce4c+=0x1){_0x19b6e0=_0x1277ed[_0x25ce4c];if(_[_0x8c57('0x43')](_0x21db97[_0x8c57('0x18')][_0x19b6e0['id']])){_0x21db97[_0x8c57('0x18')][_0x19b6e0['id']]=new ZendeskAccount(_0x19b6e0);}else{_0x21db97[_0x8c57('0x3c')](_0x21db97[_0x8c57('0x18')][_0x19b6e0['id']],_0x19b6e0);}}}return _0x21db97[_0x8c57('0x18')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x49')]=function(){var _0x4477a7=this;return function(_0x40deff){if(_0x40deff){freeIsNotKey(_0x40deff,_0x4477a7[_0x8c57('0x19')],'id');for(var _0xa815e7=0x0,_0xbf7d40={},_0x2c8dde={};_0xa815e7<_0x40deff['length'];_0xa815e7+=0x1){_0xbf7d40=_0x40deff[_0xa815e7];if(_['isUndefined'](_0x4477a7['salesforceAccounts'][_0xbf7d40['id']])){_0x4477a7[_0x8c57('0x19')][_0xbf7d40['id']]=new SalesforceAccount(_0xbf7d40);}else{_0x4477a7[_0x8c57('0x3c')](_0x4477a7[_0x8c57('0x19')][_0xbf7d40['id']],_0xbf7d40);}}}return _0x4477a7['salesforceAccounts'];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x4a')]=function(){var _0x297e7a=this;return function(_0x283db7){if(_0x283db7){freeIsNotKey(_0x283db7,_0x297e7a['freshdeskAccounts'],'id');for(var _0x11c7a8=0x0,_0x4a3958={},_0x5ba909={};_0x11c7a8<_0x283db7['length'];_0x11c7a8+=0x1){_0x4a3958=_0x283db7[_0x11c7a8];if(_['isUndefined'](_0x297e7a[_0x8c57('0x1a')][_0x4a3958['id']])){_0x297e7a['freshdeskAccounts'][_0x4a3958['id']]=new FreshdeskAccount(_0x4a3958);}else{_0x297e7a[_0x8c57('0x3c')](_0x297e7a['freshdeskAccounts'][_0x4a3958['id']],_0x4a3958);}}}return _0x297e7a['freshdeskAccounts'];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x4b')]=function(){var _0x3d6af2=this;return function(_0x3359ff){if(_0x3359ff){freeIsNotKey(_0x3359ff,_0x3d6af2[_0x8c57('0x1b')],'id');for(var _0x492b1f=0x0,_0x45a815={},_0x4181ef={};_0x492b1f<_0x3359ff['length'];_0x492b1f+=0x1){_0x45a815=_0x3359ff[_0x492b1f];if(_[_0x8c57('0x43')](_0x3d6af2[_0x8c57('0x1b')][_0x45a815['id']])){_0x3d6af2[_0x8c57('0x1b')][_0x45a815['id']]=new ZohoAccount(_0x45a815);}else{_0x3d6af2['mergeFromDatabase'](_0x3d6af2[_0x8c57('0x1b')][_0x45a815['id']],_0x45a815);}}}return _0x3d6af2['zohoAccounts'];};};Realtime['prototype'][_0x8c57('0x4c')]=function(){var _0x29073f=this;return function(_0x2ac052){if(_0x2ac052){freeIsNotKey(_0x2ac052,_0x29073f[_0x8c57('0x1c')],'id');for(var _0x127d2e=0x0,_0x121d41={},_0x5ae8cb={};_0x127d2e<_0x2ac052[_0x8c57('0x3d')];_0x127d2e+=0x1){_0x121d41=_0x2ac052[_0x127d2e];if(_[_0x8c57('0x43')](_0x29073f[_0x8c57('0x1c')][_0x121d41['id']])){_0x29073f[_0x8c57('0x1c')][_0x121d41['id']]=new DeskAccount(_0x121d41);}else{_0x29073f['mergeFromDatabase'](_0x29073f['deskAccounts'][_0x121d41['id']],_0x121d41);}}}return _0x29073f['deskAccounts'];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x4d')]=function(){var _0x2bdcee=this;return function(_0x40eec2){if(_0x40eec2){freeIsNotKey(_0x40eec2,_0x2bdcee[_0x8c57('0x4e')],'id');for(var _0x4fba21=0x0,_0x4ba232={},_0x9d1578={};_0x4fba21<_0x40eec2['length'];_0x4fba21+=0x1){_0x4ba232=_0x40eec2[_0x4fba21];if(_[_0x8c57('0x43')](_0x2bdcee[_0x8c57('0x4e')][_0x4ba232['id']])){_0x2bdcee[_0x8c57('0x4e')][_0x4ba232['id']]=new SugarcrmAccount(_0x4ba232);}else{_0x2bdcee[_0x8c57('0x3c')](_0x2bdcee[_0x8c57('0x4e')][_0x4ba232['id']],_0x4ba232);}}}return _0x2bdcee['sugarcrmAccounts'];};};Realtime[_0x8c57('0x3b')]['initVtigerAccounts']=function(){var _0x429b2c=this;return function(_0x377bd7){if(_0x377bd7){freeIsNotKey(_0x377bd7,_0x429b2c['vtigerAccounts'],'id');for(var _0x46964a=0x0,_0x15e78f={},_0x3be9af={};_0x46964a<_0x377bd7[_0x8c57('0x3d')];_0x46964a+=0x1){_0x15e78f=_0x377bd7[_0x46964a];if(_[_0x8c57('0x43')](_0x429b2c[_0x8c57('0x1d')][_0x15e78f['id']])){_0x429b2c[_0x8c57('0x1d')][_0x15e78f['id']]=new VtigerAccount(_0x15e78f);}else{_0x429b2c['mergeFromDatabase'](_0x429b2c[_0x8c57('0x1d')][_0x15e78f['id']],_0x15e78f);}}}return _0x429b2c[_0x8c57('0x1d')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x4f')]=function(){var _0x45d5ef=this;return function(_0x3d304e){if(_0x3d304e){freeIsNotKey(_0x3d304e,_0x45d5ef[_0x8c57('0x1e')],'id');for(var _0x331b04=0x0,_0x284f7c={},_0x465eb7={};_0x331b04<_0x3d304e['length'];_0x331b04+=0x1){_0x284f7c=_0x3d304e[_0x331b04];if(_[_0x8c57('0x43')](_0x45d5ef['servicenowAccounts'][_0x284f7c['id']])){_0x45d5ef[_0x8c57('0x1e')][_0x284f7c['id']]=new ServicenowAccount(_0x284f7c);}else{_0x45d5ef['mergeFromDatabase'](_0x45d5ef['servicenowAccounts'][_0x284f7c['id']],_0x284f7c);}}}return _0x45d5ef[_0x8c57('0x1e')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x50')]=function(){var _0x2c8e60=this;return function(_0x30aef7){if(_0x30aef7){freeIsNotKey(_0x30aef7,_0x2c8e60['dynamics365Accounts'],'id');for(var _0x24333f=0x0,_0x288d21={},_0x54b67={};_0x24333f<_0x30aef7['length'];_0x24333f+=0x1){_0x288d21=_0x30aef7[_0x24333f];if(_[_0x8c57('0x43')](_0x2c8e60[_0x8c57('0x51')][_0x288d21['id']])){_0x2c8e60['dynamics365Accounts'][_0x288d21['id']]=new Dynamics365Account(_0x288d21);}else{_0x2c8e60[_0x8c57('0x3c')](_0x2c8e60[_0x8c57('0x51')][_0x288d21['id']],_0x288d21);}}}return _0x2c8e60['dynamics365Accounts'];};};Realtime['prototype'][_0x8c57('0x52')]=function(){var _0x1c321e=this;return function(_0x44a0dd){if(_0x44a0dd){freeIsNotKey(_0x44a0dd,_0x1c321e[_0x8c57('0x1f')],'id');for(var _0x40c8e5=0x0,_0x58afd6={},_0x1f8f20={};_0x40c8e5<_0x44a0dd[_0x8c57('0x3d')];_0x40c8e5+=0x1){_0x58afd6=_0x44a0dd[_0x40c8e5];if(_[_0x8c57('0x43')](_0x1c321e['freshsalesAccounts'][_0x58afd6['id']])){_0x1c321e['freshsalesAccounts'][_0x58afd6['id']]=new FreshsalesAccount(_0x58afd6);}else{_0x1c321e[_0x8c57('0x3c')](_0x1c321e[_0x8c57('0x1f')][_0x58afd6['id']],_0x58afd6);}}}return _0x1c321e[_0x8c57('0x1f')];};};Realtime['prototype'][_0x8c57('0x53')]=function(){var _0x544fb1=this;return function(_0x2941cf){for(var _0xea7a9b=0x0;_0xea7a9b<_0x2941cf['length'];_0xea7a9b+=0x1){_[_0x8c57('0x54')](_0x544fb1['voiceQueues'][_0x2941cf[_0xea7a9b]['name']],_0x2941cf[_0xea7a9b]);}return _0x544fb1[_0x8c57('0xf')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x55')]=function(){var _0x2601dc=this;return function(_0x76971e){clearVoiceQueues(_0x2601dc[_0x8c57('0xf')]);if(_0x76971e){_0x76971e=_[_0x8c57('0x56')](_0x76971e,_0x8c57('0x57'));for(var _0x6a5fd9 in _0x76971e){if(_0x76971e[_0x8c57('0x20')](_0x6a5fd9)){var _0xf10219={};for(var _0x49162a=0x0;_0x49162a<_0x76971e[_0x6a5fd9][_0x8c57('0x3d')];_0x49162a+=0x1){var _0x531ff5=_0x76971e[_0x6a5fd9][_0x49162a]['queue'];if(_0x2601dc[_0x8c57('0xf')][_0x531ff5]){if(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x58')]){_0x2601dc['voiceQueues'][_0x531ff5][_0x8c57('0x2b')]+=0x1;}if(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x59')]){_0x2601dc[_0x8c57('0xf')][_0x531ff5][_0x8c57('0x2c')]+=0x1;}_0x2601dc[_0x8c57('0xf')][_0x531ff5][_0x8c57('0x25')]+=moment(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x5a')])[_0x8c57('0x5b')](moment(_0x76971e[_0x6a5fd9][_0x49162a]['queuecallerjoinAt']),'seconds')||0x0;if(_0x49162a===_0x76971e[_0x6a5fd9][_0x8c57('0x3d')]-0x1){_0x2601dc['voiceQueues'][_0x531ff5][_0x8c57('0x26')]+=moment(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x5c')]||_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x5d')]||_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x5e')])[_0x8c57('0x5b')](moment(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x5f')]),_0x8c57('0x60'))||0x0;_0x2601dc[_0x8c57('0xf')][_0x531ff5][_0x8c57('0x29')]+=0x1;if(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x61')]){_0x2601dc['voiceQueues'][_0x531ff5][_0x8c57('0x2a')]+=0x1;_0x2601dc[_0x8c57('0xf')][_0x531ff5]['sumBillable']+=moment(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x5c')])[_0x8c57('0x5b')](moment(_0x76971e[_0x6a5fd9][_0x49162a][_0x8c57('0x5a')]),_0x8c57('0x60'))||0x0;}}else{_0x2601dc[_0x8c57('0xf')][_0x531ff5][_0x8c57('0x26')]+=_0x2601dc[_0x8c57('0xf')][_0x531ff5][_0x8c57('0x25')]||0x0;}}}}}}return _0x2601dc['voiceQueues'];};};Realtime['prototype'][_0x8c57('0x62')]=function(){var _0x471f03=this;return function(_0x1a0aa2){clearVoiceCallReports(_0x471f03[_0x8c57('0x12')]);if(_0x1a0aa2){for(var _0x143f65=0x0;_0x143f65<_0x1a0aa2[_0x8c57('0x3d')];_0x143f65+=0x1){_0x471f03[_0x8c57('0x12')][_0x8c57('0x29')]+=0x1;_0x471f03[_0x8c57('0x12')][_0x8c57('0x26')]+=_0x1a0aa2[_0x143f65]['duration'];if(_0x1a0aa2[_0x143f65][_0x8c57('0x63')]===_0x8c57('0x64')){_0x471f03[_0x8c57('0x12')][_0x8c57('0x2a')]+=0x1;_0x471f03[_0x8c57('0x12')][_0x8c57('0x25')]+=_0x1a0aa2[_0x143f65]['duration']-_0x1a0aa2[_0x143f65][_0x8c57('0x65')]||0x0;_0x471f03[_0x8c57('0x12')]['sumBillable']+=_0x1a0aa2[_0x143f65]['billableseconds'];}}}return _0x471f03[_0x8c57('0x12')];};};Realtime['prototype'][_0x8c57('0x66')]=function(){var _0x26d271=this;return function(_0x142fbf){if(_0x142fbf){freeIsNotKey(_0x142fbf,_0x26d271['campaigns'],_0x8c57('0x22'));for(var _0x34993f=0x0,_0x1fee74={};_0x34993f<_0x142fbf[_0x8c57('0x3d')];_0x34993f+=0x1){_0x1fee74=_0x142fbf[_0x34993f];if(_[_0x8c57('0x43')](_0x26d271[_0x8c57('0x11')][_0x1fee74[_0x8c57('0x22')]])){_0x26d271[_0x8c57('0x11')][_0x1fee74['name']]=new Campaign(_0x1fee74);}else{_0x26d271['mergeFromDatabase'](_0x26d271['campaigns'][_0x1fee74[_0x8c57('0x22')]],_0x1fee74);_0x26d271[_0x8c57('0x11')][_0x1fee74[_0x8c57('0x22')]][_0x8c57('0x67')]=_0x1fee74[_0x8c57('0x68')]?_0x1fee74[_0x8c57('0x68')][_0x8c57('0x22')]:undefined;}}}return _0x26d271[_0x8c57('0x11')];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x69')]=function(){var _0x1d2522=this;return function(_0x32d382){if(_0x32d382){freeIsNotKey(_0x32d382,_0x1d2522[_0x8c57('0x13')],'id');for(var _0x552dd9=0x0,_0x30a1db={};_0x552dd9<_0x32d382['length'];_0x552dd9+=0x1){_0x30a1db=_0x32d382[_0x552dd9];if(_[_0x8c57('0x43')](_0x1d2522[_0x8c57('0x13')][_0x30a1db['id']])){_0x1d2522['voiceExtensions'][_0x30a1db['id']]=new VoiceExtension(_0x30a1db);}else{_0x1d2522[_0x8c57('0x3c')](_0x1d2522[_0x8c57('0x13')][_0x30a1db['id']],_0x30a1db);}}}return _0x1d2522[_0x8c57('0x13')];};};Realtime[_0x8c57('0x3b')]['initCampaignHopperHistory']=function(){var _0x27f8e8=this;return function(_0x2a5179){clearCampaigns(_0x27f8e8[_0x8c57('0x11')]);for(var _0x4a1c8e=0x0;_0x4a1c8e<_0x2a5179['length'];_0x4a1c8e+=0x1){_[_0x8c57('0x54')](_0x27f8e8[_0x8c57('0x11')][_0x2a5179[_0x4a1c8e][_0x8c57('0x22')]],_0x2a5179[_0x4a1c8e]);}return _0x27f8e8['campaigns'];};};Realtime[_0x8c57('0x3b')][_0x8c57('0x6a')]=function(){var _0x4c0762=this;return function(_0x19e40f){if(_0x19e40f){freeIsNotKey(_0x19e40f,_0x4c0762[_0x8c57('0x6b')],'id');for(var _0x38f3ce=0x0,_0x392fdb={},_0x285cf6={};_0x38f3ce<_0x19e40f[_0x8c57('0x3d')];_0x38f3ce+=0x1){_0x392fdb=_0x19e40f[_0x38f3ce];if(_['isUndefined'](_0x4c0762[_0x8c57('0x6b')][_0x392fdb['id']])){_0x4c0762[_0x8c57('0x6b')][_0x392fdb['id']]=new FaxAccount(_0x392fdb);}else{_0x4c0762[_0x8c57('0x3c')](_0x4c0762[_0x8c57('0x6b')][_0x392fdb['id']],_0x392fdb);}}}return _0x4c0762['faxAccounts'];};};module['exports']=Realtime;