23 lines
693 B
TypeScript
23 lines
693 B
TypeScript
import { Router } from 'express';
|
|
import { userController } from '../controllers/userController';
|
|
import { authMiddleware } from '../middleware/authMiddleware';
|
|
import { adminMiddleware } from '../middleware/adminMiddleware';
|
|
|
|
const router = Router();
|
|
|
|
// All routes require authentication
|
|
router.use(authMiddleware);
|
|
|
|
// Get all users (admin only)
|
|
router.get('/', adminMiddleware, userController.getAllUsers);
|
|
|
|
// Get user by ID (admin or self)
|
|
router.get('/:id', userController.getUserById);
|
|
|
|
// Update user (admin or self)
|
|
router.put('/:id', userController.updateUser);
|
|
|
|
// Delete user (admin only)
|
|
router.delete('/:id', adminMiddleware, userController.deleteUser);
|
|
|
|
export default router;
|