Skip to content

Commit

Permalink
Merge pull request #156 from Horlawhumy-dev/dev
Browse files Browse the repository at this point in the history
fix the database.js file
  • Loading branch information
CodigoGod authored Feb 21, 2024
2 parents 0b29371 + 5a1d3f8 commit e120df8
Showing 1 changed file with 32 additions and 11 deletions.
43 changes: 32 additions & 11 deletions config/database.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
const mongoose = require('mongoose');
const path = require('path');
const createPermissions = require('../utils/createPermissions');
const fs = require('fs').promises;

mongoose.Promise = global.Promise;

// let tscFile = path.dirname('./global-bundle.pem');
let tlsCAFile = path.join(__dirname, './global-bundle.pem');
const tlsCAFile = path.join(__dirname, './global-bundle.pem');
const USERNAME = process.env.MONGO_USERNAME;
const PASSWORD = process.env.MONGO_PASSWORD;

// MONGO_URI = process.env.MONGO_URI + tlsCAFile
const connect = mongoose.connection;

const connectDB = async () => {
connect.on('connected', async () => {
console.log('MongoDB Connection Established');

// Call the function to create Admin Permissions
createPermissions();
});

Expand All @@ -26,7 +27,16 @@ const connectDB = async () => {

setTimeout(() => {
mongoose.connect(process.env.MONGO_URI, {
tlsCAFile: require('fs').readFileSync(tlsCAFile),
tlsCAFile: tlsCAFile,
tls: process.env.MONGO_REPLSET ? true : false,
replicaSet: process.env.MONGO_REPLSET,
readPreference: process.env.MONGO_READ_PREFERENCE,
retryWrites: false,

//required for the certificate shit
authMechanism: 'MONGODB-X509',
auth: { username: USERNAME, password: PASSWORD },

useNewUrlParser: true,
useUnifiedTopology: true,
keepAlive: true,
Expand All @@ -39,17 +49,28 @@ const connectDB = async () => {
connect.on('close', () => {
console.log('Mongo Connection Closed');
});

connect.on('error', (error) => {
console.log('Mongo Connection ERROR: ' + error);
});

await mongoose
.connect(process.env.MONGO_URI, {
tlsCAFile: require('fs').readFileSync(tlsCAFile),
try {
await mongoose.connect(process.env.MONGO_URI, {
tlsCAFile: tlsCAFile,
tls: process.env.MONGO_REPLSET ? true : false,
replicaSet: process.env.MONGO_REPLSET,
readPreference: process.env.MONGO_READ_PREFERENCE,
retryWrites: false,
//required for the certificate shit
authMechanism: 'MONGODB-X509',
auth: { username: USERNAME, password: PASSWORD },

useNewUrlParser: true,
useUnifiedTopology: true
})
.catch((error) => console.log(error));
});
} catch (error) {
console.log(error);
}
};

module.exports = { connectDB, connect };

0 comments on commit e120df8

Please sign in to comment.