Merge pull request #979 from ParsePlatform/flovilmart.SupportDashboardLikeConfig

Adds support for apps key in config file, throws if length is > 1
This commit is contained in:
Florent Vilmart
2016-03-16 22:43:58 -04:00

View File

@@ -9,7 +9,7 @@ program.loadDefinitions(definitions);
program
.usage('[options] <path/to/configuration.json>');
program.on('--help', function(){
console.log(' Get Started guide:');
console.log('');
@@ -31,19 +31,27 @@ program.on('--help', function(){
console.log(' $ parse-server -- --appId APP_ID --masterKey MASTER_KEY --serverURL serverURL');
console.log('');
});
program.parse(process.argv, process.env);
let options = {};
if (program.args.length > 0 ) {
let jsonPath = program.args[0];
jsonPath = path.resolve(jsonPath);
options = require(jsonPath);
let jsonConfig = require(jsonPath);
if (jsonConfig.apps) {
if (jsonConfig.apps.length > 1) {
throw 'Multiple apps are not supported';
}
options = jsonConfig.apps[0];
} else {
options = jsonConfig;
}
console.log(`Configuation loaded from ${jsonPath}`)
}
}
options = Object.keys(definitions).reduce(function (options, key) {
if (program[key]) {
if (typeof program[key] !== 'undefined') {
options[key] = program[key];
}
return options;
@@ -66,7 +74,7 @@ const api = new ParseServer(options);
app.use(options.mountPath, api);
var server = app.listen(options.port, function() {
for (let key in options) {
let value = options[key];
if (key == "masterKey") {