const express = require('express'); const router = express.Router(); const messagesController = require("../controllers/messages.controller.js"); const multer = require('multer'); const upload = multer({ storage: multer.memoryStorage(), limits: { fileSize: 10 * 1024 * 1024, }, fileFilter: (req, file, cb) => { const allowedTypes = [ 'image/jpeg', 'image/png', 'image/gif', 'image/webp', 'application/pdf', 'text/plain', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'audio/mpeg', 'audio/wav', 'video/mp4', 'video/quicktime' ]; if (allowedTypes.includes(file.mimetype)) { cb(null, true); } else { cb(new Error('Invalid file type'), false); } } }); router.get('/messages/conversations', messagesController.getConversations); router.post('/messages/conversations', messagesController.createConversation); router.get('/messages/:conversationId', messagesController.getMessages); router.post('/messages', upload.array('attachments', 5), messagesController.sendMessage); router.delete('/messages/attachments/:attachmentId', messagesController.deleteAttachment); router.put('/messages/:conversationId/read', messagesController.markMessagesAsRead); router.get('/messages/stats/:userId', messagesController.getStats); module.exports = router;