import { IsIn } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
import type { TaskStatus } from '../entities/task.entity';

// 업무 상태 변경 요청 — 상태 머신 전이 규칙은 서비스에서 검증
const TASK_STATUSES: TaskStatus[] = [
  'todo',
  'prog',
  'review',
  'done',
  'changes',
];

export class ChangeStatusDto {
  @ApiProperty({
    description: '변경할 상태',
    enum: TASK_STATUSES,
    example: 'prog',
  })
  @IsIn(TASK_STATUSES, { message: '올바른 업무 상태가 아닙니다.' })
  status!: TaskStatus;
}
