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