mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
move module functions to top level
GitOrigin-RevId: 73524dcec49faa05d1fd4dd4ffa6950803175f33
This commit is contained in:
@@ -3,114 +3,120 @@ const { db, ObjectId } = require('../../mongodb')
|
||||
const logger = require('@overleaf/logger')
|
||||
const metrics = require('@overleaf/metrics')
|
||||
|
||||
module.exports = ThreadManager = {
|
||||
GLOBAL_THREAD: 'GLOBAL',
|
||||
const GLOBAL_THREAD = 'GLOBAL'
|
||||
|
||||
findOrCreateThread(projectId, threadId, callback) {
|
||||
let query, update
|
||||
projectId = ObjectId(projectId.toString())
|
||||
if (threadId !== ThreadManager.GLOBAL_THREAD) {
|
||||
threadId = ObjectId(threadId.toString())
|
||||
function findOrCreateThread(projectId, threadId, callback) {
|
||||
let query, update
|
||||
projectId = ObjectId(projectId.toString())
|
||||
if (threadId !== GLOBAL_THREAD) {
|
||||
threadId = ObjectId(threadId.toString())
|
||||
}
|
||||
|
||||
if (threadId === GLOBAL_THREAD) {
|
||||
query = {
|
||||
project_id: projectId,
|
||||
thread_id: { $exists: false },
|
||||
}
|
||||
|
||||
if (threadId === ThreadManager.GLOBAL_THREAD) {
|
||||
query = {
|
||||
project_id: projectId,
|
||||
thread_id: { $exists: false },
|
||||
}
|
||||
update = {
|
||||
project_id: projectId,
|
||||
}
|
||||
} else {
|
||||
query = {
|
||||
project_id: projectId,
|
||||
thread_id: threadId,
|
||||
}
|
||||
update = {
|
||||
project_id: projectId,
|
||||
thread_id: threadId,
|
||||
}
|
||||
update = {
|
||||
project_id: projectId,
|
||||
}
|
||||
} else {
|
||||
query = {
|
||||
project_id: projectId,
|
||||
thread_id: threadId,
|
||||
}
|
||||
update = {
|
||||
project_id: projectId,
|
||||
thread_id: threadId,
|
||||
}
|
||||
}
|
||||
|
||||
db.rooms.findOneAndUpdate(
|
||||
query,
|
||||
{ $set: update },
|
||||
{ upsert: true, returnDocument: 'after' },
|
||||
function (error, result) {
|
||||
if (error) {
|
||||
return callback(error)
|
||||
}
|
||||
callback(null, result.value)
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
findAllThreadRooms(projectId, callback) {
|
||||
db.rooms
|
||||
.find(
|
||||
{
|
||||
project_id: ObjectId(projectId.toString()),
|
||||
thread_id: { $exists: true },
|
||||
},
|
||||
{
|
||||
thread_id: 1,
|
||||
resolved: 1,
|
||||
}
|
||||
)
|
||||
.toArray(callback)
|
||||
},
|
||||
|
||||
resolveThread(projectId, threadId, userId, callback) {
|
||||
db.rooms.updateOne(
|
||||
{
|
||||
project_id: ObjectId(projectId.toString()),
|
||||
thread_id: ObjectId(threadId.toString()),
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
resolved: {
|
||||
user_id: userId,
|
||||
ts: new Date(),
|
||||
},
|
||||
},
|
||||
},
|
||||
callback
|
||||
)
|
||||
},
|
||||
|
||||
reopenThread(projectId, threadId, callback) {
|
||||
db.rooms.updateOne(
|
||||
{
|
||||
project_id: ObjectId(projectId.toString()),
|
||||
thread_id: ObjectId(threadId.toString()),
|
||||
},
|
||||
{
|
||||
$unset: {
|
||||
resolved: true,
|
||||
},
|
||||
},
|
||||
callback
|
||||
)
|
||||
},
|
||||
|
||||
deleteThread(projectId, threadId, callback) {
|
||||
this.findOrCreateThread(projectId, threadId, function (error, room) {
|
||||
db.rooms.findOneAndUpdate(
|
||||
query,
|
||||
{ $set: update },
|
||||
{ upsert: true, returnDocument: 'after' },
|
||||
function (error, result) {
|
||||
if (error) {
|
||||
return callback(error)
|
||||
}
|
||||
db.rooms.deleteOne(
|
||||
{
|
||||
_id: room._id,
|
||||
callback(null, result.value)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
function findAllThreadRooms(projectId, callback) {
|
||||
db.rooms
|
||||
.find(
|
||||
{
|
||||
project_id: ObjectId(projectId.toString()),
|
||||
thread_id: { $exists: true },
|
||||
},
|
||||
{
|
||||
thread_id: 1,
|
||||
resolved: 1,
|
||||
}
|
||||
)
|
||||
.toArray(callback)
|
||||
}
|
||||
|
||||
function resolveThread(projectId, threadId, userId, callback) {
|
||||
db.rooms.updateOne(
|
||||
{
|
||||
project_id: ObjectId(projectId.toString()),
|
||||
thread_id: ObjectId(threadId.toString()),
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
resolved: {
|
||||
user_id: userId,
|
||||
ts: new Date(),
|
||||
},
|
||||
function (error) {
|
||||
if (error) {
|
||||
return callback(error)
|
||||
}
|
||||
callback(null, room._id)
|
||||
},
|
||||
},
|
||||
callback
|
||||
)
|
||||
}
|
||||
|
||||
function reopenThread(projectId, threadId, callback) {
|
||||
db.rooms.updateOne(
|
||||
{
|
||||
project_id: ObjectId(projectId.toString()),
|
||||
thread_id: ObjectId(threadId.toString()),
|
||||
},
|
||||
{
|
||||
$unset: {
|
||||
resolved: true,
|
||||
},
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
function deleteThread(projectId, threadId, callback) {
|
||||
findOrCreateThread(projectId, threadId, function (error, room) {
|
||||
if (error) {
|
||||
return callback(error)
|
||||
}
|
||||
db.rooms.deleteOne(
|
||||
{
|
||||
_id: room._id,
|
||||
},
|
||||
function (error) {
|
||||
if (error) {
|
||||
return callback(error)
|
||||
}
|
||||
)
|
||||
})
|
||||
},
|
||||
callback(null, room._id)
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = ThreadManager = {
|
||||
GLOBAL_THREAD,
|
||||
findOrCreateThread,
|
||||
findAllThreadRooms,
|
||||
resolveThread,
|
||||
reopenThread,
|
||||
deleteThread,
|
||||
}
|
||||
;[
|
||||
'findOrCreateThread',
|
||||
|
||||
Reference in New Issue
Block a user