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