File size: 778 Bytes
9705b6c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
const { getConvo } = require('../../models');
// Middleware to validate conversationId and user relationship
const validateMessageReq = async (req, res, next) => {
let conversationId = req.params.conversationId || req.body.conversationId;
if (conversationId === 'new') {
return res.status(200).send([]);
}
if (!conversationId && req.body.message) {
conversationId = req.body.message.conversationId;
}
const conversation = await getConvo(req.user.id, conversationId);
if (!conversation) {
return res.status(404).json({ error: 'Conversation not found' });
}
if (conversation.user !== req.user.id) {
return res.status(403).json({ error: 'User not authorized for this conversation' });
}
next();
};
module.exports = validateMessageReq;
|