import { ApiProperty } from '@nestjs/swagger';
import { IsEnum, IsNotEmpty, IsNumber, IsOptional, IsString } from 'class-validator';
import { RegistrationStatusEnum } from 'src/common/enum/registration-status.enum';

export class UpdateRegistrationStatusDto {
  @ApiProperty({ description: 'Registration ID', example: 123 })
  @IsNotEmpty()
  @IsNumber()
  registrationId: number;

  @ApiProperty({
    description: 'New registration status',
    enum: RegistrationStatusEnum,
    example: RegistrationStatusEnum.PENDING,
  })
  @IsNotEmpty()
  @IsEnum(RegistrationStatusEnum)
  newStatus: RegistrationStatusEnum;

  @ApiProperty({ description: 'Optional reason for status change', required: false, example: 'Manual override by admin' })
  @IsOptional()
  @IsString()
  reason?: string;
}
