From f6083a2d5109d24424f50252c71ec08ce4aeb485 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Mon, 7 Sep 2020 09:31:50 +0100 Subject: [PATCH] [misc] mongodb: refactor the process of setting up the db construct Co-Authored-By: John Lees-Miller --- services/chat/app/js/mongodb.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/services/chat/app/js/mongodb.js b/services/chat/app/js/mongodb.js index 432c39fb03..11458226e1 100644 --- a/services/chat/app/js/mongodb.js +++ b/services/chat/app/js/mongodb.js @@ -3,17 +3,21 @@ 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.messages = internalDb.collection('messages') db.rooms = internalDb.collection('rooms') -}) +} module.exports = { db,