mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-13 21:53:43 +01:00
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:
@@ -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) {
|
||||
|
||||
@@ -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`,
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user