add a lot of changes
This commit is contained in:
40
backend/routes/user.routes.js
Normal file
40
backend/routes/user.routes.js
Normal file
@@ -0,0 +1,40 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const userController = require('../controllers/user.controller');
|
||||
const { verifyToken } = require('../middleware/auth.middleware');
|
||||
|
||||
/**
|
||||
* @route GET /api/users/:userId/dashboard
|
||||
* @desc Get user dashboard with stats, recent sessions, and category performance
|
||||
* @access Private (User - own dashboard only)
|
||||
*/
|
||||
router.get('/:userId/dashboard', verifyToken, userController.getUserDashboard);
|
||||
|
||||
/**
|
||||
* @route GET /api/users/:userId/history
|
||||
* @desc Get user quiz history with pagination, filtering, and sorting
|
||||
* @query page - Page number (default: 1)
|
||||
* @query limit - Items per page (default: 10, max: 50)
|
||||
* @query category - Filter by category ID
|
||||
* @query status - Filter by status (completed, timeout, abandoned)
|
||||
* @query startDate - Filter by start date (ISO 8601)
|
||||
* @query endDate - Filter by end date (ISO 8601)
|
||||
* @query sortBy - Sort by field (date, score) (default: date)
|
||||
* @query sortOrder - Sort order (asc, desc) (default: desc)
|
||||
* @access Private (User - own history only)
|
||||
*/
|
||||
router.get('/:userId/history', verifyToken, userController.getQuizHistory);
|
||||
|
||||
/**
|
||||
* @route PUT /api/users/:userId
|
||||
* @desc Update user profile
|
||||
* @body username - New username (optional)
|
||||
* @body email - New email (optional)
|
||||
* @body currentPassword - Current password (required if changing password)
|
||||
* @body newPassword - New password (optional)
|
||||
* @body profileImage - Profile image URL (optional)
|
||||
* @access Private (User - own profile only)
|
||||
*/
|
||||
router.put('/:userId', verifyToken, userController.updateUserProfile);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user