overleaf/services/chat/app/js/router.js

74 lines
1.9 KiB
JavaScript
Raw Normal View History

const MessageHttpController = require('./Features/Messages/MessageHttpController')
2020-08-19 12:00:01 +00:00
const { ObjectId } = require('./mongodb')
module.exports = {
route(app) {
app.param('projectId', function (req, res, next, projectId) {
if (ObjectId.isValid(projectId)) {
next()
} else {
res.status(400).send('Invalid projectId')
}
})
app.param('threadId', function (req, res, next, threadId) {
if (ObjectId.isValid(threadId)) {
next()
} else {
res.status(400).send('Invalid threadId')
}
})
// These are for backwards compatibility
app.get(
'/room/:projectId/messages',
MessageHttpController.getGlobalMessages
)
app.post(
'/room/:projectId/messages',
MessageHttpController.sendGlobalMessage
)
app.get(
'/project/:projectId/messages',
MessageHttpController.getGlobalMessages
)
app.post(
'/project/:projectId/messages',
MessageHttpController.sendGlobalMessage
)
app.post(
'/project/:projectId/thread/:threadId/messages',
MessageHttpController.sendThreadMessage
)
app.get('/project/:projectId/threads', MessageHttpController.getAllThreads)
app.post(
'/project/:projectId/thread/:threadId/messages/:messageId/edit',
MessageHttpController.editMessage
)
2020-03-06 18:33:17 +00:00
app.delete(
'/project/:projectId/thread/:threadId/messages/:messageId',
MessageHttpController.deleteMessage
)
app.post(
'/project/:projectId/thread/:threadId/resolve',
MessageHttpController.resolveThread
)
app.post(
'/project/:projectId/thread/:threadId/reopen',
MessageHttpController.reopenThread
)
2020-03-06 18:33:17 +00:00
app.delete(
'/project/:projectId/thread/:threadId',
MessageHttpController.deleteThread
)
app.delete('/project/:projectId', MessageHttpController.destroyProject)
app.get('/status', (req, res, next) => res.send('chat is alive'))
2021-07-13 11:04:48 +00:00
},
}