Built motion from commit (unavailable).|2.5.4
[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 _0xd72d=['outboundChannels','timers','zendeskAccounts','salesforceAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','interface','total','answered','sumHoldTime','sumDuration','sumBillable','ivrAnswerCallsDay','isEmpty','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','initAgents','isUndefined','length','initTrunks','initVoiceQueues','initTriggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initDeskAccounts','sugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','initVoiceQueueReports','groupBy','queue','queuecallerexit','unmanaged','abandoned','queuecallerleaveAt','diff','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallerjoinAt','queuecallercomplete','initVoiceCallReports','duration','disposition','ANSWERED','billableseconds','SquareProject','initVoiceExtensions','voiceExtensions','initCampaignHopperHistory','merge','initFaxAccounts','exports','bluebird','lodash','moment','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','channels','queueChannels'];(function(_0x2c6096,_0x35137a){var _0x157b92=function(_0xa5bd8d){while(--_0xa5bd8d){_0x2c6096['push'](_0x2c6096['shift']());}};_0x157b92(++_0x35137a);}(_0xd72d,0xbe));var _0xdd72=function(_0x1fd324,_0x463435){_0x1fd324=_0x1fd324-0x0;var _0x197220=_0xd72d[_0x1fd324];return _0x197220;};'use strict';var BPromise=require(_0xdd72('0x0'));var util=require('util');var _=require(_0xdd72('0x1'));var moment=require(_0xdd72('0x2'));var Agent=require('../model/agent');var Telephone=require('../model/telephone');var Trunk=require('../model/trunk');var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0xdd72('0x3'));var Template=require(_0xdd72('0x4'));var Campaign=require(_0xdd72('0x5'));var VoiceExtension=require(_0xdd72('0x6'));var ZendeskAccount=require(_0xdd72('0x7'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0xdd72('0x8'));var ZohoAccount=require(_0xdd72('0x9'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0xdd72('0xa'));var ServicenowAccount=require(_0xdd72('0xb'));var Dynamics365Account=require(_0xdd72('0xc'));var FreshsalesAccount=require(_0xdd72('0xd'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0xdd72('0xe')]={};this[_0xdd72('0xf')]={};this[_0xdd72('0x10')]={};this[_0xdd72('0x11')]={};this[_0xdd72('0x12')]={};this[_0xdd72('0x13')]={};this[_0xdd72('0x14')]={};this[_0xdd72('0x15')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0xdd72('0x16')]={};this[_0xdd72('0x17')]={};this[_0xdd72('0x18')]={};this[_0xdd72('0x19')]={};this[_0xdd72('0x1a')]={};this[_0xdd72('0x1b')]={};this['sugarcrmAccounts']={};this[_0xdd72('0x1c')]={};this[_0xdd72('0x1d')]={};this[_0xdd72('0x1e')]={};this[_0xdd72('0x1f')]={};this[_0xdd72('0x20')]={};this[_0xdd72('0x21')]={};this[_0xdd72('0x22')]={};this[_0xdd72('0x23')]={};};function freeIsNotKey(_0x2f54c3,_0x3725be,_0x4494e4){var _0x50ded4=_[_0xdd72('0x24')](_0x2f54c3,function(_0x14bbeb,_0x18368f){return _0x14bbeb[_0x4494e4];});for(var _0x165348 in _0x3725be){if(_0x3725be[_0xdd72('0x25')](_0x165348)){if(!_0x50ded4[_0x165348]){delete _0x3725be[_0x165348];}}}}function freeIsNotKeySip(_0x3e4e2d,_0x16776c){var _0x30cfd5=_[_0xdd72('0x24')](_0x3e4e2d,function(_0x27c990,_0x57121d){return util[_0xdd72('0x26')](_0xdd72('0x27'),_0x27c990[_0xdd72('0x28')]);});for(var _0x18f9f9 in _0x16776c){if(_0x16776c[_0xdd72('0x25')](_0x18f9f9)){if(!_0x30cfd5[_0x18f9f9]){delete _0x16776c[_0x18f9f9];}}}}function freeIsNotKeyAgent(_0x5ddf53,_0x25f8de){var _0x221ab5=_[_0xdd72('0x24')](_0x5ddf53,function(_0xbddc67,_0x3fb2a0){var _0x2d2a9d=_[_0xdd72('0x29')](_0xbddc67[_0xdd72('0x2a')])?util['format'](_0xdd72('0x27'),_0xbddc67[_0xdd72('0x28')]):_0xbddc67[_0xdd72('0x2a')];return _0x2d2a9d;});for(var _0x365093 in _0x25f8de){if(_0x25f8de[_0xdd72('0x25')](_0x365093)){if(!_0x221ab5[_0x365093]){delete _0x25f8de[_0x365093];}}}}function clearVoiceCallReports(_0x25ea23){_0x25ea23[_0xdd72('0x2b')]=0x0;_0x25ea23[_0xdd72('0x2c')]=0x0;_0x25ea23[_0xdd72('0x2d')]=0x0;_0x25ea23[_0xdd72('0x2e')]=0x0;_0x25ea23[_0xdd72('0x2f')]=0x0;}function clearCampaigns(_0x295e65){if(!_['isEmpty'](_0x295e65)){for(var _0xc0d6b0 in _0x295e65){if(_0x295e65[_0xdd72('0x25')](_0xc0d6b0)){_0x295e65[_0xc0d6b0]['ivrTotalCallsDays']=0x0;_0x295e65[_0xc0d6b0][_0xdd72('0x30')]=0x0;}}}}function clearVoiceQueues(_0x41d356){if(!_[_0xdd72('0x31')](_0x41d356)){for(var _0x1e5db2 in _0x41d356){if(_0x41d356[_0xdd72('0x25')](_0x1e5db2)){_0x41d356[_0x1e5db2]['total']=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x2c')]=0x0;_0x41d356[_0x1e5db2]['unmanaged']=0x0;_0x41d356[_0x1e5db2]['abandoned']=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x2d')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x2e')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x2f')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x32')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x33')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x34')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x35')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x36')]=0x0;_0x41d356[_0x1e5db2]['outboundUnknownCallsDay']=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x37')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x38')]=0x0;_0x41d356[_0x1e5db2]['outboundBlacklistCallsDay']=0x0;_0x41d356[_0x1e5db2]['outboundOriginateFailureCallsDay']=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x39')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x3a')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x32')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x3b')]=0x0;_0x41d356[_0x1e5db2][_0xdd72('0x3c')]=!![];}}}}Realtime[_0xdd72('0x3d')][_0xdd72('0x3e')]=function(_0x7615aa,_0x3a3eb1){for(var _0x2b6e8c in _0x3a3eb1){if(_0x7615aa['hasOwnProperty'](_0x2b6e8c)){_0x7615aa[_0x2b6e8c]=_0x3a3eb1[_0x2b6e8c];}}};Realtime['prototype'][_0xdd72('0x3f')]=function(){var _0x1027ff=this;return function(_0x3d825b){if(_0x3d825b){freeIsNotKeyAgent(_0x3d825b,_0x1027ff[_0xdd72('0xe')]);for(var _0x6bbdba=0x0,_0x4e60bc={},_0x5ad934={};_0x6bbdba<_0x3d825b['length'];_0x6bbdba+=0x1){_0x4e60bc=_0x3d825b[_0x6bbdba];var _0x456fb0=_[_0xdd72('0x29')](_0x4e60bc['interface'])?util[_0xdd72('0x26')](_0xdd72('0x27'),_0x4e60bc[_0xdd72('0x28')]):_0x4e60bc[_0xdd72('0x2a')];if(_[_0xdd72('0x40')](_0x1027ff[_0xdd72('0xe')][_0x456fb0])){_0x1027ff[_0xdd72('0xe')][_0x456fb0]=new Agent(_0x4e60bc);}else{_0x1027ff[_0xdd72('0x3e')](_0x1027ff[_0xdd72('0xe')][_0x456fb0],_0x4e60bc);}}}return _0x1027ff[_0xdd72('0xe')];};};Realtime[_0xdd72('0x3d')]['initTelephones']=function(){var _0x10611d=this;return function(_0x182948){if(_0x182948){freeIsNotKeySip(_0x182948,_0x10611d[_0xdd72('0xf')]);for(var _0x120e63=0x0,_0x3fa464={},_0x222af6={};_0x120e63<_0x182948[_0xdd72('0x41')];_0x120e63+=0x1){_0x3fa464=_0x182948[_0x120e63];if(_[_0xdd72('0x40')](_0x10611d[_0xdd72('0xf')][util[_0xdd72('0x26')]('SIP/%s',_0x3fa464[_0xdd72('0x28')])])){_0x10611d[_0xdd72('0xf')][util['format']('SIP/%s',_0x3fa464[_0xdd72('0x28')])]=new Telephone(_0x3fa464);}else{_0x10611d['mergeFromDatabase'](_0x10611d[_0xdd72('0xf')][util[_0xdd72('0x26')](_0xdd72('0x27'),_0x3fa464[_0xdd72('0x28')])],_0x3fa464);}}}return _0x10611d[_0xdd72('0xf')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x42')]=function(){var _0x45c9f2=this;return function(_0x5cd68a){if(_0x5cd68a){freeIsNotKeySip(_0x5cd68a,_0x45c9f2[_0xdd72('0x10')]);for(var _0x5929bc=0x0,_0x30b1a7={},_0x61b1a5={};_0x5929bc<_0x5cd68a[_0xdd72('0x41')];_0x5929bc+=0x1){_0x30b1a7=_0x5cd68a[_0x5929bc];if(_['isUndefined'](_0x45c9f2[_0xdd72('0x10')][util[_0xdd72('0x26')](_0xdd72('0x27'),_0x30b1a7[_0xdd72('0x28')])])){_0x45c9f2[_0xdd72('0x10')][util[_0xdd72('0x26')](_0xdd72('0x27'),_0x30b1a7[_0xdd72('0x28')])]=new Trunk(_0x30b1a7);}else{_0x45c9f2['mergeFromDatabase'](_0x45c9f2[_0xdd72('0x10')][util[_0xdd72('0x26')](_0xdd72('0x27'),_0x30b1a7['name'])],_0x30b1a7);}}}return _0x45c9f2[_0xdd72('0x10')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x43')]=function(){var _0x5b99cb=this;return function(_0x2ac397){if(_0x2ac397){freeIsNotKey(_0x2ac397,_0x5b99cb['voiceQueues'],'name');for(var _0x3bb0e0=0x0,_0x199c12={},_0x912cb5={};_0x3bb0e0<_0x2ac397[_0xdd72('0x41')];_0x3bb0e0+=0x1){_0x199c12=_0x2ac397[_0x3bb0e0];if(_[_0xdd72('0x40')](_0x5b99cb['voiceQueues'][_0x199c12['name']])){_0x5b99cb[_0xdd72('0x11')][_0x199c12['name']]=new VoiceQueue(_0x199c12);}else{_0x5b99cb[_0xdd72('0x3e')](_0x5b99cb[_0xdd72('0x11')][_0x199c12[_0xdd72('0x28')]],_0x199c12);}}}return _0x5b99cb['voiceQueues'];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x44')]=function(){var _0x545b5c=this;return function(_0x49dfef){if(_0x49dfef){freeIsNotKey(_0x49dfef,_0x545b5c[_0xdd72('0x12')],'id');for(var _0x36e3fb=0x0,_0xce6d71={},_0x545b45={};_0x36e3fb<_0x49dfef[_0xdd72('0x41')];_0x36e3fb+=0x1){_0xce6d71=_0x49dfef[_0x36e3fb];if(_[_0xdd72('0x40')](_0x545b5c[_0xdd72('0x12')][_0xce6d71['id']])){_0x545b5c['triggers'][_0xce6d71['id']]=new Trigger(_0xce6d71);}else{_0x545b5c[_0xdd72('0x3e')](_0x545b5c[_0xdd72('0x12')][_0xce6d71['id']],_0xce6d71);}}}return _0x545b5c[_0xdd72('0x12')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x45')]=function(){var _0x11b3fa=this;return function(_0x5a63ca){if(_0x5a63ca){freeIsNotKey(_0x5a63ca,_0x11b3fa[_0xdd72('0x14')],'id');for(var _0x7d95a3=0x0,_0x1e6bd0={},_0x262afc={};_0x7d95a3<_0x5a63ca[_0xdd72('0x41')];_0x7d95a3+=0x1){_0x1e6bd0=_0x5a63ca[_0x7d95a3];if(_[_0xdd72('0x40')](_0x11b3fa[_0xdd72('0x14')][_0x1e6bd0['id']])){_0x11b3fa[_0xdd72('0x14')][_0x1e6bd0['id']]=new Template(_0x1e6bd0);}else{_0x11b3fa['mergeFromDatabase'](_0x11b3fa[_0xdd72('0x14')][_0x1e6bd0['id']],_0x1e6bd0);}}}return _0x11b3fa[_0xdd72('0x14')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x46')]=function(){var _0x3020bd=this;return function(_0x712b27){if(_0x712b27){freeIsNotKey(_0x712b27,_0x3020bd[_0xdd72('0x1a')],'id');for(var _0x463a43=0x0,_0x2fdf42={},_0x4a676f={};_0x463a43<_0x712b27[_0xdd72('0x41')];_0x463a43+=0x1){_0x2fdf42=_0x712b27[_0x463a43];if(_['isUndefined'](_0x3020bd[_0xdd72('0x1a')][_0x2fdf42['id']])){_0x3020bd[_0xdd72('0x1a')][_0x2fdf42['id']]=new ZendeskAccount(_0x2fdf42);}else{_0x3020bd[_0xdd72('0x3e')](_0x3020bd[_0xdd72('0x1a')][_0x2fdf42['id']],_0x2fdf42);}}}return _0x3020bd[_0xdd72('0x1a')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x47')]=function(){var _0x3300b1=this;return function(_0x549c00){if(_0x549c00){freeIsNotKey(_0x549c00,_0x3300b1['salesforceAccounts'],'id');for(var _0x16c28a=0x0,_0x280034={},_0x5e8445={};_0x16c28a<_0x549c00[_0xdd72('0x41')];_0x16c28a+=0x1){_0x280034=_0x549c00[_0x16c28a];if(_[_0xdd72('0x40')](_0x3300b1[_0xdd72('0x1b')][_0x280034['id']])){_0x3300b1[_0xdd72('0x1b')][_0x280034['id']]=new SalesforceAccount(_0x280034);}else{_0x3300b1[_0xdd72('0x3e')](_0x3300b1[_0xdd72('0x1b')][_0x280034['id']],_0x280034);}}}return _0x3300b1['salesforceAccounts'];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x48')]=function(){var _0x1e9697=this;return function(_0x578415){if(_0x578415){freeIsNotKey(_0x578415,_0x1e9697[_0xdd72('0x1c')],'id');for(var _0x4a4548=0x0,_0x2a76c6={},_0x450195={};_0x4a4548<_0x578415[_0xdd72('0x41')];_0x4a4548+=0x1){_0x2a76c6=_0x578415[_0x4a4548];if(_[_0xdd72('0x40')](_0x1e9697[_0xdd72('0x1c')][_0x2a76c6['id']])){_0x1e9697[_0xdd72('0x1c')][_0x2a76c6['id']]=new FreshdeskAccount(_0x2a76c6);}else{_0x1e9697['mergeFromDatabase'](_0x1e9697[_0xdd72('0x1c')][_0x2a76c6['id']],_0x2a76c6);}}}return _0x1e9697[_0xdd72('0x1c')];};};Realtime['prototype'][_0xdd72('0x49')]=function(){var _0x30dd0d=this;return function(_0x53ac9f){if(_0x53ac9f){freeIsNotKey(_0x53ac9f,_0x30dd0d['zohoAccounts'],'id');for(var _0x573d1e=0x0,_0x4a49d7={},_0x3dec32={};_0x573d1e<_0x53ac9f[_0xdd72('0x41')];_0x573d1e+=0x1){_0x4a49d7=_0x53ac9f[_0x573d1e];if(_[_0xdd72('0x40')](_0x30dd0d[_0xdd72('0x1d')][_0x4a49d7['id']])){_0x30dd0d[_0xdd72('0x1d')][_0x4a49d7['id']]=new ZohoAccount(_0x4a49d7);}else{_0x30dd0d[_0xdd72('0x3e')](_0x30dd0d[_0xdd72('0x1d')][_0x4a49d7['id']],_0x4a49d7);}}}return _0x30dd0d[_0xdd72('0x1d')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x4a')]=function(){var _0x5822f7=this;return function(_0x1dcb81){if(_0x1dcb81){freeIsNotKey(_0x1dcb81,_0x5822f7['deskAccounts'],'id');for(var _0x4c0438=0x0,_0x193932={},_0x1159d5={};_0x4c0438<_0x1dcb81[_0xdd72('0x41')];_0x4c0438+=0x1){_0x193932=_0x1dcb81[_0x4c0438];if(_['isUndefined'](_0x5822f7['deskAccounts'][_0x193932['id']])){_0x5822f7[_0xdd72('0x1e')][_0x193932['id']]=new DeskAccount(_0x193932);}else{_0x5822f7[_0xdd72('0x3e')](_0x5822f7[_0xdd72('0x1e')][_0x193932['id']],_0x193932);}}}return _0x5822f7[_0xdd72('0x1e')];};};Realtime[_0xdd72('0x3d')]['initSugarcrmAccounts']=function(){var _0x54a48f=this;return function(_0x74f64f){if(_0x74f64f){freeIsNotKey(_0x74f64f,_0x54a48f[_0xdd72('0x4b')],'id');for(var _0x43f1e8=0x0,_0x33da07={},_0x35a705={};_0x43f1e8<_0x74f64f[_0xdd72('0x41')];_0x43f1e8+=0x1){_0x33da07=_0x74f64f[_0x43f1e8];if(_[_0xdd72('0x40')](_0x54a48f['sugarcrmAccounts'][_0x33da07['id']])){_0x54a48f['sugarcrmAccounts'][_0x33da07['id']]=new SugarcrmAccount(_0x33da07);}else{_0x54a48f[_0xdd72('0x3e')](_0x54a48f[_0xdd72('0x4b')][_0x33da07['id']],_0x33da07);}}}return _0x54a48f[_0xdd72('0x4b')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x4c')]=function(){var _0x277a78=this;return function(_0x427290){if(_0x427290){freeIsNotKey(_0x427290,_0x277a78[_0xdd72('0x1f')],'id');for(var _0x19fd93=0x0,_0x2e15ff={},_0x5b5e4f={};_0x19fd93<_0x427290[_0xdd72('0x41')];_0x19fd93+=0x1){_0x2e15ff=_0x427290[_0x19fd93];if(_[_0xdd72('0x40')](_0x277a78['vtigerAccounts'][_0x2e15ff['id']])){_0x277a78[_0xdd72('0x1f')][_0x2e15ff['id']]=new VtigerAccount(_0x2e15ff);}else{_0x277a78[_0xdd72('0x3e')](_0x277a78[_0xdd72('0x1f')][_0x2e15ff['id']],_0x2e15ff);}}}return _0x277a78[_0xdd72('0x1f')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x4d')]=function(){var _0x211000=this;return function(_0x313040){if(_0x313040){freeIsNotKey(_0x313040,_0x211000[_0xdd72('0x20')],'id');for(var _0x2f8279=0x0,_0x53c816={},_0x4242f5={};_0x2f8279<_0x313040[_0xdd72('0x41')];_0x2f8279+=0x1){_0x53c816=_0x313040[_0x2f8279];if(_['isUndefined'](_0x211000[_0xdd72('0x20')][_0x53c816['id']])){_0x211000[_0xdd72('0x20')][_0x53c816['id']]=new ServicenowAccount(_0x53c816);}else{_0x211000[_0xdd72('0x3e')](_0x211000['servicenowAccounts'][_0x53c816['id']],_0x53c816);}}}return _0x211000[_0xdd72('0x20')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x4e')]=function(){var _0x3a4725=this;return function(_0xc2f281){if(_0xc2f281){freeIsNotKey(_0xc2f281,_0x3a4725[_0xdd72('0x21')],'id');for(var _0x3a6345=0x0,_0x5b3200={},_0xddf980={};_0x3a6345<_0xc2f281[_0xdd72('0x41')];_0x3a6345+=0x1){_0x5b3200=_0xc2f281[_0x3a6345];if(_[_0xdd72('0x40')](_0x3a4725[_0xdd72('0x21')][_0x5b3200['id']])){_0x3a4725[_0xdd72('0x21')][_0x5b3200['id']]=new Dynamics365Account(_0x5b3200);}else{_0x3a4725['mergeFromDatabase'](_0x3a4725['dynamics365Accounts'][_0x5b3200['id']],_0x5b3200);}}}return _0x3a4725[_0xdd72('0x21')];};};Realtime['prototype'][_0xdd72('0x4f')]=function(){var _0x1fd2f2=this;return function(_0x3c2948){if(_0x3c2948){freeIsNotKey(_0x3c2948,_0x1fd2f2[_0xdd72('0x22')],'id');for(var _0x1fc970=0x0,_0x3a8430={},_0x1657d9={};_0x1fc970<_0x3c2948[_0xdd72('0x41')];_0x1fc970+=0x1){_0x3a8430=_0x3c2948[_0x1fc970];if(_['isUndefined'](_0x1fd2f2['freshsalesAccounts'][_0x3a8430['id']])){_0x1fd2f2['freshsalesAccounts'][_0x3a8430['id']]=new FreshsalesAccount(_0x3a8430);}else{_0x1fd2f2[_0xdd72('0x3e')](_0x1fd2f2[_0xdd72('0x22')][_0x3a8430['id']],_0x3a8430);}}}return _0x1fd2f2[_0xdd72('0x22')];};};Realtime['prototype'][_0xdd72('0x50')]=function(){var _0x12dad5=this;return function(_0x50b442){for(var _0x6446f8=0x0;_0x6446f8<_0x50b442['length'];_0x6446f8+=0x1){_['merge'](_0x12dad5[_0xdd72('0x11')][_0x50b442[_0x6446f8]['name']],_0x50b442[_0x6446f8]);}return _0x12dad5[_0xdd72('0x11')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x51')]=function(){var _0x390366=this;return function(_0x52c4c6){clearVoiceQueues(_0x390366[_0xdd72('0x11')]);if(_0x52c4c6){_0x52c4c6=_[_0xdd72('0x52')](_0x52c4c6,'uniqueid');for(var _0x37b447 in _0x52c4c6){if(_0x52c4c6['hasOwnProperty'](_0x37b447)){var _0x3af2b2={};for(var _0x540935=0x0;_0x540935<_0x52c4c6[_0x37b447][_0xdd72('0x41')];_0x540935+=0x1){var _0x1d0889=_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x53')];if(_0x390366[_0xdd72('0x11')][_0x1d0889]){if(_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x54')]){_0x390366['voiceQueues'][_0x1d0889][_0xdd72('0x55')]+=0x1;}if(_0x52c4c6[_0x37b447][_0x540935]['queuecallerabandon']){_0x390366[_0xdd72('0x11')][_0x1d0889][_0xdd72('0x56')]+=0x1;}_0x390366[_0xdd72('0x11')][_0x1d0889][_0xdd72('0x2d')]+=moment(_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x57')])[_0xdd72('0x58')](moment(_0x52c4c6[_0x37b447][_0x540935]['queuecallerjoinAt']),_0xdd72('0x59'))||0x0;if(_0x540935===_0x52c4c6[_0x37b447][_0xdd72('0x41')]-0x1){_0x390366[_0xdd72('0x11')][_0x1d0889][_0xdd72('0x2e')]+=moment(_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x5a')]||_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x5b')]||_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x5c')])[_0xdd72('0x58')](moment(_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x5d')]),'seconds')||0x0;_0x390366[_0xdd72('0x11')][_0x1d0889][_0xdd72('0x2b')]+=0x1;if(_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x5e')]){_0x390366[_0xdd72('0x11')][_0x1d0889][_0xdd72('0x2c')]+=0x1;_0x390366['voiceQueues'][_0x1d0889][_0xdd72('0x2f')]+=moment(_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x5a')])['diff'](moment(_0x52c4c6[_0x37b447][_0x540935][_0xdd72('0x57')]),'seconds')||0x0;}}else{_0x390366[_0xdd72('0x11')][_0x1d0889][_0xdd72('0x2e')]+=_0x390366[_0xdd72('0x11')][_0x1d0889][_0xdd72('0x2d')]||0x0;}}}}}}return _0x390366[_0xdd72('0x11')];};};Realtime['prototype'][_0xdd72('0x5f')]=function(){var _0x52bd58=this;return function(_0x595964){clearVoiceCallReports(_0x52bd58[_0xdd72('0x15')]);if(_0x595964){for(var _0x2eb23a=0x0;_0x2eb23a<_0x595964['length'];_0x2eb23a+=0x1){_0x52bd58['outbound'][_0xdd72('0x2b')]+=0x1;_0x52bd58[_0xdd72('0x15')]['sumDuration']+=_0x595964[_0x2eb23a][_0xdd72('0x60')];if(_0x595964[_0x2eb23a][_0xdd72('0x61')]===_0xdd72('0x62')){_0x52bd58[_0xdd72('0x15')]['answered']+=0x1;_0x52bd58[_0xdd72('0x15')][_0xdd72('0x2d')]+=_0x595964[_0x2eb23a][_0xdd72('0x60')]-_0x595964[_0x2eb23a][_0xdd72('0x63')]||0x0;_0x52bd58[_0xdd72('0x15')][_0xdd72('0x2f')]+=_0x595964[_0x2eb23a][_0xdd72('0x63')];}}}return _0x52bd58[_0xdd72('0x15')];};};Realtime['prototype']['initCampaigns']=function(){var _0x18bb10=this;return function(_0x4522e9){if(_0x4522e9){freeIsNotKey(_0x4522e9,_0x18bb10[_0xdd72('0x13')],_0xdd72('0x28'));for(var _0x369ad6=0x0,_0x2d6364={};_0x369ad6<_0x4522e9['length'];_0x369ad6+=0x1){_0x2d6364=_0x4522e9[_0x369ad6];if(_[_0xdd72('0x40')](_0x18bb10[_0xdd72('0x13')][_0x2d6364['name']])){_0x18bb10[_0xdd72('0x13')][_0x2d6364[_0xdd72('0x28')]]=new Campaign(_0x2d6364);}else{_0x18bb10['mergeFromDatabase'](_0x18bb10[_0xdd72('0x13')][_0x2d6364[_0xdd72('0x28')]],_0x2d6364);_0x18bb10[_0xdd72('0x13')][_0x2d6364[_0xdd72('0x28')]]['dialQueueProject']=_0x2d6364[_0xdd72('0x64')]?_0x2d6364['SquareProject']['name']:undefined;}}}return _0x18bb10['campaigns'];};};Realtime['prototype'][_0xdd72('0x65')]=function(){var _0x26eeca=this;return function(_0x21606c){if(_0x21606c){freeIsNotKey(_0x21606c,_0x26eeca[_0xdd72('0x66')],'id');for(var _0x7bf15=0x0,_0x5ef365={};_0x7bf15<_0x21606c[_0xdd72('0x41')];_0x7bf15+=0x1){_0x5ef365=_0x21606c[_0x7bf15];if(_[_0xdd72('0x40')](_0x26eeca[_0xdd72('0x66')][_0x5ef365['id']])){_0x26eeca[_0xdd72('0x66')][_0x5ef365['id']]=new VoiceExtension(_0x5ef365);}else{_0x26eeca[_0xdd72('0x3e')](_0x26eeca['voiceExtensions'][_0x5ef365['id']],_0x5ef365);}}}return _0x26eeca[_0xdd72('0x66')];};};Realtime[_0xdd72('0x3d')][_0xdd72('0x67')]=function(){var _0xbd44b6=this;return function(_0x1b6f4a){clearCampaigns(_0xbd44b6['campaigns']);for(var _0x49fb33=0x0;_0x49fb33<_0x1b6f4a[_0xdd72('0x41')];_0x49fb33+=0x1){_[_0xdd72('0x68')](_0xbd44b6[_0xdd72('0x13')][_0x1b6f4a[_0x49fb33]['name']],_0x1b6f4a[_0x49fb33]);}return _0xbd44b6[_0xdd72('0x13')];};};Realtime['prototype'][_0xdd72('0x69')]=function(){var _0x25b36e=this;return function(_0x425698){if(_0x425698){freeIsNotKey(_0x425698,_0x25b36e['faxAccounts'],'id');for(var _0x3dac58=0x0,_0x3b12c3={},_0x77690={};_0x3dac58<_0x425698[_0xdd72('0x41')];_0x3dac58+=0x1){_0x3b12c3=_0x425698[_0x3dac58];if(_[_0xdd72('0x40')](_0x25b36e[_0xdd72('0x23')][_0x3b12c3['id']])){_0x25b36e[_0xdd72('0x23')][_0x3b12c3['id']]=new FaxAccount(_0x3b12c3);}else{_0x25b36e[_0xdd72('0x3e')](_0x25b36e[_0xdd72('0x23')][_0x3b12c3['id']],_0x3b12c3);}}}return _0x25b36e[_0xdd72('0x23')];};};module[_0xdd72('0x6a')]=Realtime;