Co-authored-by: Michael Hoennig <michael@hoennig.de> Reviewed-on: https://dev.hostsharing.net/hostsharing/hs.hsadmin.ng/pulls/147 Reviewed-by: Marc Sandlus <marc.sandlus@hostsharing.net>
18 lines
540 B
Java
18 lines
540 B
Java
package net.hostsharing.hsadminng.hs.validation;
|
|
|
|
import lombok.experimental.UtilityClass;
|
|
|
|
import jakarta.validation.ValidationException;
|
|
import java.util.Optional;
|
|
import java.util.UUID;
|
|
import java.util.function.Function;
|
|
|
|
@UtilityClass
|
|
public class UuidResolver {
|
|
|
|
public static <T> T resolve(final String jsonPath, final UUID uuid, final Function<UUID, Optional<T>> findByUuid) {
|
|
return findByUuid.apply(uuid)
|
|
.orElseThrow(() -> new ValidationException("Unable to find " + jsonPath + ": " + uuid));
|
|
}
|
|
}
|