From 9d2820887059284f22620bb786f897e9a16b3e76 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Mon, 7 Sep 2020 09:51:16 +0100 Subject: [PATCH] [misc] mongodb: refactor the process of setting up the db construct Co-Authored-By: John Lees-Miller --- services/notifications/app/js/mongodb.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/services/notifications/app/js/mongodb.js b/services/notifications/app/js/mongodb.js index ba88a9df34..db45bbf7f3 100644 --- a/services/notifications/app/js/mongodb.js +++ b/services/notifications/app/js/mongodb.js @@ -3,16 +3,20 @@ const { MongoClient, ObjectId } = require('mongodb') const clientPromise = MongoClient.connect(Settings.mongo.url) +let setupDbPromise async function waitForDb() { - await clientPromise + if (!setupDbPromise) { + setupDbPromise = setupDb() + } + await setupDbPromise } const db = {} -waitForDb().then(async function () { +async function setupDb() { const internalDb = (await clientPromise).db() db.notifications = internalDb.collection('notifications') -}) +} module.exports = { db,