From 0d1b10dc65158d26e53cdebf83dc74e432a49b56 Mon Sep 17 00:00:00 2001 From: bifurcated Date: Sat, 13 Jan 2024 05:35:44 +0300 Subject: [PATCH] Add get mapping for check balance --- .../bifurcated/wallet/controller/WalletController.java | 9 ++++++++- .../com/bifurcated/wallet/service/WalletService.java | 5 ++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/bifurcated/wallet/controller/WalletController.java b/src/main/java/com/bifurcated/wallet/controller/WalletController.java index cf69ed3..f54de10 100644 --- a/src/main/java/com/bifurcated/wallet/controller/WalletController.java +++ b/src/main/java/com/bifurcated/wallet/controller/WalletController.java @@ -12,7 +12,7 @@ import java.util.UUID; @RestController -@RequestMapping("api/v1/wallet") +@RequestMapping("/api/v1") public class WalletController { private final WalletService walletService; @@ -40,4 +40,11 @@ public WalletResponse wallet(@RequestBody WalletRequest request) { return new WalletResponse(wallet.getId(), wallet.getAmount()); } + + public record BalanceResponse(Float amount){} + @GetMapping("/wallets/{WALLET_UUID}") + public BalanceResponse balance(@PathVariable(value = "WALLET_UUID") UUID id) { + Float amount = walletService.amount(id); + return new BalanceResponse(amount); + } } diff --git a/src/main/java/com/bifurcated/wallet/service/WalletService.java b/src/main/java/com/bifurcated/wallet/service/WalletService.java index 3b6af21..b7d5d29 100644 --- a/src/main/java/com/bifurcated/wallet/service/WalletService.java +++ b/src/main/java/com/bifurcated/wallet/service/WalletService.java @@ -8,7 +8,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Optional; import java.util.UUID; @@ -39,7 +38,7 @@ public Wallet reduceAmount(UUID id, Float amount) { return walletRepo.save(wallet); } - public void amount() { - + public Float amount(UUID id) { + return walletRepo.findById(id).orElseThrow(WalletNotFoundError::new).getAmount(); } }