Built motion from commit fe909640.|2.6.8
[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 _0x5334=['\x20processes\x20failed\x20at\x20startup:\x20','name','map','join','filter','status','online','log','App\x20Ready!','catch','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','error','lodash','./mysqldb','./config/seedDB','./config/license','./rpc','./config/logger','./config/pm2','./config/pm2/config','./config/schedule/transcribe','then','seedDB','default','listen','info','start','exitCode','number','length'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5334,0x84));var _0x4533=function(_0x15447b,_0x4cdfd3){_0x15447b=_0x15447b-0x0;var _0x149869=_0x5334[_0x15447b];return _0x149869;};'use strict';var _=require(_0x4533('0x0'));var db=require(_0x4533('0x1'))['db'];var seedDb=require(_0x4533('0x2'));var checkLicense=require(_0x4533('0x3'));var rpc=require(_0x4533('0x4'));var config=require('./config/environment');var logger=require(_0x4533('0x5'))('app');var pm2=require(_0x4533('0x6'));var pm2Config=require(_0x4533('0x7'));var schedule=require('./config/schedule');var chat=require('./config/schedule/chat');var whatsapp=require('./config/schedule/whatsapp');var transcribe=require(_0x4533('0x8'));var provider=require('./config/schedule/cloud-provider');function main(){return db['sequelize']['sync']()[_0x4533('0x9')](function(){if(config[_0x4533('0xa')]){return seedDb[_0x4533('0xb')]();}})[_0x4533('0x9')](function(){return checkLicense[_0x4533('0xb')]();})[_0x4533('0x9')](function(){return rpc[_0x4533('0xc')]();})['then'](function(_0x5533){logger[_0x4533('0xd')](_0x5533);return chat[_0x4533('0xe')]();})[_0x4533('0x9')](function(){return whatsapp['start']();})[_0x4533('0x9')](function(){return schedule['start']();})[_0x4533('0x9')](function(){return transcribe[_0x4533('0xe')]();})[_0x4533('0x9')](function(){return provider[_0x4533('0xe')]();})['then'](function(_0xdd4757){logger[_0x4533('0xd')](_0xdd4757);return pm2[_0x4533('0xe')](pm2Config);})[_0x4533('0x9')](function(_0x533a26){var _0xe47213=_0x533a26['filter'](function(_0x4c703c){return typeof _0x4c703c[_0x4533('0xf')]===_0x4533('0x10')&&_0x4c703c['exitCode']>=0x0;});if(_0xe47213[_0x4533('0x11')]>0x0){throw new Error(_0xe47213[_0x4533('0x11')]+_0x4533('0x12')+_['map'](_0xe47213,function(_0x3ed873){return'\x22'+_0x3ed873['pm2_env'][_0x4533('0x13')]+'\x22';}));}logger[_0x4533('0xd')]('Online\x20apps:',_[_0x4533('0x14')](_['filter'](_0x533a26,{'status':'online'}),_0x4533('0x13'))[_0x4533('0x15')]());logger['info']('Offline\x20apps:',_[_0x4533('0x14')](_[_0x4533('0x16')](_0x533a26,function(_0x3467ba){return _0x3467ba[_0x4533('0x17')]!==_0x4533('0x18');}),_0x4533('0x13'))[_0x4533('0x15')]()||'None');console[_0x4533('0x19')](_0x4533('0x1a'));})[_0x4533('0x1b')](function(_0x4aa438){console['log'](_0x4533('0x1c'),_0x4aa438);logger[_0x4533('0x1d')]('Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s',_0x4aa438);process['exit'](0x1);});}main();