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);
}
}