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:
@@ -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") {
|
||||
|
||||
Reference in New Issue
Block a user