Built motion from commit da617fac.|2.6.6
[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 _0x9e8a=['outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','length','isUndefined','telephones','initTrunks','initVoiceQueues','initTriggers','initTemplates','templates','initZendeskAccounts','initSalesforceAccounts','salesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts','deskAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','servicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','queue','queuecallerleaveAt','queuecallerjoinAt','seconds','queuecallercompleteAt','queuecallerexitAt','diff','queuecallercomplete','initVoiceCallReports','disposition','ANSWERED','duration','billableseconds','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','trunks','voiceQueues','triggers','campaigns','outbound','voiceExtensions','channels','queueChannels','outboundChannels','timers','settings','zendeskAccounts','sugarcrmAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','answered','sumHoldTime','sumBillable','isEmpty','ivrTotalCallsDays','unmanaged','abandoned','sumDuration','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay'];(function(_0x3d12b5,_0x3c47b1){var _0x4724a3=function(_0x54465b){while(--_0x54465b){_0x3d12b5['push'](_0x3d12b5['shift']());}};_0x4724a3(++_0x3c47b1);}(_0x9e8a,0x112));var _0xa9e8=function(_0x43c23b,_0x136f62){_0x43c23b=_0x43c23b-0x0;var _0x3c1613=_0x9e8a[_0x43c23b];return _0x3c1613;};'use strict';var util=require(_0xa9e8('0x0'));var _=require(_0xa9e8('0x1'));var moment=require(_0xa9e8('0x2'));var Agent=require(_0xa9e8('0x3'));var Telephone=require(_0xa9e8('0x4'));var Trunk=require(_0xa9e8('0x5'));var VoiceQueue=require(_0xa9e8('0x6'));var Trigger=require(_0xa9e8('0x7'));var Template=require(_0xa9e8('0x8'));var Campaign=require('../model/campaign');var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require('../model/zendeskAccount');var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0xa9e8('0x9'));var SugarcrmAccount=require(_0xa9e8('0xa'));var ZohoAccount=require(_0xa9e8('0xb'));var DeskAccount=require(_0xa9e8('0xc'));var VtigerAccount=require(_0xa9e8('0xd'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0xa9e8('0xe'));var FreshsalesAccount=require(_0xa9e8('0xf'));var FaxAccount=require(_0xa9e8('0x10'));var Realtime=function(){this[_0xa9e8('0x11')]={};this['telephones']={};this[_0xa9e8('0x12')]={};this[_0xa9e8('0x13')]={};this[_0xa9e8('0x14')]={};this[_0xa9e8('0x15')]={};this['templates']={};this[_0xa9e8('0x16')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xa9e8('0x17')]={};this[_0xa9e8('0x18')]={};this[_0xa9e8('0x19')]={};this[_0xa9e8('0x1a')]={};this[_0xa9e8('0x1b')]={};this[_0xa9e8('0x1c')]={};this[_0xa9e8('0x1d')]={};this['salesforceAccounts']={};this[_0xa9e8('0x1e')]={};this['freshdeskAccounts']={};this['zohoAccounts']={};this['deskAccounts']={};this['vtigerAccounts']={};this['servicenowAccounts']={};this[_0xa9e8('0x1f')]={};this[_0xa9e8('0x20')]={};this[_0xa9e8('0x21')]={};};function freeIsNotKey(_0x403645,_0x1c3c3f,_0x2dfef7){var _0x541831=_[_0xa9e8('0x22')](_0x403645,function(_0x5db208,_0x5617e6){return _0x5db208[_0x2dfef7];});for(var _0x524e4e in _0x1c3c3f){if(_0x1c3c3f[_0xa9e8('0x23')](_0x524e4e)){if(!_0x541831[_0x524e4e]){delete _0x1c3c3f[_0x524e4e];}}}}function freeIsNotKeySip(_0x757a54,_0x434ac9){var _0x5ea1bc=_[_0xa9e8('0x22')](_0x757a54,function(_0x29b91b,_0x33b317){return util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x29b91b[_0xa9e8('0x26')]);});for(var _0x266d07 in _0x434ac9){if(_0x434ac9[_0xa9e8('0x23')](_0x266d07)){if(!_0x5ea1bc[_0x266d07]){delete _0x434ac9[_0x266d07];}}}}function freeIsNotKeyAgent(_0x1ee38b,_0x1f9fbb){var _0xb42f29=_['mapKeys'](_0x1ee38b,function(_0x51ee03,_0x40b9ea){var _0x6b6fab=_[_0xa9e8('0x27')](_0x51ee03[_0xa9e8('0x28')])?util[_0xa9e8('0x24')]('SIP/%s',_0x51ee03[_0xa9e8('0x26')]):_0x51ee03['interface'];return _0x6b6fab;});for(var _0x1f2acd in _0x1f9fbb){if(_0x1f9fbb[_0xa9e8('0x23')](_0x1f2acd)){if(!_0xb42f29[_0x1f2acd]){delete _0x1f9fbb[_0x1f2acd];}}}}function clearVoiceCallReports(_0x1739f7){_0x1739f7[_0xa9e8('0x29')]=0x0;_0x1739f7[_0xa9e8('0x2a')]=0x0;_0x1739f7[_0xa9e8('0x2b')]=0x0;_0x1739f7['sumDuration']=0x0;_0x1739f7[_0xa9e8('0x2c')]=0x0;}function clearCampaigns(_0x5bc39b){if(!_[_0xa9e8('0x2d')](_0x5bc39b)){for(var _0x3a7b7a in _0x5bc39b){if(_0x5bc39b['hasOwnProperty'](_0x3a7b7a)){_0x5bc39b[_0x3a7b7a][_0xa9e8('0x2e')]=0x0;_0x5bc39b[_0x3a7b7a]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x3a206f){if(!_[_0xa9e8('0x2d')](_0x3a206f)){for(var _0x76ea32 in _0x3a206f){if(_0x3a206f['hasOwnProperty'](_0x76ea32)){_0x3a206f[_0x76ea32][_0xa9e8('0x29')]=0x0;_0x3a206f[_0x76ea32]['answered']=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x2f')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x30')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x2b')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x31')]=0x0;_0x3a206f[_0x76ea32]['sumBillable']=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x32')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x33')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x34')]=0x0;_0x3a206f[_0x76ea32]['outboundCongestionCallsDay']=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x35')]=0x0;_0x3a206f[_0x76ea32]['outboundUnknownCallsDay']=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x36')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x37')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x38')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x39')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x3a')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x3b')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x32')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x3c')]=0x0;_0x3a206f[_0x76ea32][_0xa9e8('0x3d')]=!![];}}}}Realtime[_0xa9e8('0x3e')][_0xa9e8('0x3f')]=function(_0x152387,_0x77b9d5){for(var _0x51ee3b in _0x77b9d5){if(_0x152387[_0xa9e8('0x23')](_0x51ee3b)){_0x152387[_0x51ee3b]=_0x77b9d5[_0x51ee3b];}}};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x40')]=function(){var _0x59c46f=this;return function(_0x49984e){if(_0x49984e){freeIsNotKeyAgent(_0x49984e,_0x59c46f[_0xa9e8('0x11')]);for(var _0x1f3225=0x0,_0x13f80f={},_0xc1b64d={};_0x1f3225<_0x49984e[_0xa9e8('0x41')];_0x1f3225+=0x1){_0x13f80f=_0x49984e[_0x1f3225];var _0x2f906e=_[_0xa9e8('0x27')](_0x13f80f[_0xa9e8('0x28')])?util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x13f80f[_0xa9e8('0x26')]):_0x13f80f[_0xa9e8('0x28')];if(_[_0xa9e8('0x42')](_0x59c46f[_0xa9e8('0x11')][_0x2f906e])){_0x59c46f[_0xa9e8('0x11')][_0x2f906e]=new Agent(_0x13f80f);}else{_0x59c46f[_0xa9e8('0x3f')](_0x59c46f[_0xa9e8('0x11')][_0x2f906e],_0x13f80f);}}}return _0x59c46f[_0xa9e8('0x11')];};};Realtime[_0xa9e8('0x3e')]['initTelephones']=function(){var _0x589a76=this;return function(_0x3b1aef){if(_0x3b1aef){freeIsNotKeySip(_0x3b1aef,_0x589a76['telephones']);for(var _0x42886f=0x0,_0x228335={},_0x1d2dc4={};_0x42886f<_0x3b1aef[_0xa9e8('0x41')];_0x42886f+=0x1){_0x228335=_0x3b1aef[_0x42886f];if(_[_0xa9e8('0x42')](_0x589a76['telephones'][util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x228335[_0xa9e8('0x26')])])){_0x589a76[_0xa9e8('0x43')][util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x228335[_0xa9e8('0x26')])]=new Telephone(_0x228335);}else{_0x589a76[_0xa9e8('0x3f')](_0x589a76[_0xa9e8('0x43')][util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x228335[_0xa9e8('0x26')])],_0x228335);}}}return _0x589a76[_0xa9e8('0x43')];};};Realtime['prototype'][_0xa9e8('0x44')]=function(){var _0x38c83d=this;return function(_0x31c643){if(_0x31c643){freeIsNotKeySip(_0x31c643,_0x38c83d[_0xa9e8('0x12')]);for(var _0x37396c=0x0,_0x4d9c1a={},_0x544a11={};_0x37396c<_0x31c643['length'];_0x37396c+=0x1){_0x4d9c1a=_0x31c643[_0x37396c];if(_[_0xa9e8('0x42')](_0x38c83d[_0xa9e8('0x12')][util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x4d9c1a['name'])])){_0x38c83d[_0xa9e8('0x12')][util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x4d9c1a[_0xa9e8('0x26')])]=new Trunk(_0x4d9c1a);}else{_0x38c83d[_0xa9e8('0x3f')](_0x38c83d[_0xa9e8('0x12')][util[_0xa9e8('0x24')](_0xa9e8('0x25'),_0x4d9c1a[_0xa9e8('0x26')])],_0x4d9c1a);}}}return _0x38c83d['trunks'];};};Realtime['prototype'][_0xa9e8('0x45')]=function(){var _0x4e26e3=this;return function(_0x4e84bb){if(_0x4e84bb){freeIsNotKey(_0x4e84bb,_0x4e26e3[_0xa9e8('0x13')],'name');for(var _0x105e88=0x0,_0x3e198a={},_0x1b89cb={};_0x105e88<_0x4e84bb['length'];_0x105e88+=0x1){_0x3e198a=_0x4e84bb[_0x105e88];if(_[_0xa9e8('0x42')](_0x4e26e3[_0xa9e8('0x13')][_0x3e198a[_0xa9e8('0x26')]])){_0x4e26e3['voiceQueues'][_0x3e198a[_0xa9e8('0x26')]]=new VoiceQueue(_0x3e198a);}else{_0x4e26e3[_0xa9e8('0x3f')](_0x4e26e3['voiceQueues'][_0x3e198a[_0xa9e8('0x26')]],_0x3e198a);}}}return _0x4e26e3['voiceQueues'];};};Realtime['prototype'][_0xa9e8('0x46')]=function(){var _0x4299ab=this;return function(_0x26f10e){if(_0x26f10e){freeIsNotKey(_0x26f10e,_0x4299ab[_0xa9e8('0x14')],'id');for(var _0x11e617=0x0,_0x23d648={},_0x4eee07={};_0x11e617<_0x26f10e[_0xa9e8('0x41')];_0x11e617+=0x1){_0x23d648=_0x26f10e[_0x11e617];if(_[_0xa9e8('0x42')](_0x4299ab[_0xa9e8('0x14')][_0x23d648['id']])){_0x4299ab[_0xa9e8('0x14')][_0x23d648['id']]=new Trigger(_0x23d648);}else{_0x4299ab[_0xa9e8('0x3f')](_0x4299ab[_0xa9e8('0x14')][_0x23d648['id']],_0x23d648);}}}return _0x4299ab[_0xa9e8('0x14')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x47')]=function(){var _0x25f55c=this;return function(_0x1bdd8f){if(_0x1bdd8f){freeIsNotKey(_0x1bdd8f,_0x25f55c[_0xa9e8('0x48')],'id');for(var _0x17341c=0x0,_0x25944f={},_0x2ec75b={};_0x17341c<_0x1bdd8f[_0xa9e8('0x41')];_0x17341c+=0x1){_0x25944f=_0x1bdd8f[_0x17341c];if(_[_0xa9e8('0x42')](_0x25f55c[_0xa9e8('0x48')][_0x25944f['id']])){_0x25f55c[_0xa9e8('0x48')][_0x25944f['id']]=new Template(_0x25944f);}else{_0x25f55c[_0xa9e8('0x3f')](_0x25f55c['templates'][_0x25944f['id']],_0x25944f);}}}return _0x25f55c[_0xa9e8('0x48')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x49')]=function(){var _0x2526cc=this;return function(_0x541c09){if(_0x541c09){freeIsNotKey(_0x541c09,_0x2526cc[_0xa9e8('0x1d')],'id');for(var _0x387ad2=0x0,_0x15ff9b={},_0x160f18={};_0x387ad2<_0x541c09[_0xa9e8('0x41')];_0x387ad2+=0x1){_0x15ff9b=_0x541c09[_0x387ad2];if(_[_0xa9e8('0x42')](_0x2526cc[_0xa9e8('0x1d')][_0x15ff9b['id']])){_0x2526cc['zendeskAccounts'][_0x15ff9b['id']]=new ZendeskAccount(_0x15ff9b);}else{_0x2526cc['mergeFromDatabase'](_0x2526cc[_0xa9e8('0x1d')][_0x15ff9b['id']],_0x15ff9b);}}}return _0x2526cc[_0xa9e8('0x1d')];};};Realtime['prototype'][_0xa9e8('0x4a')]=function(){var _0x14b408=this;return function(_0x5429a6){if(_0x5429a6){freeIsNotKey(_0x5429a6,_0x14b408[_0xa9e8('0x4b')],'id');for(var _0x28af2b=0x0,_0x13f098={},_0x5f14b7={};_0x28af2b<_0x5429a6[_0xa9e8('0x41')];_0x28af2b+=0x1){_0x13f098=_0x5429a6[_0x28af2b];if(_[_0xa9e8('0x42')](_0x14b408[_0xa9e8('0x4b')][_0x13f098['id']])){_0x14b408[_0xa9e8('0x4b')][_0x13f098['id']]=new SalesforceAccount(_0x13f098);}else{_0x14b408['mergeFromDatabase'](_0x14b408['salesforceAccounts'][_0x13f098['id']],_0x13f098);}}}return _0x14b408[_0xa9e8('0x4b')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x4c')]=function(){var _0xb710d7=this;return function(_0x3855d){if(_0x3855d){freeIsNotKey(_0x3855d,_0xb710d7[_0xa9e8('0x4d')],'id');for(var _0x244534=0x0,_0x3787af={},_0x104b37={};_0x244534<_0x3855d['length'];_0x244534+=0x1){_0x3787af=_0x3855d[_0x244534];if(_[_0xa9e8('0x42')](_0xb710d7[_0xa9e8('0x4d')][_0x3787af['id']])){_0xb710d7[_0xa9e8('0x4d')][_0x3787af['id']]=new FreshdeskAccount(_0x3787af);}else{_0xb710d7[_0xa9e8('0x3f')](_0xb710d7['freshdeskAccounts'][_0x3787af['id']],_0x3787af);}}}return _0xb710d7[_0xa9e8('0x4d')];};};Realtime['prototype'][_0xa9e8('0x4e')]=function(){var _0x4723ba=this;return function(_0xd10be4){if(_0xd10be4){freeIsNotKey(_0xd10be4,_0x4723ba[_0xa9e8('0x4f')],'id');for(var _0x2bdc82=0x0,_0x42da3c={},_0x162929={};_0x2bdc82<_0xd10be4[_0xa9e8('0x41')];_0x2bdc82+=0x1){_0x42da3c=_0xd10be4[_0x2bdc82];if(_['isUndefined'](_0x4723ba[_0xa9e8('0x4f')][_0x42da3c['id']])){_0x4723ba[_0xa9e8('0x4f')][_0x42da3c['id']]=new ZohoAccount(_0x42da3c);}else{_0x4723ba[_0xa9e8('0x3f')](_0x4723ba[_0xa9e8('0x4f')][_0x42da3c['id']],_0x42da3c);}}}return _0x4723ba[_0xa9e8('0x4f')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x50')]=function(){var _0x38a199=this;return function(_0x7281dc){if(_0x7281dc){freeIsNotKey(_0x7281dc,_0x38a199[_0xa9e8('0x51')],'id');for(var _0xe390a9=0x0,_0x3e4177={},_0x3f1597={};_0xe390a9<_0x7281dc['length'];_0xe390a9+=0x1){_0x3e4177=_0x7281dc[_0xe390a9];if(_[_0xa9e8('0x42')](_0x38a199[_0xa9e8('0x51')][_0x3e4177['id']])){_0x38a199['deskAccounts'][_0x3e4177['id']]=new DeskAccount(_0x3e4177);}else{_0x38a199[_0xa9e8('0x3f')](_0x38a199['deskAccounts'][_0x3e4177['id']],_0x3e4177);}}}return _0x38a199[_0xa9e8('0x51')];};};Realtime[_0xa9e8('0x3e')]['initSugarcrmAccounts']=function(){var _0x657a15=this;return function(_0x1e9c6e){if(_0x1e9c6e){freeIsNotKey(_0x1e9c6e,_0x657a15[_0xa9e8('0x1e')],'id');for(var _0x42b0e5=0x0,_0x54afda={},_0x17fcf6={};_0x42b0e5<_0x1e9c6e[_0xa9e8('0x41')];_0x42b0e5+=0x1){_0x54afda=_0x1e9c6e[_0x42b0e5];if(_[_0xa9e8('0x42')](_0x657a15[_0xa9e8('0x1e')][_0x54afda['id']])){_0x657a15[_0xa9e8('0x1e')][_0x54afda['id']]=new SugarcrmAccount(_0x54afda);}else{_0x657a15[_0xa9e8('0x3f')](_0x657a15['sugarcrmAccounts'][_0x54afda['id']],_0x54afda);}}}return _0x657a15[_0xa9e8('0x1e')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x52')]=function(){var _0x4429a4=this;return function(_0x4ad491){if(_0x4ad491){freeIsNotKey(_0x4ad491,_0x4429a4[_0xa9e8('0x53')],'id');for(var _0x7f846c=0x0,_0xbe65f7={},_0x5d20e7={};_0x7f846c<_0x4ad491['length'];_0x7f846c+=0x1){_0xbe65f7=_0x4ad491[_0x7f846c];if(_['isUndefined'](_0x4429a4[_0xa9e8('0x53')][_0xbe65f7['id']])){_0x4429a4['vtigerAccounts'][_0xbe65f7['id']]=new VtigerAccount(_0xbe65f7);}else{_0x4429a4[_0xa9e8('0x3f')](_0x4429a4['vtigerAccounts'][_0xbe65f7['id']],_0xbe65f7);}}}return _0x4429a4[_0xa9e8('0x53')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x54')]=function(){var _0x209b86=this;return function(_0x4d8022){if(_0x4d8022){freeIsNotKey(_0x4d8022,_0x209b86[_0xa9e8('0x55')],'id');for(var _0x4ac6c4=0x0,_0x3ffe46={},_0x2f6981={};_0x4ac6c4<_0x4d8022[_0xa9e8('0x41')];_0x4ac6c4+=0x1){_0x3ffe46=_0x4d8022[_0x4ac6c4];if(_[_0xa9e8('0x42')](_0x209b86[_0xa9e8('0x55')][_0x3ffe46['id']])){_0x209b86['servicenowAccounts'][_0x3ffe46['id']]=new ServicenowAccount(_0x3ffe46);}else{_0x209b86[_0xa9e8('0x3f')](_0x209b86[_0xa9e8('0x55')][_0x3ffe46['id']],_0x3ffe46);}}}return _0x209b86['servicenowAccounts'];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x56')]=function(){var _0x11984b=this;return function(_0x388115){if(_0x388115){freeIsNotKey(_0x388115,_0x11984b[_0xa9e8('0x1f')],'id');for(var _0x134e8f=0x0,_0x578acb={},_0x4b81b4={};_0x134e8f<_0x388115[_0xa9e8('0x41')];_0x134e8f+=0x1){_0x578acb=_0x388115[_0x134e8f];if(_['isUndefined'](_0x11984b[_0xa9e8('0x1f')][_0x578acb['id']])){_0x11984b[_0xa9e8('0x1f')][_0x578acb['id']]=new Dynamics365Account(_0x578acb);}else{_0x11984b[_0xa9e8('0x3f')](_0x11984b['dynamics365Accounts'][_0x578acb['id']],_0x578acb);}}}return _0x11984b['dynamics365Accounts'];};};Realtime['prototype'][_0xa9e8('0x57')]=function(){var _0x4e3b0d=this;return function(_0x45e831){if(_0x45e831){freeIsNotKey(_0x45e831,_0x4e3b0d['freshsalesAccounts'],'id');for(var _0x53acc6=0x0,_0x1adb8f={},_0x3d9699={};_0x53acc6<_0x45e831[_0xa9e8('0x41')];_0x53acc6+=0x1){_0x1adb8f=_0x45e831[_0x53acc6];if(_['isUndefined'](_0x4e3b0d['freshsalesAccounts'][_0x1adb8f['id']])){_0x4e3b0d['freshsalesAccounts'][_0x1adb8f['id']]=new FreshsalesAccount(_0x1adb8f);}else{_0x4e3b0d['mergeFromDatabase'](_0x4e3b0d[_0xa9e8('0x20')][_0x1adb8f['id']],_0x1adb8f);}}}return _0x4e3b0d['freshsalesAccounts'];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x58')]=function(){var _0x16c5d1=this;return function(_0x4f3d50){for(var _0x48c216=0x0;_0x48c216<_0x4f3d50[_0xa9e8('0x41')];_0x48c216+=0x1){_[_0xa9e8('0x59')](_0x16c5d1[_0xa9e8('0x13')][_0x4f3d50[_0x48c216]['name']],_0x4f3d50[_0x48c216]);}return _0x16c5d1[_0xa9e8('0x13')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x5a')]=function(){var _0x28c307=this;return function(_0xc81c40){clearVoiceQueues(_0x28c307[_0xa9e8('0x13')]);if(_0xc81c40){_0xc81c40=_[_0xa9e8('0x5b')](_0xc81c40,'uniqueid');for(var _0x7c869f in _0xc81c40){if(_0xc81c40[_0xa9e8('0x23')](_0x7c869f)){var _0x112e79={};for(var _0x1cec6c=0x0;_0x1cec6c<_0xc81c40[_0x7c869f][_0xa9e8('0x41')];_0x1cec6c+=0x1){var _0x3c60f0=_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x5c')];if(_0x28c307['voiceQueues'][_0x3c60f0]){if(_0xc81c40[_0x7c869f][_0x1cec6c]['queuecallerexit']){_0x28c307[_0xa9e8('0x13')][_0x3c60f0]['unmanaged']+=0x1;}if(_0xc81c40[_0x7c869f][_0x1cec6c]['queuecallerabandon']){_0x28c307[_0xa9e8('0x13')][_0x3c60f0][_0xa9e8('0x30')]+=0x1;}_0x28c307[_0xa9e8('0x13')][_0x3c60f0][_0xa9e8('0x2b')]+=moment(_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x5d')])['diff'](moment(_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x5e')]),_0xa9e8('0x5f'))||0x0;if(_0x1cec6c===_0xc81c40[_0x7c869f]['length']-0x1){_0x28c307[_0xa9e8('0x13')][_0x3c60f0][_0xa9e8('0x31')]+=moment(_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x60')]||_0xc81c40[_0x7c869f][_0x1cec6c]['queuecallerabandonAt']||_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x61')])[_0xa9e8('0x62')](moment(_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x5e')]),_0xa9e8('0x5f'))||0x0;_0x28c307[_0xa9e8('0x13')][_0x3c60f0][_0xa9e8('0x29')]+=0x1;if(_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x63')]){_0x28c307[_0xa9e8('0x13')][_0x3c60f0]['answered']+=0x1;_0x28c307[_0xa9e8('0x13')][_0x3c60f0][_0xa9e8('0x2c')]+=moment(_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x60')])[_0xa9e8('0x62')](moment(_0xc81c40[_0x7c869f][_0x1cec6c][_0xa9e8('0x5d')]),'seconds')||0x0;}}else{_0x28c307['voiceQueues'][_0x3c60f0][_0xa9e8('0x31')]+=_0x28c307['voiceQueues'][_0x3c60f0][_0xa9e8('0x2b')]||0x0;}}}}}}return _0x28c307['voiceQueues'];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x64')]=function(){var _0x17ab49=this;return function(_0x532e50){clearVoiceCallReports(_0x17ab49['outbound']);if(_0x532e50){for(var _0x44f085=0x0;_0x44f085<_0x532e50[_0xa9e8('0x41')];_0x44f085+=0x1){_0x17ab49[_0xa9e8('0x16')][_0xa9e8('0x29')]+=0x1;_0x17ab49['outbound'][_0xa9e8('0x31')]+=_0x532e50[_0x44f085]['duration'];if(_0x532e50[_0x44f085][_0xa9e8('0x65')]===_0xa9e8('0x66')){_0x17ab49[_0xa9e8('0x16')]['answered']+=0x1;_0x17ab49[_0xa9e8('0x16')]['sumHoldTime']+=_0x532e50[_0x44f085][_0xa9e8('0x67')]-_0x532e50[_0x44f085][_0xa9e8('0x68')]||0x0;_0x17ab49[_0xa9e8('0x16')][_0xa9e8('0x2c')]+=_0x532e50[_0x44f085][_0xa9e8('0x68')];}}}return _0x17ab49[_0xa9e8('0x16')];};};Realtime['prototype']['initCampaigns']=function(){var _0x2b2dd7=this;return function(_0x4c465d){if(_0x4c465d){freeIsNotKey(_0x4c465d,_0x2b2dd7[_0xa9e8('0x15')],_0xa9e8('0x26'));for(var _0x4e833d=0x0,_0x2ada3f={};_0x4e833d<_0x4c465d[_0xa9e8('0x41')];_0x4e833d+=0x1){_0x2ada3f=_0x4c465d[_0x4e833d];if(_[_0xa9e8('0x42')](_0x2b2dd7[_0xa9e8('0x15')][_0x2ada3f['name']])){_0x2b2dd7[_0xa9e8('0x15')][_0x2ada3f[_0xa9e8('0x26')]]=new Campaign(_0x2ada3f);}else{_0x2b2dd7[_0xa9e8('0x3f')](_0x2b2dd7[_0xa9e8('0x15')][_0x2ada3f[_0xa9e8('0x26')]],_0x2ada3f);_0x2b2dd7['campaigns'][_0x2ada3f[_0xa9e8('0x26')]][_0xa9e8('0x69')]=_0x2ada3f[_0xa9e8('0x6a')]?_0x2ada3f[_0xa9e8('0x6a')]['name']:undefined;}}}return _0x2b2dd7[_0xa9e8('0x15')];};};Realtime['prototype'][_0xa9e8('0x6b')]=function(){var _0x4040a9=this;return function(_0x51bf5c){if(_0x51bf5c){freeIsNotKey(_0x51bf5c,_0x4040a9['voiceExtensions'],'id');for(var _0x37b25d=0x0,_0x11ed22={};_0x37b25d<_0x51bf5c[_0xa9e8('0x41')];_0x37b25d+=0x1){_0x11ed22=_0x51bf5c[_0x37b25d];if(_[_0xa9e8('0x42')](_0x4040a9['voiceExtensions'][_0x11ed22['id']])){_0x4040a9[_0xa9e8('0x17')][_0x11ed22['id']]=new VoiceExtension(_0x11ed22);}else{_0x4040a9[_0xa9e8('0x3f')](_0x4040a9[_0xa9e8('0x17')][_0x11ed22['id']],_0x11ed22);}}}return _0x4040a9['voiceExtensions'];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x6c')]=function(){var _0x1ec7c8=this;return function(_0x171573){clearCampaigns(_0x1ec7c8['campaigns']);for(var _0x438630=0x0;_0x438630<_0x171573[_0xa9e8('0x41')];_0x438630+=0x1){_['merge'](_0x1ec7c8[_0xa9e8('0x15')][_0x171573[_0x438630][_0xa9e8('0x26')]],_0x171573[_0x438630]);}return _0x1ec7c8[_0xa9e8('0x15')];};};Realtime[_0xa9e8('0x3e')][_0xa9e8('0x6d')]=function(){var _0x5bbaa7=this;return function(_0x5b743f){if(_0x5b743f){freeIsNotKey(_0x5b743f,_0x5bbaa7[_0xa9e8('0x21')],'id');for(var _0x21446a=0x0,_0x56a46e={},_0x479aa5={};_0x21446a<_0x5b743f[_0xa9e8('0x41')];_0x21446a+=0x1){_0x56a46e=_0x5b743f[_0x21446a];if(_['isUndefined'](_0x5bbaa7[_0xa9e8('0x21')][_0x56a46e['id']])){_0x5bbaa7[_0xa9e8('0x21')][_0x56a46e['id']]=new FaxAccount(_0x56a46e);}else{_0x5bbaa7[_0xa9e8('0x3f')](_0x5bbaa7[_0xa9e8('0x21')][_0x56a46e['id']],_0x56a46e);}}}return _0x5bbaa7[_0xa9e8('0x21')];};};module[_0xa9e8('0x6e')]=Realtime;