Built motion from commit (unavailable).|2.5.12
[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 _0x6715=['outboundReCallsDay','queueStatusComplete','mergeFromDatabase','prototype','initAgents','length','isUndefined','initTelephones','initTrunks','voiceQueues','initTriggers','initTemplates','zendeskAccounts','initSalesforceAccounts','initFreshdeskAccounts','freshdeskAccounts','initZohoAccounts','initDeskAccounts','servicenowAccounts','initDynamics365Accounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queue','queuecallerexit','queuecallerabandon','abandoned','queuecallerleaveAt','diff','queuecallerjoinAt','seconds','queuecallerexitAt','queuecallercomplete','queuecallercompleteAt','outbound','duration','disposition','ANSWERED','billableseconds','initCampaigns','campaigns','dialQueueProject','SquareProject','initCampaignHopperHistory','initFaxAccounts','faxAccounts','exports','bluebird','util','../model/agent','../model/telephone','../model/trunk','../model/trigger','../model/template','../model/campaign','../model/voiceExtension','../model/zendeskAccount','../model/salesforceAccount','../model/freshdeskAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/deskAccount','../model/servicenowAccount','../model/freshsalesAccount','../model/faxAccount','agents','telephones','trunks','triggers','templates','voiceExtensions','channels','queueChannels','outboundChannels','timers','salesforceAccounts','sugarcrmAccounts','zohoAccounts','deskAccounts','vtigerAccounts','dynamics365Accounts','freshsalesAccounts','mapKeys','hasOwnProperty','format','SIP/%s','isNil','interface','name','total','answered','sumHoldTime','sumDuration','isEmpty','ivrTotalCallsDays','ivrAnswerCallsDay','unmanaged','sumBillable','outboundAnswerAgiCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay'];(function(_0x134c2e,_0x3573c4){var _0x2825db=function(_0x2a574d){while(--_0x2a574d){_0x134c2e['push'](_0x134c2e['shift']());}};_0x2825db(++_0x3573c4);}(_0x6715,0x1ee));var _0x5671=function(_0x2ff4b1,_0x3e02cd){_0x2ff4b1=_0x2ff4b1-0x0;var _0x1a5767=_0x6715[_0x2ff4b1];return _0x1a5767;};'use strict';var BPromise=require(_0x5671('0x0'));var util=require(_0x5671('0x1'));var _=require('lodash');var moment=require('moment');var Agent=require(_0x5671('0x2'));var Telephone=require(_0x5671('0x3'));var Trunk=require(_0x5671('0x4'));var VoiceQueue=require('../model/voiceQueue');var Trigger=require(_0x5671('0x5'));var Template=require(_0x5671('0x6'));var Campaign=require(_0x5671('0x7'));var VoiceExtension=require(_0x5671('0x8'));var ZendeskAccount=require(_0x5671('0x9'));var SalesforceAccount=require(_0x5671('0xa'));var FreshdeskAccount=require(_0x5671('0xb'));var SugarcrmAccount=require(_0x5671('0xc'));var ZohoAccount=require(_0x5671('0xd'));var DeskAccount=require(_0x5671('0xe'));var VtigerAccount=require('../model/vtigerAccount');var ServicenowAccount=require(_0x5671('0xf'));var Dynamics365Account=require('../model/dynamics365Account');var FreshsalesAccount=require(_0x5671('0x10'));var FaxAccount=require(_0x5671('0x11'));var Realtime=function(){this[_0x5671('0x12')]={};this[_0x5671('0x13')]={};this[_0x5671('0x14')]={};this['voiceQueues']={};this[_0x5671('0x15')]={};this['campaigns']={};this[_0x5671('0x16')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x5671('0x17')]={};this[_0x5671('0x18')]={};this[_0x5671('0x19')]={};this[_0x5671('0x1a')]={};this[_0x5671('0x1b')]={};this['zendeskAccounts']={};this[_0x5671('0x1c')]={};this[_0x5671('0x1d')]={};this['freshdeskAccounts']={};this[_0x5671('0x1e')]={};this[_0x5671('0x1f')]={};this[_0x5671('0x20')]={};this['servicenowAccounts']={};this[_0x5671('0x21')]={};this[_0x5671('0x22')]={};this['faxAccounts']={};};function freeIsNotKey(_0x1498ef,_0x55cb09,_0x5ae28f){var _0x2159bf=_[_0x5671('0x23')](_0x1498ef,function(_0x372f99,_0x56d98d){return _0x372f99[_0x5ae28f];});for(var _0x5a142c in _0x55cb09){if(_0x55cb09[_0x5671('0x24')](_0x5a142c)){if(!_0x2159bf[_0x5a142c]){delete _0x55cb09[_0x5a142c];}}}}function freeIsNotKeySip(_0x21aefd,_0x22c73){var _0x329754=_['mapKeys'](_0x21aefd,function(_0x4ff358,_0x3d4c44){return util[_0x5671('0x25')](_0x5671('0x26'),_0x4ff358['name']);});for(var _0x1f4357 in _0x22c73){if(_0x22c73[_0x5671('0x24')](_0x1f4357)){if(!_0x329754[_0x1f4357]){delete _0x22c73[_0x1f4357];}}}}function freeIsNotKeyAgent(_0x8170c8,_0x391d95){var _0xe588c7=_[_0x5671('0x23')](_0x8170c8,function(_0x21a6ba,_0x3500a4){var _0x5b41a5=_[_0x5671('0x27')](_0x21a6ba[_0x5671('0x28')])?util['format'](_0x5671('0x26'),_0x21a6ba[_0x5671('0x29')]):_0x21a6ba[_0x5671('0x28')];return _0x5b41a5;});for(var _0x2a836a in _0x391d95){if(_0x391d95[_0x5671('0x24')](_0x2a836a)){if(!_0xe588c7[_0x2a836a]){delete _0x391d95[_0x2a836a];}}}}function clearVoiceCallReports(_0x538cff){_0x538cff[_0x5671('0x2a')]=0x0;_0x538cff[_0x5671('0x2b')]=0x0;_0x538cff[_0x5671('0x2c')]=0x0;_0x538cff[_0x5671('0x2d')]=0x0;_0x538cff['sumBillable']=0x0;}function clearCampaigns(_0xd21bcf){if(!_[_0x5671('0x2e')](_0xd21bcf)){for(var _0x59ce50 in _0xd21bcf){if(_0xd21bcf[_0x5671('0x24')](_0x59ce50)){_0xd21bcf[_0x59ce50][_0x5671('0x2f')]=0x0;_0xd21bcf[_0x59ce50][_0x5671('0x30')]=0x0;}}}}function clearVoiceQueues(_0x380c70){if(!_[_0x5671('0x2e')](_0x380c70)){for(var _0x2947b6 in _0x380c70){if(_0x380c70[_0x5671('0x24')](_0x2947b6)){_0x380c70[_0x2947b6][_0x5671('0x2a')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x2b')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x31')]=0x0;_0x380c70[_0x2947b6]['abandoned']=0x0;_0x380c70[_0x2947b6][_0x5671('0x2c')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x2d')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x32')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x33')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x34')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x35')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x36')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x37')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x38')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x39')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x3a')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x3b')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x3c')]=0x0;_0x380c70[_0x2947b6]['outboundRejectCallsDay']=0x0;_0x380c70[_0x2947b6][_0x5671('0x3d')]=0x0;_0x380c70[_0x2947b6][_0x5671('0x33')]=0x0;_0x380c70[_0x2947b6]['outboundAnswerCallsDay']=0x0;_0x380c70[_0x2947b6][_0x5671('0x3e')]=!![];}}}}Realtime['prototype'][_0x5671('0x3f')]=function(_0x360189,_0x5d2145){for(var _0x193cce in _0x5d2145){if(_0x360189[_0x5671('0x24')](_0x193cce)){_0x360189[_0x193cce]=_0x5d2145[_0x193cce];}}};Realtime[_0x5671('0x40')][_0x5671('0x41')]=function(){var _0x11ceac=this;return function(_0xa8053d){if(_0xa8053d){freeIsNotKeyAgent(_0xa8053d,_0x11ceac[_0x5671('0x12')]);for(var _0x194b95=0x0,_0x8b7c84={},_0x4aa30b={};_0x194b95<_0xa8053d[_0x5671('0x42')];_0x194b95+=0x1){_0x8b7c84=_0xa8053d[_0x194b95];var _0x537dd3=_[_0x5671('0x27')](_0x8b7c84['interface'])?util[_0x5671('0x25')](_0x5671('0x26'),_0x8b7c84[_0x5671('0x29')]):_0x8b7c84['interface'];if(_[_0x5671('0x43')](_0x11ceac[_0x5671('0x12')][_0x537dd3])){_0x11ceac[_0x5671('0x12')][_0x537dd3]=new Agent(_0x8b7c84);}else{_0x11ceac['mergeFromDatabase'](_0x11ceac[_0x5671('0x12')][_0x537dd3],_0x8b7c84);}}}return _0x11ceac[_0x5671('0x12')];};};Realtime[_0x5671('0x40')][_0x5671('0x44')]=function(){var _0x2dc055=this;return function(_0x8a3797){if(_0x8a3797){freeIsNotKeySip(_0x8a3797,_0x2dc055[_0x5671('0x13')]);for(var _0x52a155=0x0,_0x5cb64d={},_0x528eda={};_0x52a155<_0x8a3797[_0x5671('0x42')];_0x52a155+=0x1){_0x5cb64d=_0x8a3797[_0x52a155];if(_[_0x5671('0x43')](_0x2dc055['telephones'][util['format'](_0x5671('0x26'),_0x5cb64d[_0x5671('0x29')])])){_0x2dc055[_0x5671('0x13')][util[_0x5671('0x25')](_0x5671('0x26'),_0x5cb64d[_0x5671('0x29')])]=new Telephone(_0x5cb64d);}else{_0x2dc055['mergeFromDatabase'](_0x2dc055[_0x5671('0x13')][util[_0x5671('0x25')](_0x5671('0x26'),_0x5cb64d[_0x5671('0x29')])],_0x5cb64d);}}}return _0x2dc055[_0x5671('0x13')];};};Realtime[_0x5671('0x40')][_0x5671('0x45')]=function(){var _0x298b16=this;return function(_0x3b7910){if(_0x3b7910){freeIsNotKeySip(_0x3b7910,_0x298b16['trunks']);for(var _0x52ac1e=0x0,_0x18541f={},_0x5bb53c={};_0x52ac1e<_0x3b7910[_0x5671('0x42')];_0x52ac1e+=0x1){_0x18541f=_0x3b7910[_0x52ac1e];if(_[_0x5671('0x43')](_0x298b16['trunks'][util[_0x5671('0x25')](_0x5671('0x26'),_0x18541f[_0x5671('0x29')])])){_0x298b16[_0x5671('0x14')][util[_0x5671('0x25')](_0x5671('0x26'),_0x18541f[_0x5671('0x29')])]=new Trunk(_0x18541f);}else{_0x298b16['mergeFromDatabase'](_0x298b16[_0x5671('0x14')][util[_0x5671('0x25')](_0x5671('0x26'),_0x18541f[_0x5671('0x29')])],_0x18541f);}}}return _0x298b16[_0x5671('0x14')];};};Realtime[_0x5671('0x40')]['initVoiceQueues']=function(){var _0x35f5fa=this;return function(_0x4e9a64){if(_0x4e9a64){freeIsNotKey(_0x4e9a64,_0x35f5fa[_0x5671('0x46')],'name');for(var _0x3ec2ff=0x0,_0x5a5b77={},_0x94f992={};_0x3ec2ff<_0x4e9a64[_0x5671('0x42')];_0x3ec2ff+=0x1){_0x5a5b77=_0x4e9a64[_0x3ec2ff];if(_['isUndefined'](_0x35f5fa['voiceQueues'][_0x5a5b77[_0x5671('0x29')]])){_0x35f5fa[_0x5671('0x46')][_0x5a5b77[_0x5671('0x29')]]=new VoiceQueue(_0x5a5b77);}else{_0x35f5fa['mergeFromDatabase'](_0x35f5fa[_0x5671('0x46')][_0x5a5b77[_0x5671('0x29')]],_0x5a5b77);}}}return _0x35f5fa[_0x5671('0x46')];};};Realtime['prototype'][_0x5671('0x47')]=function(){var _0xdcd064=this;return function(_0x737f1d){if(_0x737f1d){freeIsNotKey(_0x737f1d,_0xdcd064[_0x5671('0x15')],'id');for(var _0x483a31=0x0,_0x45ae37={},_0x172261={};_0x483a31<_0x737f1d['length'];_0x483a31+=0x1){_0x45ae37=_0x737f1d[_0x483a31];if(_['isUndefined'](_0xdcd064[_0x5671('0x15')][_0x45ae37['id']])){_0xdcd064[_0x5671('0x15')][_0x45ae37['id']]=new Trigger(_0x45ae37);}else{_0xdcd064[_0x5671('0x3f')](_0xdcd064[_0x5671('0x15')][_0x45ae37['id']],_0x45ae37);}}}return _0xdcd064[_0x5671('0x15')];};};Realtime[_0x5671('0x40')][_0x5671('0x48')]=function(){var _0x471354=this;return function(_0x225f9f){if(_0x225f9f){freeIsNotKey(_0x225f9f,_0x471354[_0x5671('0x16')],'id');for(var _0x1e0beb=0x0,_0x18520a={},_0x2fd134={};_0x1e0beb<_0x225f9f['length'];_0x1e0beb+=0x1){_0x18520a=_0x225f9f[_0x1e0beb];if(_[_0x5671('0x43')](_0x471354[_0x5671('0x16')][_0x18520a['id']])){_0x471354['templates'][_0x18520a['id']]=new Template(_0x18520a);}else{_0x471354[_0x5671('0x3f')](_0x471354[_0x5671('0x16')][_0x18520a['id']],_0x18520a);}}}return _0x471354[_0x5671('0x16')];};};Realtime[_0x5671('0x40')]['initZendeskAccounts']=function(){var _0x5ac2e3=this;return function(_0x37f803){if(_0x37f803){freeIsNotKey(_0x37f803,_0x5ac2e3[_0x5671('0x49')],'id');for(var _0x792749=0x0,_0x856fe6={},_0x1683db={};_0x792749<_0x37f803[_0x5671('0x42')];_0x792749+=0x1){_0x856fe6=_0x37f803[_0x792749];if(_[_0x5671('0x43')](_0x5ac2e3['zendeskAccounts'][_0x856fe6['id']])){_0x5ac2e3[_0x5671('0x49')][_0x856fe6['id']]=new ZendeskAccount(_0x856fe6);}else{_0x5ac2e3['mergeFromDatabase'](_0x5ac2e3[_0x5671('0x49')][_0x856fe6['id']],_0x856fe6);}}}return _0x5ac2e3[_0x5671('0x49')];};};Realtime[_0x5671('0x40')][_0x5671('0x4a')]=function(){var _0x30c20a=this;return function(_0x56f683){if(_0x56f683){freeIsNotKey(_0x56f683,_0x30c20a['salesforceAccounts'],'id');for(var _0x9da0c2=0x0,_0x328c58={},_0x36a07a={};_0x9da0c2<_0x56f683['length'];_0x9da0c2+=0x1){_0x328c58=_0x56f683[_0x9da0c2];if(_['isUndefined'](_0x30c20a[_0x5671('0x1c')][_0x328c58['id']])){_0x30c20a[_0x5671('0x1c')][_0x328c58['id']]=new SalesforceAccount(_0x328c58);}else{_0x30c20a[_0x5671('0x3f')](_0x30c20a['salesforceAccounts'][_0x328c58['id']],_0x328c58);}}}return _0x30c20a['salesforceAccounts'];};};Realtime[_0x5671('0x40')][_0x5671('0x4b')]=function(){var _0x4d088c=this;return function(_0x3aa0de){if(_0x3aa0de){freeIsNotKey(_0x3aa0de,_0x4d088c[_0x5671('0x4c')],'id');for(var _0x30372f=0x0,_0x50c448={},_0x3016d0={};_0x30372f<_0x3aa0de[_0x5671('0x42')];_0x30372f+=0x1){_0x50c448=_0x3aa0de[_0x30372f];if(_[_0x5671('0x43')](_0x4d088c[_0x5671('0x4c')][_0x50c448['id']])){_0x4d088c[_0x5671('0x4c')][_0x50c448['id']]=new FreshdeskAccount(_0x50c448);}else{_0x4d088c[_0x5671('0x3f')](_0x4d088c['freshdeskAccounts'][_0x50c448['id']],_0x50c448);}}}return _0x4d088c['freshdeskAccounts'];};};Realtime['prototype'][_0x5671('0x4d')]=function(){var _0x3d9a6f=this;return function(_0x16d324){if(_0x16d324){freeIsNotKey(_0x16d324,_0x3d9a6f[_0x5671('0x1e')],'id');for(var _0x450158=0x0,_0x52d5aa={},_0x4e4f6e={};_0x450158<_0x16d324['length'];_0x450158+=0x1){_0x52d5aa=_0x16d324[_0x450158];if(_[_0x5671('0x43')](_0x3d9a6f['zohoAccounts'][_0x52d5aa['id']])){_0x3d9a6f[_0x5671('0x1e')][_0x52d5aa['id']]=new ZohoAccount(_0x52d5aa);}else{_0x3d9a6f[_0x5671('0x3f')](_0x3d9a6f[_0x5671('0x1e')][_0x52d5aa['id']],_0x52d5aa);}}}return _0x3d9a6f[_0x5671('0x1e')];};};Realtime['prototype'][_0x5671('0x4e')]=function(){var _0x2d9fb4=this;return function(_0x3476f5){if(_0x3476f5){freeIsNotKey(_0x3476f5,_0x2d9fb4['deskAccounts'],'id');for(var _0x1f57e0=0x0,_0x285de0={},_0xccc54c={};_0x1f57e0<_0x3476f5['length'];_0x1f57e0+=0x1){_0x285de0=_0x3476f5[_0x1f57e0];if(_[_0x5671('0x43')](_0x2d9fb4[_0x5671('0x1f')][_0x285de0['id']])){_0x2d9fb4[_0x5671('0x1f')][_0x285de0['id']]=new DeskAccount(_0x285de0);}else{_0x2d9fb4[_0x5671('0x3f')](_0x2d9fb4[_0x5671('0x1f')][_0x285de0['id']],_0x285de0);}}}return _0x2d9fb4[_0x5671('0x1f')];};};Realtime[_0x5671('0x40')]['initSugarcrmAccounts']=function(){var _0x8c9e06=this;return function(_0x5128be){if(_0x5128be){freeIsNotKey(_0x5128be,_0x8c9e06[_0x5671('0x1d')],'id');for(var _0x5388a7=0x0,_0x2c0647={},_0x4d0a3c={};_0x5388a7<_0x5128be[_0x5671('0x42')];_0x5388a7+=0x1){_0x2c0647=_0x5128be[_0x5388a7];if(_[_0x5671('0x43')](_0x8c9e06[_0x5671('0x1d')][_0x2c0647['id']])){_0x8c9e06[_0x5671('0x1d')][_0x2c0647['id']]=new SugarcrmAccount(_0x2c0647);}else{_0x8c9e06[_0x5671('0x3f')](_0x8c9e06['sugarcrmAccounts'][_0x2c0647['id']],_0x2c0647);}}}return _0x8c9e06[_0x5671('0x1d')];};};Realtime[_0x5671('0x40')]['initVtigerAccounts']=function(){var _0x24b3ad=this;return function(_0x92f9a9){if(_0x92f9a9){freeIsNotKey(_0x92f9a9,_0x24b3ad[_0x5671('0x20')],'id');for(var _0x1ec123=0x0,_0x498fae={},_0x183f0f={};_0x1ec123<_0x92f9a9['length'];_0x1ec123+=0x1){_0x498fae=_0x92f9a9[_0x1ec123];if(_[_0x5671('0x43')](_0x24b3ad[_0x5671('0x20')][_0x498fae['id']])){_0x24b3ad[_0x5671('0x20')][_0x498fae['id']]=new VtigerAccount(_0x498fae);}else{_0x24b3ad[_0x5671('0x3f')](_0x24b3ad[_0x5671('0x20')][_0x498fae['id']],_0x498fae);}}}return _0x24b3ad[_0x5671('0x20')];};};Realtime[_0x5671('0x40')]['initServicenowAccounts']=function(){var _0x5e2be3=this;return function(_0x270102){if(_0x270102){freeIsNotKey(_0x270102,_0x5e2be3[_0x5671('0x4f')],'id');for(var _0x58bfa4=0x0,_0xaa2dc={},_0xcb037={};_0x58bfa4<_0x270102[_0x5671('0x42')];_0x58bfa4+=0x1){_0xaa2dc=_0x270102[_0x58bfa4];if(_[_0x5671('0x43')](_0x5e2be3[_0x5671('0x4f')][_0xaa2dc['id']])){_0x5e2be3[_0x5671('0x4f')][_0xaa2dc['id']]=new ServicenowAccount(_0xaa2dc);}else{_0x5e2be3[_0x5671('0x3f')](_0x5e2be3[_0x5671('0x4f')][_0xaa2dc['id']],_0xaa2dc);}}}return _0x5e2be3[_0x5671('0x4f')];};};Realtime[_0x5671('0x40')][_0x5671('0x50')]=function(){var _0x2d7b7c=this;return function(_0x1d964d){if(_0x1d964d){freeIsNotKey(_0x1d964d,_0x2d7b7c['dynamics365Accounts'],'id');for(var _0x26df5c=0x0,_0x405e1d={},_0x589780={};_0x26df5c<_0x1d964d[_0x5671('0x42')];_0x26df5c+=0x1){_0x405e1d=_0x1d964d[_0x26df5c];if(_[_0x5671('0x43')](_0x2d7b7c[_0x5671('0x21')][_0x405e1d['id']])){_0x2d7b7c[_0x5671('0x21')][_0x405e1d['id']]=new Dynamics365Account(_0x405e1d);}else{_0x2d7b7c[_0x5671('0x3f')](_0x2d7b7c[_0x5671('0x21')][_0x405e1d['id']],_0x405e1d);}}}return _0x2d7b7c[_0x5671('0x21')];};};Realtime[_0x5671('0x40')][_0x5671('0x51')]=function(){var _0x52ecfa=this;return function(_0x5c41ee){if(_0x5c41ee){freeIsNotKey(_0x5c41ee,_0x52ecfa[_0x5671('0x22')],'id');for(var _0x55b205=0x0,_0x1c706d={},_0x4846d4={};_0x55b205<_0x5c41ee[_0x5671('0x42')];_0x55b205+=0x1){_0x1c706d=_0x5c41ee[_0x55b205];if(_[_0x5671('0x43')](_0x52ecfa[_0x5671('0x22')][_0x1c706d['id']])){_0x52ecfa['freshsalesAccounts'][_0x1c706d['id']]=new FreshsalesAccount(_0x1c706d);}else{_0x52ecfa[_0x5671('0x3f')](_0x52ecfa[_0x5671('0x22')][_0x1c706d['id']],_0x1c706d);}}}return _0x52ecfa['freshsalesAccounts'];};};Realtime[_0x5671('0x40')][_0x5671('0x52')]=function(){var _0x2f7746=this;return function(_0x5a90fe){for(var _0x3cfa0a=0x0;_0x3cfa0a<_0x5a90fe[_0x5671('0x42')];_0x3cfa0a+=0x1){_[_0x5671('0x53')](_0x2f7746[_0x5671('0x46')][_0x5a90fe[_0x3cfa0a][_0x5671('0x29')]],_0x5a90fe[_0x3cfa0a]);}return _0x2f7746[_0x5671('0x46')];};};Realtime[_0x5671('0x40')][_0x5671('0x54')]=function(){var _0x54b87a=this;return function(_0x462d26){clearVoiceQueues(_0x54b87a[_0x5671('0x46')]);if(_0x462d26){_0x462d26=_[_0x5671('0x55')](_0x462d26,_0x5671('0x56'));for(var _0x3d7614 in _0x462d26){if(_0x462d26[_0x5671('0x24')](_0x3d7614)){var _0x36b2ef={};for(var _0x50c063=0x0;_0x50c063<_0x462d26[_0x3d7614][_0x5671('0x42')];_0x50c063+=0x1){var _0x472078=_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x57')];if(_0x54b87a['voiceQueues'][_0x472078]){if(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x58')]){_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x31')]+=0x1;}if(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x59')]){_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x5a')]+=0x1;}_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x2c')]+=moment(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x5b')])[_0x5671('0x5c')](moment(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x5d')]),_0x5671('0x5e'))||0x0;if(_0x50c063===_0x462d26[_0x3d7614]['length']-0x1){_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x2d')]+=moment(_0x462d26[_0x3d7614][_0x50c063]['queuecallercompleteAt']||_0x462d26[_0x3d7614][_0x50c063]['queuecallerabandonAt']||_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x5f')])[_0x5671('0x5c')](moment(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x5d')]),_0x5671('0x5e'))||0x0;_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x2a')]+=0x1;if(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x60')]){_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x2b')]+=0x1;_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x32')]+=moment(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x61')])['diff'](moment(_0x462d26[_0x3d7614][_0x50c063][_0x5671('0x5b')]),'seconds')||0x0;}}else{_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x2d')]+=_0x54b87a[_0x5671('0x46')][_0x472078][_0x5671('0x2c')]||0x0;}}}}}}return _0x54b87a[_0x5671('0x46')];};};Realtime[_0x5671('0x40')]['initVoiceCallReports']=function(){var _0x243d62=this;return function(_0x54e836){clearVoiceCallReports(_0x243d62[_0x5671('0x62')]);if(_0x54e836){for(var _0x5bdc97=0x0;_0x5bdc97<_0x54e836[_0x5671('0x42')];_0x5bdc97+=0x1){_0x243d62[_0x5671('0x62')][_0x5671('0x2a')]+=0x1;_0x243d62[_0x5671('0x62')][_0x5671('0x2d')]+=_0x54e836[_0x5bdc97][_0x5671('0x63')];if(_0x54e836[_0x5bdc97][_0x5671('0x64')]===_0x5671('0x65')){_0x243d62['outbound'][_0x5671('0x2b')]+=0x1;_0x243d62[_0x5671('0x62')][_0x5671('0x2c')]+=_0x54e836[_0x5bdc97]['duration']-_0x54e836[_0x5bdc97][_0x5671('0x66')]||0x0;_0x243d62[_0x5671('0x62')]['sumBillable']+=_0x54e836[_0x5bdc97][_0x5671('0x66')];}}}return _0x243d62[_0x5671('0x62')];};};Realtime[_0x5671('0x40')][_0x5671('0x67')]=function(){var _0x484e75=this;return function(_0x276891){if(_0x276891){freeIsNotKey(_0x276891,_0x484e75['campaigns'],'name');for(var _0x557a9b=0x0,_0x1002ef={};_0x557a9b<_0x276891['length'];_0x557a9b+=0x1){_0x1002ef=_0x276891[_0x557a9b];if(_[_0x5671('0x43')](_0x484e75['campaigns'][_0x1002ef[_0x5671('0x29')]])){_0x484e75[_0x5671('0x68')][_0x1002ef['name']]=new Campaign(_0x1002ef);}else{_0x484e75[_0x5671('0x3f')](_0x484e75['campaigns'][_0x1002ef['name']],_0x1002ef);_0x484e75[_0x5671('0x68')][_0x1002ef[_0x5671('0x29')]][_0x5671('0x69')]=_0x1002ef['SquareProject']?_0x1002ef[_0x5671('0x6a')]['name']:undefined;}}}return _0x484e75[_0x5671('0x68')];};};Realtime[_0x5671('0x40')]['initVoiceExtensions']=function(){var _0x485002=this;return function(_0x336092){if(_0x336092){freeIsNotKey(_0x336092,_0x485002['voiceExtensions'],'id');for(var _0xfabf0d=0x0,_0x4902d4={};_0xfabf0d<_0x336092[_0x5671('0x42')];_0xfabf0d+=0x1){_0x4902d4=_0x336092[_0xfabf0d];if(_[_0x5671('0x43')](_0x485002[_0x5671('0x17')][_0x4902d4['id']])){_0x485002[_0x5671('0x17')][_0x4902d4['id']]=new VoiceExtension(_0x4902d4);}else{_0x485002[_0x5671('0x3f')](_0x485002['voiceExtensions'][_0x4902d4['id']],_0x4902d4);}}}return _0x485002[_0x5671('0x17')];};};Realtime[_0x5671('0x40')][_0x5671('0x6b')]=function(){var _0xd1b127=this;return function(_0x3b2379){clearCampaigns(_0xd1b127[_0x5671('0x68')]);for(var _0x44df9d=0x0;_0x44df9d<_0x3b2379['length'];_0x44df9d+=0x1){_[_0x5671('0x53')](_0xd1b127[_0x5671('0x68')][_0x3b2379[_0x44df9d][_0x5671('0x29')]],_0x3b2379[_0x44df9d]);}return _0xd1b127[_0x5671('0x68')];};};Realtime[_0x5671('0x40')][_0x5671('0x6c')]=function(){var _0x1d69ec=this;return function(_0x5a4df4){if(_0x5a4df4){freeIsNotKey(_0x5a4df4,_0x1d69ec['faxAccounts'],'id');for(var _0x1397de=0x0,_0xcdec3f={},_0x26d30={};_0x1397de<_0x5a4df4[_0x5671('0x42')];_0x1397de+=0x1){_0xcdec3f=_0x5a4df4[_0x1397de];if(_[_0x5671('0x43')](_0x1d69ec[_0x5671('0x6d')][_0xcdec3f['id']])){_0x1d69ec['faxAccounts'][_0xcdec3f['id']]=new FaxAccount(_0xcdec3f);}else{_0x1d69ec['mergeFromDatabase'](_0x1d69ec[_0x5671('0x6d')][_0xcdec3f['id']],_0xcdec3f);}}}return _0x1d69ec[_0x5671('0x6d')];};};module[_0x5671('0x6e')]=Realtime;