import { ApiProperty } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { IsBoolean, IsDate, IsOptional, IsString, IsUUID, MaxLength } from 'class-validator';

export class CreateProveedorMarcaDto {
  @ApiProperty({ description: 'ID del proveedor' })
  @IsUUID()
  proveedor_id: string;

  @ApiProperty({ description: 'ID de la marca' })
  @IsUUID()
  marca_id: string;

  @ApiProperty({ required: false, default: false })
  @IsOptional()
  @IsBoolean()
  es_distribuidor_oficial?: boolean;

  @ApiProperty({ required: false, default: false })
  @IsOptional()
  @IsBoolean()
  es_proveedor_preferente?: boolean;

  @ApiProperty({ required: false, description: 'YYYY-MM-DD; default hoy' })
  @IsOptional()
  @Type(() => Date)
  @IsDate()
  vigente_desde?: Date;

  @ApiProperty({ required: false })
  @IsOptional()
  @Type(() => Date)
  @IsDate()
  vigente_hasta?: Date;

  @ApiProperty({ required: false })
  @IsOptional()
  @IsString()
  @MaxLength(500)
  observacion?: string;
}
