mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Merge pull request #23673 from overleaf/em-reviewer-role-delete-replies
Let reviewers delete their own comments GitOrigin-RevId: bd5341a917a3e886dc573d7e42d12343da6700cd
This commit is contained in:
@@ -74,6 +74,10 @@ export async function deleteMessage(context) {
|
||||
return await callMessageHttpController(context, _deleteMessage)
|
||||
}
|
||||
|
||||
export async function deleteUserMessage(context) {
|
||||
return await callMessageHttpController(context, _deleteUserMessage)
|
||||
}
|
||||
|
||||
export async function getResolvedThreadIds(context) {
|
||||
return await callMessageHttpController(context, _getResolvedThreadIds)
|
||||
}
|
||||
@@ -190,6 +194,13 @@ const _deleteMessage = async (req, res) => {
|
||||
res.status(204)
|
||||
}
|
||||
|
||||
const _deleteUserMessage = async (req, res) => {
|
||||
const { projectId, threadId, userId, messageId } = req.params
|
||||
const room = await ThreadManager.findOrCreateThread(projectId, threadId)
|
||||
await MessageManager.deleteUserMessage(userId, room._id, messageId)
|
||||
res.status(204)
|
||||
}
|
||||
|
||||
const _getResolvedThreadIds = async (req, res) => {
|
||||
const { projectId } = req.params
|
||||
const resolvedThreadIds = await ThreadManager.getResolvedThreadIds(projectId)
|
||||
|
||||
@@ -77,6 +77,14 @@ export async function deleteMessage(roomId, messageId) {
|
||||
await db.messages.deleteOne(query)
|
||||
}
|
||||
|
||||
export async function deleteUserMessage(userId, roomId, messageId) {
|
||||
await db.messages.deleteOne({
|
||||
_id: new ObjectId(messageId),
|
||||
user_id: new ObjectId(userId),
|
||||
room_id: new ObjectId(roomId),
|
||||
})
|
||||
}
|
||||
|
||||
function _ensureIdsAreObjectIds(query) {
|
||||
if (query.user_id && !(query.user_id instanceof ObjectId)) {
|
||||
query.user_id = new ObjectId(query.user_id)
|
||||
|
||||
@@ -177,6 +177,34 @@ paths:
|
||||
'204':
|
||||
description: No Content
|
||||
description: 'Delete message with Message ID provided, from the Thread with ThreadID and ProjectID provided'
|
||||
'/project/{projectId}/thread/{threadId}/user/{userId}/messages/{messageId}':
|
||||
parameters:
|
||||
- schema:
|
||||
type: string
|
||||
name: projectId
|
||||
in: path
|
||||
required: true
|
||||
- schema:
|
||||
type: string
|
||||
name: threadId
|
||||
in: path
|
||||
required: true
|
||||
- schema:
|
||||
type: string
|
||||
name: userId
|
||||
in: path
|
||||
required: true
|
||||
- schema:
|
||||
type: string
|
||||
name: messageId
|
||||
in: path
|
||||
required: true
|
||||
delete:
|
||||
summary: Delete message written by a given user
|
||||
operationId: deleteUserMessage
|
||||
responses:
|
||||
'204':
|
||||
description: No Content
|
||||
'/project/{projectId}/thread/{threadId}/resolve':
|
||||
parameters:
|
||||
- schema:
|
||||
|
||||
Reference in New Issue
Block a user