diff --git a/.gitignore b/.gitignore index 136ccb71c2aa2bcefad07404cf99bfc61ab4d9f7..979717eb93b624b88c6749fccd981b0ccb7b2e8d 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 0000000000000000000000000000000000000000..67f5a4f17c86a0ce6c1d4c1379bcdb8e341857ec --- /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 136ee928b34e9554c008f7125400286e6ff2ec33..0000000000000000000000000000000000000000 --- 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 0a8d9146782a643ac64eb4a3f0d5d61f098dc42f..0000000000000000000000000000000000000000 --- 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 66bc5000609af2508f23ec6e8795db1dd122d560..1f23dd9ee0b5c083c7f66d6d6650982a34a748a6 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 bed5deb7a92ad53a74173b9a4e9f2addb16d9e55..a1b3ff01248a70c6a647a63016ddc605a1dbb3d5 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 d61eff9958f13d08770493a1b477b6110c74ebff..2c07d19e94ba2505205d613a9ac6d5596c388502 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 dd7e620adcf5b6a1dbe29358697fa71a3970ea03..d19fb37dfac5ed68cc15c1762a822818dbbc82da 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 b1a078fd26b5a13c987c5c3e17a899cd0f10cdf2..8571b993b009aa644bc3bcb15cb846494b076a9c 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 ee975b8dd3d75720cf5937642f98b01af4673e66..1cf59931babf02f74baac17e4e4fd775f828076a 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 b2bfe82807a22fca8dfacf46d50ad44567532f74..a445c28064b681a69f306c5c71ba49d89584467a 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 9b97e7bb5156052baa9328af43c1e215a38f85cf..30aa6b5ac499767ea2e0213c50166344eea812b5 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 d9e37caca1a103588bc2ecb90bc0034cea1d3efd..ea8de70ee6929c2105ff1099d96ced244e84787d 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}`);