// dto/generate-comment.dto.ts import { IsEnum, IsString, IsOptional, MaxLength } from 'class-validator'; import { ContentTone } from '../enum/tone.enum'; import * as languagePromptInterface from "../../../common/interfaces/language.prompt.interface"; export class GenerateCommentDto { @IsString() @MaxLength(3000) originalPost: string; // nội dung bài X gốc @IsOptional() @IsString() angle?: string; // góc nhìn muốn comment: "agree", "challenge", "add-info", "funny" @IsString() language: languagePromptInterface.Language; @IsOptional() @IsEnum(ContentTone) tone?: ContentTone; @IsOptional() @IsString() persona?: string; // "crypto trader", "news analyst"... }