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