import { IsInt, IsObject, IsOptional, IsString, Max, MaxLength, Min } from 'class-validator';

/** `status` is set through POST :id/publish, which requires `case.publish`. */
export class UpdateCaseDto {
  @IsOptional()
  @IsString()
  @MaxLength(255)
  title?: string;

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

  @IsOptional()
  @IsString()
  @MaxLength(128)
  patientCode?: string;

  @IsOptional()
  @IsInt()
  @Min(0)
  @Max(130)
  age?: number;

  @IsOptional()
  @IsString()
  @MaxLength(16)
  sex?: string;

  @IsOptional()
  @IsObject()
  meta?: Record<string, any>;
}
