45982d3418900691da0875fa4f9e7bed872b97f8
[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 _0xed80=['deskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initFreshsalesAccounts','freshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','queuecallerabandon','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallerexitAt','queuecallercomplete','queuecallercompleteAt','initVoiceCallReports','outbound','duration','disposition','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','exports','lodash','../model/agent','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/vtigerAccount','../model/servicenowAccount','telephones','trunks','voiceQueues','triggers','campaigns','templates','voiceExtensions','channels','outboundChannels','timers','settings','salesforceAccounts','sugarcrmAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','faxAccounts','mapKeys','hasOwnProperty','name','isNil','interface','SIP/%s','answered','sumDuration','sumBillable','isEmpty','ivrAnswerCallsDay','total','unmanaged','sumHoldTime','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','agents','format','isUndefined','length','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','zendeskAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','zohoAccounts','initDeskAccounts'];(function(_0xf50820,_0x56f041){var _0x2a9b10=function(_0x33f0f4){while(--_0x33f0f4){_0xf50820['push'](_0xf50820['shift']());}};_0x2a9b10(++_0x56f041);}(_0xed80,0xf9));var _0x0ed8=function(_0x42cae2,_0x284ef8){_0x42cae2=_0x42cae2-0x0;var _0x5f256f=_0xed80[_0x42cae2];return _0x5f256f;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x0ed8('0x0'));var moment=require('moment');var Agent=require(_0x0ed8('0x1'));var Telephone=require('../model/telephone');var Trunk=require(_0x0ed8('0x2'));var VoiceQueue=require(_0x0ed8('0x3'));var Trigger=require(_0x0ed8('0x4'));var Template=require(_0x0ed8('0x5'));var Campaign=require(_0x0ed8('0x6'));var VoiceExtension=require(_0x0ed8('0x7'));var ZendeskAccount=require(_0x0ed8('0x8'));var SalesforceAccount=require(_0x0ed8('0x9'));var FreshdeskAccount=require(_0x0ed8('0xa'));var SugarcrmAccount=require(_0x0ed8('0xb'));var ZohoAccount=require(_0x0ed8('0xc'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0x0ed8('0xd'));var ServicenowAccount=require(_0x0ed8('0xe'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require('../model/faxAccount');var Realtime=function(){this['agents']={};this[_0x0ed8('0xf')]={};this[_0x0ed8('0x10')]={};this[_0x0ed8('0x11')]={};this[_0x0ed8('0x12')]={};this[_0x0ed8('0x13')]={};this[_0x0ed8('0x14')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x0ed8('0x15')]={};this[_0x0ed8('0x16')]={};this['queueChannels']={};this[_0x0ed8('0x17')]={};this[_0x0ed8('0x18')]={};this[_0x0ed8('0x19')]={};this['zendeskAccounts']={};this[_0x0ed8('0x1a')]={};this[_0x0ed8('0x1b')]={};this['freshdeskAccounts']={};this['zohoAccounts']={};this['deskAccounts']={};this[_0x0ed8('0x1c')]={};this[_0x0ed8('0x1d')]={};this[_0x0ed8('0x1e')]={};this['freshsalesAccounts']={};this[_0x0ed8('0x1f')]={};};function freeIsNotKey(_0x1ecfde,_0x4eeac5,_0x469a05){var _0x33c4df=_[_0x0ed8('0x20')](_0x1ecfde,function(_0x33321e,_0x100307){return _0x33321e[_0x469a05];});for(var _0x5aaa04 in _0x4eeac5){if(_0x4eeac5[_0x0ed8('0x21')](_0x5aaa04)){if(!_0x33c4df[_0x5aaa04]){delete _0x4eeac5[_0x5aaa04];}}}}function freeIsNotKeySip(_0x457d4b,_0x5e1902){var _0x4661fd=_[_0x0ed8('0x20')](_0x457d4b,function(_0x2dab61,_0x79ab41){return util['format']('SIP/%s',_0x2dab61[_0x0ed8('0x22')]);});for(var _0x36520d in _0x5e1902){if(_0x5e1902['hasOwnProperty'](_0x36520d)){if(!_0x4661fd[_0x36520d]){delete _0x5e1902[_0x36520d];}}}}function freeIsNotKeyAgent(_0xe17ca4,_0x1904f0){var _0x37b573=_[_0x0ed8('0x20')](_0xe17ca4,function(_0x5774de,_0x336997){var _0x4a9e0b=_[_0x0ed8('0x23')](_0x5774de[_0x0ed8('0x24')])?util['format'](_0x0ed8('0x25'),_0x5774de[_0x0ed8('0x22')]):_0x5774de[_0x0ed8('0x24')];return _0x4a9e0b;});for(var _0x5f4498 in _0x1904f0){if(_0x1904f0[_0x0ed8('0x21')](_0x5f4498)){if(!_0x37b573[_0x5f4498]){delete _0x1904f0[_0x5f4498];}}}}function clearVoiceCallReports(_0x4346ad){_0x4346ad['total']=0x0;_0x4346ad[_0x0ed8('0x26')]=0x0;_0x4346ad['sumHoldTime']=0x0;_0x4346ad[_0x0ed8('0x27')]=0x0;_0x4346ad[_0x0ed8('0x28')]=0x0;}function clearCampaigns(_0x1a144c){if(!_[_0x0ed8('0x29')](_0x1a144c)){for(var _0x51a2af in _0x1a144c){if(_0x1a144c[_0x0ed8('0x21')](_0x51a2af)){_0x1a144c[_0x51a2af]['ivrTotalCallsDays']=0x0;_0x1a144c[_0x51a2af][_0x0ed8('0x2a')]=0x0;}}}}function clearVoiceQueues(_0x3951ae){if(!_[_0x0ed8('0x29')](_0x3951ae)){for(var _0x250e15 in _0x3951ae){if(_0x3951ae[_0x0ed8('0x21')](_0x250e15)){_0x3951ae[_0x250e15][_0x0ed8('0x2b')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x26')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x2c')]=0x0;_0x3951ae[_0x250e15]['abandoned']=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x2d')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x27')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x28')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x2e')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x2f')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x30')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x31')]=0x0;_0x3951ae[_0x250e15]['outboundNoSuchCallsDay']=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x32')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x33')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x34')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x35')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x36')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x37')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x38')]=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x2e')]=0x0;_0x3951ae[_0x250e15]['outboundAnswerCallsDay']=0x0;_0x3951ae[_0x250e15][_0x0ed8('0x39')]=!![];}}}}Realtime[_0x0ed8('0x3a')][_0x0ed8('0x3b')]=function(_0x8e684e,_0x9d78e){for(var _0x397019 in _0x9d78e){if(_0x8e684e[_0x0ed8('0x21')](_0x397019)){_0x8e684e[_0x397019]=_0x9d78e[_0x397019];}}};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x3c')]=function(){var _0x2c00ab=this;return function(_0x53b87c){if(_0x53b87c){freeIsNotKeyAgent(_0x53b87c,_0x2c00ab[_0x0ed8('0x3d')]);for(var _0x1fb20e=0x0,_0x1f41c6={},_0x4c1bb8={};_0x1fb20e<_0x53b87c['length'];_0x1fb20e+=0x1){_0x1f41c6=_0x53b87c[_0x1fb20e];var _0x56a711=_['isNil'](_0x1f41c6[_0x0ed8('0x24')])?util[_0x0ed8('0x3e')](_0x0ed8('0x25'),_0x1f41c6['name']):_0x1f41c6[_0x0ed8('0x24')];if(_[_0x0ed8('0x3f')](_0x2c00ab[_0x0ed8('0x3d')][_0x56a711])){_0x2c00ab[_0x0ed8('0x3d')][_0x56a711]=new Agent(_0x1f41c6);}else{_0x2c00ab[_0x0ed8('0x3b')](_0x2c00ab['agents'][_0x56a711],_0x1f41c6);}}}return _0x2c00ab[_0x0ed8('0x3d')];};};Realtime['prototype']['initTelephones']=function(){var _0x151dd9=this;return function(_0x48302e){if(_0x48302e){freeIsNotKeySip(_0x48302e,_0x151dd9['telephones']);for(var _0x2a1dff=0x0,_0x5ba0e8={},_0x35b1cb={};_0x2a1dff<_0x48302e['length'];_0x2a1dff+=0x1){_0x5ba0e8=_0x48302e[_0x2a1dff];if(_['isUndefined'](_0x151dd9['telephones'][util['format'](_0x0ed8('0x25'),_0x5ba0e8['name'])])){_0x151dd9[_0x0ed8('0xf')][util[_0x0ed8('0x3e')]('SIP/%s',_0x5ba0e8['name'])]=new Telephone(_0x5ba0e8);}else{_0x151dd9[_0x0ed8('0x3b')](_0x151dd9[_0x0ed8('0xf')][util['format'](_0x0ed8('0x25'),_0x5ba0e8[_0x0ed8('0x22')])],_0x5ba0e8);}}}return _0x151dd9['telephones'];};};Realtime[_0x0ed8('0x3a')]['initTrunks']=function(){var _0x4a4132=this;return function(_0x1ce9a4){if(_0x1ce9a4){freeIsNotKeySip(_0x1ce9a4,_0x4a4132['trunks']);for(var _0x18739e=0x0,_0x23db79={},_0x3c4b2a={};_0x18739e<_0x1ce9a4[_0x0ed8('0x40')];_0x18739e+=0x1){_0x23db79=_0x1ce9a4[_0x18739e];if(_[_0x0ed8('0x3f')](_0x4a4132[_0x0ed8('0x10')][util[_0x0ed8('0x3e')](_0x0ed8('0x25'),_0x23db79[_0x0ed8('0x22')])])){_0x4a4132[_0x0ed8('0x10')][util[_0x0ed8('0x3e')]('SIP/%s',_0x23db79[_0x0ed8('0x22')])]=new Trunk(_0x23db79);}else{_0x4a4132[_0x0ed8('0x3b')](_0x4a4132[_0x0ed8('0x10')][util[_0x0ed8('0x3e')](_0x0ed8('0x25'),_0x23db79['name'])],_0x23db79);}}}return _0x4a4132[_0x0ed8('0x10')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x41')]=function(){var _0x4dc2f2=this;return function(_0x30a7d3){if(_0x30a7d3){freeIsNotKey(_0x30a7d3,_0x4dc2f2['voiceQueues'],_0x0ed8('0x22'));for(var _0x3cd1c2=0x0,_0x4aa794={},_0x521a31={};_0x3cd1c2<_0x30a7d3[_0x0ed8('0x40')];_0x3cd1c2+=0x1){_0x4aa794=_0x30a7d3[_0x3cd1c2];if(_[_0x0ed8('0x3f')](_0x4dc2f2[_0x0ed8('0x11')][_0x4aa794[_0x0ed8('0x22')]])){_0x4dc2f2[_0x0ed8('0x11')][_0x4aa794[_0x0ed8('0x22')]]=new VoiceQueue(_0x4aa794);}else{_0x4dc2f2[_0x0ed8('0x3b')](_0x4dc2f2[_0x0ed8('0x11')][_0x4aa794[_0x0ed8('0x22')]],_0x4aa794);}}}return _0x4dc2f2[_0x0ed8('0x11')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x42')]=function(){var _0x5588d0=this;return function(_0x384d80){if(_0x384d80){freeIsNotKey(_0x384d80,_0x5588d0[_0x0ed8('0x12')],'id');for(var _0x75a837=0x0,_0x39c657={},_0x3bd9e3={};_0x75a837<_0x384d80[_0x0ed8('0x40')];_0x75a837+=0x1){_0x39c657=_0x384d80[_0x75a837];if(_['isUndefined'](_0x5588d0[_0x0ed8('0x12')][_0x39c657['id']])){_0x5588d0[_0x0ed8('0x12')][_0x39c657['id']]=new Trigger(_0x39c657);}else{_0x5588d0[_0x0ed8('0x3b')](_0x5588d0[_0x0ed8('0x12')][_0x39c657['id']],_0x39c657);}}}return _0x5588d0['triggers'];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x43')]=function(){var _0x2c080b=this;return function(_0x3d74d2){if(_0x3d74d2){freeIsNotKey(_0x3d74d2,_0x2c080b[_0x0ed8('0x14')],'id');for(var _0x2a528d=0x0,_0x227c47={},_0x5e988c={};_0x2a528d<_0x3d74d2['length'];_0x2a528d+=0x1){_0x227c47=_0x3d74d2[_0x2a528d];if(_[_0x0ed8('0x3f')](_0x2c080b[_0x0ed8('0x14')][_0x227c47['id']])){_0x2c080b[_0x0ed8('0x14')][_0x227c47['id']]=new Template(_0x227c47);}else{_0x2c080b['mergeFromDatabase'](_0x2c080b['templates'][_0x227c47['id']],_0x227c47);}}}return _0x2c080b[_0x0ed8('0x14')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x44')]=function(){var _0x697dd4=this;return function(_0x58864a){if(_0x58864a){freeIsNotKey(_0x58864a,_0x697dd4[_0x0ed8('0x45')],'id');for(var _0x361f54=0x0,_0x14d2a0={},_0x498279={};_0x361f54<_0x58864a[_0x0ed8('0x40')];_0x361f54+=0x1){_0x14d2a0=_0x58864a[_0x361f54];if(_[_0x0ed8('0x3f')](_0x697dd4[_0x0ed8('0x45')][_0x14d2a0['id']])){_0x697dd4[_0x0ed8('0x45')][_0x14d2a0['id']]=new ZendeskAccount(_0x14d2a0);}else{_0x697dd4[_0x0ed8('0x3b')](_0x697dd4[_0x0ed8('0x45')][_0x14d2a0['id']],_0x14d2a0);}}}return _0x697dd4[_0x0ed8('0x45')];};};Realtime[_0x0ed8('0x3a')]['initSalesforceAccounts']=function(){var _0x4c3d9a=this;return function(_0x4f890c){if(_0x4f890c){freeIsNotKey(_0x4f890c,_0x4c3d9a[_0x0ed8('0x1a')],'id');for(var _0x153648=0x0,_0x312304={},_0x21f1c0={};_0x153648<_0x4f890c[_0x0ed8('0x40')];_0x153648+=0x1){_0x312304=_0x4f890c[_0x153648];if(_[_0x0ed8('0x3f')](_0x4c3d9a[_0x0ed8('0x1a')][_0x312304['id']])){_0x4c3d9a['salesforceAccounts'][_0x312304['id']]=new SalesforceAccount(_0x312304);}else{_0x4c3d9a['mergeFromDatabase'](_0x4c3d9a['salesforceAccounts'][_0x312304['id']],_0x312304);}}}return _0x4c3d9a[_0x0ed8('0x1a')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x46')]=function(){var _0x48c666=this;return function(_0x1506d1){if(_0x1506d1){freeIsNotKey(_0x1506d1,_0x48c666[_0x0ed8('0x47')],'id');for(var _0x1e0fe5=0x0,_0x1d5838={},_0x1a21f9={};_0x1e0fe5<_0x1506d1[_0x0ed8('0x40')];_0x1e0fe5+=0x1){_0x1d5838=_0x1506d1[_0x1e0fe5];if(_[_0x0ed8('0x3f')](_0x48c666[_0x0ed8('0x47')][_0x1d5838['id']])){_0x48c666['freshdeskAccounts'][_0x1d5838['id']]=new FreshdeskAccount(_0x1d5838);}else{_0x48c666[_0x0ed8('0x3b')](_0x48c666[_0x0ed8('0x47')][_0x1d5838['id']],_0x1d5838);}}}return _0x48c666[_0x0ed8('0x47')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x48')]=function(){var _0x1f1ddf=this;return function(_0x44c33f){if(_0x44c33f){freeIsNotKey(_0x44c33f,_0x1f1ddf[_0x0ed8('0x49')],'id');for(var _0x53a918=0x0,_0x36c178={},_0x5f5dcb={};_0x53a918<_0x44c33f[_0x0ed8('0x40')];_0x53a918+=0x1){_0x36c178=_0x44c33f[_0x53a918];if(_[_0x0ed8('0x3f')](_0x1f1ddf['zohoAccounts'][_0x36c178['id']])){_0x1f1ddf[_0x0ed8('0x49')][_0x36c178['id']]=new ZohoAccount(_0x36c178);}else{_0x1f1ddf[_0x0ed8('0x3b')](_0x1f1ddf['zohoAccounts'][_0x36c178['id']],_0x36c178);}}}return _0x1f1ddf[_0x0ed8('0x49')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x4a')]=function(){var _0x58496d=this;return function(_0x2b1870){if(_0x2b1870){freeIsNotKey(_0x2b1870,_0x58496d[_0x0ed8('0x4b')],'id');for(var _0x36b0de=0x0,_0x3c6085={},_0x5da22d={};_0x36b0de<_0x2b1870['length'];_0x36b0de+=0x1){_0x3c6085=_0x2b1870[_0x36b0de];if(_[_0x0ed8('0x3f')](_0x58496d[_0x0ed8('0x4b')][_0x3c6085['id']])){_0x58496d['deskAccounts'][_0x3c6085['id']]=new DeskAccount(_0x3c6085);}else{_0x58496d[_0x0ed8('0x3b')](_0x58496d[_0x0ed8('0x4b')][_0x3c6085['id']],_0x3c6085);}}}return _0x58496d['deskAccounts'];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x4c')]=function(){var _0xd467af=this;return function(_0x2dcfbd){if(_0x2dcfbd){freeIsNotKey(_0x2dcfbd,_0xd467af[_0x0ed8('0x1b')],'id');for(var _0x56218c=0x0,_0xcc3a6f={},_0x5a3f5a={};_0x56218c<_0x2dcfbd[_0x0ed8('0x40')];_0x56218c+=0x1){_0xcc3a6f=_0x2dcfbd[_0x56218c];if(_[_0x0ed8('0x3f')](_0xd467af['sugarcrmAccounts'][_0xcc3a6f['id']])){_0xd467af[_0x0ed8('0x1b')][_0xcc3a6f['id']]=new SugarcrmAccount(_0xcc3a6f);}else{_0xd467af['mergeFromDatabase'](_0xd467af[_0x0ed8('0x1b')][_0xcc3a6f['id']],_0xcc3a6f);}}}return _0xd467af[_0x0ed8('0x1b')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x4d')]=function(){var _0x3de43d=this;return function(_0x1ba087){if(_0x1ba087){freeIsNotKey(_0x1ba087,_0x3de43d[_0x0ed8('0x1c')],'id');for(var _0x45311e=0x0,_0x5afc1c={},_0x309c8a={};_0x45311e<_0x1ba087[_0x0ed8('0x40')];_0x45311e+=0x1){_0x5afc1c=_0x1ba087[_0x45311e];if(_[_0x0ed8('0x3f')](_0x3de43d[_0x0ed8('0x1c')][_0x5afc1c['id']])){_0x3de43d['vtigerAccounts'][_0x5afc1c['id']]=new VtigerAccount(_0x5afc1c);}else{_0x3de43d[_0x0ed8('0x3b')](_0x3de43d[_0x0ed8('0x1c')][_0x5afc1c['id']],_0x5afc1c);}}}return _0x3de43d[_0x0ed8('0x1c')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x4e')]=function(){var _0x311881=this;return function(_0x2669c3){if(_0x2669c3){freeIsNotKey(_0x2669c3,_0x311881[_0x0ed8('0x1d')],'id');for(var _0x2b389a=0x0,_0x18a416={},_0x2d9517={};_0x2b389a<_0x2669c3[_0x0ed8('0x40')];_0x2b389a+=0x1){_0x18a416=_0x2669c3[_0x2b389a];if(_['isUndefined'](_0x311881[_0x0ed8('0x1d')][_0x18a416['id']])){_0x311881[_0x0ed8('0x1d')][_0x18a416['id']]=new ServicenowAccount(_0x18a416);}else{_0x311881[_0x0ed8('0x3b')](_0x311881[_0x0ed8('0x1d')][_0x18a416['id']],_0x18a416);}}}return _0x311881['servicenowAccounts'];};};Realtime['prototype']['initDynamics365Accounts']=function(){var _0xe281d6=this;return function(_0x303000){if(_0x303000){freeIsNotKey(_0x303000,_0xe281d6['dynamics365Accounts'],'id');for(var _0x5d7363=0x0,_0x36bfe2={},_0x321586={};_0x5d7363<_0x303000[_0x0ed8('0x40')];_0x5d7363+=0x1){_0x36bfe2=_0x303000[_0x5d7363];if(_['isUndefined'](_0xe281d6[_0x0ed8('0x1e')][_0x36bfe2['id']])){_0xe281d6[_0x0ed8('0x1e')][_0x36bfe2['id']]=new Dynamics365Account(_0x36bfe2);}else{_0xe281d6[_0x0ed8('0x3b')](_0xe281d6[_0x0ed8('0x1e')][_0x36bfe2['id']],_0x36bfe2);}}}return _0xe281d6['dynamics365Accounts'];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x4f')]=function(){var _0x2c3933=this;return function(_0x28653c){if(_0x28653c){freeIsNotKey(_0x28653c,_0x2c3933[_0x0ed8('0x50')],'id');for(var _0x43d5d8=0x0,_0x4dc9e1={},_0xa371a4={};_0x43d5d8<_0x28653c[_0x0ed8('0x40')];_0x43d5d8+=0x1){_0x4dc9e1=_0x28653c[_0x43d5d8];if(_[_0x0ed8('0x3f')](_0x2c3933[_0x0ed8('0x50')][_0x4dc9e1['id']])){_0x2c3933[_0x0ed8('0x50')][_0x4dc9e1['id']]=new FreshsalesAccount(_0x4dc9e1);}else{_0x2c3933[_0x0ed8('0x3b')](_0x2c3933[_0x0ed8('0x50')][_0x4dc9e1['id']],_0x4dc9e1);}}}return _0x2c3933[_0x0ed8('0x50')];};};Realtime['prototype'][_0x0ed8('0x51')]=function(){var _0x2aeaae=this;return function(_0x5dbc3b){for(var _0x4c8a7c=0x0;_0x4c8a7c<_0x5dbc3b['length'];_0x4c8a7c+=0x1){_[_0x0ed8('0x52')](_0x2aeaae[_0x0ed8('0x11')][_0x5dbc3b[_0x4c8a7c][_0x0ed8('0x22')]],_0x5dbc3b[_0x4c8a7c]);}return _0x2aeaae[_0x0ed8('0x11')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x53')]=function(){var _0x56c116=this;return function(_0x85f629){clearVoiceQueues(_0x56c116[_0x0ed8('0x11')]);if(_0x85f629){_0x85f629=_[_0x0ed8('0x54')](_0x85f629,_0x0ed8('0x55'));for(var _0x20179f in _0x85f629){if(_0x85f629[_0x0ed8('0x21')](_0x20179f)){var _0x39b35f={};for(var _0x577978=0x0;_0x577978<_0x85f629[_0x20179f][_0x0ed8('0x40')];_0x577978+=0x1){var _0x36c4e5=_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x56')];if(_0x56c116[_0x0ed8('0x11')][_0x36c4e5]){if(_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x57')]){_0x56c116[_0x0ed8('0x11')][_0x36c4e5][_0x0ed8('0x2c')]+=0x1;}if(_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x58')]){_0x56c116[_0x0ed8('0x11')][_0x36c4e5]['abandoned']+=0x1;}_0x56c116[_0x0ed8('0x11')][_0x36c4e5][_0x0ed8('0x2d')]+=moment(_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x59')])[_0x0ed8('0x5a')](moment(_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x5b')]),_0x0ed8('0x5c'))||0x0;if(_0x577978===_0x85f629[_0x20179f]['length']-0x1){_0x56c116['voiceQueues'][_0x36c4e5][_0x0ed8('0x27')]+=moment(_0x85f629[_0x20179f][_0x577978]['queuecallercompleteAt']||_0x85f629[_0x20179f][_0x577978]['queuecallerabandonAt']||_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x5d')])[_0x0ed8('0x5a')](moment(_0x85f629[_0x20179f][_0x577978]['queuecallerjoinAt']),_0x0ed8('0x5c'))||0x0;_0x56c116['voiceQueues'][_0x36c4e5][_0x0ed8('0x2b')]+=0x1;if(_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x5e')]){_0x56c116[_0x0ed8('0x11')][_0x36c4e5][_0x0ed8('0x26')]+=0x1;_0x56c116[_0x0ed8('0x11')][_0x36c4e5][_0x0ed8('0x28')]+=moment(_0x85f629[_0x20179f][_0x577978][_0x0ed8('0x5f')])[_0x0ed8('0x5a')](moment(_0x85f629[_0x20179f][_0x577978]['queuecallerleaveAt']),_0x0ed8('0x5c'))||0x0;}}else{_0x56c116['voiceQueues'][_0x36c4e5][_0x0ed8('0x27')]+=_0x56c116['voiceQueues'][_0x36c4e5]['sumHoldTime']||0x0;}}}}}}return _0x56c116[_0x0ed8('0x11')];};};Realtime['prototype'][_0x0ed8('0x60')]=function(){var _0x10aec7=this;return function(_0x20f212){clearVoiceCallReports(_0x10aec7[_0x0ed8('0x61')]);if(_0x20f212){for(var _0x205110=0x0;_0x205110<_0x20f212[_0x0ed8('0x40')];_0x205110+=0x1){_0x10aec7[_0x0ed8('0x61')][_0x0ed8('0x2b')]+=0x1;_0x10aec7[_0x0ed8('0x61')][_0x0ed8('0x27')]+=_0x20f212[_0x205110][_0x0ed8('0x62')];if(_0x20f212[_0x205110][_0x0ed8('0x63')]==='ANSWERED'){_0x10aec7['outbound'][_0x0ed8('0x26')]+=0x1;_0x10aec7['outbound'][_0x0ed8('0x2d')]+=_0x20f212[_0x205110]['duration']-_0x20f212[_0x205110][_0x0ed8('0x64')]||0x0;_0x10aec7['outbound'][_0x0ed8('0x28')]+=_0x20f212[_0x205110][_0x0ed8('0x64')];}}}return _0x10aec7[_0x0ed8('0x61')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x65')]=function(){var _0x54d645=this;return function(_0xaf71b7){if(_0xaf71b7){freeIsNotKey(_0xaf71b7,_0x54d645[_0x0ed8('0x13')],_0x0ed8('0x22'));for(var _0x51ccc9=0x0,_0x1a78df={};_0x51ccc9<_0xaf71b7[_0x0ed8('0x40')];_0x51ccc9+=0x1){_0x1a78df=_0xaf71b7[_0x51ccc9];if(_[_0x0ed8('0x3f')](_0x54d645[_0x0ed8('0x13')][_0x1a78df['name']])){_0x54d645[_0x0ed8('0x13')][_0x1a78df[_0x0ed8('0x22')]]=new Campaign(_0x1a78df);}else{_0x54d645['mergeFromDatabase'](_0x54d645[_0x0ed8('0x13')][_0x1a78df[_0x0ed8('0x22')]],_0x1a78df);_0x54d645[_0x0ed8('0x13')][_0x1a78df[_0x0ed8('0x22')]][_0x0ed8('0x66')]=_0x1a78df[_0x0ed8('0x67')]?_0x1a78df['SquareProject'][_0x0ed8('0x22')]:undefined;}}}return _0x54d645[_0x0ed8('0x13')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x68')]=function(){var _0xc8ae57=this;return function(_0x1004c3){if(_0x1004c3){freeIsNotKey(_0x1004c3,_0xc8ae57[_0x0ed8('0x15')],'id');for(var _0x7f2d3a=0x0,_0x547dbe={};_0x7f2d3a<_0x1004c3[_0x0ed8('0x40')];_0x7f2d3a+=0x1){_0x547dbe=_0x1004c3[_0x7f2d3a];if(_[_0x0ed8('0x3f')](_0xc8ae57[_0x0ed8('0x15')][_0x547dbe['id']])){_0xc8ae57[_0x0ed8('0x15')][_0x547dbe['id']]=new VoiceExtension(_0x547dbe);}else{_0xc8ae57[_0x0ed8('0x3b')](_0xc8ae57[_0x0ed8('0x15')][_0x547dbe['id']],_0x547dbe);}}}return _0xc8ae57[_0x0ed8('0x15')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x69')]=function(){var _0x19f0e7=this;return function(_0x8238f8){clearCampaigns(_0x19f0e7[_0x0ed8('0x13')]);for(var _0x124bc0=0x0;_0x124bc0<_0x8238f8['length'];_0x124bc0+=0x1){_[_0x0ed8('0x52')](_0x19f0e7[_0x0ed8('0x13')][_0x8238f8[_0x124bc0]['name']],_0x8238f8[_0x124bc0]);}return _0x19f0e7[_0x0ed8('0x13')];};};Realtime[_0x0ed8('0x3a')][_0x0ed8('0x6a')]=function(){var _0x23ca92=this;return function(_0x3ba4ac){if(_0x3ba4ac){freeIsNotKey(_0x3ba4ac,_0x23ca92[_0x0ed8('0x1f')],'id');for(var _0x357475=0x0,_0x542a3e={},_0x598139={};_0x357475<_0x3ba4ac[_0x0ed8('0x40')];_0x357475+=0x1){_0x542a3e=_0x3ba4ac[_0x357475];if(_[_0x0ed8('0x3f')](_0x23ca92[_0x0ed8('0x1f')][_0x542a3e['id']])){_0x23ca92[_0x0ed8('0x1f')][_0x542a3e['id']]=new FaxAccount(_0x542a3e);}else{_0x23ca92[_0x0ed8('0x3b')](_0x23ca92[_0x0ed8('0x1f')][_0x542a3e['id']],_0x542a3e);}}}return _0x23ca92[_0x0ed8('0x1f')];};};module[_0x0ed8('0x6b')]=Realtime;