java.lang.Object
org.ntnu.idi.idatt2106.sparesti.sparestibackend.controller.AccountController

@RestController @RequestMapping("/accounts") @CrossOrigin public class AccountController extends Object
Controller for endpoints related to user bank accounts
Since:
24.4.24
Version:
1.0
Author:
Lars M.L.N
  • Constructor Details

    • AccountController

      public AccountController()
  • Method Details

    • createUserAccount

      @PostMapping public org.springframework.http.ResponseEntity<AccountDTO> createUserAccount(@RequestBody AccountDTO accountDTO, @AuthenticationPrincipal org.springframework.security.core.userdetails.UserDetails userDetails) throws ObjectNotValidException
      Registers a bank account for a user
      Parameters:
      accountDTO - Wrapper for account info
      userDetails - Current user
      Returns:
      Wrapper of the created account info
      Throws:
      ObjectNotValidException - If data sent is invalid
    • getUserAccount

      @GetMapping public org.springframework.http.ResponseEntity<AccountResponseDTO> getUserAccount(@AuthenticationPrincipal org.springframework.security.core.userdetails.UserDetails userDetails)
      Gets a user's account
      Parameters:
      userDetails - Current user
      Returns:
      Wrapper of account info
    • updateUserAccount

      @PutMapping public org.springframework.http.ResponseEntity<AccountResponseDTO> updateUserAccount(@RequestBody AccountUpdateDTO accountUpdateDTO, @AuthenticationPrincipal org.springframework.security.core.userdetails.UserDetails userDetails) throws ObjectNotValidException
      Updates a user's account
      Parameters:
      accountUpdateDTO - Wrapper for new account info
      userDetails - Current user
      Returns:
      Wrapper of the new account info
      Throws:
      ObjectNotValidException - If the new info is invalid