Files
trunk-server/backend/db.js
Luke Berndt 3b0d3f290f First Commit
2020-06-09 22:11:11 -04:00

46 lines
1.2 KiB
JavaScript

var MongoClient = require('mongodb').MongoClient;
var config = require('./config/config.json');
var test = require('assert');
var host = process.env['MONGO_NODE_DRIVER_HOST'] != null ? process.env['MONGO_NODE_DRIVER_HOST'] : 'localhost';
var port = process.env['MONGO_NODE_DRIVER_PORT'] != null ? process.env['MONGO_NODE_DRIVER_PORT'] : 27017;
var dbUser = process.env['MONGO_TRUNK_FRONTEND_USER'] != null ? process.env['MONGO_TRUNK_FRONTEND_USER'] : null;
var dbPass = process.env['MONGO_TRUNK_FRONTEND_PASS'] != null ? process.env['MONGO_TRUNK_FRONTEND_PASS'] : null;
var state = {
db: null,
}
exports.connect = function(done) {
if (state.db) return done()
var url = 'mongodb://' + host + ':' + port + '/scanner';
MongoClient.connect(url, function(err, db) {
if (err) return done(err)
if (dbUser) {
db.authenticate(dbUser, dbPass, function (err, result) {
//test.equal(true, result);
state.db = db;
done();
});
} else {
state.db = db;
done();
}
})
}
exports.get = function() {
return state.db
}
exports.close = function(done) {
if (state.db) {
state.db.close(function(err, result) {
state.db = null
state.mode = null
done(err)
})
}
}