import { ApiPropertyOptional } from '@nestjs/swagger';
import { ArrayMaxSize, IsArray, IsEmail, IsOptional, IsString, MaxLength } from 'class-validator';

export class SendPresupuestoEmailDto {
  @ApiPropertyOptional({
    type: [String],
    description: 'Emails destinatarios. Si se omite, se usa el email del cliente.',
  })
  @IsOptional()
  @IsArray()
  @ArrayMaxSize(10)
  @IsEmail({}, { each: true })
  destinatarios?: string[];

  @ApiPropertyOptional({ type: [String], description: 'Emails en copia (CC)' })
  @IsOptional()
  @IsArray()
  @ArrayMaxSize(10)
  @IsEmail({}, { each: true })
  cc?: string[];

  @ApiPropertyOptional({ description: 'Asunto del correo. Si se omite, se usa la plantilla de la config.' })
  @IsOptional()
  @IsString()
  @MaxLength(500)
  asunto?: string;

  @ApiPropertyOptional({ description: 'Mensaje personalizado para el cuerpo del correo.' })
  @IsOptional()
  @IsString()
  @MaxLength(2000)
  mensaje?: string;
}
