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