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