From 873a1406958b7b6c2e74ce168c7ad9be0756c73c Mon Sep 17 00:00:00 2001 From: Rudolf Copi Eckelberg <rce16@inf.ufpr.br> Date: Thu, 6 Oct 2016 16:18:49 -0300 Subject: [PATCH] Config file style changed --- .gitignore | 1 - config.json.example | 68 +++++++++++++++++++++++++++++++++ config/config.json.example | 21 ---------- config/test_config.json.example | 21 ---------- gulpfile.babel.js | 6 +-- src/libs/app.js | 2 +- src/libs/config.js | 24 ++---------- src/libs/db/monet.js | 12 +++--- src/libs/db/mongoose.js | 2 +- src/libs/log.js | 2 +- src/libs/models/simulation.js | 1 - src/libs/routes/simulation.js | 1 - src/server.js | 4 +- 13 files changed, 84 insertions(+), 81 deletions(-) create mode 100644 config.json.example delete mode 100644 config/config.json.example delete mode 100644 config/test_config.json.example diff --git a/.gitignore b/.gitignore index 136ccb71..979717eb 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,3 @@ build/* config.json docs/ -test_config.json diff --git a/config.json.example b/config.json.example new file mode 100644 index 00000000..67f5a4f1 --- /dev/null +++ b/config.json.example @@ -0,0 +1,68 @@ +{ + "development": + { + "port": 3000, + "ip": "127.0.0.1", + "debug" : true, + "monetdb": { + "host": "simcaqdb1", + "port": 50000, + "dbname": "simcaq_dev", + "user": "monetdb", + "password":"monetdb", + "nrConnections": "16" + }, + "mongodb" : { + "uri": "mongodb://localhost/users" + }, + "default": { + "api": { + "version" : "v1" + } + } + }, + "test": + { + "port": 3000, + "ip": "127.0.0.1", + "debug" : true, + "monetdb": { + "host": "simcaqdb1", + "port": 50000, + "dbname": "simcaq_dev", + "user": "monetdb", + "password":"monetdb", + "nrConnections": "16" + }, + "mongodb" : { + "uri": "mongodb://localhost/test_users" + }, + "default": { + "api": { + "version" : "v1" + } + } + }, + "production": + { + "port": 3000, + "ip": "127.0.0.1", + "debug" : true, + "monetdb": { + "host": "simcaqdb1", + "port": 50000, + "dbname": "simcaq_dev", + "user": "monetdb", + "password":"monetdb", + "nrConnections": "16" + }, + "mongodb" : { + "uri": "mongodb://localhost/users" + }, + "default": { + "api": { + "version" : "v1" + } + } + } +} diff --git a/config/config.json.example b/config/config.json.example deleted file mode 100644 index 136ee928..00000000 --- a/config/config.json.example +++ /dev/null @@ -1,21 +0,0 @@ -{ - "port": 3000, - "ip": "127.0.0.1", - "debug" : false, - "monetdb": { - "host": "simcaqdb1", - "port": 50000, - "dbname": "simcaq_dev", - "user": "monetdb", - "password":"monetdb", - "nrConnections": "16" - }, - "mongodb" : { - "uri": "mongodb://localhost/users" - }, - "default": { - "api": { - "version" : "v1" - } - } -} diff --git a/config/test_config.json.example b/config/test_config.json.example deleted file mode 100644 index 0a8d9146..00000000 --- a/config/test_config.json.example +++ /dev/null @@ -1,21 +0,0 @@ -{ - "port": 3000, - "ip": "127.0.0.1", - "debug" : true, - "monetdb": { - "host": "simcaqdb1", - "port": 50000, - "dbname": "simcaq_dev", - "user": "monetdb", - "password":"monetdb", - "nrConnections": "16" - }, - "mongodb" : { - "uri": "mongodb://localhost/test_users" - }, - "default": { - "api": { - "version" : "v1" - } - } -} diff --git a/gulpfile.babel.js b/gulpfile.babel.js index 66bc5000..1f23dd9e 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -46,10 +46,8 @@ gulp.task('compile', () => { .pipe(gulp.dest('build')); // move compiled files to build directory // copy configuration file to build directory - gulp.src('config/config.json') - .pipe(gulp.dest('build/config')); - gulp.src('config/test_config.json') - .pipe(gulp.dest('build/config')); + gulp.src('config.json') + .pipe(gulp.dest('build')); }); gulp.task('build', ['compile']); diff --git a/src/libs/app.js b/src/libs/app.js index bed5deb7..a1b3ff01 100644 --- a/src/libs/app.js +++ b/src/libs/app.js @@ -12,7 +12,7 @@ const log = require(`${libs}/log`)(module); process.env.NODE_ENV = process.env.NODE_ENV || 'development'; const config = require(`${libs}/config`); -const cache = require('apicache').options({ debug: config.get('debug') }).middleware; +const cache = require('apicache').options({ debug: config.debug }).middleware; const app = express(); diff --git a/src/libs/config.js b/src/libs/config.js index d61eff99..2c07d19e 100644 --- a/src/libs/config.js +++ b/src/libs/config.js @@ -1,23 +1,5 @@ -const nconf = require('nconf'); +let conf = require(`${process.cwd()}/config.json`); -const CONFIG_DIR = `config` -let config_file; +conf = conf[process.env.NODE_ENV]; -switch(process.env.NODE_ENV) { - case 'development': - config_file = `${CONFIG_DIR}/config.json`; - break; - case 'test': - config_file = `${CONFIG_DIR}/test_config.json`; - break; - case 'production': - config_file = `${CONFIG_DIR}/config.json`; - break; -} - -// Exports the config.json as an object with get functions -nconf.argv() - .env() - .file({ file: `${process.cwd()}/${config_file}` }); - -module.exports = nconf; +module.exports = conf; diff --git a/src/libs/db/monet.js b/src/libs/db/monet.js index dd7e620a..d19fb37d 100644 --- a/src/libs/db/monet.js +++ b/src/libs/db/monet.js @@ -6,16 +6,16 @@ const config = require(`${libs}/config`); // Connection options const poolOptions = { - nrConnections: config.get('monetdb:nrConnections'), + nrConnections: config.monetdb.nrConnections, }; // Configuration options const options = { - host: config.get('monetdb:host'), - port: config.get('monetdb:port'), - dbname: config.get('monetdb:dbname'), - user: config.get('monetdb:user'), - password: config.get('monetdb:password'), + host: config.monetdb.host, + port: config.monetdb.port, + dbname: config.monetdb.dbname, + user: config.monetdb.user, + password: config.monetdb.password, }; // Connection singleton diff --git a/src/libs/db/mongoose.js b/src/libs/db/mongoose.js index b1a078fd..8571b993 100644 --- a/src/libs/db/mongoose.js +++ b/src/libs/db/mongoose.js @@ -8,7 +8,7 @@ const mongoose = require('mongoose'); module.exports = () => { // Get mongodb URI (ip and port) in config file - const mongoUri = config.get('mongodb:uri'); + const mongoUri = config.mongodb.uri; log.debug(`Connecting to MongDB on URI ${mongoUri}`); // Connection singleton const db = mongoose.connect(mongoUri); diff --git a/src/libs/log.js b/src/libs/log.js index ee975b8d..1cf59931 100644 --- a/src/libs/log.js +++ b/src/libs/log.js @@ -47,7 +47,7 @@ function logger(module) { ], exitOnError: false, }); - if (!config.get('debug')) { + if (!config.debug) { log.remove('debug-log'); } return log; diff --git a/src/libs/models/simulation.js b/src/libs/models/simulation.js index b2bfe828..a445c280 100644 --- a/src/libs/models/simulation.js +++ b/src/libs/models/simulation.js @@ -1,7 +1,6 @@ const mongoose = require('mongoose') const libs = `${process.cwd()}/libs`; -const config = require(`${libs}/config`); const log = require(`${libs}/log`)(module); const Schema = mongoose.Schema; diff --git a/src/libs/routes/simulation.js b/src/libs/routes/simulation.js index 9b97e7bb..30aa6b5a 100644 --- a/src/libs/routes/simulation.js +++ b/src/libs/routes/simulation.js @@ -6,7 +6,6 @@ const libs = `${process.cwd()}/libs`; const log = require(`${libs}/log`)(module); -const config = require(`${libs}/config`); const squel = require('squel'); diff --git a/src/server.js b/src/server.js index d9e37cac..ea8de70e 100644 --- a/src/server.js +++ b/src/server.js @@ -9,10 +9,10 @@ const log = require(`${libs}/log`)(module); const app = require(`${libs}/app`); // Set default port: first environment variable PORT, then configuration and last 3000 -app.set('port', process.env.PORT || config.get('port') || 3000); +app.set('port', process.env.PORT || config.port || 3000); // Set default ip: first environment variable IOP, then configuration and last '127.0.0.1' -app.set('ip', process.env.IP || config.get('ip') || '127.0.0.1'); +app.set('ip', process.env.IP || config.ip || '127.0.0.1'); const server = app.listen(app.get('port'), () => { log.info(`Express server listening on port ${server.address().port}`); -- GitLab