From f413d01bd992038a17e0c354fe1eb80a3feac766 Mon Sep 17 00:00:00 2001 From: p11037 Date: Fri, 24 Nov 2023 14:39:01 +0700 Subject: [PATCH] getUserById --- controllers/userController.js | 21 ++++++++++++++++++++- routes/userRoute.js | 2 ++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/controllers/userController.js b/controllers/userController.js index 0cb66b1..2d822cd 100644 --- a/controllers/userController.js +++ b/controllers/userController.js @@ -13,6 +13,25 @@ const getAllUser = asyncHandler(async (req, res) => { res.status(200).json(users); }); +//Get single users => api/user/:id +const getUserById = async (req, res) => { + try { + const { id } = req.params; + + const foundUser = await user.findById(id); + + if (!foundUser) { + return res.status(404).json({ message: 'User not found' }); + } + + res.status(200).json(foundUser); + } catch (error) { + console.error(error); + res.status(500).json({ message: 'Server Error' }); + } + }; + + // Create new user => POST api/users/create const createUser = asyncHandler(async (req, res) => { try { @@ -166,4 +185,4 @@ const googleAuth = asyncHandler(async (req, res) => { } }); -module.exports = { getAllUser, createUser, deleteUser, updateUser, loginUser, logoutUser , googleAuth}; \ No newline at end of file +module.exports = { getAllUser, getUserById, createUser, deleteUser, updateUser, loginUser, logoutUser , googleAuth}; \ No newline at end of file diff --git a/routes/userRoute.js b/routes/userRoute.js index ebad1b5..37c7a0c 100644 --- a/routes/userRoute.js +++ b/routes/userRoute.js @@ -1,6 +1,7 @@ const express = require('express'); const router = express.Router(); const { getAllUser, + getUserById, createUser, deleteUser, updateUser, @@ -9,6 +10,7 @@ const { getAllUser, googleAuth} = require('../controllers/userController'); router.route('/').get(getAllUser); +router.route('/:id').get(getUserById); router.route('/create').post(createUser); router.route('/delete/:id').delete(deleteUser); router.route('/update/:id').put(updateUser);