From f621b6182f426e8da89168ebcbfc9261112c76d0 Mon Sep 17 00:00:00 2001 From: Luke <lomah001@gold.ac.uk> Date: Mon, 22 Apr 2019 11:59:37 +0100 Subject: [PATCH] refactor: minor refactor and updated return to map to json for react app --- .../controller/AuthenticationController.java | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/backend/glowhouse/controller/AuthenticationController.java b/src/main/java/com/backend/glowhouse/controller/AuthenticationController.java index 19a5be7..56412f3 100644 --- a/src/main/java/com/backend/glowhouse/controller/AuthenticationController.java +++ b/src/main/java/com/backend/glowhouse/controller/AuthenticationController.java @@ -1,7 +1,7 @@ package com.backend.glowhouse.controller; import com.backend.glowhouse.model.request.LoginRequest; -import com.backend.glowhouse.model.request.SignUpRequest; +import com.backend.glowhouse.model.request.RegistrationRequest; import com.backend.glowhouse.model.response.ApiResponse; import com.backend.glowhouse.model.response.JwtAuthenticationResponse; import com.backend.glowhouse.model.Role; @@ -9,6 +9,8 @@ import com.backend.glowhouse.model.RoleType; import com.backend.glowhouse.model.User; import com.backend.glowhouse.repository.UserRepository; import com.backend.glowhouse.security.JwtTokenProvider; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -17,10 +19,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import javax.validation.Valid; @@ -30,6 +29,7 @@ import java.util.Collections; @RestController @RequestMapping("/api/auth") public class AuthenticationController { + ObjectMapper mapper = new ObjectMapper(); @Autowired private AuthenticationManager authenticationManager; @@ -44,7 +44,7 @@ public class AuthenticationController { private JwtTokenProvider tokenProvider; @PostMapping("/login") - public ResponseEntity<?> authenticateUser(@Valid @RequestBody LoginRequest loginRequest) { + public String authenticateUser(@Valid @RequestBody LoginRequest loginRequest) throws JsonProcessingException { Authentication authentication = authenticationManager.authenticate( new UsernamePasswordAuthenticationToken( @@ -54,14 +54,15 @@ public class AuthenticationController { ); SecurityContextHolder.getContext().setAuthentication(authentication); - String jwt = tokenProvider.generateToken(authentication); - return ResponseEntity.ok(new JwtAuthenticationResponse(jwt)); + JwtAuthenticationResponse response = new JwtAuthenticationResponse(jwt); + + return mapper.writeValueAsString(response); } - @PostMapping("/signup") - public ResponseEntity<?> registerUser(@Valid @RequestBody SignUpRequest signUpRequest) { - if(userRepository.existsByUsername(signUpRequest.getUsername())) { + @PostMapping("/register") + public ResponseEntity<?> registerUser(@Valid @RequestBody RegistrationRequest registrationRequest) { + if(userRepository.existsByUsername(registrationRequest.getUsername())) { return new ResponseEntity<>( new ApiResponse( false, @@ -71,7 +72,7 @@ public class AuthenticationController { ); } - if(userRepository.existsByEmail(signUpRequest.getEmail())) { + if(userRepository.existsByEmail(registrationRequest.getEmail())) { return new ResponseEntity<>( new ApiResponse( false, @@ -83,10 +84,10 @@ public class AuthenticationController { // Creating user's account User user = new User( - signUpRequest.getName(), - signUpRequest.getUsername(), - signUpRequest.getEmail(), - signUpRequest.getPassword() + registrationRequest.getName(), + registrationRequest.getUsername(), + registrationRequest.getEmail(), + registrationRequest.getPassword() ); user.setPassword(passwordEncoder.encode(user.getPassword())); -- GitLab