Built motion from commit (unavailable).|2.5.22
[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 _0x94db=['billableseconds','dialQueueProject','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','faxAccounts','exports','bluebird','util','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/faxAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','channels','queueChannels','outboundChannels','timers','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','freshdeskAccounts','deskAccounts','servicenowAccounts','freshsalesAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','answered','sumHoldTime','sumDuration','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','abandoned','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','length','isUndefined','initTelephones','initTrunks','initVoiceQueues','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','zohoAccounts','initSugarcrmAccounts','initVtigerAccounts','vtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','queue','queuecallerexit','queuecallerleaveAt','diff','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerjoinAt','queuecallercomplete','sumBillable','initVoiceCallReports','duration','disposition'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0x94db,0x1b8));var _0xb94d=function(_0x4010b9,_0x100074){_0x4010b9=_0x4010b9-0x0;var _0x5e7896=_0x94db[_0x4010b9];return _0x5e7896;};'use strict';var BPromise=require(_0xb94d('0x0'));var util=require(_0xb94d('0x1'));var _=require(_0xb94d('0x2'));var moment=require(_0xb94d('0x3'));var Agent=require(_0xb94d('0x4'));var Telephone=require(_0xb94d('0x5'));var Trunk=require(_0xb94d('0x6'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0xb94d('0x7'));var Template=require(_0xb94d('0x8'));var Campaign=require(_0xb94d('0x9'));var VoiceExtension=require(_0xb94d('0xa'));var ZendeskAccount=require(_0xb94d('0xb'));var SalesforceAccount=require(_0xb94d('0xc'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0xb94d('0xd'));var ZohoAccount=require(_0xb94d('0xe'));var DeskAccount=require(_0xb94d('0xf'));var VtigerAccount=require(_0xb94d('0x10'));var ServicenowAccount=require(_0xb94d('0x11'));var Dynamics365Account=require(_0xb94d('0x12'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0xb94d('0x13'));var Realtime=function(){this[_0xb94d('0x14')]={};this[_0xb94d('0x15')]={};this[_0xb94d('0x16')]={};this[_0xb94d('0x17')]={};this[_0xb94d('0x18')]={};this[_0xb94d('0x19')]={};this[_0xb94d('0x1a')]={};this[_0xb94d('0x1b')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0xb94d('0x1c')]={};this[_0xb94d('0x1d')]={};this[_0xb94d('0x1e')]={};this[_0xb94d('0x1f')]={};this[_0xb94d('0x20')]={};this[_0xb94d('0x21')]={};this[_0xb94d('0x22')]={};this[_0xb94d('0x23')]={};this['zohoAccounts']={};this[_0xb94d('0x24')]={};this['vtigerAccounts']={};this[_0xb94d('0x25')]={};this['dynamics365Accounts']={};this[_0xb94d('0x26')]={};this['faxAccounts']={};};function freeIsNotKey(_0x21ecd5,_0x3d0714,_0x5a8da5){var _0x17260a=_[_0xb94d('0x27')](_0x21ecd5,function(_0x549507,_0x28ca3e){return _0x549507[_0x5a8da5];});for(var _0xe01ad0 in _0x3d0714){if(_0x3d0714[_0xb94d('0x28')](_0xe01ad0)){if(!_0x17260a[_0xe01ad0]){delete _0x3d0714[_0xe01ad0];}}}}function freeIsNotKeySip(_0x426ca8,_0x59e6a9){var _0x5e6dd8=_[_0xb94d('0x27')](_0x426ca8,function(_0x219c8d,_0x2579d7){return util[_0xb94d('0x29')](_0xb94d('0x2a'),_0x219c8d[_0xb94d('0x2b')]);});for(var _0x138920 in _0x59e6a9){if(_0x59e6a9[_0xb94d('0x28')](_0x138920)){if(!_0x5e6dd8[_0x138920]){delete _0x59e6a9[_0x138920];}}}}function freeIsNotKeyAgent(_0x3be7f9,_0x4405fe){var _0x267275=_['mapKeys'](_0x3be7f9,function(_0x3827ce,_0x113300){var _0x47cd2b=_[_0xb94d('0x2c')](_0x3827ce[_0xb94d('0x2d')])?util[_0xb94d('0x29')](_0xb94d('0x2a'),_0x3827ce[_0xb94d('0x2b')]):_0x3827ce['interface'];return _0x47cd2b;});for(var _0x4955e4 in _0x4405fe){if(_0x4405fe['hasOwnProperty'](_0x4955e4)){if(!_0x267275[_0x4955e4]){delete _0x4405fe[_0x4955e4];}}}}function clearVoiceCallReports(_0x3ea28f){_0x3ea28f[_0xb94d('0x2e')]=0x0;_0x3ea28f[_0xb94d('0x2f')]=0x0;_0x3ea28f[_0xb94d('0x30')]=0x0;_0x3ea28f[_0xb94d('0x31')]=0x0;_0x3ea28f['sumBillable']=0x0;}function clearCampaigns(_0x2e48dc){if(!_[_0xb94d('0x32')](_0x2e48dc)){for(var _0x391173 in _0x2e48dc){if(_0x2e48dc['hasOwnProperty'](_0x391173)){_0x2e48dc[_0x391173][_0xb94d('0x33')]=0x0;_0x2e48dc[_0x391173][_0xb94d('0x34')]=0x0;}}}}function clearVoiceQueues(_0x50d3d8){if(!_[_0xb94d('0x32')](_0x50d3d8)){for(var _0x3b3cb7 in _0x50d3d8){if(_0x50d3d8['hasOwnProperty'](_0x3b3cb7)){_0x50d3d8[_0x3b3cb7][_0xb94d('0x2e')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x2f')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x35')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x36')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x30')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x31')]=0x0;_0x50d3d8[_0x3b3cb7]['sumBillable']=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x37')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x38')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x39')]=0x0;_0x50d3d8[_0x3b3cb7]['outboundCongestionCallsDay']=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x3a')]=0x0;_0x50d3d8[_0x3b3cb7]['outboundUnknownCallsDay']=0x0;_0x50d3d8[_0x3b3cb7]['outboundDropCallsDayTimeout']=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x3b')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x3c')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x3d')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x3e')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x3f')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x37')]=0x0;_0x50d3d8[_0x3b3cb7][_0xb94d('0x40')]=0x0;_0x50d3d8[_0x3b3cb7]['queueStatusComplete']=!![];}}}}Realtime[_0xb94d('0x41')][_0xb94d('0x42')]=function(_0x4abbd7,_0x420359){for(var _0x3c2985 in _0x420359){if(_0x4abbd7['hasOwnProperty'](_0x3c2985)){_0x4abbd7[_0x3c2985]=_0x420359[_0x3c2985];}}};Realtime['prototype']['initAgents']=function(){var _0x41e7d8=this;return function(_0x481647){if(_0x481647){freeIsNotKeyAgent(_0x481647,_0x41e7d8[_0xb94d('0x14')]);for(var _0x430fc4=0x0,_0x201ec4={},_0x7839c8={};_0x430fc4<_0x481647[_0xb94d('0x43')];_0x430fc4+=0x1){_0x201ec4=_0x481647[_0x430fc4];var _0xfbd3a9=_[_0xb94d('0x2c')](_0x201ec4[_0xb94d('0x2d')])?util[_0xb94d('0x29')](_0xb94d('0x2a'),_0x201ec4[_0xb94d('0x2b')]):_0x201ec4[_0xb94d('0x2d')];if(_[_0xb94d('0x44')](_0x41e7d8[_0xb94d('0x14')][_0xfbd3a9])){_0x41e7d8[_0xb94d('0x14')][_0xfbd3a9]=new Agent(_0x201ec4);}else{_0x41e7d8['mergeFromDatabase'](_0x41e7d8['agents'][_0xfbd3a9],_0x201ec4);}}}return _0x41e7d8[_0xb94d('0x14')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x45')]=function(){var _0x1ab79d=this;return function(_0x580646){if(_0x580646){freeIsNotKeySip(_0x580646,_0x1ab79d[_0xb94d('0x15')]);for(var _0xa6059d=0x0,_0x3aaeb0={},_0x2e3a40={};_0xa6059d<_0x580646[_0xb94d('0x43')];_0xa6059d+=0x1){_0x3aaeb0=_0x580646[_0xa6059d];if(_['isUndefined'](_0x1ab79d['telephones'][util['format'](_0xb94d('0x2a'),_0x3aaeb0['name'])])){_0x1ab79d[_0xb94d('0x15')][util[_0xb94d('0x29')](_0xb94d('0x2a'),_0x3aaeb0[_0xb94d('0x2b')])]=new Telephone(_0x3aaeb0);}else{_0x1ab79d['mergeFromDatabase'](_0x1ab79d['telephones'][util[_0xb94d('0x29')](_0xb94d('0x2a'),_0x3aaeb0[_0xb94d('0x2b')])],_0x3aaeb0);}}}return _0x1ab79d[_0xb94d('0x15')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x46')]=function(){var _0x30fd93=this;return function(_0x59bf4c){if(_0x59bf4c){freeIsNotKeySip(_0x59bf4c,_0x30fd93[_0xb94d('0x16')]);for(var _0x3912ee=0x0,_0x5d67f1={},_0x517bce={};_0x3912ee<_0x59bf4c[_0xb94d('0x43')];_0x3912ee+=0x1){_0x5d67f1=_0x59bf4c[_0x3912ee];if(_[_0xb94d('0x44')](_0x30fd93['trunks'][util[_0xb94d('0x29')]('SIP/%s',_0x5d67f1[_0xb94d('0x2b')])])){_0x30fd93[_0xb94d('0x16')][util['format'](_0xb94d('0x2a'),_0x5d67f1['name'])]=new Trunk(_0x5d67f1);}else{_0x30fd93['mergeFromDatabase'](_0x30fd93[_0xb94d('0x16')][util[_0xb94d('0x29')](_0xb94d('0x2a'),_0x5d67f1[_0xb94d('0x2b')])],_0x5d67f1);}}}return _0x30fd93[_0xb94d('0x16')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x47')]=function(){var _0x540f7c=this;return function(_0x59355a){if(_0x59355a){freeIsNotKey(_0x59355a,_0x540f7c[_0xb94d('0x17')],_0xb94d('0x2b'));for(var _0x4370e0=0x0,_0x20b5df={},_0xf7709d={};_0x4370e0<_0x59355a[_0xb94d('0x43')];_0x4370e0+=0x1){_0x20b5df=_0x59355a[_0x4370e0];if(_[_0xb94d('0x44')](_0x540f7c['voiceQueues'][_0x20b5df[_0xb94d('0x2b')]])){_0x540f7c[_0xb94d('0x17')][_0x20b5df['name']]=new VoiceQueue(_0x20b5df);}else{_0x540f7c['mergeFromDatabase'](_0x540f7c[_0xb94d('0x17')][_0x20b5df[_0xb94d('0x2b')]],_0x20b5df);}}}return _0x540f7c[_0xb94d('0x17')];};};Realtime['prototype']['initTriggers']=function(){var _0x32a04a=this;return function(_0x541566){if(_0x541566){freeIsNotKey(_0x541566,_0x32a04a[_0xb94d('0x18')],'id');for(var _0x388079=0x0,_0x44abce={},_0x5e293e={};_0x388079<_0x541566[_0xb94d('0x43')];_0x388079+=0x1){_0x44abce=_0x541566[_0x388079];if(_[_0xb94d('0x44')](_0x32a04a['triggers'][_0x44abce['id']])){_0x32a04a[_0xb94d('0x18')][_0x44abce['id']]=new Trigger(_0x44abce);}else{_0x32a04a[_0xb94d('0x42')](_0x32a04a[_0xb94d('0x18')][_0x44abce['id']],_0x44abce);}}}return _0x32a04a[_0xb94d('0x18')];};};Realtime['prototype'][_0xb94d('0x48')]=function(){var _0x573031=this;return function(_0x3591b6){if(_0x3591b6){freeIsNotKey(_0x3591b6,_0x573031[_0xb94d('0x1a')],'id');for(var _0x52c1ff=0x0,_0x4dad6b={},_0x4249d2={};_0x52c1ff<_0x3591b6['length'];_0x52c1ff+=0x1){_0x4dad6b=_0x3591b6[_0x52c1ff];if(_[_0xb94d('0x44')](_0x573031['templates'][_0x4dad6b['id']])){_0x573031['templates'][_0x4dad6b['id']]=new Template(_0x4dad6b);}else{_0x573031[_0xb94d('0x42')](_0x573031[_0xb94d('0x1a')][_0x4dad6b['id']],_0x4dad6b);}}}return _0x573031[_0xb94d('0x1a')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x49')]=function(){var _0x4ffc13=this;return function(_0x2194bd){if(_0x2194bd){freeIsNotKey(_0x2194bd,_0x4ffc13[_0xb94d('0x20')],'id');for(var _0x5b18a5=0x0,_0x2a4e02={},_0x4c02f6={};_0x5b18a5<_0x2194bd[_0xb94d('0x43')];_0x5b18a5+=0x1){_0x2a4e02=_0x2194bd[_0x5b18a5];if(_[_0xb94d('0x44')](_0x4ffc13[_0xb94d('0x20')][_0x2a4e02['id']])){_0x4ffc13[_0xb94d('0x20')][_0x2a4e02['id']]=new ZendeskAccount(_0x2a4e02);}else{_0x4ffc13['mergeFromDatabase'](_0x4ffc13['zendeskAccounts'][_0x2a4e02['id']],_0x2a4e02);}}}return _0x4ffc13[_0xb94d('0x20')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x4a')]=function(){var _0x290516=this;return function(_0x17437e){if(_0x17437e){freeIsNotKey(_0x17437e,_0x290516['salesforceAccounts'],'id');for(var _0x240636=0x0,_0x123e82={},_0x37c0c0={};_0x240636<_0x17437e[_0xb94d('0x43')];_0x240636+=0x1){_0x123e82=_0x17437e[_0x240636];if(_['isUndefined'](_0x290516[_0xb94d('0x21')][_0x123e82['id']])){_0x290516[_0xb94d('0x21')][_0x123e82['id']]=new SalesforceAccount(_0x123e82);}else{_0x290516[_0xb94d('0x42')](_0x290516['salesforceAccounts'][_0x123e82['id']],_0x123e82);}}}return _0x290516[_0xb94d('0x21')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x4b')]=function(){var _0x4e4d49=this;return function(_0x1cd7bb){if(_0x1cd7bb){freeIsNotKey(_0x1cd7bb,_0x4e4d49[_0xb94d('0x23')],'id');for(var _0x155758=0x0,_0x207cd6={},_0x37cc6f={};_0x155758<_0x1cd7bb[_0xb94d('0x43')];_0x155758+=0x1){_0x207cd6=_0x1cd7bb[_0x155758];if(_[_0xb94d('0x44')](_0x4e4d49[_0xb94d('0x23')][_0x207cd6['id']])){_0x4e4d49[_0xb94d('0x23')][_0x207cd6['id']]=new FreshdeskAccount(_0x207cd6);}else{_0x4e4d49['mergeFromDatabase'](_0x4e4d49[_0xb94d('0x23')][_0x207cd6['id']],_0x207cd6);}}}return _0x4e4d49[_0xb94d('0x23')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x4c')]=function(){var _0xaaa4ea=this;return function(_0x14e267){if(_0x14e267){freeIsNotKey(_0x14e267,_0xaaa4ea[_0xb94d('0x4d')],'id');for(var _0x1fb7c1=0x0,_0x221150={},_0x436336={};_0x1fb7c1<_0x14e267['length'];_0x1fb7c1+=0x1){_0x221150=_0x14e267[_0x1fb7c1];if(_[_0xb94d('0x44')](_0xaaa4ea[_0xb94d('0x4d')][_0x221150['id']])){_0xaaa4ea[_0xb94d('0x4d')][_0x221150['id']]=new ZohoAccount(_0x221150);}else{_0xaaa4ea[_0xb94d('0x42')](_0xaaa4ea['zohoAccounts'][_0x221150['id']],_0x221150);}}}return _0xaaa4ea[_0xb94d('0x4d')];};};Realtime['prototype']['initDeskAccounts']=function(){var _0x167ace=this;return function(_0xf76d5a){if(_0xf76d5a){freeIsNotKey(_0xf76d5a,_0x167ace['deskAccounts'],'id');for(var _0x2d6933=0x0,_0x35f77e={},_0xb3e109={};_0x2d6933<_0xf76d5a[_0xb94d('0x43')];_0x2d6933+=0x1){_0x35f77e=_0xf76d5a[_0x2d6933];if(_[_0xb94d('0x44')](_0x167ace[_0xb94d('0x24')][_0x35f77e['id']])){_0x167ace[_0xb94d('0x24')][_0x35f77e['id']]=new DeskAccount(_0x35f77e);}else{_0x167ace[_0xb94d('0x42')](_0x167ace[_0xb94d('0x24')][_0x35f77e['id']],_0x35f77e);}}}return _0x167ace[_0xb94d('0x24')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x4e')]=function(){var _0x586b72=this;return function(_0x2b3b19){if(_0x2b3b19){freeIsNotKey(_0x2b3b19,_0x586b72['sugarcrmAccounts'],'id');for(var _0x22ca7a=0x0,_0x3d3b56={},_0x1bae25={};_0x22ca7a<_0x2b3b19[_0xb94d('0x43')];_0x22ca7a+=0x1){_0x3d3b56=_0x2b3b19[_0x22ca7a];if(_[_0xb94d('0x44')](_0x586b72[_0xb94d('0x22')][_0x3d3b56['id']])){_0x586b72[_0xb94d('0x22')][_0x3d3b56['id']]=new SugarcrmAccount(_0x3d3b56);}else{_0x586b72[_0xb94d('0x42')](_0x586b72[_0xb94d('0x22')][_0x3d3b56['id']],_0x3d3b56);}}}return _0x586b72[_0xb94d('0x22')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x4f')]=function(){var _0x4c1e19=this;return function(_0x1f44f8){if(_0x1f44f8){freeIsNotKey(_0x1f44f8,_0x4c1e19['vtigerAccounts'],'id');for(var _0x58240d=0x0,_0x278323={},_0x53a3fe={};_0x58240d<_0x1f44f8['length'];_0x58240d+=0x1){_0x278323=_0x1f44f8[_0x58240d];if(_[_0xb94d('0x44')](_0x4c1e19[_0xb94d('0x50')][_0x278323['id']])){_0x4c1e19[_0xb94d('0x50')][_0x278323['id']]=new VtigerAccount(_0x278323);}else{_0x4c1e19[_0xb94d('0x42')](_0x4c1e19[_0xb94d('0x50')][_0x278323['id']],_0x278323);}}}return _0x4c1e19[_0xb94d('0x50')];};};Realtime['prototype'][_0xb94d('0x51')]=function(){var _0x3a55b1=this;return function(_0x26d09f){if(_0x26d09f){freeIsNotKey(_0x26d09f,_0x3a55b1[_0xb94d('0x25')],'id');for(var _0x114d90=0x0,_0x3f5d34={},_0x99093b={};_0x114d90<_0x26d09f['length'];_0x114d90+=0x1){_0x3f5d34=_0x26d09f[_0x114d90];if(_[_0xb94d('0x44')](_0x3a55b1[_0xb94d('0x25')][_0x3f5d34['id']])){_0x3a55b1['servicenowAccounts'][_0x3f5d34['id']]=new ServicenowAccount(_0x3f5d34);}else{_0x3a55b1[_0xb94d('0x42')](_0x3a55b1[_0xb94d('0x25')][_0x3f5d34['id']],_0x3f5d34);}}}return _0x3a55b1[_0xb94d('0x25')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x52')]=function(){var _0x52bab8=this;return function(_0xc7ad2a){if(_0xc7ad2a){freeIsNotKey(_0xc7ad2a,_0x52bab8[_0xb94d('0x53')],'id');for(var _0x30d2f2=0x0,_0x2bd2e8={},_0x35f03c={};_0x30d2f2<_0xc7ad2a['length'];_0x30d2f2+=0x1){_0x2bd2e8=_0xc7ad2a[_0x30d2f2];if(_[_0xb94d('0x44')](_0x52bab8[_0xb94d('0x53')][_0x2bd2e8['id']])){_0x52bab8[_0xb94d('0x53')][_0x2bd2e8['id']]=new Dynamics365Account(_0x2bd2e8);}else{_0x52bab8[_0xb94d('0x42')](_0x52bab8[_0xb94d('0x53')][_0x2bd2e8['id']],_0x2bd2e8);}}}return _0x52bab8['dynamics365Accounts'];};};Realtime[_0xb94d('0x41')][_0xb94d('0x54')]=function(){var _0xbcf52e=this;return function(_0x51c2a2){if(_0x51c2a2){freeIsNotKey(_0x51c2a2,_0xbcf52e[_0xb94d('0x26')],'id');for(var _0x102045=0x0,_0x409dd6={},_0x457614={};_0x102045<_0x51c2a2['length'];_0x102045+=0x1){_0x409dd6=_0x51c2a2[_0x102045];if(_['isUndefined'](_0xbcf52e[_0xb94d('0x26')][_0x409dd6['id']])){_0xbcf52e[_0xb94d('0x26')][_0x409dd6['id']]=new FreshsalesAccount(_0x409dd6);}else{_0xbcf52e[_0xb94d('0x42')](_0xbcf52e[_0xb94d('0x26')][_0x409dd6['id']],_0x409dd6);}}}return _0xbcf52e[_0xb94d('0x26')];};};Realtime['prototype'][_0xb94d('0x55')]=function(){var _0x48277e=this;return function(_0x5d2247){for(var _0x32d12f=0x0;_0x32d12f<_0x5d2247[_0xb94d('0x43')];_0x32d12f+=0x1){_[_0xb94d('0x56')](_0x48277e[_0xb94d('0x17')][_0x5d2247[_0x32d12f][_0xb94d('0x2b')]],_0x5d2247[_0x32d12f]);}return _0x48277e[_0xb94d('0x17')];};};Realtime[_0xb94d('0x41')]['initVoiceQueueReports']=function(){var _0x2118d1=this;return function(_0x1458e4){clearVoiceQueues(_0x2118d1[_0xb94d('0x17')]);if(_0x1458e4){_0x1458e4=_['groupBy'](_0x1458e4,'uniqueid');for(var _0x5aac36 in _0x1458e4){if(_0x1458e4[_0xb94d('0x28')](_0x5aac36)){var _0x367ce7={};for(var _0x54d949=0x0;_0x54d949<_0x1458e4[_0x5aac36][_0xb94d('0x43')];_0x54d949+=0x1){var _0xec4bab=_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x57')];if(_0x2118d1['voiceQueues'][_0xec4bab]){if(_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x58')]){_0x2118d1['voiceQueues'][_0xec4bab]['unmanaged']+=0x1;}if(_0x1458e4[_0x5aac36][_0x54d949]['queuecallerabandon']){_0x2118d1[_0xb94d('0x17')][_0xec4bab][_0xb94d('0x36')]+=0x1;}_0x2118d1[_0xb94d('0x17')][_0xec4bab][_0xb94d('0x30')]+=moment(_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x59')])[_0xb94d('0x5a')](moment(_0x1458e4[_0x5aac36][_0x54d949]['queuecallerjoinAt']),_0xb94d('0x5b'))||0x0;if(_0x54d949===_0x1458e4[_0x5aac36][_0xb94d('0x43')]-0x1){_0x2118d1[_0xb94d('0x17')][_0xec4bab]['sumDuration']+=moment(_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x5c')]||_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x5d')]||_0x1458e4[_0x5aac36][_0x54d949]['queuecallerexitAt'])[_0xb94d('0x5a')](moment(_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x5e')]),_0xb94d('0x5b'))||0x0;_0x2118d1['voiceQueues'][_0xec4bab][_0xb94d('0x2e')]+=0x1;if(_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x5f')]){_0x2118d1['voiceQueues'][_0xec4bab][_0xb94d('0x2f')]+=0x1;_0x2118d1['voiceQueues'][_0xec4bab][_0xb94d('0x60')]+=moment(_0x1458e4[_0x5aac36][_0x54d949]['queuecallercompleteAt'])['diff'](moment(_0x1458e4[_0x5aac36][_0x54d949][_0xb94d('0x59')]),_0xb94d('0x5b'))||0x0;}}else{_0x2118d1[_0xb94d('0x17')][_0xec4bab][_0xb94d('0x31')]+=_0x2118d1['voiceQueues'][_0xec4bab]['sumHoldTime']||0x0;}}}}}}return _0x2118d1[_0xb94d('0x17')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x61')]=function(){var _0x580f84=this;return function(_0x4c93cc){clearVoiceCallReports(_0x580f84[_0xb94d('0x1b')]);if(_0x4c93cc){for(var _0x52f44a=0x0;_0x52f44a<_0x4c93cc['length'];_0x52f44a+=0x1){_0x580f84['outbound'][_0xb94d('0x2e')]+=0x1;_0x580f84['outbound']['sumDuration']+=_0x4c93cc[_0x52f44a][_0xb94d('0x62')];if(_0x4c93cc[_0x52f44a][_0xb94d('0x63')]==='ANSWERED'){_0x580f84[_0xb94d('0x1b')]['answered']+=0x1;_0x580f84['outbound'][_0xb94d('0x30')]+=_0x4c93cc[_0x52f44a][_0xb94d('0x62')]-_0x4c93cc[_0x52f44a][_0xb94d('0x64')]||0x0;_0x580f84[_0xb94d('0x1b')][_0xb94d('0x60')]+=_0x4c93cc[_0x52f44a][_0xb94d('0x64')];}}}return _0x580f84[_0xb94d('0x1b')];};};Realtime[_0xb94d('0x41')]['initCampaigns']=function(){var _0x520a0c=this;return function(_0x3c1a7f){if(_0x3c1a7f){freeIsNotKey(_0x3c1a7f,_0x520a0c[_0xb94d('0x19')],_0xb94d('0x2b'));for(var _0x530cc2=0x0,_0x1f4425={};_0x530cc2<_0x3c1a7f[_0xb94d('0x43')];_0x530cc2+=0x1){_0x1f4425=_0x3c1a7f[_0x530cc2];if(_['isUndefined'](_0x520a0c[_0xb94d('0x19')][_0x1f4425[_0xb94d('0x2b')]])){_0x520a0c[_0xb94d('0x19')][_0x1f4425['name']]=new Campaign(_0x1f4425);}else{_0x520a0c[_0xb94d('0x42')](_0x520a0c[_0xb94d('0x19')][_0x1f4425[_0xb94d('0x2b')]],_0x1f4425);_0x520a0c['campaigns'][_0x1f4425[_0xb94d('0x2b')]][_0xb94d('0x65')]=_0x1f4425['SquareProject']?_0x1f4425[_0xb94d('0x66')][_0xb94d('0x2b')]:undefined;}}}return _0x520a0c['campaigns'];};};Realtime['prototype'][_0xb94d('0x67')]=function(){var _0x3b65b7=this;return function(_0x229782){if(_0x229782){freeIsNotKey(_0x229782,_0x3b65b7[_0xb94d('0x68')],'id');for(var _0x4b995f=0x0,_0x4e6b36={};_0x4b995f<_0x229782[_0xb94d('0x43')];_0x4b995f+=0x1){_0x4e6b36=_0x229782[_0x4b995f];if(_[_0xb94d('0x44')](_0x3b65b7[_0xb94d('0x68')][_0x4e6b36['id']])){_0x3b65b7[_0xb94d('0x68')][_0x4e6b36['id']]=new VoiceExtension(_0x4e6b36);}else{_0x3b65b7['mergeFromDatabase'](_0x3b65b7['voiceExtensions'][_0x4e6b36['id']],_0x4e6b36);}}}return _0x3b65b7[_0xb94d('0x68')];};};Realtime[_0xb94d('0x41')][_0xb94d('0x69')]=function(){var _0x3c6222=this;return function(_0x313b62){clearCampaigns(_0x3c6222[_0xb94d('0x19')]);for(var _0x40bb06=0x0;_0x40bb06<_0x313b62['length'];_0x40bb06+=0x1){_[_0xb94d('0x56')](_0x3c6222[_0xb94d('0x19')][_0x313b62[_0x40bb06][_0xb94d('0x2b')]],_0x313b62[_0x40bb06]);}return _0x3c6222[_0xb94d('0x19')];};};Realtime[_0xb94d('0x41')]['initFaxAccounts']=function(){var _0x37b9a3=this;return function(_0x21b31a){if(_0x21b31a){freeIsNotKey(_0x21b31a,_0x37b9a3['faxAccounts'],'id');for(var _0x7aa857=0x0,_0x4330c0={},_0x51c35b={};_0x7aa857<_0x21b31a[_0xb94d('0x43')];_0x7aa857+=0x1){_0x4330c0=_0x21b31a[_0x7aa857];if(_['isUndefined'](_0x37b9a3['faxAccounts'][_0x4330c0['id']])){_0x37b9a3['faxAccounts'][_0x4330c0['id']]=new FaxAccount(_0x4330c0);}else{_0x37b9a3[_0xb94d('0x42')](_0x37b9a3['faxAccounts'][_0x4330c0['id']],_0x4330c0);}}}return _0x37b9a3[_0xb94d('0x6a')];};};module[_0xb94d('0x6b')]=Realtime;