private void validateNotificationEvent()

in src/main/java/com/google/gcs/sdrs/controller/EventsController.java [132:158]


  private void validateNotificationEvent(NotificationEventRequest request)
      throws ValidationException {
    Collection<ValidationResult> partialValidations = new HashSet<>();

    partialValidations.add(
        FieldValidations.validateFieldFollowsBucketNamingStructure(
            "deletedObject", request.getDeletedObject()));

    if (request.getProjectId() == null) {
      partialValidations.add(ValidationResult.fromString("projectId must be provided."));
    }

    if (request.getDeletedAt() == null) {
      partialValidations.add(ValidationResult.fromString("deletedAt must be provided."));
    } else {
      try {
        Instant.parse(request.getDeletedAt());
      } catch (DateTimeParseException e) {
        partialValidations.add(ValidationResult.fromString("deletedAt is not ISO 8601 format."));
      }
    }

    ValidationResult result = ValidationResult.compose(partialValidations);
    if (!result.isValid) {
      throw new ValidationException(result);
    }
  }