Merge pull request #10753 from overleaf/em-upgrade-mongo-driver

Upgrade the Mongo driver in the chat service

GitOrigin-RevId: 12808e624b75f0adc7fd474f774b855dc2eadefd
This commit is contained in:
Eric Mc Sween
2022-12-09 09:04:17 +00:00
committed by Copybot
parent ba3b42def4
commit f9aaa4d5de
6 changed files with 115 additions and 41 deletions
+3 -3
View File
@@ -1,15 +1,15 @@
const logger = require('@overleaf/logger')
const settings = require('@overleaf/settings')
const mongodb = require('./app/js/mongodb')
const { mongoClient } = require('./app/js/mongodb')
const Server = require('./app/js/server')
if (!module.parent) {
// Called directly
const port = settings.internal.chat.port
const host = settings.internal.chat.host
mongodb
.waitForDb()
mongoClient
.connect()
.then(() => {
Server.server.listen(port, host, function (err) {
if (err) {
+7 -20
View File
@@ -1,29 +1,16 @@
const Settings = require('@overleaf/settings')
const { MongoClient, ObjectId } = require('mongodb')
const clientPromise = MongoClient.connect(
Settings.mongo.url,
Settings.mongo.options
)
const client = new MongoClient(Settings.mongo.url)
const db = client.db()
let setupDbPromise
async function waitForDb() {
if (!setupDbPromise) {
setupDbPromise = setupDb()
}
await setupDbPromise
}
const db = {}
async function setupDb() {
const internalDb = (await clientPromise).db()
db.messages = internalDb.collection('messages')
db.rooms = internalDb.collection('rooms')
const collections = {
messages: db.collection('messages'),
rooms: db.collection('rooms'),
}
module.exports = {
db,
db: collections,
mongoClient: client,
ObjectId,
waitForDb,
}
@@ -17,10 +17,6 @@ module.exports = {
},
mongo: {
options: {
useUnifiedTopology:
(process.env.MONGO_USE_UNIFIED_TOPOLOGY || 'true') === 'true',
},
url:
process.env.MONGO_CONNECTION_STRING ||
`mongodb://${process.env.MONGO_HOST || 'localhost'}/sharelatex`,
+1 -1
View File
@@ -22,7 +22,7 @@
"async": "^3.2.2",
"body-parser": "^1.19.0",
"express": "4.17.1",
"mongodb": "^3.6.0"
"mongodb": "^4.11.0"
},
"devDependencies": {
"acorn": "^7.1.1",
@@ -1,18 +1,14 @@
const { db, waitForDb } = require('../../../../app/js/mongodb')
const { db } = require('../../../../app/js/mongodb')
const app = require('../../../../app')
let serverPromise = null
function startServer(resolve, reject) {
waitForDb()
.then(() => {
app.listen(3010, 'localhost', error => {
if (error) {
return reject(error)
}
resolve()
})
})
.catch(reject)
app.listen(3010, 'localhost', error => {
if (error) {
return reject(error)
}
resolve()
})
}
async function ensureRunning() {