import { IsDateString, IsOptional, IsString, MaxLength } from 'class-validator';

/**
 * Edición acotada de un movimiento de tesorería.
 *
 * Sólo fecha y textos: nada que altere importes, cuentas o saldos. El caso que la
 * motiva es el habitual de que el depósito se registre días después y quede con la
 * fecha de carga en vez de la real, cayendo en el mes equivocado del libro banco.
 *
 * Si lo que está mal es el monto o la cuenta, el movimiento se anula y se rehace: un
 * movimiento generado por un documento tiene que seguir coincidiendo con su origen.
 */
export class UpdateTesMovimientoDto {
  @IsOptional()
  @IsDateString()
  fecha?: string;

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

  @IsOptional()
  @IsString()
  @MaxLength(100)
  referencia?: string;
}
