26 lines
734 B
TypeScript
26 lines
734 B
TypeScript
// 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"...
|
|
}
|