ce3386413456bfb2d4f98fad7c93519748662012
[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 _0xe98e=['length','interface','initTelephones','initTrunks','trunks','initVoiceQueues','isUndefined','initTriggers','initTemplates','initZendeskAccounts','zendeskAccounts','initSalesforceAccounts','salesforceAccounts','initFreshdeskAccounts','zohoAccounts','initSugarcrmAccounts','sugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initDynamics365Accounts','dynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','initVoiceQueueReports','queue','queuecallerabandon','abandoned','queuecallerleaveAt','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','diff','queuecallerjoinAt','total','initVoiceCallReports','duration','billableseconds','initCampaigns','dialQueueProject','SquareProject','initVoiceExtensions','initCampaignHopperHistory','initFaxAccounts','faxAccounts','exports','lodash','moment','../model/agent','../model/telephone','../model/trunk','../model/voiceQueue','../model/template','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/vtigerAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','agents','telephones','voiceQueues','triggers','campaigns','templates','outbound','voiceExtensions','queueChannels','outboundChannels','timers','freshdeskAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','freshsalesAccounts','mapKeys','hasOwnProperty','format','SIP/%s','name','isNil','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrAnswerCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','prototype','mergeFromDatabase','initAgents'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xe98e,0x97));var _0xee98=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0xe98e[_0x432682];return _0x463d05;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0xee98('0x0'));var moment=require(_0xee98('0x1'));var Agent=require(_0xee98('0x2'));var Telephone=require(_0xee98('0x3'));var Trunk=require(_0xee98('0x4'));var VoiceQueue=require(_0xee98('0x5'));var Trigger=require('../model/trigger');var Template=require(_0xee98('0x6'));var Campaign=require('../model/campaign');var VoiceExtension=require(_0xee98('0x7'));var ZendeskAccount=require(_0xee98('0x8'));var SalesforceAccount=require(_0xee98('0x9'));var FreshdeskAccount=require(_0xee98('0xa'));var SugarcrmAccount=require(_0xee98('0xb'));var ZohoAccount=require(_0xee98('0xc'));var DeskAccount=require(_0xee98('0xd'));var VtigerAccount=require(_0xee98('0xe'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0xee98('0xf'));var FreshsalesAccount=require(_0xee98('0x10'));var FaxAccount=require(_0xee98('0x11'));var Realtime=function(){this[_0xee98('0x12')]={};this[_0xee98('0x13')]={};this['trunks']={};this[_0xee98('0x14')]={};this[_0xee98('0x15')]={};this[_0xee98('0x16')]={};this[_0xee98('0x17')]={};this[_0xee98('0x18')]={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0xee98('0x19')]={};this['channels']={};this[_0xee98('0x1a')]={};this[_0xee98('0x1b')]={};this[_0xee98('0x1c')]={};this['zendeskAccounts']={};this['salesforceAccounts']={};this['sugarcrmAccounts']={};this[_0xee98('0x1d')]={};this['zohoAccounts']={};this[_0xee98('0x1e')]={};this[_0xee98('0x1f')]={};this[_0xee98('0x20')]={};this['dynamics365Accounts']={};this[_0xee98('0x21')]={};this['faxAccounts']={};};function freeIsNotKey(_0x338d61,_0xb58001,_0x5ae871){var _0x12d305=_[_0xee98('0x22')](_0x338d61,function(_0x304879,_0x55cbe4){return _0x304879[_0x5ae871];});for(var _0x4cbb19 in _0xb58001){if(_0xb58001[_0xee98('0x23')](_0x4cbb19)){if(!_0x12d305[_0x4cbb19]){delete _0xb58001[_0x4cbb19];}}}}function freeIsNotKeySip(_0x3d3f7a,_0x28a60f){var _0x1e2b91=_[_0xee98('0x22')](_0x3d3f7a,function(_0x3c18d4,_0x32f22a){return util[_0xee98('0x24')](_0xee98('0x25'),_0x3c18d4[_0xee98('0x26')]);});for(var _0x5e93e8 in _0x28a60f){if(_0x28a60f['hasOwnProperty'](_0x5e93e8)){if(!_0x1e2b91[_0x5e93e8]){delete _0x28a60f[_0x5e93e8];}}}}function freeIsNotKeyAgent(_0x17738c,_0x1032f7){var _0x271653=_[_0xee98('0x22')](_0x17738c,function(_0x1cc0b0,_0x30509e){var _0x372979=_[_0xee98('0x27')](_0x1cc0b0['interface'])?util[_0xee98('0x24')](_0xee98('0x25'),_0x1cc0b0[_0xee98('0x26')]):_0x1cc0b0['interface'];return _0x372979;});for(var _0x5da53d in _0x1032f7){if(_0x1032f7[_0xee98('0x23')](_0x5da53d)){if(!_0x271653[_0x5da53d]){delete _0x1032f7[_0x5da53d];}}}}function clearVoiceCallReports(_0x514ea7){_0x514ea7['total']=0x0;_0x514ea7[_0xee98('0x28')]=0x0;_0x514ea7[_0xee98('0x29')]=0x0;_0x514ea7[_0xee98('0x2a')]=0x0;_0x514ea7[_0xee98('0x2b')]=0x0;}function clearCampaigns(_0x3cf048){if(!_[_0xee98('0x2c')](_0x3cf048)){for(var _0x2ca65b in _0x3cf048){if(_0x3cf048[_0xee98('0x23')](_0x2ca65b)){_0x3cf048[_0x2ca65b]['ivrTotalCallsDays']=0x0;_0x3cf048[_0x2ca65b][_0xee98('0x2d')]=0x0;}}}}function clearVoiceQueues(_0x4ce823){if(!_[_0xee98('0x2c')](_0x4ce823)){for(var _0x3ebfe9 in _0x4ce823){if(_0x4ce823['hasOwnProperty'](_0x3ebfe9)){_0x4ce823[_0x3ebfe9]['total']=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x28')]=0x0;_0x4ce823[_0x3ebfe9]['unmanaged']=0x0;_0x4ce823[_0x3ebfe9]['abandoned']=0x0;_0x4ce823[_0x3ebfe9]['sumHoldTime']=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x2a')]=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x2b')]=0x0;_0x4ce823[_0x3ebfe9]['outboundAnswerAgiCallsDay']=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x2e')]=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x2f')]=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x30')]=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x31')]=0x0;_0x4ce823[_0x3ebfe9]['outboundUnknownCallsDay']=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x32')]=0x0;_0x4ce823[_0x3ebfe9]['outboundDropCallsDayCallersExit']=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x33')]=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x34')]=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x35')]=0x0;_0x4ce823[_0x3ebfe9]['outboundReCallsDay']=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x36')]=0x0;_0x4ce823[_0x3ebfe9][_0xee98('0x37')]=0x0;_0x4ce823[_0x3ebfe9]['queueStatusComplete']=!![];}}}}Realtime[_0xee98('0x38')][_0xee98('0x39')]=function(_0x31fdf6,_0x4b97db){for(var _0x4933f9 in _0x4b97db){if(_0x31fdf6[_0xee98('0x23')](_0x4933f9)){_0x31fdf6[_0x4933f9]=_0x4b97db[_0x4933f9];}}};Realtime[_0xee98('0x38')][_0xee98('0x3a')]=function(){var _0x2e91f7=this;return function(_0x42da04){if(_0x42da04){freeIsNotKeyAgent(_0x42da04,_0x2e91f7['agents']);for(var _0x1553dd=0x0,_0x4b569d={},_0x5bec88={};_0x1553dd<_0x42da04[_0xee98('0x3b')];_0x1553dd+=0x1){_0x4b569d=_0x42da04[_0x1553dd];var _0x3c244e=_[_0xee98('0x27')](_0x4b569d[_0xee98('0x3c')])?util['format'](_0xee98('0x25'),_0x4b569d[_0xee98('0x26')]):_0x4b569d[_0xee98('0x3c')];if(_['isUndefined'](_0x2e91f7[_0xee98('0x12')][_0x3c244e])){_0x2e91f7[_0xee98('0x12')][_0x3c244e]=new Agent(_0x4b569d);}else{_0x2e91f7[_0xee98('0x39')](_0x2e91f7[_0xee98('0x12')][_0x3c244e],_0x4b569d);}}}return _0x2e91f7[_0xee98('0x12')];};};Realtime[_0xee98('0x38')][_0xee98('0x3d')]=function(){var _0xe5870d=this;return function(_0x13e085){if(_0x13e085){freeIsNotKeySip(_0x13e085,_0xe5870d[_0xee98('0x13')]);for(var _0x57bd07=0x0,_0x4e0022={},_0x22dcb8={};_0x57bd07<_0x13e085['length'];_0x57bd07+=0x1){_0x4e0022=_0x13e085[_0x57bd07];if(_['isUndefined'](_0xe5870d[_0xee98('0x13')][util[_0xee98('0x24')](_0xee98('0x25'),_0x4e0022['name'])])){_0xe5870d['telephones'][util[_0xee98('0x24')]('SIP/%s',_0x4e0022[_0xee98('0x26')])]=new Telephone(_0x4e0022);}else{_0xe5870d[_0xee98('0x39')](_0xe5870d[_0xee98('0x13')][util[_0xee98('0x24')]('SIP/%s',_0x4e0022[_0xee98('0x26')])],_0x4e0022);}}}return _0xe5870d[_0xee98('0x13')];};};Realtime[_0xee98('0x38')][_0xee98('0x3e')]=function(){var _0x270670=this;return function(_0x2c159a){if(_0x2c159a){freeIsNotKeySip(_0x2c159a,_0x270670[_0xee98('0x3f')]);for(var _0x124310=0x0,_0x241f99={},_0x31b1c1={};_0x124310<_0x2c159a[_0xee98('0x3b')];_0x124310+=0x1){_0x241f99=_0x2c159a[_0x124310];if(_['isUndefined'](_0x270670[_0xee98('0x3f')][util['format'](_0xee98('0x25'),_0x241f99[_0xee98('0x26')])])){_0x270670[_0xee98('0x3f')][util['format'](_0xee98('0x25'),_0x241f99['name'])]=new Trunk(_0x241f99);}else{_0x270670['mergeFromDatabase'](_0x270670[_0xee98('0x3f')][util[_0xee98('0x24')](_0xee98('0x25'),_0x241f99[_0xee98('0x26')])],_0x241f99);}}}return _0x270670[_0xee98('0x3f')];};};Realtime[_0xee98('0x38')][_0xee98('0x40')]=function(){var _0x1786b2=this;return function(_0x2661be){if(_0x2661be){freeIsNotKey(_0x2661be,_0x1786b2[_0xee98('0x14')],'name');for(var _0x57e1fb=0x0,_0x2452b0={},_0x3ae4d7={};_0x57e1fb<_0x2661be[_0xee98('0x3b')];_0x57e1fb+=0x1){_0x2452b0=_0x2661be[_0x57e1fb];if(_[_0xee98('0x41')](_0x1786b2[_0xee98('0x14')][_0x2452b0[_0xee98('0x26')]])){_0x1786b2[_0xee98('0x14')][_0x2452b0[_0xee98('0x26')]]=new VoiceQueue(_0x2452b0);}else{_0x1786b2['mergeFromDatabase'](_0x1786b2['voiceQueues'][_0x2452b0[_0xee98('0x26')]],_0x2452b0);}}}return _0x1786b2[_0xee98('0x14')];};};Realtime[_0xee98('0x38')][_0xee98('0x42')]=function(){var _0x2e9d13=this;return function(_0x21bb38){if(_0x21bb38){freeIsNotKey(_0x21bb38,_0x2e9d13[_0xee98('0x15')],'id');for(var _0x133ddf=0x0,_0x590d77={},_0x540b82={};_0x133ddf<_0x21bb38['length'];_0x133ddf+=0x1){_0x590d77=_0x21bb38[_0x133ddf];if(_['isUndefined'](_0x2e9d13['triggers'][_0x590d77['id']])){_0x2e9d13['triggers'][_0x590d77['id']]=new Trigger(_0x590d77);}else{_0x2e9d13[_0xee98('0x39')](_0x2e9d13[_0xee98('0x15')][_0x590d77['id']],_0x590d77);}}}return _0x2e9d13['triggers'];};};Realtime[_0xee98('0x38')][_0xee98('0x43')]=function(){var _0x4d4042=this;return function(_0x445738){if(_0x445738){freeIsNotKey(_0x445738,_0x4d4042['templates'],'id');for(var _0x5836fb=0x0,_0x2c3f4a={},_0x188f1e={};_0x5836fb<_0x445738['length'];_0x5836fb+=0x1){_0x2c3f4a=_0x445738[_0x5836fb];if(_[_0xee98('0x41')](_0x4d4042[_0xee98('0x17')][_0x2c3f4a['id']])){_0x4d4042[_0xee98('0x17')][_0x2c3f4a['id']]=new Template(_0x2c3f4a);}else{_0x4d4042[_0xee98('0x39')](_0x4d4042[_0xee98('0x17')][_0x2c3f4a['id']],_0x2c3f4a);}}}return _0x4d4042[_0xee98('0x17')];};};Realtime[_0xee98('0x38')][_0xee98('0x44')]=function(){var _0x89240c=this;return function(_0x135c1c){if(_0x135c1c){freeIsNotKey(_0x135c1c,_0x89240c[_0xee98('0x45')],'id');for(var _0x2b8310=0x0,_0x2d1ddd={},_0x48d6b0={};_0x2b8310<_0x135c1c[_0xee98('0x3b')];_0x2b8310+=0x1){_0x2d1ddd=_0x135c1c[_0x2b8310];if(_[_0xee98('0x41')](_0x89240c[_0xee98('0x45')][_0x2d1ddd['id']])){_0x89240c[_0xee98('0x45')][_0x2d1ddd['id']]=new ZendeskAccount(_0x2d1ddd);}else{_0x89240c[_0xee98('0x39')](_0x89240c[_0xee98('0x45')][_0x2d1ddd['id']],_0x2d1ddd);}}}return _0x89240c['zendeskAccounts'];};};Realtime['prototype'][_0xee98('0x46')]=function(){var _0x34fa9c=this;return function(_0x24203e){if(_0x24203e){freeIsNotKey(_0x24203e,_0x34fa9c['salesforceAccounts'],'id');for(var _0x11b0f7=0x0,_0x5c5759={},_0x3d3c2e={};_0x11b0f7<_0x24203e[_0xee98('0x3b')];_0x11b0f7+=0x1){_0x5c5759=_0x24203e[_0x11b0f7];if(_['isUndefined'](_0x34fa9c[_0xee98('0x47')][_0x5c5759['id']])){_0x34fa9c[_0xee98('0x47')][_0x5c5759['id']]=new SalesforceAccount(_0x5c5759);}else{_0x34fa9c[_0xee98('0x39')](_0x34fa9c[_0xee98('0x47')][_0x5c5759['id']],_0x5c5759);}}}return _0x34fa9c[_0xee98('0x47')];};};Realtime[_0xee98('0x38')][_0xee98('0x48')]=function(){var _0x120c79=this;return function(_0x12b3ff){if(_0x12b3ff){freeIsNotKey(_0x12b3ff,_0x120c79['freshdeskAccounts'],'id');for(var _0x51f49b=0x0,_0x5b1a47={},_0xd767fc={};_0x51f49b<_0x12b3ff[_0xee98('0x3b')];_0x51f49b+=0x1){_0x5b1a47=_0x12b3ff[_0x51f49b];if(_[_0xee98('0x41')](_0x120c79[_0xee98('0x1d')][_0x5b1a47['id']])){_0x120c79[_0xee98('0x1d')][_0x5b1a47['id']]=new FreshdeskAccount(_0x5b1a47);}else{_0x120c79[_0xee98('0x39')](_0x120c79[_0xee98('0x1d')][_0x5b1a47['id']],_0x5b1a47);}}}return _0x120c79[_0xee98('0x1d')];};};Realtime[_0xee98('0x38')]['initZohoAccounts']=function(){var _0x5a7312=this;return function(_0x4e93a5){if(_0x4e93a5){freeIsNotKey(_0x4e93a5,_0x5a7312['zohoAccounts'],'id');for(var _0x462df0=0x0,_0x391656={},_0x4879a5={};_0x462df0<_0x4e93a5[_0xee98('0x3b')];_0x462df0+=0x1){_0x391656=_0x4e93a5[_0x462df0];if(_[_0xee98('0x41')](_0x5a7312[_0xee98('0x49')][_0x391656['id']])){_0x5a7312[_0xee98('0x49')][_0x391656['id']]=new ZohoAccount(_0x391656);}else{_0x5a7312[_0xee98('0x39')](_0x5a7312['zohoAccounts'][_0x391656['id']],_0x391656);}}}return _0x5a7312[_0xee98('0x49')];};};Realtime[_0xee98('0x38')]['initDeskAccounts']=function(){var _0x433ec8=this;return function(_0x2ffbce){if(_0x2ffbce){freeIsNotKey(_0x2ffbce,_0x433ec8[_0xee98('0x1e')],'id');for(var _0x19ef23=0x0,_0x36283a={},_0x5b3ed9={};_0x19ef23<_0x2ffbce[_0xee98('0x3b')];_0x19ef23+=0x1){_0x36283a=_0x2ffbce[_0x19ef23];if(_[_0xee98('0x41')](_0x433ec8['deskAccounts'][_0x36283a['id']])){_0x433ec8[_0xee98('0x1e')][_0x36283a['id']]=new DeskAccount(_0x36283a);}else{_0x433ec8[_0xee98('0x39')](_0x433ec8[_0xee98('0x1e')][_0x36283a['id']],_0x36283a);}}}return _0x433ec8[_0xee98('0x1e')];};};Realtime['prototype'][_0xee98('0x4a')]=function(){var _0x5bee85=this;return function(_0x13cf5a){if(_0x13cf5a){freeIsNotKey(_0x13cf5a,_0x5bee85[_0xee98('0x4b')],'id');for(var _0x3523e1=0x0,_0x4e0205={},_0x7d97bb={};_0x3523e1<_0x13cf5a[_0xee98('0x3b')];_0x3523e1+=0x1){_0x4e0205=_0x13cf5a[_0x3523e1];if(_[_0xee98('0x41')](_0x5bee85[_0xee98('0x4b')][_0x4e0205['id']])){_0x5bee85[_0xee98('0x4b')][_0x4e0205['id']]=new SugarcrmAccount(_0x4e0205);}else{_0x5bee85[_0xee98('0x39')](_0x5bee85['sugarcrmAccounts'][_0x4e0205['id']],_0x4e0205);}}}return _0x5bee85[_0xee98('0x4b')];};};Realtime[_0xee98('0x38')][_0xee98('0x4c')]=function(){var _0xfecff3=this;return function(_0x4fbf5b){if(_0x4fbf5b){freeIsNotKey(_0x4fbf5b,_0xfecff3[_0xee98('0x1f')],'id');for(var _0x303c7c=0x0,_0x440c32={},_0xcb074f={};_0x303c7c<_0x4fbf5b[_0xee98('0x3b')];_0x303c7c+=0x1){_0x440c32=_0x4fbf5b[_0x303c7c];if(_[_0xee98('0x41')](_0xfecff3[_0xee98('0x1f')][_0x440c32['id']])){_0xfecff3[_0xee98('0x1f')][_0x440c32['id']]=new VtigerAccount(_0x440c32);}else{_0xfecff3['mergeFromDatabase'](_0xfecff3[_0xee98('0x1f')][_0x440c32['id']],_0x440c32);}}}return _0xfecff3[_0xee98('0x1f')];};};Realtime[_0xee98('0x38')][_0xee98('0x4d')]=function(){var _0x3ddbd5=this;return function(_0x42c3ef){if(_0x42c3ef){freeIsNotKey(_0x42c3ef,_0x3ddbd5[_0xee98('0x20')],'id');for(var _0x2a4a82=0x0,_0x534034={},_0x353629={};_0x2a4a82<_0x42c3ef[_0xee98('0x3b')];_0x2a4a82+=0x1){_0x534034=_0x42c3ef[_0x2a4a82];if(_[_0xee98('0x41')](_0x3ddbd5[_0xee98('0x20')][_0x534034['id']])){_0x3ddbd5[_0xee98('0x20')][_0x534034['id']]=new ServicenowAccount(_0x534034);}else{_0x3ddbd5['mergeFromDatabase'](_0x3ddbd5[_0xee98('0x20')][_0x534034['id']],_0x534034);}}}return _0x3ddbd5[_0xee98('0x20')];};};Realtime[_0xee98('0x38')][_0xee98('0x4e')]=function(){var _0x6c5045=this;return function(_0xb3bd33){if(_0xb3bd33){freeIsNotKey(_0xb3bd33,_0x6c5045[_0xee98('0x4f')],'id');for(var _0x414dcd=0x0,_0x2c1cca={},_0x4db2e2={};_0x414dcd<_0xb3bd33[_0xee98('0x3b')];_0x414dcd+=0x1){_0x2c1cca=_0xb3bd33[_0x414dcd];if(_['isUndefined'](_0x6c5045[_0xee98('0x4f')][_0x2c1cca['id']])){_0x6c5045[_0xee98('0x4f')][_0x2c1cca['id']]=new Dynamics365Account(_0x2c1cca);}else{_0x6c5045['mergeFromDatabase'](_0x6c5045[_0xee98('0x4f')][_0x2c1cca['id']],_0x2c1cca);}}}return _0x6c5045[_0xee98('0x4f')];};};Realtime[_0xee98('0x38')][_0xee98('0x50')]=function(){var _0x32eb36=this;return function(_0x232bba){if(_0x232bba){freeIsNotKey(_0x232bba,_0x32eb36[_0xee98('0x21')],'id');for(var _0x54a130=0x0,_0x39b1c6={},_0x2d650c={};_0x54a130<_0x232bba[_0xee98('0x3b')];_0x54a130+=0x1){_0x39b1c6=_0x232bba[_0x54a130];if(_[_0xee98('0x41')](_0x32eb36[_0xee98('0x21')][_0x39b1c6['id']])){_0x32eb36[_0xee98('0x21')][_0x39b1c6['id']]=new FreshsalesAccount(_0x39b1c6);}else{_0x32eb36[_0xee98('0x39')](_0x32eb36[_0xee98('0x21')][_0x39b1c6['id']],_0x39b1c6);}}}return _0x32eb36[_0xee98('0x21')];};};Realtime[_0xee98('0x38')][_0xee98('0x51')]=function(){var _0x5e0a6c=this;return function(_0x286125){for(var _0x37995a=0x0;_0x37995a<_0x286125['length'];_0x37995a+=0x1){_['merge'](_0x5e0a6c[_0xee98('0x14')][_0x286125[_0x37995a][_0xee98('0x26')]],_0x286125[_0x37995a]);}return _0x5e0a6c[_0xee98('0x14')];};};Realtime[_0xee98('0x38')][_0xee98('0x52')]=function(){var _0x129297=this;return function(_0x42a362){clearVoiceQueues(_0x129297[_0xee98('0x14')]);if(_0x42a362){_0x42a362=_['groupBy'](_0x42a362,'uniqueid');for(var _0x5a74ef in _0x42a362){if(_0x42a362[_0xee98('0x23')](_0x5a74ef)){var _0x534355={};for(var _0x1ae5dd=0x0;_0x1ae5dd<_0x42a362[_0x5a74ef][_0xee98('0x3b')];_0x1ae5dd+=0x1){var _0x31bd2d=_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x53')];if(_0x129297[_0xee98('0x14')][_0x31bd2d]){if(_0x42a362[_0x5a74ef][_0x1ae5dd]['queuecallerexit']){_0x129297['voiceQueues'][_0x31bd2d]['unmanaged']+=0x1;}if(_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x54')]){_0x129297[_0xee98('0x14')][_0x31bd2d][_0xee98('0x55')]+=0x1;}_0x129297['voiceQueues'][_0x31bd2d][_0xee98('0x29')]+=moment(_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x56')])['diff'](moment(_0x42a362[_0x5a74ef][_0x1ae5dd]['queuecallerjoinAt']),_0xee98('0x57'))||0x0;if(_0x1ae5dd===_0x42a362[_0x5a74ef][_0xee98('0x3b')]-0x1){_0x129297[_0xee98('0x14')][_0x31bd2d][_0xee98('0x2a')]+=moment(_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x58')]||_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x59')]||_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x5a')])[_0xee98('0x5b')](moment(_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x5c')]),_0xee98('0x57'))||0x0;_0x129297[_0xee98('0x14')][_0x31bd2d][_0xee98('0x5d')]+=0x1;if(_0x42a362[_0x5a74ef][_0x1ae5dd]['queuecallercomplete']){_0x129297[_0xee98('0x14')][_0x31bd2d][_0xee98('0x28')]+=0x1;_0x129297['voiceQueues'][_0x31bd2d][_0xee98('0x2b')]+=moment(_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x58')])[_0xee98('0x5b')](moment(_0x42a362[_0x5a74ef][_0x1ae5dd][_0xee98('0x56')]),_0xee98('0x57'))||0x0;}}else{_0x129297[_0xee98('0x14')][_0x31bd2d][_0xee98('0x2a')]+=_0x129297[_0xee98('0x14')][_0x31bd2d][_0xee98('0x29')]||0x0;}}}}}}return _0x129297[_0xee98('0x14')];};};Realtime[_0xee98('0x38')][_0xee98('0x5e')]=function(){var _0x1a477c=this;return function(_0x2351aa){clearVoiceCallReports(_0x1a477c[_0xee98('0x18')]);if(_0x2351aa){for(var _0x1e0cc0=0x0;_0x1e0cc0<_0x2351aa['length'];_0x1e0cc0+=0x1){_0x1a477c[_0xee98('0x18')]['total']+=0x1;_0x1a477c['outbound']['sumDuration']+=_0x2351aa[_0x1e0cc0]['duration'];if(_0x2351aa[_0x1e0cc0]['disposition']==='ANSWERED'){_0x1a477c[_0xee98('0x18')][_0xee98('0x28')]+=0x1;_0x1a477c[_0xee98('0x18')][_0xee98('0x29')]+=_0x2351aa[_0x1e0cc0][_0xee98('0x5f')]-_0x2351aa[_0x1e0cc0][_0xee98('0x60')]||0x0;_0x1a477c[_0xee98('0x18')][_0xee98('0x2b')]+=_0x2351aa[_0x1e0cc0][_0xee98('0x60')];}}}return _0x1a477c[_0xee98('0x18')];};};Realtime[_0xee98('0x38')][_0xee98('0x61')]=function(){var _0x1c0421=this;return function(_0x1adb82){if(_0x1adb82){freeIsNotKey(_0x1adb82,_0x1c0421[_0xee98('0x16')],_0xee98('0x26'));for(var _0x29e9db=0x0,_0x49f34b={};_0x29e9db<_0x1adb82[_0xee98('0x3b')];_0x29e9db+=0x1){_0x49f34b=_0x1adb82[_0x29e9db];if(_['isUndefined'](_0x1c0421[_0xee98('0x16')][_0x49f34b[_0xee98('0x26')]])){_0x1c0421[_0xee98('0x16')][_0x49f34b[_0xee98('0x26')]]=new Campaign(_0x49f34b);}else{_0x1c0421[_0xee98('0x39')](_0x1c0421[_0xee98('0x16')][_0x49f34b[_0xee98('0x26')]],_0x49f34b);_0x1c0421[_0xee98('0x16')][_0x49f34b['name']][_0xee98('0x62')]=_0x49f34b[_0xee98('0x63')]?_0x49f34b[_0xee98('0x63')][_0xee98('0x26')]:undefined;}}}return _0x1c0421[_0xee98('0x16')];};};Realtime[_0xee98('0x38')][_0xee98('0x64')]=function(){var _0x49c8b0=this;return function(_0x2147eb){if(_0x2147eb){freeIsNotKey(_0x2147eb,_0x49c8b0[_0xee98('0x19')],'id');for(var _0x49930f=0x0,_0x51afac={};_0x49930f<_0x2147eb['length'];_0x49930f+=0x1){_0x51afac=_0x2147eb[_0x49930f];if(_[_0xee98('0x41')](_0x49c8b0[_0xee98('0x19')][_0x51afac['id']])){_0x49c8b0['voiceExtensions'][_0x51afac['id']]=new VoiceExtension(_0x51afac);}else{_0x49c8b0['mergeFromDatabase'](_0x49c8b0[_0xee98('0x19')][_0x51afac['id']],_0x51afac);}}}return _0x49c8b0[_0xee98('0x19')];};};Realtime[_0xee98('0x38')][_0xee98('0x65')]=function(){var _0x4d1511=this;return function(_0x2f8772){clearCampaigns(_0x4d1511[_0xee98('0x16')]);for(var _0x1766fb=0x0;_0x1766fb<_0x2f8772[_0xee98('0x3b')];_0x1766fb+=0x1){_['merge'](_0x4d1511[_0xee98('0x16')][_0x2f8772[_0x1766fb][_0xee98('0x26')]],_0x2f8772[_0x1766fb]);}return _0x4d1511[_0xee98('0x16')];};};Realtime[_0xee98('0x38')][_0xee98('0x66')]=function(){var _0x181103=this;return function(_0x4dafbf){if(_0x4dafbf){freeIsNotKey(_0x4dafbf,_0x181103[_0xee98('0x67')],'id');for(var _0x5e00c5=0x0,_0x93059d={},_0x28685c={};_0x5e00c5<_0x4dafbf[_0xee98('0x3b')];_0x5e00c5+=0x1){_0x93059d=_0x4dafbf[_0x5e00c5];if(_['isUndefined'](_0x181103[_0xee98('0x67')][_0x93059d['id']])){_0x181103[_0xee98('0x67')][_0x93059d['id']]=new FaxAccount(_0x93059d);}else{_0x181103[_0xee98('0x39')](_0x181103[_0xee98('0x67')][_0x93059d['id']],_0x93059d);}}}return _0x181103['faxAccounts'];};};module[_0xee98('0x68')]=Realtime;