fix: validate firearmId is present before constructing ModificationRequest

This commit is contained in:
2026-06-01 17:00:03 +08:00
parent b0c41e08ea
commit 5b5062aae9
@@ -6,7 +6,9 @@ import com.onixbyte.deltaforceguide.manager.WebhookManager;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.server.ResponseStatusException;
import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.Yaml;
import java.time.Duration; import java.time.Duration;
@@ -109,6 +111,10 @@ public class WebhookService {
Long firearmId = modificationManager.resolveFirearmId( Long firearmId = modificationManager.resolveFirearmId(
toLong(data.get("firearmId")), toLong(data.get("firearmId")),
(String) data.get("firearmName")); (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 name = (String) data.get("name");
String code = (String) data.get("code"); String code = (String) data.get("code");
List<String> tags = toStringList(data.get("tags")); List<String> tags = toStringList(data.get("tags"));