From f2094f87c5c83cbbdf328e10c0762ea61fa8ef62 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Tue, 9 Dec 2025 11:56:52 +0330 Subject: [PATCH] review --- src/modules/review/controllers/review.controller.ts | 10 +++++++++- src/modules/review/providers/review.service.ts | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/modules/review/controllers/review.controller.ts b/src/modules/review/controllers/review.controller.ts index b4dccf2..eab1af1 100644 --- a/src/modules/review/controllers/review.controller.ts +++ b/src/modules/review/controllers/review.controller.ts @@ -118,13 +118,21 @@ export class ReviewController { return this.reviewService.update(id, userId, updateReviewDto, true); } + @UseGuards(AdminAuthGuard) + @ApiBearerAuth() + @Get('admin/reviews/:id') + @ApiOperation({ summary: 'review detail' }) + @ApiParam({ name: 'id', required: true }) + reviewDetail(@Param('id') reviewId: string, @RestId() restaurantId: string) { + return this.reviewService.findById(reviewId, restaurantId); + } + @UseGuards(AdminAuthGuard) @ApiBearerAuth() @Patch('admin/reviews/:id/status') @ApiOperation({ summary: 'Change review status (pending, approved, rejected)' }) @ApiParam({ name: 'id', required: true }) @ApiBody({ type: ChangeStatusDto }) - @ApiOkResponse({ description: 'Review status updated successfully' }) changeStatus( @Param('id') reviewId: string, @Body() changeStatusDto: ChangeStatusDto, diff --git a/src/modules/review/providers/review.service.ts b/src/modules/review/providers/review.service.ts index c039945..f20e2d6 100644 --- a/src/modules/review/providers/review.service.ts +++ b/src/modules/review/providers/review.service.ts @@ -99,8 +99,11 @@ export class ReviewService { return this.reviewRepository.findAllPaginated({ ...restDto, restId: restaurant.id }); } - async findById(id: string): Promise { - const review = await this.reviewRepository.findOne({ id }, { populate: ['food', 'user', 'order'] }); + async findById(id: string, restaurantId: string): Promise { + const review = await this.reviewRepository.findOne( + { id, order: { restaurant: { id: restaurantId } } }, + { populate: ['food', 'user', 'order'] }, + ); if (!review) { throw new NotFoundException(ReviewMessage.NOT_FOUND); }