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

/** `status` is set through POST :id/publish, which requires `activity.publish`. */
export class UpdateActivityDto {
  @IsOptional()
  @IsString()
  @MaxLength(64)
  type?: string;

  @IsOptional()
  @IsString()
  @MaxLength(255)
  title?: string;

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

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

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

  @IsOptional()
  @IsInt()
  @Min(0)
  orderIndex?: number;
}
