import { Router } from 'express'; import { BoardController } from '../controllers/boardController.js'; import { createBoardLimiter } from '../middleware/rateLimit.js'; import { requireBoardAuth } from '../middleware/auth.js'; const router = Router(); // Create new board (Rate limited: 5 boards/hour/IP) router.post('/', createBoardLimiter, BoardController.createBoard); // Get board details (Requires admin or member key) router.get('/:id', requireBoardAuth(), BoardController.getBoard); // Get board activity logs router.get('/:id/activity', requireBoardAuth(), BoardController.getBoardActivity); // Get ticket activity logs router.get('/:id/tickets/:ticketId/activity', requireBoardAuth(), BoardController.getTicketActivity); // Update board title (Requires admin key) router.patch('/:id', requireBoardAuth('admin'), BoardController.updateBoard); // Rotate member key (Requires admin key) router.post('/:id/rotate-member-key', requireBoardAuth('admin'), BoardController.rotateMemberKey); // Delete board (Requires admin key) router.delete('/:id', requireBoardAuth('admin'), BoardController.deleteBoard); export default router;