import { IsEnum, IsNotEmpty, IsString, MaxLength, IsOptional } from 'class-validator';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { FunnelStage } from '@prisma/client';

export class MoveStageDto {
  @ApiProperty({
    description: 'Target funnel stage',
    enum: FunnelStage,
    example: FunnelStage.APPOINTMENT_SET,
  })
  @IsEnum(FunnelStage)
  @IsNotEmpty()
  stage: FunnelStage;

  @ApiPropertyOptional({
    description: 'Optional comment for the stage transition',
    maxLength: 500,
  })
  @IsString()
  @MaxLength(500)
  @IsOptional()
  comment?: string;
}
