import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { IsString, IsNotEmpty, IsOptional, IsEnum } from 'class-validator';
import { ZoomSdkRole } from '../enums/zoom-role.enum';

export class GenerateJoinTokenDto {
  @ApiProperty({ description: 'Zoom meeting/webinar number', example: '87654321098' })
  @IsString()
  @IsNotEmpty()
  meetingNumber: string;

  @ApiPropertyOptional({
    description: 'SDK role: 1 = host/panelist, 0 = attendee',
    enum: ZoomSdkRole,
    default: ZoomSdkRole.ATTENDEE,
  })
  @IsOptional()
  @IsEnum(ZoomSdkRole)
  role?: ZoomSdkRole;
}
