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