aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/berzerkula/builddb/controllers/AccountController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/berzerkula/builddb/controllers/AccountController.java')
-rw-r--r--src/main/java/org/berzerkula/builddb/controllers/AccountController.java47
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;
}
}