fix(comment): Create proper DTO class for comment creation

- Create CreateCommentDto class with proper validation decorators
- Update comment controller to use the DTO for request body
- This resolves the global ValidationPipe rejection due to forbidNonWhitelisted
- Set MaxLength to 50000 to match manual validation logic

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
kevin-asprec
2026-05-06 17:38:48 +08:00
parent 59ee1fbe33
commit da9707f3fb
2 changed files with 21 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import {
UseGuards,
UseInterceptors,
UploadedFiles,
BadRequestException,
} from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import { FileFieldsInterceptor } from '@nestjs/platform-express';
@@ -38,14 +39,18 @@ export class CommentController {
async create(
@CurrentUser() user: CurrentUserPayload,
@Param('ticketId') ticketId: string,
@Body() dto: CreateCommentDto,
@Body() body: CreateCommentDto,
@UploadedFiles() files?: { files?: Express.Multer.File[] },
) {
const content = body.content;
if (!content || content.length > 50000) {
throw new BadRequestException('Content must be between 1 and 50000 characters');
}
return this.commentService.create(
user.tenantId,
ticketId,
user.sub,
dto.content,
content,
files?.files,
);
}