diff --git a/src/main/java/idatt2106/systemutvikling/sparesti/controller/BankAccountController.java b/src/main/java/idatt2106/systemutvikling/sparesti/controller/BankAccountController.java index 81cc75c2e61e4bd92db43e82b184d6a88261f5b1..6fd36072017554ef991f17e4ddfd20c7efd3e1d5 100644 --- a/src/main/java/idatt2106/systemutvikling/sparesti/controller/BankAccountController.java +++ b/src/main/java/idatt2106/systemutvikling/sparesti/controller/BankAccountController.java @@ -24,6 +24,7 @@ public class BankAccountController { @GetMapping + //todo: move logic to service layer public ResponseEntity<?> getAllBankAccounts() { List<BankAccount> accounts = srvAccount.getAllAccountsForCurrentUser(); diff --git a/src/main/java/idatt2106/systemutvikling/sparesti/controller/ChallengeController.java b/src/main/java/idatt2106/systemutvikling/sparesti/controller/ChallengeController.java index e61508fe5b801f7806c2d6789cff1df6ebec64ea..28d611aecdb9f60b58bfd0d940f196f84146d2a7 100644 --- a/src/main/java/idatt2106/systemutvikling/sparesti/controller/ChallengeController.java +++ b/src/main/java/idatt2106/systemutvikling/sparesti/controller/ChallengeController.java @@ -28,10 +28,11 @@ public class ChallengeController { @GetMapping("/paginated/active") @ResponseBody public ResponseEntity<Page<ChallengeDTO>> getActiveChallenges(Pageable pageable) { - if (pageable == null || pageable.getPageNumber() < 0 || pageable.getPageSize() < 0){ - return ResponseEntity.badRequest().build(); + if (pageable == null || pageable.getPageNumber() < 0 || pageable.getPageSize() < 0) { + throw new IllegalArgumentException("Pageable is not valid"); } - return ResponseEntity.ok().body(challengeService.getActiveChallenges(CurrentUserService.getCurrentUsername(), pageable)); + return ResponseEntity.ok().body( + challengeService.getActiveChallenges(CurrentUserService.getCurrentUsername(), pageable)); } @GetMapping("/paginated/inactive") @@ -40,7 +41,8 @@ public class ChallengeController { if (pageable == null || pageable.getPageNumber() < 0 || pageable.getPageSize() < 0) { return ResponseEntity.badRequest().build(); } - return ResponseEntity.ok().body(challengeService.getInactiveChallenges(CurrentUserService.getCurrentUsername(), pageable)); + return ResponseEntity.ok().body( + challengeService.getInactiveChallenges(CurrentUserService.getCurrentUsername(), pageable)); } @GetMapping("/{challengeId}") @@ -51,7 +53,8 @@ public class ChallengeController { return ResponseEntity.badRequest().build(); } - if (!challengeService.getChallenge(challengeId).getUsername().equals(CurrentUserService.getCurrentUsername())) { + if (!challengeService.getChallenge(challengeId).getUsername() + .equals(CurrentUserService.getCurrentUsername())) { return ResponseEntity.badRequest().body(challengeService.getChallenge(challengeId)); } @@ -64,7 +67,8 @@ public class ChallengeController { if (challengeDTO == null) { return ResponseEntity.badRequest().build(); } - return ResponseEntity.status(HttpStatus.CREATED).body(ChallengeMapper.toDTO(challengeService.createChallenge(challengeDTO))); + return ResponseEntity.status(HttpStatus.CREATED) + .body(ChallengeMapper.toDTO(challengeService.createChallenge(challengeDTO))); } @PostMapping("/activate/{challengeId}") @@ -79,21 +83,26 @@ public class ChallengeController { return ResponseEntity.badRequest().body(challengeService.getChallenge(challengeId)); } - if (!challengeService.getChallenge(challengeId).getUsername().equals(CurrentUserService.getCurrentUsername())) { + if (!challengeService.getChallenge(challengeId).getUsername() + .equals(CurrentUserService.getCurrentUsername())) { return ResponseEntity.badRequest().body(challengeService.getChallenge(challengeId)); } - return ResponseEntity.ok().body(ChallengeMapper.toDTO(challengeService.activateChallenge(challengeId))); + return ResponseEntity.ok() + .body(ChallengeMapper.toDTO(challengeService.activateChallenge(challengeId))); } @PostMapping("/complete") @ResponseBody - public ResponseEntity<String> completeChallenge(@RequestHeader("Authorization") String token, @RequestParam("challengeId") Long challengeId, @RequestParam("milestoneId") Long milestoneId) { + public ResponseEntity<String> completeChallenge(@RequestHeader("Authorization") String token, + @RequestParam("challengeId") Long challengeId, + @RequestParam("milestoneId") Long milestoneId) { if (challengeId == null) { return ResponseEntity.badRequest().build(); } - if (!challengeService.getChallenge(challengeId).getUsername().equals(CurrentUserService.getCurrentUsername())) { + if (!challengeService.getChallenge(challengeId).getUsername() + .equals(CurrentUserService.getCurrentUsername())) { return ResponseEntity.badRequest().body("You are not the owner of this challenge"); } @@ -101,17 +110,20 @@ public class ChallengeController { return ResponseEntity.badRequest().build(); } - if (!milestoneService.getMilestoneDTOById(token, milestoneId).getUsername().equals(CurrentUserService.getCurrentUsername())) { + if (!milestoneService.getMilestoneDTOById(token, milestoneId).getUsername() + .equals(CurrentUserService.getCurrentUsername())) { return ResponseEntity.badRequest().body("You are not the owner of this milestone"); } Long achievedSum = challengeService.getChallenge(challengeId).getGoalSum(); - Long milestoneCurrentSum = milestoneService.getMilestoneDTOById(token, milestoneId).getMilestoneCurrentSum(); + Long milestoneCurrentSum = milestoneService.getMilestoneDTOById(token, milestoneId) + .getMilestoneCurrentSum(); long targetSum = achievedSum + milestoneCurrentSum; milestoneService.increaseMilestonesCurrentSum(milestoneId, achievedSum); - if (targetSum > milestoneService.getMilestoneDTOById(token, milestoneId).getMilestoneCurrentSum()) { + if (targetSum > milestoneService.getMilestoneDTOById(token, milestoneId) + .getMilestoneCurrentSum()) { return ResponseEntity.badRequest().body("Could not transfer money to milestone"); } @@ -127,7 +139,8 @@ public class ChallengeController { return ResponseEntity.badRequest().build(); } - if (!challengeService.getChallenge(challengeId).getUsername().equals(CurrentUserService.getCurrentUsername())) { + if (!challengeService.getChallenge(challengeId).getUsername() + .equals(CurrentUserService.getCurrentUsername())) { return ResponseEntity.badRequest().body("You are not the owner of this challenge"); } diff --git a/src/main/java/idatt2106/systemutvikling/sparesti/controller/TokenController.java b/src/main/java/idatt2106/systemutvikling/sparesti/controller/TokenController.java index 77e523b49e850415387f52fa8dc98edc7ed62545..7d35d7da4c0f4c014e5c933cc5eb3808efb6ea26 100644 --- a/src/main/java/idatt2106/systemutvikling/sparesti/controller/TokenController.java +++ b/src/main/java/idatt2106/systemutvikling/sparesti/controller/TokenController.java @@ -23,25 +23,27 @@ import java.util.logging.Logger; @RequestMapping(value = "/auth") @EnableAutoConfiguration public class TokenController { + + private final UserRepository userRepository; Logger logger = Logger.getLogger(TokenController.class.getName()); PasswordService passwordService; - private JWTService jwtService; - private final UserRepository userRepository; @Autowired public TokenController(PasswordService passwordService, JWTService jwtService, - UserRepository userRepository) { + UserRepository userRepository) { this.passwordService = passwordService; this.jwtService = jwtService; this.userRepository = userRepository; } /** - * Endpoint for letting the user login. If login is successful, returns a JWT for use with secured endpoints. - * The user can log in by providing the correct login credentials. - * A user is considered as logged in when it has a token. - * @param loginRequest A DTO containing a correct username and password combination. Only the fields "username" and "password" is required. + * Endpoint for letting the user login. If login is successful, returns a JWT for use with secured + * endpoints. The user can log in by providing the correct login credentials. A user is considered + * as logged in when it has a token. + * + * @param loginRequest A DTO containing a correct username and password combination. Only the + * fields "username" and "password" is required. * @return A JWT to use with secured endpoints. */ @PostMapping(value = "/login") @@ -53,23 +55,28 @@ public class TokenController { try { if (userRepository.findByUsername(loginRequest.getUsername()) == null) { logger.warning("Access denied, wrong credentials: User does not exist."); - return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Access denied, wrong credentials: User does not exist."); + return ResponseEntity.status(HttpStatus.UNAUTHORIZED) + .body("Access denied, wrong credentials: User does not exist."); } } catch (Exception e) { logger.warning("Access denied, wrong credentials: " + e.getMessage()); - return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Access denied, wrong credentials"); + return ResponseEntity.status(HttpStatus.UNAUTHORIZED) + .body("Access denied, wrong credentials"); } try { - success = passwordService.correctPassword(loginRequest.getUsername(), loginRequest.getPassword()); - } - catch (Exception e) { + success = passwordService.correctPassword(loginRequest.getUsername(), + loginRequest.getPassword()); + } catch (Exception e) { logger.warning("Access denied, wrong credentials: " + e.getMessage()); - return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Access denied, wrong credentials"); + return ResponseEntity.status(HttpStatus.UNAUTHORIZED) + .body("Access denied, wrong credentials"); } - if (!success) - return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Access denied, wrong credentials"); + if (!success) { + return ResponseEntity.status(HttpStatus.UNAUTHORIZED) + .body("Access denied, wrong credentials"); + } String token = jwtService.generateToken(loginRequest.getUsername()); @@ -88,6 +95,7 @@ public class TokenController { /** * Refresh the JWT token. + * * @param token the token to be exchanged for a new token to be given to the user * @return the refreshed token */ @@ -96,15 +104,8 @@ public class TokenController { public ResponseEntity<String> refreshToken(@RequestHeader("Authorization") String token) { logger.info("Received request to refresh token."); - try { - String userid = jwtService.extractUsernameFromToken(token); - - return ResponseEntity.ok().body(jwtService.generateToken(userid)); - - } catch (Exception e) { - logger.warning("Access denied, wrong credentials: " + e.getMessage()); - return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Access denied, wrong credentials"); - } + String userid = jwtService.extractUsernameFromToken(token); + return ResponseEntity.ok().body(jwtService.generateToken(userid)); } }