7920b6af591cac9cf791e779e3f2da50442fc385
[motion2.git] / server / services / ami / 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 _0x81e2=['initCampaignHopperHistory','getVoiceCallReports','initVoiceCallReports','error','[index.js][initParams]','inspect','listen','[index.js][main]','util','moment','./server','./realtime','./acw','./trigger','./dialer','./preview','./fax','./rpc/voiceQueueReport','./rpc/trunk','./rpc/trigger','./rpc/cmHopperHistory','./rpc/campaign','./rpc/voiceExtension','./rpc/faxAccount','./rpc/integrations/zendesk','./rpc/integrations/salesforce','./rpc/integrations/freshdesk','./rpc/integrations/desk','./rpc/integrations/zoho','./rpc/integrations/servicenow','../../config/logger','get','hour','then','getAgents','initAgents','getTelephones','initTelephones','getTrunks','initTrunks','getVoiceQueues','getTriggers','initTriggers','getTemplates','initTemplates','getZendeskAccounts','initZendeskAccounts','getSalesforceAccounts','initSalesforceAccounts','getSugarcrmAccounts','initSugarcrmAccounts','getFreshdeskAccounts','initZohoAccounts','getVtigerAccounts','getFreshsalesAccounts','initFreshsalesAccounts','getServicenowAccounts','initServicenowAccounts','getDynamics365Accounts','initDynamics365Accounts','getCampaigns','initCampaigns','initVoiceExtensions','getFaxAccounts','initFaxAccounts','resolve','getVoiceQueueReports','initVoiceQueueReports','getVoiceQueueHopperHistory','getCampaignHopperHistory'];(function(_0x24cc3e,_0x3b2f20){var _0x299210=function(_0x19e3f5){while(--_0x19e3f5){_0x24cc3e['push'](_0x24cc3e['shift']());}};_0x299210(++_0x3b2f20);}(_0x81e2,0x120));var _0x281e=function(_0x4b295a,_0x4cf6f0){_0x4b295a=_0x4b295a-0x0;var _0x4881f7=_0x81e2[_0x4b295a];return _0x4881f7;};'use strict';var util=require(_0x281e('0x0'));var moment=require(_0x281e('0x1'));var server=require(_0x281e('0x2'));var Realtime=require(_0x281e('0x3'));var Report=require('./report');var Acw=require(_0x281e('0x4'));var Trigger=require(_0x281e('0x5'));var Dialer=require(_0x281e('0x6'));var Preview=require(_0x281e('0x7'));var Fax=require(_0x281e('0x8'));var user=require('./rpc/user');var voiceQueue=require('./rpc/voiceQueue');var voiceQueueReport=require(_0x281e('0x9'));var voiceCallReport=require('./rpc/voiceCallReport');var trunk=require(_0x281e('0xa'));var trigger=require(_0x281e('0xb'));var template=require('./rpc/template');var cmHopperHistory=require(_0x281e('0xc'));var campaign=require(_0x281e('0xd'));var voiceExtension=require(_0x281e('0xe'));var faxAccount=require(_0x281e('0xf'));var zendesk=require(_0x281e('0x10'));var salesforce=require(_0x281e('0x11'));var sugarcrm=require('./rpc/integrations/sugarcrm');var freshdesk=require(_0x281e('0x12'));var desk=require(_0x281e('0x13'));var zoho=require(_0x281e('0x14'));var vtiger=require('./rpc/integrations/vtiger');var freshsales=require('./rpc/integrations/freshsales');var servicenow=require(_0x281e('0x15'));var dynamics365=require('./rpc/integrations/dynamics365');var realtime=new Realtime();var report=new Report(realtime);var acw=new Acw(realtime);var channelTrigger=new Trigger(realtime);var preview=new Preview(realtime);var dialer=new Dialer(realtime,preview);var fax=new Fax(realtime);var logger=require(_0x281e('0x16'))('ami');var isTrue=!![];var initP=!![];function ifMidnight(){if(moment()[_0x281e('0x17')](_0x281e('0x18'))===0x0&&initP){initP=![];isTrue=!![];initParams();}if(moment()[_0x281e('0x17')](_0x281e('0x18'))===0x1&&isTrue){isTrue=![];initP=!![];}}function initRealtime(){ifMidnight();return Promise['resolve']()[_0x281e('0x19')](user[_0x281e('0x1a')]())[_0x281e('0x19')](realtime[_0x281e('0x1b')]())['then'](user[_0x281e('0x1c')]())[_0x281e('0x19')](realtime[_0x281e('0x1d')]())[_0x281e('0x19')](trunk[_0x281e('0x1e')]())['then'](realtime[_0x281e('0x1f')]())['then'](voiceQueue[_0x281e('0x20')]())[_0x281e('0x19')](realtime['initVoiceQueues']())[_0x281e('0x19')](trigger[_0x281e('0x21')]())[_0x281e('0x19')](realtime[_0x281e('0x22')]())[_0x281e('0x19')](template[_0x281e('0x23')]())[_0x281e('0x19')](realtime[_0x281e('0x24')]())[_0x281e('0x19')](zendesk[_0x281e('0x25')]())[_0x281e('0x19')](realtime[_0x281e('0x26')]())[_0x281e('0x19')](salesforce[_0x281e('0x27')]())[_0x281e('0x19')](realtime[_0x281e('0x28')]())['then'](sugarcrm[_0x281e('0x29')]())[_0x281e('0x19')](realtime[_0x281e('0x2a')]())[_0x281e('0x19')](freshdesk[_0x281e('0x2b')]())['then'](realtime['initFreshdeskAccounts']())[_0x281e('0x19')](desk['getDeskAccounts']())[_0x281e('0x19')](realtime['initDeskAccounts']())['then'](zoho['getZohoAccounts']())[_0x281e('0x19')](realtime[_0x281e('0x2c')]())[_0x281e('0x19')](vtiger[_0x281e('0x2d')]())[_0x281e('0x19')](realtime['initVtigerAccounts']())['then'](freshsales[_0x281e('0x2e')]())[_0x281e('0x19')](realtime[_0x281e('0x2f')]())[_0x281e('0x19')](servicenow[_0x281e('0x30')]())[_0x281e('0x19')](realtime[_0x281e('0x31')]())[_0x281e('0x19')](dynamics365[_0x281e('0x32')]())[_0x281e('0x19')](realtime[_0x281e('0x33')]())['then'](campaign[_0x281e('0x34')]())['then'](realtime[_0x281e('0x35')]())[_0x281e('0x19')](voiceExtension['getVoiceExtensions']())[_0x281e('0x19')](realtime[_0x281e('0x36')]())[_0x281e('0x19')](faxAccount[_0x281e('0x37')]())[_0x281e('0x19')](realtime[_0x281e('0x38')]())['then'](function(){return realtime;});}function initParams(){return Promise[_0x281e('0x39')]()['then'](voiceQueueReport[_0x281e('0x3a')]())[_0x281e('0x19')](realtime[_0x281e('0x3b')]())[_0x281e('0x19')](cmHopperHistory[_0x281e('0x3c')]())[_0x281e('0x19')](realtime['initVoiceQueueHopperHistory']())[_0x281e('0x19')](cmHopperHistory[_0x281e('0x3d')]())['then'](realtime[_0x281e('0x3e')]())[_0x281e('0x19')](voiceCallReport[_0x281e('0x3f')]())[_0x281e('0x19')](realtime[_0x281e('0x40')]())['catch'](function(_0x3acbfa){logger[_0x281e('0x41')](_0x281e('0x42'),util[_0x281e('0x43')](_0x3acbfa,{'showHidden':![],'depth':null}));});}function main(){return server[_0x281e('0x44')](realtime,preview,fax)['then'](function(){return initRealtime();})[_0x281e('0x19')](function(){return initParams();})[_0x281e('0x19')](function(){report['sync']();setInterval(initRealtime,0x1388);})['catch'](function(_0x1a4f0d){logger[_0x281e('0x41')](_0x281e('0x45'),util['inspect'](_0x1a4f0d,{'showHidden':![],'depth':null}));});}main();