af69ca977557ce13da744d68d0344f7b304b91fd
[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 _0xdec7=['../model/dynamics365Account','../model/faxAccount','agents','telephones','trunks','triggers','campaigns','templates','outbound','voiceExtensions','channels','queueChannels','outboundChannels','timers','zendeskAccounts','salesforceAccounts','freshdeskAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','SIP/%s','name','isNil','interface','total','sumDuration','ivrAnswerCallsDay','isEmpty','unmanaged','sumHoldTime','sumBillable','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','format','isUndefined','initTelephones','length','initTrunks','initVoiceQueues','voiceQueues','initTriggers','initTemplates','initZendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','initZohoAccounts','initSugarcrmAccounts','sugarcrmAccounts','initServicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','abandoned','queuecallerleaveAt','diff','seconds','queuecallerjoinAt','queuecallercomplete','answered','initVoiceCallReports','disposition','ANSWERED','duration','billableseconds','initCampaigns','initVoiceExtensions','merge','initFaxAccounts','exports','bluebird','util','../model/agent','../model/telephone','../model/trunk','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/zohoAccount','../model/deskAccount'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xdec7,0x129));var _0x7dec=function(_0x2419f5,_0x5babca){_0x2419f5=_0x2419f5-0x0;var _0x2d9bd3=_0xdec7[_0x2419f5];return _0x2d9bd3;};'use strict';var BPromise=require(_0x7dec('0x0'));var util=require(_0x7dec('0x1'));var _=require('lodash');var moment=require('moment');var Agent=require(_0x7dec('0x2'));var Telephone=require(_0x7dec('0x3'));var Trunk=require(_0x7dec('0x4'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require('../model/trigger');var Template=require(_0x7dec('0x5'));var Campaign=require(_0x7dec('0x6'));var VoiceExtension=require(_0x7dec('0x7'));var ZendeskAccount=require(_0x7dec('0x8'));var SalesforceAccount=require(_0x7dec('0x9'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require('../model/sugarcrmAccount');var ZohoAccount=require(_0x7dec('0xa'));var DeskAccount=require(_0x7dec('0xb'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x7dec('0xc'));var FreshsalesAccount=require('../model/freshsalesAccount');var FaxAccount=require(_0x7dec('0xd'));var Realtime=function(){this[_0x7dec('0xe')]={};this[_0x7dec('0xf')]={};this[_0x7dec('0x10')]={};this['voiceQueues']={};this[_0x7dec('0x11')]={};this[_0x7dec('0x12')]={};this[_0x7dec('0x13')]={};this[_0x7dec('0x14')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x7dec('0x15')]={};this[_0x7dec('0x16')]={};this[_0x7dec('0x17')]={};this[_0x7dec('0x18')]={};this[_0x7dec('0x19')]={};this[_0x7dec('0x1a')]={};this[_0x7dec('0x1b')]={};this['sugarcrmAccounts']={};this[_0x7dec('0x1c')]={};this[_0x7dec('0x1d')]={};this[_0x7dec('0x1e')]={};this[_0x7dec('0x1f')]={};this[_0x7dec('0x20')]={};this[_0x7dec('0x21')]={};this[_0x7dec('0x22')]={};this[_0x7dec('0x23')]={};};function freeIsNotKey(_0x17ac25,_0x80414d,_0x38f022){var _0xb188af=_[_0x7dec('0x24')](_0x17ac25,function(_0x12c481,_0x43f2db){return _0x12c481[_0x38f022];});for(var _0x249a86 in _0x80414d){if(_0x80414d[_0x7dec('0x25')](_0x249a86)){if(!_0xb188af[_0x249a86]){delete _0x80414d[_0x249a86];}}}}function freeIsNotKeySip(_0x7cbfd7,_0x464a04){var _0x370706=_[_0x7dec('0x24')](_0x7cbfd7,function(_0x1f3584,_0x331903){return util['format'](_0x7dec('0x26'),_0x1f3584[_0x7dec('0x27')]);});for(var _0x55ce20 in _0x464a04){if(_0x464a04[_0x7dec('0x25')](_0x55ce20)){if(!_0x370706[_0x55ce20]){delete _0x464a04[_0x55ce20];}}}}function freeIsNotKeyAgent(_0x362b93,_0x500be5){var _0x26a5f0=_[_0x7dec('0x24')](_0x362b93,function(_0x16450a,_0xc485b9){var _0x5a430b=_[_0x7dec('0x28')](_0x16450a[_0x7dec('0x29')])?util['format']('SIP/%s',_0x16450a[_0x7dec('0x27')]):_0x16450a[_0x7dec('0x29')];return _0x5a430b;});for(var _0x3b64e2 in _0x500be5){if(_0x500be5[_0x7dec('0x25')](_0x3b64e2)){if(!_0x26a5f0[_0x3b64e2]){delete _0x500be5[_0x3b64e2];}}}}function clearVoiceCallReports(_0x247c5b){_0x247c5b[_0x7dec('0x2a')]=0x0;_0x247c5b['answered']=0x0;_0x247c5b['sumHoldTime']=0x0;_0x247c5b[_0x7dec('0x2b')]=0x0;_0x247c5b['sumBillable']=0x0;}function clearCampaigns(_0x1ae3ef){if(!_['isEmpty'](_0x1ae3ef)){for(var _0x4b8bd3 in _0x1ae3ef){if(_0x1ae3ef[_0x7dec('0x25')](_0x4b8bd3)){_0x1ae3ef[_0x4b8bd3]['ivrTotalCallsDays']=0x0;_0x1ae3ef[_0x4b8bd3][_0x7dec('0x2c')]=0x0;}}}}function clearVoiceQueues(_0x3c8ed7){if(!_[_0x7dec('0x2d')](_0x3c8ed7)){for(var _0x20a384 in _0x3c8ed7){if(_0x3c8ed7[_0x7dec('0x25')](_0x20a384)){_0x3c8ed7[_0x20a384]['total']=0x0;_0x3c8ed7[_0x20a384]['answered']=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x2e')]=0x0;_0x3c8ed7[_0x20a384]['abandoned']=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x2f')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x2b')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x30')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x31')]=0x0;_0x3c8ed7[_0x20a384]['outboundNoAnswerCallsDay']=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x32')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x33')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x34')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x35')]=0x0;_0x3c8ed7[_0x20a384]['outboundDropCallsDayTimeout']=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x36')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x37')]=0x0;_0x3c8ed7[_0x20a384]['outboundOriginateFailureCallsDay']=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x38')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x39')]=0x0;_0x3c8ed7[_0x20a384]['outboundAnswerAgiCallsDay']=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x3a')]=0x0;_0x3c8ed7[_0x20a384][_0x7dec('0x3b')]=!![];}}}}Realtime[_0x7dec('0x3c')][_0x7dec('0x3d')]=function(_0x5c40fa,_0x38f36c){for(var _0x24cb1a in _0x38f36c){if(_0x5c40fa[_0x7dec('0x25')](_0x24cb1a)){_0x5c40fa[_0x24cb1a]=_0x38f36c[_0x24cb1a];}}};Realtime[_0x7dec('0x3c')]['initAgents']=function(){var _0x26d821=this;return function(_0x82bb97){if(_0x82bb97){freeIsNotKeyAgent(_0x82bb97,_0x26d821[_0x7dec('0xe')]);for(var _0x25366d=0x0,_0x2188f2={},_0x2bb862={};_0x25366d<_0x82bb97['length'];_0x25366d+=0x1){_0x2188f2=_0x82bb97[_0x25366d];var _0x16a17f=_[_0x7dec('0x28')](_0x2188f2[_0x7dec('0x29')])?util[_0x7dec('0x3e')]('SIP/%s',_0x2188f2[_0x7dec('0x27')]):_0x2188f2[_0x7dec('0x29')];if(_[_0x7dec('0x3f')](_0x26d821[_0x7dec('0xe')][_0x16a17f])){_0x26d821[_0x7dec('0xe')][_0x16a17f]=new Agent(_0x2188f2);}else{_0x26d821[_0x7dec('0x3d')](_0x26d821[_0x7dec('0xe')][_0x16a17f],_0x2188f2);}}}return _0x26d821[_0x7dec('0xe')];};};Realtime['prototype'][_0x7dec('0x40')]=function(){var _0x451c44=this;return function(_0xff70dd){if(_0xff70dd){freeIsNotKeySip(_0xff70dd,_0x451c44[_0x7dec('0xf')]);for(var _0x440f35=0x0,_0x2424a={},_0x4d80e8={};_0x440f35<_0xff70dd[_0x7dec('0x41')];_0x440f35+=0x1){_0x2424a=_0xff70dd[_0x440f35];if(_[_0x7dec('0x3f')](_0x451c44[_0x7dec('0xf')][util['format'](_0x7dec('0x26'),_0x2424a[_0x7dec('0x27')])])){_0x451c44[_0x7dec('0xf')][util['format'](_0x7dec('0x26'),_0x2424a[_0x7dec('0x27')])]=new Telephone(_0x2424a);}else{_0x451c44['mergeFromDatabase'](_0x451c44[_0x7dec('0xf')][util[_0x7dec('0x3e')]('SIP/%s',_0x2424a[_0x7dec('0x27')])],_0x2424a);}}}return _0x451c44[_0x7dec('0xf')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x42')]=function(){var _0x491d49=this;return function(_0x2bbb86){if(_0x2bbb86){freeIsNotKeySip(_0x2bbb86,_0x491d49['trunks']);for(var _0x17ed95=0x0,_0x53e84c={},_0x31c430={};_0x17ed95<_0x2bbb86['length'];_0x17ed95+=0x1){_0x53e84c=_0x2bbb86[_0x17ed95];if(_[_0x7dec('0x3f')](_0x491d49[_0x7dec('0x10')][util['format'](_0x7dec('0x26'),_0x53e84c[_0x7dec('0x27')])])){_0x491d49['trunks'][util[_0x7dec('0x3e')](_0x7dec('0x26'),_0x53e84c[_0x7dec('0x27')])]=new Trunk(_0x53e84c);}else{_0x491d49[_0x7dec('0x3d')](_0x491d49[_0x7dec('0x10')][util[_0x7dec('0x3e')](_0x7dec('0x26'),_0x53e84c[_0x7dec('0x27')])],_0x53e84c);}}}return _0x491d49['trunks'];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x43')]=function(){var _0xb66cee=this;return function(_0x478be0){if(_0x478be0){freeIsNotKey(_0x478be0,_0xb66cee['voiceQueues'],_0x7dec('0x27'));for(var _0x148b16=0x0,_0x329d3b={},_0x358944={};_0x148b16<_0x478be0[_0x7dec('0x41')];_0x148b16+=0x1){_0x329d3b=_0x478be0[_0x148b16];if(_[_0x7dec('0x3f')](_0xb66cee[_0x7dec('0x44')][_0x329d3b[_0x7dec('0x27')]])){_0xb66cee[_0x7dec('0x44')][_0x329d3b['name']]=new VoiceQueue(_0x329d3b);}else{_0xb66cee[_0x7dec('0x3d')](_0xb66cee[_0x7dec('0x44')][_0x329d3b[_0x7dec('0x27')]],_0x329d3b);}}}return _0xb66cee[_0x7dec('0x44')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x45')]=function(){var _0x1a166a=this;return function(_0x2cb276){if(_0x2cb276){freeIsNotKey(_0x2cb276,_0x1a166a[_0x7dec('0x11')],'id');for(var _0x3ae81c=0x0,_0x554ae9={},_0x566a11={};_0x3ae81c<_0x2cb276[_0x7dec('0x41')];_0x3ae81c+=0x1){_0x554ae9=_0x2cb276[_0x3ae81c];if(_[_0x7dec('0x3f')](_0x1a166a[_0x7dec('0x11')][_0x554ae9['id']])){_0x1a166a[_0x7dec('0x11')][_0x554ae9['id']]=new Trigger(_0x554ae9);}else{_0x1a166a['mergeFromDatabase'](_0x1a166a['triggers'][_0x554ae9['id']],_0x554ae9);}}}return _0x1a166a[_0x7dec('0x11')];};};Realtime['prototype'][_0x7dec('0x46')]=function(){var _0x23c4e5=this;return function(_0x544371){if(_0x544371){freeIsNotKey(_0x544371,_0x23c4e5[_0x7dec('0x13')],'id');for(var _0x41ce62=0x0,_0x14b88b={},_0x3a705a={};_0x41ce62<_0x544371[_0x7dec('0x41')];_0x41ce62+=0x1){_0x14b88b=_0x544371[_0x41ce62];if(_[_0x7dec('0x3f')](_0x23c4e5[_0x7dec('0x13')][_0x14b88b['id']])){_0x23c4e5[_0x7dec('0x13')][_0x14b88b['id']]=new Template(_0x14b88b);}else{_0x23c4e5[_0x7dec('0x3d')](_0x23c4e5['templates'][_0x14b88b['id']],_0x14b88b);}}}return _0x23c4e5[_0x7dec('0x13')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x47')]=function(){var _0x232b6c=this;return function(_0x20a3d2){if(_0x20a3d2){freeIsNotKey(_0x20a3d2,_0x232b6c['zendeskAccounts'],'id');for(var _0x3bfb5e=0x0,_0x312001={},_0x3a97e2={};_0x3bfb5e<_0x20a3d2['length'];_0x3bfb5e+=0x1){_0x312001=_0x20a3d2[_0x3bfb5e];if(_[_0x7dec('0x3f')](_0x232b6c[_0x7dec('0x1a')][_0x312001['id']])){_0x232b6c[_0x7dec('0x1a')][_0x312001['id']]=new ZendeskAccount(_0x312001);}else{_0x232b6c[_0x7dec('0x3d')](_0x232b6c[_0x7dec('0x1a')][_0x312001['id']],_0x312001);}}}return _0x232b6c[_0x7dec('0x1a')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x48')]=function(){var _0x43e26b=this;return function(_0x4c3eee){if(_0x4c3eee){freeIsNotKey(_0x4c3eee,_0x43e26b[_0x7dec('0x1b')],'id');for(var _0x1f3089=0x0,_0x2a7d25={},_0x38bfde={};_0x1f3089<_0x4c3eee[_0x7dec('0x41')];_0x1f3089+=0x1){_0x2a7d25=_0x4c3eee[_0x1f3089];if(_['isUndefined'](_0x43e26b['salesforceAccounts'][_0x2a7d25['id']])){_0x43e26b[_0x7dec('0x1b')][_0x2a7d25['id']]=new SalesforceAccount(_0x2a7d25);}else{_0x43e26b[_0x7dec('0x3d')](_0x43e26b[_0x7dec('0x1b')][_0x2a7d25['id']],_0x2a7d25);}}}return _0x43e26b['salesforceAccounts'];};};Realtime['prototype'][_0x7dec('0x49')]=function(){var _0x118758=this;return function(_0x4dc942){if(_0x4dc942){freeIsNotKey(_0x4dc942,_0x118758[_0x7dec('0x1c')],'id');for(var _0x42fc41=0x0,_0x4621a8={},_0x327f1b={};_0x42fc41<_0x4dc942[_0x7dec('0x41')];_0x42fc41+=0x1){_0x4621a8=_0x4dc942[_0x42fc41];if(_[_0x7dec('0x3f')](_0x118758[_0x7dec('0x1c')][_0x4621a8['id']])){_0x118758[_0x7dec('0x1c')][_0x4621a8['id']]=new FreshdeskAccount(_0x4621a8);}else{_0x118758[_0x7dec('0x3d')](_0x118758[_0x7dec('0x1c')][_0x4621a8['id']],_0x4621a8);}}}return _0x118758[_0x7dec('0x1c')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x4a')]=function(){var _0x2d140b=this;return function(_0x3c216c){if(_0x3c216c){freeIsNotKey(_0x3c216c,_0x2d140b[_0x7dec('0x1d')],'id');for(var _0x342f4d=0x0,_0x258cc0={},_0x222cd6={};_0x342f4d<_0x3c216c[_0x7dec('0x41')];_0x342f4d+=0x1){_0x258cc0=_0x3c216c[_0x342f4d];if(_[_0x7dec('0x3f')](_0x2d140b[_0x7dec('0x1d')][_0x258cc0['id']])){_0x2d140b[_0x7dec('0x1d')][_0x258cc0['id']]=new ZohoAccount(_0x258cc0);}else{_0x2d140b[_0x7dec('0x3d')](_0x2d140b['zohoAccounts'][_0x258cc0['id']],_0x258cc0);}}}return _0x2d140b[_0x7dec('0x1d')];};};Realtime[_0x7dec('0x3c')]['initDeskAccounts']=function(){var _0x3d6334=this;return function(_0x180ae3){if(_0x180ae3){freeIsNotKey(_0x180ae3,_0x3d6334[_0x7dec('0x1e')],'id');for(var _0x15825b=0x0,_0x4d8b46={},_0x4a39dc={};_0x15825b<_0x180ae3[_0x7dec('0x41')];_0x15825b+=0x1){_0x4d8b46=_0x180ae3[_0x15825b];if(_[_0x7dec('0x3f')](_0x3d6334[_0x7dec('0x1e')][_0x4d8b46['id']])){_0x3d6334['deskAccounts'][_0x4d8b46['id']]=new DeskAccount(_0x4d8b46);}else{_0x3d6334[_0x7dec('0x3d')](_0x3d6334[_0x7dec('0x1e')][_0x4d8b46['id']],_0x4d8b46);}}}return _0x3d6334[_0x7dec('0x1e')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x4b')]=function(){var _0x13cbb5=this;return function(_0x596dc8){if(_0x596dc8){freeIsNotKey(_0x596dc8,_0x13cbb5[_0x7dec('0x4c')],'id');for(var _0x3d4078=0x0,_0x3ba5aa={},_0x25d523={};_0x3d4078<_0x596dc8[_0x7dec('0x41')];_0x3d4078+=0x1){_0x3ba5aa=_0x596dc8[_0x3d4078];if(_[_0x7dec('0x3f')](_0x13cbb5[_0x7dec('0x4c')][_0x3ba5aa['id']])){_0x13cbb5['sugarcrmAccounts'][_0x3ba5aa['id']]=new SugarcrmAccount(_0x3ba5aa);}else{_0x13cbb5['mergeFromDatabase'](_0x13cbb5[_0x7dec('0x4c')][_0x3ba5aa['id']],_0x3ba5aa);}}}return _0x13cbb5[_0x7dec('0x4c')];};};Realtime[_0x7dec('0x3c')]['initVtigerAccounts']=function(){var _0x1fe62f=this;return function(_0x271301){if(_0x271301){freeIsNotKey(_0x271301,_0x1fe62f[_0x7dec('0x1f')],'id');for(var _0x4be796=0x0,_0x54f9fc={},_0x192c09={};_0x4be796<_0x271301[_0x7dec('0x41')];_0x4be796+=0x1){_0x54f9fc=_0x271301[_0x4be796];if(_['isUndefined'](_0x1fe62f[_0x7dec('0x1f')][_0x54f9fc['id']])){_0x1fe62f[_0x7dec('0x1f')][_0x54f9fc['id']]=new VtigerAccount(_0x54f9fc);}else{_0x1fe62f[_0x7dec('0x3d')](_0x1fe62f[_0x7dec('0x1f')][_0x54f9fc['id']],_0x54f9fc);}}}return _0x1fe62f[_0x7dec('0x1f')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x4d')]=function(){var _0x284894=this;return function(_0x2585ed){if(_0x2585ed){freeIsNotKey(_0x2585ed,_0x284894[_0x7dec('0x20')],'id');for(var _0x27cd68=0x0,_0x2abe75={},_0x151c53={};_0x27cd68<_0x2585ed[_0x7dec('0x41')];_0x27cd68+=0x1){_0x2abe75=_0x2585ed[_0x27cd68];if(_['isUndefined'](_0x284894[_0x7dec('0x20')][_0x2abe75['id']])){_0x284894[_0x7dec('0x20')][_0x2abe75['id']]=new ServicenowAccount(_0x2abe75);}else{_0x284894['mergeFromDatabase'](_0x284894['servicenowAccounts'][_0x2abe75['id']],_0x2abe75);}}}return _0x284894[_0x7dec('0x20')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x4e')]=function(){var _0x4f4b1c=this;return function(_0x22e940){if(_0x22e940){freeIsNotKey(_0x22e940,_0x4f4b1c[_0x7dec('0x21')],'id');for(var _0xa95f15=0x0,_0x52ec74={},_0x10b007={};_0xa95f15<_0x22e940[_0x7dec('0x41')];_0xa95f15+=0x1){_0x52ec74=_0x22e940[_0xa95f15];if(_[_0x7dec('0x3f')](_0x4f4b1c[_0x7dec('0x21')][_0x52ec74['id']])){_0x4f4b1c[_0x7dec('0x21')][_0x52ec74['id']]=new Dynamics365Account(_0x52ec74);}else{_0x4f4b1c[_0x7dec('0x3d')](_0x4f4b1c[_0x7dec('0x21')][_0x52ec74['id']],_0x52ec74);}}}return _0x4f4b1c[_0x7dec('0x21')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x4f')]=function(){var _0x2699f6=this;return function(_0x19d143){if(_0x19d143){freeIsNotKey(_0x19d143,_0x2699f6[_0x7dec('0x22')],'id');for(var _0x362852=0x0,_0x205c54={},_0x29f12a={};_0x362852<_0x19d143[_0x7dec('0x41')];_0x362852+=0x1){_0x205c54=_0x19d143[_0x362852];if(_[_0x7dec('0x3f')](_0x2699f6[_0x7dec('0x22')][_0x205c54['id']])){_0x2699f6[_0x7dec('0x22')][_0x205c54['id']]=new FreshsalesAccount(_0x205c54);}else{_0x2699f6['mergeFromDatabase'](_0x2699f6['freshsalesAccounts'][_0x205c54['id']],_0x205c54);}}}return _0x2699f6[_0x7dec('0x22')];};};Realtime['prototype'][_0x7dec('0x50')]=function(){var _0x5678b2=this;return function(_0xdfd3e7){for(var _0x1542b8=0x0;_0x1542b8<_0xdfd3e7[_0x7dec('0x41')];_0x1542b8+=0x1){_['merge'](_0x5678b2[_0x7dec('0x44')][_0xdfd3e7[_0x1542b8][_0x7dec('0x27')]],_0xdfd3e7[_0x1542b8]);}return _0x5678b2[_0x7dec('0x44')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x51')]=function(){var _0x48e6df=this;return function(_0x26b0f2){clearVoiceQueues(_0x48e6df[_0x7dec('0x44')]);if(_0x26b0f2){_0x26b0f2=_[_0x7dec('0x52')](_0x26b0f2,_0x7dec('0x53'));for(var _0x55aa2e in _0x26b0f2){if(_0x26b0f2[_0x7dec('0x25')](_0x55aa2e)){var _0x371c37={};for(var _0x28e678=0x0;_0x28e678<_0x26b0f2[_0x55aa2e][_0x7dec('0x41')];_0x28e678+=0x1){var _0x532d31=_0x26b0f2[_0x55aa2e][_0x28e678][_0x7dec('0x54')];if(_0x48e6df['voiceQueues'][_0x532d31]){if(_0x26b0f2[_0x55aa2e][_0x28e678][_0x7dec('0x55')]){_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x2e')]+=0x1;}if(_0x26b0f2[_0x55aa2e][_0x28e678]['queuecallerabandon']){_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x56')]+=0x1;}_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x2f')]+=moment(_0x26b0f2[_0x55aa2e][_0x28e678][_0x7dec('0x57')])[_0x7dec('0x58')](moment(_0x26b0f2[_0x55aa2e][_0x28e678]['queuecallerjoinAt']),_0x7dec('0x59'))||0x0;if(_0x28e678===_0x26b0f2[_0x55aa2e][_0x7dec('0x41')]-0x1){_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x2b')]+=moment(_0x26b0f2[_0x55aa2e][_0x28e678]['queuecallercompleteAt']||_0x26b0f2[_0x55aa2e][_0x28e678]['queuecallerabandonAt']||_0x26b0f2[_0x55aa2e][_0x28e678]['queuecallerexitAt'])[_0x7dec('0x58')](moment(_0x26b0f2[_0x55aa2e][_0x28e678][_0x7dec('0x5a')]),_0x7dec('0x59'))||0x0;_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x2a')]+=0x1;if(_0x26b0f2[_0x55aa2e][_0x28e678][_0x7dec('0x5b')]){_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x5c')]+=0x1;_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x30')]+=moment(_0x26b0f2[_0x55aa2e][_0x28e678]['queuecallercompleteAt'])[_0x7dec('0x58')](moment(_0x26b0f2[_0x55aa2e][_0x28e678]['queuecallerleaveAt']),_0x7dec('0x59'))||0x0;}}else{_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x2b')]+=_0x48e6df[_0x7dec('0x44')][_0x532d31][_0x7dec('0x2f')]||0x0;}}}}}}return _0x48e6df[_0x7dec('0x44')];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x5d')]=function(){var _0x1b5098=this;return function(_0x409829){clearVoiceCallReports(_0x1b5098[_0x7dec('0x14')]);if(_0x409829){for(var _0x310589=0x0;_0x310589<_0x409829[_0x7dec('0x41')];_0x310589+=0x1){_0x1b5098['outbound'][_0x7dec('0x2a')]+=0x1;_0x1b5098[_0x7dec('0x14')][_0x7dec('0x2b')]+=_0x409829[_0x310589]['duration'];if(_0x409829[_0x310589][_0x7dec('0x5e')]===_0x7dec('0x5f')){_0x1b5098[_0x7dec('0x14')]['answered']+=0x1;_0x1b5098[_0x7dec('0x14')][_0x7dec('0x2f')]+=_0x409829[_0x310589][_0x7dec('0x60')]-_0x409829[_0x310589][_0x7dec('0x61')]||0x0;_0x1b5098[_0x7dec('0x14')]['sumBillable']+=_0x409829[_0x310589][_0x7dec('0x61')];}}}return _0x1b5098['outbound'];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x62')]=function(){var _0x30fedd=this;return function(_0x49be3f){if(_0x49be3f){freeIsNotKey(_0x49be3f,_0x30fedd[_0x7dec('0x12')],_0x7dec('0x27'));for(var _0x4b0a13=0x0,_0x584252={};_0x4b0a13<_0x49be3f[_0x7dec('0x41')];_0x4b0a13+=0x1){_0x584252=_0x49be3f[_0x4b0a13];if(_['isUndefined'](_0x30fedd[_0x7dec('0x12')][_0x584252[_0x7dec('0x27')]])){_0x30fedd['campaigns'][_0x584252['name']]=new Campaign(_0x584252);}else{_0x30fedd[_0x7dec('0x3d')](_0x30fedd['campaigns'][_0x584252['name']],_0x584252);}}}return _0x30fedd['campaigns'];};};Realtime[_0x7dec('0x3c')][_0x7dec('0x63')]=function(){var _0x18639e=this;return function(_0x38fa9c){if(_0x38fa9c){freeIsNotKey(_0x38fa9c,_0x18639e[_0x7dec('0x15')],'id');for(var _0x4257a8=0x0,_0x35eb3a={};_0x4257a8<_0x38fa9c[_0x7dec('0x41')];_0x4257a8+=0x1){_0x35eb3a=_0x38fa9c[_0x4257a8];if(_[_0x7dec('0x3f')](_0x18639e['voiceExtensions'][_0x35eb3a['id']])){_0x18639e[_0x7dec('0x15')][_0x35eb3a['id']]=new VoiceExtension(_0x35eb3a);}else{_0x18639e[_0x7dec('0x3d')](_0x18639e[_0x7dec('0x15')][_0x35eb3a['id']],_0x35eb3a);}}}return _0x18639e['voiceExtensions'];};};Realtime['prototype']['initCampaignHopperHistory']=function(){var _0x2de368=this;return function(_0x5a655b){clearCampaigns(_0x2de368[_0x7dec('0x12')]);for(var _0x3c6267=0x0;_0x3c6267<_0x5a655b[_0x7dec('0x41')];_0x3c6267+=0x1){_[_0x7dec('0x64')](_0x2de368[_0x7dec('0x12')][_0x5a655b[_0x3c6267][_0x7dec('0x27')]],_0x5a655b[_0x3c6267]);}return _0x2de368[_0x7dec('0x12')];};};Realtime['prototype'][_0x7dec('0x65')]=function(){var _0x466872=this;return function(_0x2cf5ca){if(_0x2cf5ca){freeIsNotKey(_0x2cf5ca,_0x466872[_0x7dec('0x23')],'id');for(var _0x33e1be=0x0,_0x2947ac={},_0x51598f={};_0x33e1be<_0x2cf5ca[_0x7dec('0x41')];_0x33e1be+=0x1){_0x2947ac=_0x2cf5ca[_0x33e1be];if(_[_0x7dec('0x3f')](_0x466872['faxAccounts'][_0x2947ac['id']])){_0x466872['faxAccounts'][_0x2947ac['id']]=new FaxAccount(_0x2947ac);}else{_0x466872[_0x7dec('0x3d')](_0x466872[_0x7dec('0x23')][_0x2947ac['id']],_0x2947ac);}}}return _0x466872[_0x7dec('0x23')];};};module[_0x7dec('0x66')]=Realtime;