import { Type, Transform } from 'class-transformer';
import { IsNotEmpty, IsOptional, IsNumber, IsBoolean, IsIn } from 'class-validator';

export class CreateCourseDto {
  @IsNotEmpty()
  title: string;

  @IsNotEmpty()
  description: string;

  @IsNotEmpty()
  duration: string;

  @IsNumber()
  @Type(() => Number)
  price: number;

  @IsOptional()
  @IsNumber()
  @Type(() => Number)
  discountPrice?: number;

  @IsNotEmpty()
  @IsIn(['Beginner', 'Intermediate', 'Advanced'])
  level: string;

  @IsOptional()
  @IsBoolean()
  @Transform(({ value }) => value === 'true' || value === true || value === 1 || value === '1')
  isPublished?: boolean;

  @IsOptional()
  courseImage?: string;

  @IsOptional()
  courseVideo?: string;
}
