diff options
Diffstat (limited to 'src/main/java/org/berzerkula/builddb/controllers/AccountController.java')
-rw-r--r-- | src/main/java/org/berzerkula/builddb/controllers/AccountController.java | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/src/main/java/org/berzerkula/builddb/controllers/AccountController.java b/src/main/java/org/berzerkula/builddb/controllers/AccountController.java index 6cec175..e833792 100644 --- a/src/main/java/org/berzerkula/builddb/controllers/AccountController.java +++ b/src/main/java/org/berzerkula/builddb/controllers/AccountController.java @@ -1,7 +1,10 @@ package org.berzerkula.builddb.controllers; -import java.util.Date; - +import jakarta.validation.Valid; +import org.berzerkula.builddb.BuilddbConstants; +import org.berzerkula.builddb.models.AppUser; +import org.berzerkula.builddb.models.RegisterDto; +import org.berzerkula.builddb.repositories.AppUserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @@ -13,11 +16,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; -import org.berzerkula.builddb.models.AppUser; -import org.berzerkula.builddb.models.RegisterDto; -import org.berzerkula.builddb.repositories.AppUserRepository; - -import jakarta.validation.Valid; +import java.util.Date; @Controller public class AccountController { @@ -43,7 +42,7 @@ public class AccountController { RegisterDto registerDto = new RegisterDto(); model.addAttribute(registerDto); model.addAttribute("success", false); - return "register"; + return BuilddbConstants.VIEW_REGISTER; } @PostMapping("/register") @@ -55,31 +54,29 @@ public class AccountController { if (!registerDto.getPassword().equals(registerDto.getConfirmPassword())) { result.addError( - new FieldError("registerDto", "confirmPassword" + new FieldError(BuilddbConstants.DTO_REGISTER, "confirmPassword" , "Password and Confirm Password do not match") ); } - - - AppUser appUser = repo.findByEmail(registerDto.getEmail()); - if (appUser != null) { + + if (repo.findByEmail(registerDto.getEmail()) != null) { result.addError( - new FieldError("registerDto", "email" + new FieldError(BuilddbConstants.DTO_REGISTER, "email" , "Email address is already used") ); } if (result.hasErrors()) { - return "register"; + return BuilddbConstants.VIEW_REGISTER; } - - + + try { // create new account var bCryptEncoder = new BCryptPasswordEncoder(); - - + + AppUser newUser = new AppUser(); newUser.setFirstName(registerDto.getFirstName()); newUser.setLastName(registerDto.getLastName()); @@ -89,21 +86,21 @@ public class AccountController { newUser.setRole("client"); newUser.setCreatedAt(new Date()); newUser.setPassword(bCryptEncoder.encode(registerDto.getPassword())); - + repo.save(newUser); - - - model.addAttribute("registerDto", new RegisterDto()); + + + model.addAttribute(BuilddbConstants.DTO_REGISTER, new RegisterDto()); model.addAttribute("success", true); } catch(Exception ex) { result.addError( - new FieldError("registerDto", "firstName" + new FieldError(BuilddbConstants.DTO_REGISTER, "firstName" , ex.getMessage()) ); } - return "register"; + return BuilddbConstants.VIEW_REGISTER; } } |