import { IsDateString, IsNumber, IsOptional, IsString, IsUUID, Min } from 'class-validator';

export class CreateTesTransferenciaDto {
  @IsUUID()
  cuenta_origen_id: string;

  @IsUUID()
  cuenta_destino_id: string;

  @IsNumber()
  @Min(0.01)
  monto: number;

  @IsDateString()
  fecha: string;

  @IsOptional()
  @IsString()
  descripcion?: string;

  @IsOptional()
  @IsNumber()
  @Min(0)
  tipo_cambio?: number; // solo cuando las cuentas tienen monedas distintas
}

export class AnularTesTransferenciaDto {
  @IsString()
  motivo: string;
}

export class FilterTesTransferenciaDto {
  @IsOptional()
  @IsUUID()
  cuenta_id?: string;

  @IsOptional()
  @IsString()
  estado?: string;

  @IsOptional()
  @IsDateString()
  desde?: string;

  @IsOptional()
  @IsDateString()
  hasta?: string;
}
