From 4764c129090cd321369f24acf2b60476f54094d0 Mon Sep 17 00:00:00 2001
From: Phan Huy Tran
Date: Thu, 27 Mar 2025 14:05:13 +0100
Subject: [PATCH] feat: validate game state on hit
---
backend/requests/blackjack.http | 2 +-
.../de/szut/casino/blackjack/BlackJackGameController.java | 6 ++++++
.../java/de/szut/casino/blackjack/BlackJackService.java | 2 +-
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/backend/requests/blackjack.http b/backend/requests/blackjack.http
index fcff731..1ac2def 100644
--- a/backend/requests/blackjack.http
+++ b/backend/requests/blackjack.http
@@ -7,6 +7,6 @@ Content-Type: application/json
}
###
-POST http://localhost:8080/blackjack/103/hit
+POST http://localhost:8080/blackjack/202/hit
Authorization: Bearer {{token}}
diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java
index 1319c10..58505eb 100644
--- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java
+++ b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java
@@ -40,6 +40,12 @@ public class BlackJackGameController {
return ResponseEntity.notFound().build();
}
+ if (game.getState() != BlackJackState.IN_PROGRESS) {
+ Map errorResponse = new HashMap<>();
+ errorResponse.put("error", "Invalid state");
+ return ResponseEntity.badRequest().body(errorResponse);
+ }
+
return ResponseEntity.ok(blackJackService.hit(game));
}
diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java
index 05cf93c..9e507b5 100644
--- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java
+++ b/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java
@@ -94,7 +94,7 @@ public class BlackJackService {
return BlackJackState.IN_PROGRESS;
}
- public int calculateHandValue(List hand) {
+ private int calculateHandValue(List hand) {
int sum = 0;
int aceCount = 0;
for (CardEntity card : hand) {