Built motion from commit 753c950e.|2.5.42
[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 _0x0e94=['initZohoAccounts','initDeskAccounts','deskAccounts','initVtigerAccounts','initServicenowAccounts','servicenowAccounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','queuecallerexit','queuecallerabandon','queuecallerjoinAt','seconds','queuecallercomplete','queuecallercompleteAt','diff','queuecallerleaveAt','initVoiceCallReports','duration','ANSWERED','billableseconds','SquareProject','initVoiceExtensions','voiceExtensions','initFaxAccounts','exports','bluebird','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/zendeskAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/vtigerAccount','../model/servicenowAccount','../model/dynamics365Account','../model/freshsalesAccount','agents','telephones','trunks','voiceQueues','triggers','campaigns','templates','outbound','channels','outboundChannels','settings','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','zohoAccounts','vtigerAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','isNil','interface','name','total','sumDuration','sumBillable','ivrAnswerCallsDay','isEmpty','answered','unmanaged','sumHoldTime','outboundBusyCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','queueStatusComplete','prototype','mergeFromDatabase','length','initTelephones','isUndefined','initTrunks','initVoiceQueues','initZendeskAccounts','initSalesforceAccounts','freshdeskAccounts'];(function(_0x9923c6,_0x31d498){var _0x11f252=function(_0x289f89){while(--_0x289f89){_0x9923c6['push'](_0x9923c6['shift']());}};_0x11f252(++_0x31d498);}(_0x0e94,0x1a4));var _0x40e9=function(_0x4b369d,_0x265eb8){_0x4b369d=_0x4b369d-0x0;var _0x571a98=_0x0e94[_0x4b369d];return _0x571a98;};'use strict';var BPromise=require(_0x40e9('0x0'));var util=require('util');var _=require('lodash');var moment=require(_0x40e9('0x1'));var Agent=require(_0x40e9('0x2'));var Telephone=require(_0x40e9('0x3'));var Trunk=require(_0x40e9('0x4'));var VoiceQueue=require(_0x40e9('0x5'));var Trigger=require(_0x40e9('0x6'));var Template=require(_0x40e9('0x7'));var Campaign=require(_0x40e9('0x8'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0x40e9('0x9'));var SalesforceAccount=require('../model/salesforceAccount');var FreshdeskAccount=require(_0x40e9('0xa'));var SugarcrmAccount=require(_0x40e9('0xb'));var ZohoAccount=require(_0x40e9('0xc'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0x40e9('0xd'));var ServicenowAccount=require(_0x40e9('0xe'));var Dynamics365Account=require(_0x40e9('0xf'));var FreshsalesAccount=require(_0x40e9('0x10'));var FaxAccount=require('../model/faxAccount');var Realtime=function(){this[_0x40e9('0x11')]={};this[_0x40e9('0x12')]={};this[_0x40e9('0x13')]={};this[_0x40e9('0x14')]={};this[_0x40e9('0x15')]={};this[_0x40e9('0x16')]={};this[_0x40e9('0x17')]={};this[_0x40e9('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this['voiceExtensions']={};this[_0x40e9('0x19')]={};this['queueChannels']={};this[_0x40e9('0x1a')]={};this['timers']={};this[_0x40e9('0x1b')]={};this[_0x40e9('0x1c')]={};this[_0x40e9('0x1d')]={};this[_0x40e9('0x1e')]={};this['freshdeskAccounts']={};this[_0x40e9('0x1f')]={};this['deskAccounts']={};this[_0x40e9('0x20')]={};this['servicenowAccounts']={};this[_0x40e9('0x21')]={};this[_0x40e9('0x22')]={};this[_0x40e9('0x23')]={};};function freeIsNotKey(_0xe12260,_0x394cb2,_0x5bbba1){var _0xa6defe=_[_0x40e9('0x24')](_0xe12260,function(_0x435450,_0x27ccaf){return _0x435450[_0x5bbba1];});for(var _0x24e980 in _0x394cb2){if(_0x394cb2[_0x40e9('0x25')](_0x24e980)){if(!_0xa6defe[_0x24e980]){delete _0x394cb2[_0x24e980];}}}}function freeIsNotKeySip(_0x5c3318,_0x5f068b){var _0x442856=_['mapKeys'](_0x5c3318,function(_0x145d86,_0x155e2d){return util[_0x40e9('0x26')](_0x40e9('0x27'),_0x145d86['name']);});for(var _0x124688 in _0x5f068b){if(_0x5f068b[_0x40e9('0x25')](_0x124688)){if(!_0x442856[_0x124688]){delete _0x5f068b[_0x124688];}}}}function freeIsNotKeyAgent(_0x3e736e,_0x47c640){var _0x31c763=_[_0x40e9('0x24')](_0x3e736e,function(_0x38fadb,_0x577e04){var _0x27c313=_[_0x40e9('0x28')](_0x38fadb[_0x40e9('0x29')])?util[_0x40e9('0x26')](_0x40e9('0x27'),_0x38fadb[_0x40e9('0x2a')]):_0x38fadb['interface'];return _0x27c313;});for(var _0x1653b7 in _0x47c640){if(_0x47c640['hasOwnProperty'](_0x1653b7)){if(!_0x31c763[_0x1653b7]){delete _0x47c640[_0x1653b7];}}}}function clearVoiceCallReports(_0x30daf1){_0x30daf1[_0x40e9('0x2b')]=0x0;_0x30daf1['answered']=0x0;_0x30daf1['sumHoldTime']=0x0;_0x30daf1[_0x40e9('0x2c')]=0x0;_0x30daf1[_0x40e9('0x2d')]=0x0;}function clearCampaigns(_0x465857){if(!_['isEmpty'](_0x465857)){for(var _0x1beefb in _0x465857){if(_0x465857[_0x40e9('0x25')](_0x1beefb)){_0x465857[_0x1beefb]['ivrTotalCallsDays']=0x0;_0x465857[_0x1beefb][_0x40e9('0x2e')]=0x0;}}}}function clearVoiceQueues(_0x1c3058){if(!_[_0x40e9('0x2f')](_0x1c3058)){for(var _0xc39603 in _0x1c3058){if(_0x1c3058['hasOwnProperty'](_0xc39603)){_0x1c3058[_0xc39603][_0x40e9('0x2b')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x30')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x31')]=0x0;_0x1c3058[_0xc39603]['abandoned']=0x0;_0x1c3058[_0xc39603][_0x40e9('0x32')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x2c')]=0x0;_0x1c3058[_0xc39603]['sumBillable']=0x0;_0x1c3058[_0xc39603]['outboundAnswerAgiCallsDay']=0x0;_0x1c3058[_0xc39603]['outboundNoAnswerCallsDay']=0x0;_0x1c3058[_0xc39603][_0x40e9('0x33')]=0x0;_0x1c3058[_0xc39603]['outboundCongestionCallsDay']=0x0;_0x1c3058[_0xc39603][_0x40e9('0x34')]=0x0;_0x1c3058[_0xc39603]['outboundUnknownCallsDay']=0x0;_0x1c3058[_0xc39603]['outboundDropCallsDayTimeout']=0x0;_0x1c3058[_0xc39603][_0x40e9('0x35')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x36')]=0x0;_0x1c3058[_0xc39603]['outboundOriginateFailureCallsDay']=0x0;_0x1c3058[_0xc39603][_0x40e9('0x37')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x38')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x39')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x3a')]=0x0;_0x1c3058[_0xc39603][_0x40e9('0x3b')]=!![];}}}}Realtime[_0x40e9('0x3c')][_0x40e9('0x3d')]=function(_0x5a73b5,_0x146293){for(var _0x15259b in _0x146293){if(_0x5a73b5[_0x40e9('0x25')](_0x15259b)){_0x5a73b5[_0x15259b]=_0x146293[_0x15259b];}}};Realtime[_0x40e9('0x3c')]['initAgents']=function(){var _0x227cd=this;return function(_0x410eeb){if(_0x410eeb){freeIsNotKeyAgent(_0x410eeb,_0x227cd[_0x40e9('0x11')]);for(var _0x1529ef=0x0,_0x1e3267={},_0x5248c2={};_0x1529ef<_0x410eeb[_0x40e9('0x3e')];_0x1529ef+=0x1){_0x1e3267=_0x410eeb[_0x1529ef];var _0xb410b8=_[_0x40e9('0x28')](_0x1e3267['interface'])?util[_0x40e9('0x26')](_0x40e9('0x27'),_0x1e3267[_0x40e9('0x2a')]):_0x1e3267[_0x40e9('0x29')];if(_['isUndefined'](_0x227cd[_0x40e9('0x11')][_0xb410b8])){_0x227cd[_0x40e9('0x11')][_0xb410b8]=new Agent(_0x1e3267);}else{_0x227cd['mergeFromDatabase'](_0x227cd[_0x40e9('0x11')][_0xb410b8],_0x1e3267);}}}return _0x227cd['agents'];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x3f')]=function(){var _0x396621=this;return function(_0x3092db){if(_0x3092db){freeIsNotKeySip(_0x3092db,_0x396621['telephones']);for(var _0x2c604f=0x0,_0x4446b4={},_0x51e801={};_0x2c604f<_0x3092db[_0x40e9('0x3e')];_0x2c604f+=0x1){_0x4446b4=_0x3092db[_0x2c604f];if(_[_0x40e9('0x40')](_0x396621['telephones'][util[_0x40e9('0x26')](_0x40e9('0x27'),_0x4446b4[_0x40e9('0x2a')])])){_0x396621[_0x40e9('0x12')][util['format'](_0x40e9('0x27'),_0x4446b4[_0x40e9('0x2a')])]=new Telephone(_0x4446b4);}else{_0x396621['mergeFromDatabase'](_0x396621[_0x40e9('0x12')][util[_0x40e9('0x26')](_0x40e9('0x27'),_0x4446b4['name'])],_0x4446b4);}}}return _0x396621[_0x40e9('0x12')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x41')]=function(){var _0x2377e6=this;return function(_0x4f4549){if(_0x4f4549){freeIsNotKeySip(_0x4f4549,_0x2377e6[_0x40e9('0x13')]);for(var _0x150961=0x0,_0x36baf5={},_0x140fc6={};_0x150961<_0x4f4549[_0x40e9('0x3e')];_0x150961+=0x1){_0x36baf5=_0x4f4549[_0x150961];if(_['isUndefined'](_0x2377e6[_0x40e9('0x13')][util[_0x40e9('0x26')](_0x40e9('0x27'),_0x36baf5[_0x40e9('0x2a')])])){_0x2377e6[_0x40e9('0x13')][util[_0x40e9('0x26')](_0x40e9('0x27'),_0x36baf5['name'])]=new Trunk(_0x36baf5);}else{_0x2377e6[_0x40e9('0x3d')](_0x2377e6['trunks'][util['format'](_0x40e9('0x27'),_0x36baf5[_0x40e9('0x2a')])],_0x36baf5);}}}return _0x2377e6['trunks'];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x42')]=function(){var _0x5688ea=this;return function(_0x2a5be5){if(_0x2a5be5){freeIsNotKey(_0x2a5be5,_0x5688ea[_0x40e9('0x14')],_0x40e9('0x2a'));for(var _0xa93206=0x0,_0x3a52e8={},_0x1f29b2={};_0xa93206<_0x2a5be5[_0x40e9('0x3e')];_0xa93206+=0x1){_0x3a52e8=_0x2a5be5[_0xa93206];if(_[_0x40e9('0x40')](_0x5688ea['voiceQueues'][_0x3a52e8[_0x40e9('0x2a')]])){_0x5688ea[_0x40e9('0x14')][_0x3a52e8[_0x40e9('0x2a')]]=new VoiceQueue(_0x3a52e8);}else{_0x5688ea['mergeFromDatabase'](_0x5688ea[_0x40e9('0x14')][_0x3a52e8[_0x40e9('0x2a')]],_0x3a52e8);}}}return _0x5688ea[_0x40e9('0x14')];};};Realtime[_0x40e9('0x3c')]['initTriggers']=function(){var _0x321170=this;return function(_0x3fe151){if(_0x3fe151){freeIsNotKey(_0x3fe151,_0x321170['triggers'],'id');for(var _0x15075e=0x0,_0x2c0923={},_0x1b84bd={};_0x15075e<_0x3fe151[_0x40e9('0x3e')];_0x15075e+=0x1){_0x2c0923=_0x3fe151[_0x15075e];if(_[_0x40e9('0x40')](_0x321170[_0x40e9('0x15')][_0x2c0923['id']])){_0x321170[_0x40e9('0x15')][_0x2c0923['id']]=new Trigger(_0x2c0923);}else{_0x321170['mergeFromDatabase'](_0x321170[_0x40e9('0x15')][_0x2c0923['id']],_0x2c0923);}}}return _0x321170[_0x40e9('0x15')];};};Realtime['prototype']['initTemplates']=function(){var _0x56de3d=this;return function(_0x5b6ce4){if(_0x5b6ce4){freeIsNotKey(_0x5b6ce4,_0x56de3d[_0x40e9('0x17')],'id');for(var _0x4779bd=0x0,_0x1ea9b0={},_0xa4af87={};_0x4779bd<_0x5b6ce4[_0x40e9('0x3e')];_0x4779bd+=0x1){_0x1ea9b0=_0x5b6ce4[_0x4779bd];if(_[_0x40e9('0x40')](_0x56de3d['templates'][_0x1ea9b0['id']])){_0x56de3d[_0x40e9('0x17')][_0x1ea9b0['id']]=new Template(_0x1ea9b0);}else{_0x56de3d[_0x40e9('0x3d')](_0x56de3d['templates'][_0x1ea9b0['id']],_0x1ea9b0);}}}return _0x56de3d[_0x40e9('0x17')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x43')]=function(){var _0x89be22=this;return function(_0x45ad03){if(_0x45ad03){freeIsNotKey(_0x45ad03,_0x89be22[_0x40e9('0x1c')],'id');for(var _0x5c45e8=0x0,_0x1decbb={},_0x589ad1={};_0x5c45e8<_0x45ad03[_0x40e9('0x3e')];_0x5c45e8+=0x1){_0x1decbb=_0x45ad03[_0x5c45e8];if(_[_0x40e9('0x40')](_0x89be22[_0x40e9('0x1c')][_0x1decbb['id']])){_0x89be22['zendeskAccounts'][_0x1decbb['id']]=new ZendeskAccount(_0x1decbb);}else{_0x89be22[_0x40e9('0x3d')](_0x89be22['zendeskAccounts'][_0x1decbb['id']],_0x1decbb);}}}return _0x89be22[_0x40e9('0x1c')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x44')]=function(){var _0x2b20e4=this;return function(_0x56d90a){if(_0x56d90a){freeIsNotKey(_0x56d90a,_0x2b20e4[_0x40e9('0x1d')],'id');for(var _0x4bbea4=0x0,_0x274e8a={},_0x24e523={};_0x4bbea4<_0x56d90a[_0x40e9('0x3e')];_0x4bbea4+=0x1){_0x274e8a=_0x56d90a[_0x4bbea4];if(_[_0x40e9('0x40')](_0x2b20e4[_0x40e9('0x1d')][_0x274e8a['id']])){_0x2b20e4[_0x40e9('0x1d')][_0x274e8a['id']]=new SalesforceAccount(_0x274e8a);}else{_0x2b20e4[_0x40e9('0x3d')](_0x2b20e4[_0x40e9('0x1d')][_0x274e8a['id']],_0x274e8a);}}}return _0x2b20e4[_0x40e9('0x1d')];};};Realtime[_0x40e9('0x3c')]['initFreshdeskAccounts']=function(){var _0x48e422=this;return function(_0x343025){if(_0x343025){freeIsNotKey(_0x343025,_0x48e422[_0x40e9('0x45')],'id');for(var _0x100a62=0x0,_0x2de7b7={},_0x5a4663={};_0x100a62<_0x343025['length'];_0x100a62+=0x1){_0x2de7b7=_0x343025[_0x100a62];if(_['isUndefined'](_0x48e422[_0x40e9('0x45')][_0x2de7b7['id']])){_0x48e422[_0x40e9('0x45')][_0x2de7b7['id']]=new FreshdeskAccount(_0x2de7b7);}else{_0x48e422[_0x40e9('0x3d')](_0x48e422[_0x40e9('0x45')][_0x2de7b7['id']],_0x2de7b7);}}}return _0x48e422['freshdeskAccounts'];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x46')]=function(){var _0x13d30d=this;return function(_0x26a5dc){if(_0x26a5dc){freeIsNotKey(_0x26a5dc,_0x13d30d[_0x40e9('0x1f')],'id');for(var _0x43e20a=0x0,_0x254bb8={},_0x488313={};_0x43e20a<_0x26a5dc[_0x40e9('0x3e')];_0x43e20a+=0x1){_0x254bb8=_0x26a5dc[_0x43e20a];if(_[_0x40e9('0x40')](_0x13d30d[_0x40e9('0x1f')][_0x254bb8['id']])){_0x13d30d[_0x40e9('0x1f')][_0x254bb8['id']]=new ZohoAccount(_0x254bb8);}else{_0x13d30d['mergeFromDatabase'](_0x13d30d[_0x40e9('0x1f')][_0x254bb8['id']],_0x254bb8);}}}return _0x13d30d[_0x40e9('0x1f')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x47')]=function(){var _0xea1f0b=this;return function(_0x3190a0){if(_0x3190a0){freeIsNotKey(_0x3190a0,_0xea1f0b[_0x40e9('0x48')],'id');for(var _0x31ecd4=0x0,_0x7dfd76={},_0x16edec={};_0x31ecd4<_0x3190a0[_0x40e9('0x3e')];_0x31ecd4+=0x1){_0x7dfd76=_0x3190a0[_0x31ecd4];if(_[_0x40e9('0x40')](_0xea1f0b[_0x40e9('0x48')][_0x7dfd76['id']])){_0xea1f0b[_0x40e9('0x48')][_0x7dfd76['id']]=new DeskAccount(_0x7dfd76);}else{_0xea1f0b[_0x40e9('0x3d')](_0xea1f0b[_0x40e9('0x48')][_0x7dfd76['id']],_0x7dfd76);}}}return _0xea1f0b[_0x40e9('0x48')];};};Realtime[_0x40e9('0x3c')]['initSugarcrmAccounts']=function(){var _0x583fa3=this;return function(_0x4b7379){if(_0x4b7379){freeIsNotKey(_0x4b7379,_0x583fa3['sugarcrmAccounts'],'id');for(var _0x205bfc=0x0,_0x223354={},_0x2898f3={};_0x205bfc<_0x4b7379[_0x40e9('0x3e')];_0x205bfc+=0x1){_0x223354=_0x4b7379[_0x205bfc];if(_[_0x40e9('0x40')](_0x583fa3[_0x40e9('0x1e')][_0x223354['id']])){_0x583fa3[_0x40e9('0x1e')][_0x223354['id']]=new SugarcrmAccount(_0x223354);}else{_0x583fa3[_0x40e9('0x3d')](_0x583fa3[_0x40e9('0x1e')][_0x223354['id']],_0x223354);}}}return _0x583fa3[_0x40e9('0x1e')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x49')]=function(){var _0x18579a=this;return function(_0x109329){if(_0x109329){freeIsNotKey(_0x109329,_0x18579a['vtigerAccounts'],'id');for(var _0x50ba1d=0x0,_0x1d0e0d={},_0x24ff7b={};_0x50ba1d<_0x109329[_0x40e9('0x3e')];_0x50ba1d+=0x1){_0x1d0e0d=_0x109329[_0x50ba1d];if(_['isUndefined'](_0x18579a[_0x40e9('0x20')][_0x1d0e0d['id']])){_0x18579a['vtigerAccounts'][_0x1d0e0d['id']]=new VtigerAccount(_0x1d0e0d);}else{_0x18579a['mergeFromDatabase'](_0x18579a[_0x40e9('0x20')][_0x1d0e0d['id']],_0x1d0e0d);}}}return _0x18579a['vtigerAccounts'];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x4a')]=function(){var _0x305187=this;return function(_0x38af7f){if(_0x38af7f){freeIsNotKey(_0x38af7f,_0x305187['servicenowAccounts'],'id');for(var _0x2ea0f5=0x0,_0x55ecae={},_0x5ac131={};_0x2ea0f5<_0x38af7f[_0x40e9('0x3e')];_0x2ea0f5+=0x1){_0x55ecae=_0x38af7f[_0x2ea0f5];if(_[_0x40e9('0x40')](_0x305187[_0x40e9('0x4b')][_0x55ecae['id']])){_0x305187[_0x40e9('0x4b')][_0x55ecae['id']]=new ServicenowAccount(_0x55ecae);}else{_0x305187[_0x40e9('0x3d')](_0x305187[_0x40e9('0x4b')][_0x55ecae['id']],_0x55ecae);}}}return _0x305187[_0x40e9('0x4b')];};};Realtime[_0x40e9('0x3c')]['initDynamics365Accounts']=function(){var _0x2b18b5=this;return function(_0x1ab326){if(_0x1ab326){freeIsNotKey(_0x1ab326,_0x2b18b5[_0x40e9('0x21')],'id');for(var _0x3af418=0x0,_0x479c9f={},_0x3b54ff={};_0x3af418<_0x1ab326[_0x40e9('0x3e')];_0x3af418+=0x1){_0x479c9f=_0x1ab326[_0x3af418];if(_['isUndefined'](_0x2b18b5['dynamics365Accounts'][_0x479c9f['id']])){_0x2b18b5[_0x40e9('0x21')][_0x479c9f['id']]=new Dynamics365Account(_0x479c9f);}else{_0x2b18b5['mergeFromDatabase'](_0x2b18b5[_0x40e9('0x21')][_0x479c9f['id']],_0x479c9f);}}}return _0x2b18b5[_0x40e9('0x21')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x4c')]=function(){var _0x1910a3=this;return function(_0x2ff8b5){if(_0x2ff8b5){freeIsNotKey(_0x2ff8b5,_0x1910a3['freshsalesAccounts'],'id');for(var _0x155f07=0x0,_0x3ef530={},_0x4ac48a={};_0x155f07<_0x2ff8b5[_0x40e9('0x3e')];_0x155f07+=0x1){_0x3ef530=_0x2ff8b5[_0x155f07];if(_[_0x40e9('0x40')](_0x1910a3['freshsalesAccounts'][_0x3ef530['id']])){_0x1910a3['freshsalesAccounts'][_0x3ef530['id']]=new FreshsalesAccount(_0x3ef530);}else{_0x1910a3[_0x40e9('0x3d')](_0x1910a3['freshsalesAccounts'][_0x3ef530['id']],_0x3ef530);}}}return _0x1910a3[_0x40e9('0x22')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x4d')]=function(){var _0xcf841a=this;return function(_0x1f24ca){for(var _0xee6e0=0x0;_0xee6e0<_0x1f24ca[_0x40e9('0x3e')];_0xee6e0+=0x1){_[_0x40e9('0x4e')](_0xcf841a[_0x40e9('0x14')][_0x1f24ca[_0xee6e0][_0x40e9('0x2a')]],_0x1f24ca[_0xee6e0]);}return _0xcf841a[_0x40e9('0x14')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x4f')]=function(){var _0x26d829=this;return function(_0x2f90f5){clearVoiceQueues(_0x26d829['voiceQueues']);if(_0x2f90f5){_0x2f90f5=_[_0x40e9('0x50')](_0x2f90f5,'uniqueid');for(var _0x2b2818 in _0x2f90f5){if(_0x2f90f5[_0x40e9('0x25')](_0x2b2818)){var _0x5ec76d={};for(var _0x125405=0x0;_0x125405<_0x2f90f5[_0x2b2818][_0x40e9('0x3e')];_0x125405+=0x1){var _0x48287a=_0x2f90f5[_0x2b2818][_0x125405]['queue'];if(_0x26d829[_0x40e9('0x14')][_0x48287a]){if(_0x2f90f5[_0x2b2818][_0x125405][_0x40e9('0x51')]){_0x26d829[_0x40e9('0x14')][_0x48287a][_0x40e9('0x31')]+=0x1;}if(_0x2f90f5[_0x2b2818][_0x125405][_0x40e9('0x52')]){_0x26d829[_0x40e9('0x14')][_0x48287a]['abandoned']+=0x1;}_0x26d829[_0x40e9('0x14')][_0x48287a]['sumHoldTime']+=moment(_0x2f90f5[_0x2b2818][_0x125405]['queuecallerleaveAt'])['diff'](moment(_0x2f90f5[_0x2b2818][_0x125405][_0x40e9('0x53')]),_0x40e9('0x54'))||0x0;if(_0x125405===_0x2f90f5[_0x2b2818][_0x40e9('0x3e')]-0x1){_0x26d829[_0x40e9('0x14')][_0x48287a][_0x40e9('0x2c')]+=moment(_0x2f90f5[_0x2b2818][_0x125405]['queuecallercompleteAt']||_0x2f90f5[_0x2b2818][_0x125405]['queuecallerabandonAt']||_0x2f90f5[_0x2b2818][_0x125405]['queuecallerexitAt'])['diff'](moment(_0x2f90f5[_0x2b2818][_0x125405][_0x40e9('0x53')]),_0x40e9('0x54'))||0x0;_0x26d829['voiceQueues'][_0x48287a][_0x40e9('0x2b')]+=0x1;if(_0x2f90f5[_0x2b2818][_0x125405][_0x40e9('0x55')]){_0x26d829['voiceQueues'][_0x48287a][_0x40e9('0x30')]+=0x1;_0x26d829[_0x40e9('0x14')][_0x48287a][_0x40e9('0x2d')]+=moment(_0x2f90f5[_0x2b2818][_0x125405][_0x40e9('0x56')])[_0x40e9('0x57')](moment(_0x2f90f5[_0x2b2818][_0x125405][_0x40e9('0x58')]),_0x40e9('0x54'))||0x0;}}else{_0x26d829[_0x40e9('0x14')][_0x48287a][_0x40e9('0x2c')]+=_0x26d829[_0x40e9('0x14')][_0x48287a][_0x40e9('0x32')]||0x0;}}}}}}return _0x26d829['voiceQueues'];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x59')]=function(){var _0x503712=this;return function(_0x579b68){clearVoiceCallReports(_0x503712[_0x40e9('0x18')]);if(_0x579b68){for(var _0x5de11e=0x0;_0x5de11e<_0x579b68[_0x40e9('0x3e')];_0x5de11e+=0x1){_0x503712[_0x40e9('0x18')][_0x40e9('0x2b')]+=0x1;_0x503712[_0x40e9('0x18')][_0x40e9('0x2c')]+=_0x579b68[_0x5de11e][_0x40e9('0x5a')];if(_0x579b68[_0x5de11e]['disposition']===_0x40e9('0x5b')){_0x503712['outbound'][_0x40e9('0x30')]+=0x1;_0x503712[_0x40e9('0x18')][_0x40e9('0x32')]+=_0x579b68[_0x5de11e][_0x40e9('0x5a')]-_0x579b68[_0x5de11e][_0x40e9('0x5c')]||0x0;_0x503712[_0x40e9('0x18')][_0x40e9('0x2d')]+=_0x579b68[_0x5de11e]['billableseconds'];}}}return _0x503712[_0x40e9('0x18')];};};Realtime['prototype']['initCampaigns']=function(){var _0x4d2c0e=this;return function(_0xb4217c){if(_0xb4217c){freeIsNotKey(_0xb4217c,_0x4d2c0e['campaigns'],'name');for(var _0xce20fd=0x0,_0xefe6d3={};_0xce20fd<_0xb4217c['length'];_0xce20fd+=0x1){_0xefe6d3=_0xb4217c[_0xce20fd];if(_[_0x40e9('0x40')](_0x4d2c0e[_0x40e9('0x16')][_0xefe6d3['name']])){_0x4d2c0e[_0x40e9('0x16')][_0xefe6d3['name']]=new Campaign(_0xefe6d3);}else{_0x4d2c0e[_0x40e9('0x3d')](_0x4d2c0e[_0x40e9('0x16')][_0xefe6d3[_0x40e9('0x2a')]],_0xefe6d3);_0x4d2c0e[_0x40e9('0x16')][_0xefe6d3['name']]['dialQueueProject']=_0xefe6d3['SquareProject']?_0xefe6d3[_0x40e9('0x5d')][_0x40e9('0x2a')]:undefined;}}}return _0x4d2c0e[_0x40e9('0x16')];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x5e')]=function(){var _0x1fa67e=this;return function(_0x3cc5f7){if(_0x3cc5f7){freeIsNotKey(_0x3cc5f7,_0x1fa67e[_0x40e9('0x5f')],'id');for(var _0x262b36=0x0,_0x2cc83b={};_0x262b36<_0x3cc5f7[_0x40e9('0x3e')];_0x262b36+=0x1){_0x2cc83b=_0x3cc5f7[_0x262b36];if(_['isUndefined'](_0x1fa67e[_0x40e9('0x5f')][_0x2cc83b['id']])){_0x1fa67e[_0x40e9('0x5f')][_0x2cc83b['id']]=new VoiceExtension(_0x2cc83b);}else{_0x1fa67e[_0x40e9('0x3d')](_0x1fa67e[_0x40e9('0x5f')][_0x2cc83b['id']],_0x2cc83b);}}}return _0x1fa67e[_0x40e9('0x5f')];};};Realtime[_0x40e9('0x3c')]['initCampaignHopperHistory']=function(){var _0x19aaf9=this;return function(_0x24336d){clearCampaigns(_0x19aaf9[_0x40e9('0x16')]);for(var _0x298a06=0x0;_0x298a06<_0x24336d['length'];_0x298a06+=0x1){_[_0x40e9('0x4e')](_0x19aaf9[_0x40e9('0x16')][_0x24336d[_0x298a06][_0x40e9('0x2a')]],_0x24336d[_0x298a06]);}return _0x19aaf9['campaigns'];};};Realtime[_0x40e9('0x3c')][_0x40e9('0x60')]=function(){var _0x3a66eb=this;return function(_0x55f27e){if(_0x55f27e){freeIsNotKey(_0x55f27e,_0x3a66eb[_0x40e9('0x23')],'id');for(var _0x364095=0x0,_0x41c023={},_0x420e31={};_0x364095<_0x55f27e[_0x40e9('0x3e')];_0x364095+=0x1){_0x41c023=_0x55f27e[_0x364095];if(_['isUndefined'](_0x3a66eb[_0x40e9('0x23')][_0x41c023['id']])){_0x3a66eb['faxAccounts'][_0x41c023['id']]=new FaxAccount(_0x41c023);}else{_0x3a66eb[_0x40e9('0x3d')](_0x3a66eb[_0x40e9('0x23')][_0x41c023['id']],_0x41c023);}}}return _0x3a66eb[_0x40e9('0x23')];};};module[_0x40e9('0x61')]=Realtime;