import { IsDateString, IsIn, IsNumber, IsObject, IsOptional, IsString, MaxLength, Min } from "class-validator"; export class UpdateHouseholdGoalDto { @IsOptional() @IsString() @MaxLength(120) name?: string; @IsOptional() @IsString() @MaxLength(500) description?: string | null; @IsOptional() @IsNumber() @Min(0.01) targetAmount?: number; @IsOptional() @IsNumber() @Min(0) currentAmount?: number; @IsOptional() @IsString() @MaxLength(3) isoCurrencyCode?: string; @IsOptional() @IsDateString() targetDate?: string | null; @IsOptional() @IsIn(["low", "medium", "high"]) priority?: "low" | "medium" | "high"; @IsOptional() @IsIn(["active", "paused", "completed", "archived"]) status?: "active" | "paused" | "completed" | "archived"; @IsOptional() @IsObject() metadata?: Record; }