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