Skip to content

Commit adea9e3

Browse files
committed
configure database-name outside connection string
1 parent 2527e38 commit adea9e3

File tree

5 files changed

+20
-15
lines changed

5 files changed

+20
-15
lines changed

.azure/ref.parameters.json

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"value": {
1313
"API_VERSION": "^2.0.0",
1414
"CONSOLE_ENABLED": "false",
15+
"DATABASE_NAME": "test",
1516
"LOGGING_ACCESS_LOG": "false",
1617
"LOGGING_LEVEL": "info",
1718
"NODE_ENV": "production",

config/serverSettings.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* *************************************************
88
*
99
*/
10-
const { getEnv, unpackMongodbConfig, unpackApiKeysConfig, devDefaults } = require('kth-node-configuration')
10+
const { getEnv, unpackApiKeysConfig, devDefaults } = require('kth-node-configuration')
1111

1212
// DEFAULT SETTINGS used for dev, if you want to override these for you local environment, use env-vars in .env
1313
const devPrefixPath = devDefaults('/api/node')
@@ -31,7 +31,10 @@ module.exports = {
3131
api_keys: unpackApiKeysConfig('API_KEYS', devApiKeys),
3232

3333
// Services
34-
db: unpackMongodbConfig('MONGODB_URI', devMongodb),
34+
mongodb: {
35+
connectionString: getEnv('MONGODB_URI', devMongodb),
36+
databaseName: getEnv('DATABASE_NAME'),
37+
},
3538

3639
// Logging
3740
logging: {

server/controllers/systemCtrl.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
const os = require('os')
44
const fs = require('fs')
55
const log = require('@kth/log')
6-
const db = require('@kth/mongo')
76
const { getPaths } = require('kth-node-express-routing')
87
const { monitorRequest } = require('@kth/monitor')
98

9+
const db = require('../database')
1010
const configServer = require('../configuration').server
1111
const version = require('../../config/version')
1212
const packageFile = require('../../package.json')

server/controllers/systemCtrl.test.js

+5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ jest.mock('@kth/log', () => ({
1515
error: jest.fn(() => {}),
1616
}))
1717

18+
jest.mock('../database', () => ({
19+
connect: jest.fn(),
20+
isOk: jest.fn(() => true),
21+
}))
22+
1823
jest.mock('../../server/configuration', () => ({
1924
server: {
2025
api_keys: '1234',

server/database.js

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
'use strict'
22

33
const log = require('@kth/log')
4-
const nodeMongo = require('@kth/mongo')
4+
const mongoose = require('mongoose')
55
const config = require('./configuration').server
66

7-
const mongoOptions = {
8-
user: config.db.username,
9-
pass: config.db.password,
10-
ssl: config.db.ssl,
11-
dbUri: config.db.authDatabase !== '' ? config.db.uri + `?authSource=${config.db.authDatabase}` : config.db.uri,
12-
logger: log,
13-
}
14-
15-
module.exports.connect = function connect() {
16-
nodeMongo
17-
.connect(mongoOptions)
7+
const connect = () => {
8+
mongoose
9+
.connect(config.mongodb.connectionString, { dbName: config.mongodb.databaseName })
1810
.then(() => {
1911
log.info('MongoDB: connected')
2012
})
2113
.catch(err => {
2214
log.error({ err }, 'MongoDB: ERROR connecting DB')
2315
})
2416
}
17+
18+
const isOk = () => mongoose.connection.readyState === 1
19+
20+
module.exports = { connect, isOk }

0 commit comments

Comments
 (0)