import { IsNumber, IsOptional, IsDateString, Min } from "class-validator";
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";

export class SetTargetMacroDto {
  @ApiPropertyOptional({ example: "2026-06-17", description: "Defaults to today if not provided" })
  @IsOptional()
  @IsDateString()
  effectiveDate?: string;

  @ApiProperty({ example: 2550 })
  @IsNumber()
  @Min(0)
  calories!: number;

  @ApiProperty({ example: 160 })
  @IsNumber()
  @Min(0)
  protein!: number;

  @ApiProperty({ example: 320 })
  @IsNumber()
  @Min(0)
  carbohydrates!: number;

  @ApiProperty({ example: 70 })
  @IsNumber()
  @Min(0)
  fats!: number;
}
