sanitize review input

This commit is contained in:
2025-12-25 11:20:38 +03:30
parent 9f7c695ed1
commit b18f9b0222
4 changed files with 214 additions and 5 deletions
+10 -2
View File
@@ -15,6 +15,7 @@ import { Restaurant } from 'src/modules/restaurants/entities/restaurant.entity';
import { ReviewStatus } from '../enums/review-status.enum';
import { EventEmitter2 } from '@nestjs/event-emitter';
import { ReviewCreatedEvent } from '../events/review.events';
import { sanitizeText } from '../../utils/sanitize.util';
@Injectable()
export class ReviewService {
@@ -70,7 +71,7 @@ export class ReviewService {
food,
user,
rating,
comment: comment || undefined,
comment: sanitizeText(comment) || undefined,
positivePoints: positivePoints || undefined,
negativePoints: negativePoints || undefined,
status: ReviewStatus.PENDING,
@@ -145,7 +146,14 @@ export class ReviewService {
}
const oldRating = review.rating;
this.em.assign(review, dto);
// Sanitize comment if provided
const sanitizedDto = {
...dto,
comment: dto.comment !== undefined ? sanitizeText(dto.comment) || undefined : undefined,
};
this.em.assign(review, sanitizedDto);
await this.em.persistAndFlush(review);
// Update food rating average if rating changed