From 5b5062aae9dbca391a7d506260fdb19479ae0a43 Mon Sep 17 00:00:00 2001 From: siujamo Date: Mon, 1 Jun 2026 17:00:03 +0800 Subject: [PATCH] fix: validate firearmId is present before constructing ModificationRequest --- .../onixbyte/deltaforceguide/service/WebhookService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/onixbyte/deltaforceguide/service/WebhookService.java b/src/main/java/com/onixbyte/deltaforceguide/service/WebhookService.java index b9b394c..44f57db 100644 --- a/src/main/java/com/onixbyte/deltaforceguide/service/WebhookService.java +++ b/src/main/java/com/onixbyte/deltaforceguide/service/WebhookService.java @@ -6,7 +6,9 @@ import com.onixbyte.deltaforceguide.manager.WebhookManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; +import org.springframework.web.server.ResponseStatusException; import org.yaml.snakeyaml.Yaml; import java.time.Duration; @@ -109,6 +111,10 @@ public class WebhookService { Long firearmId = modificationManager.resolveFirearmId( toLong(data.get("firearmId")), (String) data.get("firearmName")); + if (firearmId == null) { + throw new ResponseStatusException(HttpStatus.BAD_REQUEST, + "YAML must contain firearmId or firearmName"); + } String name = (String) data.get("name"); String code = (String) data.get("code"); List tags = toStringList(data.get("tags"));