diff --git a/src/config/config.js b/src/config/config.js new file mode 100644 index 00000000..e165c6a9 --- /dev/null +++ b/src/config/config.js @@ -0,0 +1,76 @@ +// This file establishes conenction to the mongodb. Connection is used by the applicaiton and initialized +// when it loads during starup . This is registered in the root level index.js + +// require mongoose module +const fp = require("fastify-plugin"); +const db = require("mongoose"); +db.set("useFindAndModify", false); +// require clak module to give colors to console text. +var chalk = require("chalk"); + +const boom = require("boom"); + + +// Define colors for db messages on cosole. + +var connected = chalk.bold.cyan; +var error = chalk.bold.yellow; +var disconnected = chalk.bold.red; +var termination = chalk.bold.magenta; + +// TODO +// Need to read database url from a environment variable. +// const databaseURL = "mongodb://armintatankdbuser:armintatank1@35.207.198.4:27017/arminta-tank-db; +const databaseURLNew = "mongodb://35.207.198.4:27017/arminta-tank-db"; +//const databaseURLNew = "mongodb://35.200.129.165:27017/health-care-db"; + +// const databaseURLNew = "mongodb://127.0.0.1:27017/arminta-tank-db"; +// Next line not used , or no need to pass default db in the mongo connection url. +const defaultDatabase = "arminta-tank-db"; + +//export this function and imported by server.js + + +async function dbConnection() { + try { + db.connect(databaseURLNew, { user: "armintatankdbuser", pass: "armintatank1" , useUnifiedTopology: true, }); + //db.connect(databaseURLNew, { user: "healthcaredbuser01", pass: "healthcare01" , useUnifiedTopology: true, }); + + // db.connect(databaseURLNew) + db.connection.on("connected", function () { + console.log( + connected("Mongoose default connection is open to ", databaseURLNew) + ); + + + + }); + + db.connection.on("error", function (err) { + console.log( + error("Mongoose default connection has occured " + err + " error") + ); + }); + + db.connection.on("disconnected", function () { + console.log(disconnected("Mongoose default connection is disconnected")); + }); + + process.on("SIGINT", function () { + db.connection.close(function () { + console.log( + termination( + "Mongoose default connection is disconnected due to application termination" + ) + ); + process.exit(0); + }); + }); + } catch (err) { + throw boom.boomify(err); + } +} + + + +module.exports = fp(dbConnection, { fastify: ">=1.0.0" });