- Add completeEvent endpoint to backend API - Create EventCompletionForm component with litter quantity input and photo upload - Update EventDetailModal to show completion form for organizers - Add isOrganizer check in EventsPage - Update event service to support completion - Display completion data (litter collected, photos) for completed events
22 lines
941 B
TypeScript
22 lines
941 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);
|
|
router.post('/:id/complete', requireAuth, eventController.completeEvent);
|
|
|
|
export default router;
|