diff --git a/src/main/java/no/ntnu/idi/stud/savingsapp/bank/controller/AccountController.java b/src/main/java/no/ntnu/idi/stud/savingsapp/bank/controller/AccountController.java index 9ffad906f6dec2229cf69eb133fdb1d9761d5ecc..f5c0c919edb9c405cf39c791264d7edab4c9d0d1 100644 --- a/src/main/java/no/ntnu/idi/stud/savingsapp/bank/controller/AccountController.java +++ b/src/main/java/no/ntnu/idi/stud/savingsapp/bank/controller/AccountController.java @@ -7,8 +7,10 @@ import java.util.List; import lombok.extern.slf4j.Slf4j; import no.ntnu.idi.stud.savingsapp.bank.dto.AccountRequestDTO; import no.ntnu.idi.stud.savingsapp.bank.dto.AccountResponseDTO; +import no.ntnu.idi.stud.savingsapp.bank.dto.BalanceDTO; import no.ntnu.idi.stud.savingsapp.bank.model.Account; import no.ntnu.idi.stud.savingsapp.bank.service.AccountService; +import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.http.ResponseEntity; @@ -31,6 +33,9 @@ public class AccountController { @Autowired private AccountService accountService; + @Autowired + private ModelMapper modelMapper; + @Operation(summary = "Get user accounts", description = "Get accounts associated with a user by" + " providing their bank profile id") @ApiResponses(value = { @@ -65,6 +70,20 @@ public class AccountController { return ResponseEntity.ok(accounts); } + @Operation(summary = "Create account", description = "Create account with random balance") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Successfully created account"), + @ApiResponse(responseCode = "404", description = "Provided bban could not be " + + "found") + }) + @GetMapping("/balance/{bban}") + public ResponseEntity<BalanceDTO> getAccountsByBBAN(@PathVariable Long bban) { + log.info("[AccountController:getAccountsByBBAN] bban: {}", bban); + Account account = accountService.getAccountByBban(bban); + BalanceDTO balanceDTO = modelMapper.map(account, BalanceDTO.class); + return ResponseEntity.ok(balanceDTO); + } + @Operation(summary = "Create account", description = "Create account with random balance") @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Successfully created account"), diff --git a/src/main/java/no/ntnu/idi/stud/savingsapp/bank/dto/BalanceDTO.java b/src/main/java/no/ntnu/idi/stud/savingsapp/bank/dto/BalanceDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..76f30ebd3a9ae7b584809e3ccf9c4f49f2fa446a --- /dev/null +++ b/src/main/java/no/ntnu/idi/stud/savingsapp/bank/dto/BalanceDTO.java @@ -0,0 +1,11 @@ +package no.ntnu.idi.stud.savingsapp.bank.dto; + +import java.math.BigDecimal; +import lombok.Data; + +@Data +public final class BalanceDTO { + + private Long bban; + private BigDecimal balance; +}