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) {