hrnext / it-dgc-verificac19-spring

Java Spring Digital Green Certificate SDK
Apache License 2.0
4 stars 6 forks source link

Error on validation recovery pass #8

Closed lorenzo-lambertini closed 2 years ago

lorenzo-lambertini commented 2 years ago
try {
  RecoveryEntry lastRecovery = Iterables.getLast(list);

  LocalDate startDate = lastRecovery.getDf().plusDays(Long.valueOf(getRecoveryCertStartDay()));
  LocalDate endDate = lastRecovery.getDu();

  LOG.debug("dates start:{} end:{}", startDate, endDate);

  if (startDate.isAfter(LocalDate.now())) {
    return CertificateStatus.NOT_VALID_YET;
  } else if (LocalDate.now()
      .isAfter(startDate.plusDays(Long.valueOf(getRecoveryCertEndDay())))) {
    return CertificateStatus.NOT_VALID;
  } else if (LocalDate.now().isAfter(endDate)) {
    return CertificateStatus.VALID;
  } else {
    if (validationScanMode.equals(ValidationScanMode.BOOSTER_DGP)) {
      return CertificateStatus.TEST_NEEDED;
    } else {
      return CertificateStatus.VALID;
    }

  }
} catch (Exception e) {
  return CertificateStatus.NOT_VALID;
}

perchè il certificato di guarigione risulterebbe valido se la data di oggi è successiva alla endDate?

non dovrebbe essere cosi :

  if (startDate.isAfter(LocalDate.now())) {
    return CertificateStatus.NOT_VALID_YET;
  } else if (LocalDate.now()
      .isAfter(startDate.plusDays(Long.valueOf(getRecoveryCertEndDay())))) {
    return CertificateStatus.NOT_VALID;
  } else {
    return CertificateStatus.VALID;
  }
francesconigro commented 2 years ago

Grazie @lorenzo-lambertini