- Update getUserProfile to accept both database ID and Clerk ID - Update getUserReports to handle Clerk IDs - Update getUserEvents to handle Clerk IDs - Add getUserActivity endpoint to return timeline of user actions - Add activity route GET /api/users/:id/activity - Fix TypeScript errors with const assertions This fixes 404 errors when frontend uses Clerk IDs to fetch user data
23 lines
923 B
TypeScript
23 lines
923 B
TypeScript
import { Router } from 'express';
|
|
import { userController } from '../controllers/userController';
|
|
import { requireAuth } from '../middleware/auth';
|
|
|
|
const router = Router();
|
|
|
|
// User profile endpoints
|
|
router.get('/:id', userController.getUserProfile.bind(userController));
|
|
router.patch('/:id', requireAuth, userController.updateUserProfile.bind(userController));
|
|
|
|
// User reports and events
|
|
router.get('/:id/reports', userController.getUserReports.bind(userController));
|
|
router.get('/:id/events', userController.getUserEvents.bind(userController));
|
|
router.get('/:id/activity', userController.getUserActivity.bind(userController));
|
|
|
|
// Notification preferences
|
|
router.patch('/:id/preferences', requireAuth, userController.updateNotificationPreferences.bind(userController));
|
|
|
|
// Impact score calculation
|
|
router.post('/:id/calculate-impact', userController.calculateImpactScore.bind(userController));
|
|
|
|
export default router;
|