Files
ocean-cleanup/server/src/routes/eventRoutes.ts
Paul Bailey 88117567ab feat: implement backend API for event management (task 13)
- Create eventController with CRUD operations and registration endpoints
- Implement eventService with Prisma database operations
- Add event routes with authentication middleware
- Support event creation, listing, filtering, registration/unregistration
- Include spatial data handling for event locations
- Add participant count tracking and registration status checks
- Requirements: 4.1, 4.2, 4.3, 4.4
2025-11-16 20:15:41 +00:00

21 lines
867 B
TypeScript

import { Router } from 'express';
import { eventController } from '../controllers/eventController';
import { requireAuth } from '../middleware/auth';
const router = Router();
// Public routes
router.get('/', eventController.getEvents);
router.get('/:id', eventController.getEvent);
router.get('/:id/registrations', eventController.getEventRegistrations);
// Protected routes (require authentication)
router.post('/', requireAuth, eventController.createEvent);
router.patch('/:id', requireAuth, eventController.updateEvent);
router.delete('/:id', requireAuth, eventController.deleteEvent);
router.post('/:id/register', requireAuth, eventController.registerForEvent);
router.delete('/:id/register', requireAuth, eventController.unregisterFromEvent);
router.get('/:id/registration-status', requireAuth, eventController.getRegistrationStatus);
export default router;