This commit is contained in:
2025-12-09 11:56:52 +03:30
parent 9efb7328d2
commit f2094f87c5
2 changed files with 14 additions and 3 deletions
@@ -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,
@@ -99,8 +99,11 @@ export class ReviewService {
return this.reviewRepository.findAllPaginated({ ...restDto, restId: restaurant.id });
}
async findById(id: string): Promise<Review> {
const review = await this.reviewRepository.findOne({ id }, { populate: ['food', 'user', 'order'] });
async findById(id: string, restaurantId: string): Promise<Review> {
const review = await this.reviewRepository.findOne(
{ id, order: { restaurant: { id: restaurantId } } },
{ populate: ['food', 'user', 'order'] },
);
if (!review) {
throw new NotFoundException(ReviewMessage.NOT_FOUND);
}