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

export class CreateAdelantoAdicionalDto {
  @ApiProperty() @IsNumber() @Min(0.01) monto!: number;
  @ApiProperty() @IsDateString() fecha!: string;
  @ApiPropertyOptional() @IsOptional() @IsUUID() medio_pago_id?: string;
  @ApiPropertyOptional() @IsOptional() @IsUUID() tes_cuenta_id?: string;
  @ApiPropertyOptional() @IsOptional() @IsString() numero_operacion?: string;
  @ApiPropertyOptional() @IsOptional() @IsUUID() banco_id?: string;
  @ApiPropertyOptional() @IsOptional() @IsString() observaciones?: string;

  // Datos de cheque (si medio_pago es CHEQUE)
  @ApiPropertyOptional() @IsOptional() @IsString() numero_cheque?: string;
  @ApiPropertyOptional() @IsOptional() @IsString() banco_emisor?: string;
  @ApiPropertyOptional() @IsOptional() @IsString() titular_cheque?: string;
  @ApiPropertyOptional() @IsOptional() @IsDateString() fecha_emision_cheque?: string;
  @ApiPropertyOptional() @IsOptional() @IsDateString() fecha_vencimiento_cheque?: string;
}
