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