import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { IsBoolean, IsInt, IsNotEmpty, IsOptional, IsString, IsUUID, MaxLength, Min } from 'class-validator';

export class CreateProductoEspecificacionDto {
  @ApiProperty({ description: 'ID del producto' })
  @IsUUID()
  producto_id: string;

  @ApiProperty({ description: 'Nombre de la especificación, ej: "Potencia"', maxLength: 120 })
  @IsString()
  @IsNotEmpty()
  @MaxLength(120)
  clave: string;

  @ApiProperty({ description: 'Valor de la especificación, ej: "1080 W"', maxLength: 500 })
  @IsString()
  @IsNotEmpty()
  @MaxLength(500)
  valor: string;

  @ApiPropertyOptional({ description: 'Orden de visualización en la ficha (menor primero)', default: 0 })
  @IsOptional()
  @IsInt()
  @Min(0)
  orden?: number;

  @ApiPropertyOptional({ description: 'Activo — si es false no se muestra en la tienda', default: true })
  @IsOptional()
  @IsBoolean()
  activo?: boolean;
}
