import { ApiProperty } from '@nestjs/swagger';
import { ArrayMinSize, IsArray, ValidateNested } from 'class-validator';
import { Type } from 'class-transformer';
import { CreateOnlineSessionDto } from './create-online-session.dto';

/**
 * Bulk create payload: provision several online sessions in one request, each
 * targeting an already-created program session via its `programSessionId`.
 */
export class BulkCreateOnlineSessionDto {
  @ApiProperty({
    description: 'Online sessions to provision, one per existing program session',
    type: [CreateOnlineSessionDto],
  })
  @IsArray()
  @ArrayMinSize(1)
  @ValidateNested({ each: true })
  @Type(() => CreateOnlineSessionDto)
  sessions: CreateOnlineSessionDto[];
}
