import { ApiProperty } from '@nestjs/swagger';
import { ArrayMaxSize, ArrayMinSize, IsArray, IsEnum, IsInt } from 'class-validator';
import { WaitlistReleaseTypeEnum } from 'src/common/enum/waitlist-release-type.enum';

export class WaitlistReleaseDto {
  @ApiProperty({ enum: WaitlistReleaseTypeEnum, description: 'Release type: PAYMENT (online), OFFLINE, or INVOICE' })
  @IsEnum(WaitlistReleaseTypeEnum)
  type: WaitlistReleaseTypeEnum;

  @ApiProperty({ type: [Number], description: 'Registration IDs to release from waitlist' })
  @IsArray()
  @ArrayMinSize(1, { message: 'At least 1 registration ID is required' })
  @ArrayMaxSize(10, { message: 'Maximum 10 registration IDs allowed' })
  @IsInt({ each: true })
  registrationIds: number[];
}
