import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { IsEnum, IsOptional, IsString, MaxLength } from 'class-validator';
import { RegistrationOnlineSessionActivationStatus } from 'src/common/enum/registration-online-session-activation-status.enum';

/** Toggles a seat-eligible registrant's active/inactive state for one online session. */
export class SetRegistrationActivationDto {
  @ApiProperty({ enum: RegistrationOnlineSessionActivationStatus })
  @IsEnum(RegistrationOnlineSessionActivationStatus)
  activationStatus: RegistrationOnlineSessionActivationStatus;

  @ApiPropertyOptional({ description: 'Optional note captured with the activation change' })
  @IsOptional()
  @IsString()
  @MaxLength(500)
  reason?: string;
}
