import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { IsInt, IsNotEmpty, IsOptional, IsString, Max, MaxLength, Min } from 'class-validator'; export class CreateReviewDto { @ApiProperty({ example: 'agent', description: 'Target entity type (e.g. agent, property)' }) @IsString() @IsNotEmpty() targetType!: string; @ApiProperty({ example: 'clxyz123', description: 'Target entity ID' }) @IsString() @IsNotEmpty() targetId!: string; @ApiProperty({ example: 5, description: 'Rating from 1 to 5', minimum: 1, maximum: 5 }) @IsInt() @Min(1) @Max(5) rating!: number; @ApiPropertyOptional({ example: 'Dịch vụ rất tốt!', description: 'Optional review comment' }) @IsOptional() @IsString() @MaxLength(2000) comment?: string; }