// 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"...
}
