Built motion from commit 1fa89557.|2.6.10
[motion2.git] / server / app.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 _0x7f05=['./config/logger','app','./config/pm2/config','./config/schedule','./config/schedule/whatsapp','./config/schedule/transcribe','sequelize','sync','then','listen','start','info','filter','exitCode','number','length','name','Online\x20apps:','online','Offline\x20apps:','status','None','log','App\x20Ready!','catch','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','exit','lodash','./mysqldb','./config/seedDB','./rpc'];(function(_0x22e9fe,_0x3d019f){var _0x47cd19=function(_0x8fd5fc){while(--_0x8fd5fc){_0x22e9fe['push'](_0x22e9fe['shift']());}};_0x47cd19(++_0x3d019f);}(_0x7f05,0xdc));var _0x57f0=function(_0x318b2e,_0x4eb6ad){_0x318b2e=_0x318b2e-0x0;var _0x3fbce1=_0x7f05[_0x318b2e];return _0x3fbce1;};'use strict';var _=require(_0x57f0('0x0'));var db=require(_0x57f0('0x1'))['db'];var seedDb=require(_0x57f0('0x2'));var checkLicense=require('./config/license');var rpc=require(_0x57f0('0x3'));var config=require('./config/environment');var logger=require(_0x57f0('0x4'))(_0x57f0('0x5'));var pm2=require('./config/pm2');var pm2Config=require(_0x57f0('0x6'));var schedule=require(_0x57f0('0x7'));var chat=require('./config/schedule/chat');var whatsapp=require(_0x57f0('0x8'));var transcribe=require(_0x57f0('0x9'));var provider=require('./config/schedule/cloud-provider');function main(){return db[_0x57f0('0xa')][_0x57f0('0xb')]()[_0x57f0('0xc')](function(){if(config['seedDB']){return seedDb['default']();}})[_0x57f0('0xc')](function(){return checkLicense['default']();})[_0x57f0('0xc')](function(){return rpc[_0x57f0('0xd')]();})[_0x57f0('0xc')](function(_0xaa0ad7){logger['info'](_0xaa0ad7);return chat['start']();})[_0x57f0('0xc')](function(){return whatsapp['start']();})['then'](function(){return schedule['start']();})['then'](function(){return transcribe['start']();})['then'](function(){return provider[_0x57f0('0xe')]();})[_0x57f0('0xc')](function(_0x5987ed){logger[_0x57f0('0xf')](_0x5987ed);return pm2['start'](pm2Config);})['then'](function(_0x471f97){var _0x380859=_0x471f97[_0x57f0('0x10')](function(_0x2e57df){return typeof _0x2e57df[_0x57f0('0x11')]===_0x57f0('0x12')&&_0x2e57df['exitCode']>=0x0;});if(_0x380859['length']>0x0){throw new Error(_0x380859[_0x57f0('0x13')]+'\x20processes\x20failed\x20at\x20startup:\x20'+_['map'](_0x380859,function(_0x48eadd){return'\x22'+_0x48eadd['pm2_env'][_0x57f0('0x14')]+'\x22';}));}logger[_0x57f0('0xf')](_0x57f0('0x15'),_['map'](_[_0x57f0('0x10')](_0x471f97,{'status':_0x57f0('0x16')}),_0x57f0('0x14'))['join']());logger[_0x57f0('0xf')](_0x57f0('0x17'),_['map'](_['filter'](_0x471f97,function(_0x1f8483){return _0x1f8483[_0x57f0('0x18')]!=='online';}),_0x57f0('0x14'))['join']()||_0x57f0('0x19'));console[_0x57f0('0x1a')](_0x57f0('0x1b'));})[_0x57f0('0x1c')](function(_0x5065be){console['log'](_0x57f0('0x1d'),_0x5065be);logger['error'](_0x57f0('0x1e'),_0x5065be);process[_0x57f0('0x1f')](0x1);});}main();