2019-06-01 20:35:40 +00:00
|
|
|
/*
|
|
|
|
* This file is part of the authRXBN single sign-on package.
|
|
|
|
*
|
|
|
|
* (c) Ruben Meyer <contact@rxbn.de>
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
// GDS: Global Data System
|
|
|
|
global['gds'] = {
|
2019-06-23 21:27:52 +00:00
|
|
|
debug: (process.env.NODE_ENV === 'debug') ? true : false,
|
2019-06-01 20:35:40 +00:00
|
|
|
cache: {},
|
|
|
|
cfg: require(__dirname+'/bin/config')
|
|
|
|
};
|
|
|
|
global['__dirname'] = __dirname;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* load modules
|
|
|
|
*/
|
2020-08-14 11:20:19 +00:00
|
|
|
let load = global['requireModule'] = (name) => {
|
2019-06-01 20:35:40 +00:00
|
|
|
return require(__dirname+'/bin/'+name+'/module');
|
|
|
|
};
|
|
|
|
|
2019-06-23 21:27:52 +00:00
|
|
|
// environment variable check
|
2019-09-08 17:57:42 +00:00
|
|
|
let env_vars = ["DB_URL", "DB_NAME"];
|
|
|
|
let env_missing = false;
|
|
|
|
env_vars.forEach((el) => {
|
|
|
|
if(typeof process.env[el] == 'undefined') {
|
|
|
|
console.error("environment variable "+el+" is not set");
|
|
|
|
env_missing = true;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
if(env_missing) process.exit();
|
2019-06-23 21:27:52 +00:00
|
|
|
|
2020-08-14 11:20:19 +00:00
|
|
|
load('events'); // event handler
|
2019-09-25 18:21:00 +00:00
|
|
|
|
2020-08-14 11:20:19 +00:00
|
|
|
global['logs'] = load('logs'); // log handler
|
2019-06-01 20:35:40 +00:00
|
|
|
|
2020-08-14 11:20:19 +00:00
|
|
|
let web = load('web'); // web server
|
|
|
|
web.start(); // start web server
|