import {
  ArrayMaxSize,
  IsArray,
  IsNotEmpty,
  IsOptional,
  IsString,
  MaxLength,
} from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';

// 할 일(체크리스트) 추천 요청 — 프로젝트·업무 정보를 바탕으로 AI 가 항목 제안
export class SuggestChecklistDto {
  @ApiProperty({ description: '프로젝트 식별자(slugName)' })
  @IsString()
  @IsNotEmpty({ message: '프로젝트가 필요합니다.' })
  projectId!: string;

  @ApiProperty({ description: '업무 제목' })
  @IsString()
  @IsNotEmpty({ message: '업무 제목을 입력해 주세요.' })
  @MaxLength(200)
  title!: string;

  @ApiProperty({
    description: '업무 내용(문단 배열)',
    required: false,
    type: [String],
  })
  @IsOptional()
  @IsArray()
  @ArrayMaxSize(200)
  @IsString({ each: true })
  @MaxLength(5000, { each: true })
  content?: string[];
}
