diff --git a/src/controllers/productsController.ts b/src/controllers/productsController.ts index f33ebc03..4a387553 100644 --- a/src/controllers/productsController.ts +++ b/src/controllers/productsController.ts @@ -246,7 +246,10 @@ export const getAllProduct = async (req: Request, res: Response) => { try { // Fetch all products with their associated sizes const products: any = await Product.findAll({ - include: [{ model: Size, as: 'sizes' }], + include: [ + { model: Size, as: 'sizes' }, + { model: Review, as: 'reviews', include: [{ model: User, as: 'user', attributes: ['photoUrl', 'firstName'] }] }, + ], }); const currentDate = new Date(); @@ -277,7 +280,7 @@ export const getProductById = async (req: Request, res: Response) => { try { const { productId } = req.params; const product = await Product.findByPk(productId, { - include: [{ model: Size, as: 'sizes' }], + include: [{ model: Size, as: 'sizes' },{ model: Review, as: 'reviews', include: [{ model: User, as: 'user', attributes: ['photoUrl', 'firstName'] }] },], }); if (!product) { @@ -483,30 +486,3 @@ export const calculateAverageRating = async (req: Request, res: Response) => { } }; -// get product review ---- Buyer -export const getProductReviewsById = async (req: Request, res: Response) => { - try { - const { productId } = req.params; - const product = await Product.findByPk(productId, { - include: [ - { model: Size, as: 'sizes' }, - { model: Review, as: 'reviews', include: [{ model: User, as: 'user', attributes: ['photoUrl', 'firstName'] }] }, - ], - }); - - if (!product) { - return res.status(404).json({ - ok: false, - message: 'Product not found', - }); - } - - res.status(200).json({ - ok: true, - message: 'Product retrieved successfully', - data: product, - }); - } catch (error) { - sendInternalErrorResponse(res, error); - } -}; diff --git a/src/routes/productRoutes.ts b/src/routes/productRoutes.ts index a60b4843..a598a00f 100644 --- a/src/routes/productRoutes.ts +++ b/src/routes/productRoutes.ts @@ -13,7 +13,6 @@ import { provideReviewToProduct, calculateAverageRating, deleteReview, - getProductReviewsById, } from '../controllers/productsController'; import multerUpload from '../helpers/multer'; import { checkUserRoles, isAuthenticated } from '../middlewares/authMiddlewares'; @@ -45,7 +44,6 @@ router.put('/:sizeId/available', isAuthenticated, checkUserRoles('seller'), mark router.put('/:sizeId/unavailable', isAuthenticated, checkUserRoles('seller'), markProductAsUnavailable); router.post('/:productId/review/', isAuthenticated, multerUpload.single('feedbackImage'), provideReviewToProduct); router.delete('/:productId/review/:reviewId', isAuthenticated, deleteReview); -router.get('/:productId/review/statistics', isAuthenticated, calculateAverageRating); -router.get('/:productId/reviews', getProductReviewsById); +router.get('/:productId/review/statistics', calculateAverageRating); export default router;