import { IsArray, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';

export class CreateVersionDto {
  @IsString()
  @IsOptional()
  projectId?: string;

  @IsString()
  @IsNotEmpty()
  name!: string;

  @IsString()
  @IsOptional()
  description?: string;

  @IsString()
  @IsOptional()
  status?: string;

  @IsString()
  @IsOptional()
  currentStage?: string;

  @IsString()
  @IsOptional()
  startDate?: string | null;

  @IsString()
  @IsOptional()
  expectedReleaseDate?: string | null;

  @IsString()
  @IsOptional()
  releaseDate?: string | null;

  @IsArray()
  @IsOptional()
  members?: unknown[];

  @IsArray()
  @IsOptional()
  progress?: unknown[];

  @IsOptional()
  priority?: string | number | null;

  @IsObject()
  @IsOptional()
  links?: Record<string, unknown>;
}
