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
This commit is contained in:
20
server/src/routes/eventRoutes.ts
Normal file
20
server/src/routes/eventRoutes.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user