import { IsInt, IsOptional, IsString } from 'class-validator'
import { Type } from 'class-transformer'
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'

export class DownloadZoomLinksDto {
  @ApiProperty({ description: 'Program ID to download all generated Zoom join links for, across every session' })
  @IsInt()
  @Type(() => Number)
  programId: number

  @ApiPropertyOptional({ description: 'Session ID to restrict the Zoom join links to a single session' })
  @IsOptional()
  @IsInt()
  @Type(() => Number)
  sessionId?: number

  @ApiPropertyOptional({ description: 'Custom file name for the excel download (without extension)' })
  @IsOptional()
  @IsString()
  fileName?: string
}
