28 lines
913 B
JavaScript
28 lines
913 B
JavaScript
|
|
const express = require('express');
|
||
|
|
const router = express.Router();
|
||
|
|
const {
|
||
|
|
createConversation,
|
||
|
|
getConversations,
|
||
|
|
getConversation,
|
||
|
|
sendMessage,
|
||
|
|
updateConversation,
|
||
|
|
deleteConversation
|
||
|
|
} = require('../controllers/chatController');
|
||
|
|
const { authenticate } = require('../middleware/auth');
|
||
|
|
const { validate, schemas } = require('../middleware/validation');
|
||
|
|
|
||
|
|
// All chat routes require authentication
|
||
|
|
router.use(authenticate);
|
||
|
|
|
||
|
|
// Conversation management
|
||
|
|
router.post('/conversations', validate(schemas.createConversation), createConversation);
|
||
|
|
router.get('/conversations', getConversations);
|
||
|
|
router.get('/conversations/:conversationId', getConversation);
|
||
|
|
router.put('/conversations/:conversationId', updateConversation);
|
||
|
|
router.delete('/conversations/:conversationId', deleteConversation);
|
||
|
|
|
||
|
|
// Messaging
|
||
|
|
router.post('/message', validate(schemas.sendMessage), sendMessage);
|
||
|
|
|
||
|
|
module.exports = router;
|