aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/berzerkula/builddb
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/berzerkula/builddb')
-rw-r--r--src/main/java/org/berzerkula/builddb/BuilddbConstants.java13
-rw-r--r--src/main/java/org/berzerkula/builddb/builddbConstants.java4
-rw-r--r--src/main/java/org/berzerkula/builddb/controllers/AccountController.java47
-rw-r--r--src/main/java/org/berzerkula/builddb/controllers/PkgController.java89
-rw-r--r--src/main/java/org/berzerkula/builddb/models/AppUser.java2
-rw-r--r--src/main/java/org/berzerkula/builddb/services/AppUserService.java7
6 files changed, 88 insertions, 74 deletions
diff --git a/src/main/java/org/berzerkula/builddb/BuilddbConstants.java b/src/main/java/org/berzerkula/builddb/BuilddbConstants.java
new file mode 100644
index 0000000..6f4922b
--- /dev/null
+++ b/src/main/java/org/berzerkula/builddb/BuilddbConstants.java
@@ -0,0 +1,13 @@
+package org.berzerkula.builddb;
+
+public class BuilddbConstants {
+
+ private BuilddbConstants() {
+ throw new IllegalStateException("Utility class");
+ }
+
+ public static final String VIEW_REGISTER = "register";
+
+ public static final String DTO_REGISTER = "registerDto";
+ public static final String MSG_EXCEPTION = "Exception: {}";
+}
diff --git a/src/main/java/org/berzerkula/builddb/builddbConstants.java b/src/main/java/org/berzerkula/builddb/builddbConstants.java
deleted file mode 100644
index c734667..0000000
--- a/src/main/java/org/berzerkula/builddb/builddbConstants.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package org.berzerkula.builddb;
-
-public class builddbConstants {
-}
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;
}
}
diff --git a/src/main/java/org/berzerkula/builddb/controllers/PkgController.java b/src/main/java/org/berzerkula/builddb/controllers/PkgController.java
index 404a58b..56bfebe 100644
--- a/src/main/java/org/berzerkula/builddb/controllers/PkgController.java
+++ b/src/main/java/org/berzerkula/builddb/controllers/PkgController.java
@@ -1,8 +1,8 @@
package org.berzerkula.builddb.controllers;
-import jakarta.persistence.OrderBy;
import jakarta.validation.Valid;
+import org.berzerkula.builddb.BuilddbConstants;
import org.berzerkula.builddb.models.Pkg;
import org.berzerkula.builddb.models.PkgDto;
import org.berzerkula.builddb.repositories.PkgRepository;
@@ -16,7 +16,7 @@ import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import java.util.List;
-import java.util.Objects;
+import java.util.Optional;
@Controller
@RequestMapping("/pkgs")
@@ -95,24 +95,28 @@ public class PkgController {
public String showEditPkgForm(Model model, @RequestParam int id) {
try {
- Pkg pkg = repo.findById(id).get();
- model.addAttribute("pkg", pkg);
-
- PkgDto pkgDto = new PkgDto();
- pkgDto.setSequence(pkg.getSequence());
- pkgDto.setName(pkg.getName());
- pkgDto.setVersion(pkg.getVersion());
- pkgDto.setConfigure(pkg.getConfigure());
- pkgDto.setBuild(pkg.getBuild());
- pkgDto.setInstall(pkg.getInstall());
- pkgDto.setSetup(pkg.getSetup());
- pkgDto.setNotes(pkg.getNotes());
- pkgDto.setUrl(pkg.getUrl());
-
- model.addAttribute("pkgDto", pkgDto);
+
+ Optional<Pkg> pkgOptional = repo.findById(id);
+ if (pkgOptional.isPresent()) {
+ Pkg pkg = pkgOptional.get();
+ model.addAttribute("pkg", pkg);
+
+ PkgDto pkgDto = new PkgDto();
+ pkgDto.setSequence(pkg.getSequence());
+ pkgDto.setName(pkg.getName());
+ pkgDto.setVersion(pkg.getVersion());
+ pkgDto.setConfigure(pkg.getConfigure());
+ pkgDto.setBuild(pkg.getBuild());
+ pkgDto.setInstall(pkg.getInstall());
+ pkgDto.setSetup(pkg.getSetup());
+ pkgDto.setNotes(pkg.getNotes());
+ pkgDto.setUrl(pkg.getUrl());
+
+ model.addAttribute("pkgDto", pkgDto);
+ }
} catch(Exception ex) {
- logger.error("Exception: {}", ex.getMessage());
+ logger.error(BuilddbConstants.MSG_EXCEPTION, ex.getMessage());
}
return "pkgs/edit";
@@ -126,27 +130,30 @@ public class PkgController {
@ModelAttribute PkgDto pkgDto, BindingResult result ) {
try {
- Pkg pkg = repo.findById(id).get();
- model.addAttribute("pkg", pkg);
-
- if (result.hasErrors()) {
- return "pkgs/edit";
+ Optional<Pkg> pkgOptional = repo.findById(id);
+ if (pkgOptional.isPresent()) {
+ Pkg pkg = pkgOptional.get();
+ model.addAttribute("pkg", pkg);
+
+ if (result.hasErrors()) {
+ return "pkgs/edit";
+ }
+
+ pkg.setSequence(pkgDto.getSequence());
+ pkg.setName(pkgDto.getName());
+ pkg.setVersion(pkgDto.getVersion());
+ pkg.setConfigure(pkgDto.getConfigure());
+ pkg.setBuild(pkgDto.getBuild());
+ pkg.setInstall(pkgDto.getInstall());
+ pkg.setSetup(pkgDto.getSetup());
+ pkg.setNotes(pkgDto.getNotes());
+ pkg.setUrl(pkgDto.getUrl());
+
+ repo.save(pkg);
}
- pkg.setSequence(pkgDto.getSequence());
- pkg.setName(pkgDto.getName());
- pkg.setVersion(pkgDto.getVersion());
- pkg.setConfigure(pkgDto.getConfigure());
- pkg.setBuild(pkgDto.getBuild());
- pkg.setInstall(pkgDto.getInstall());
- pkg.setSetup(pkgDto.getSetup());
- pkg.setNotes(pkgDto.getNotes());
- pkg.setUrl(pkgDto.getUrl());
-
- repo.save(pkg);
-
} catch(Exception ex) {
- logger.error("Exception: {}", ex.getMessage());
+ logger.error(BuilddbConstants.MSG_EXCEPTION, ex.getMessage());
}
return "redirect:/pkgs/#" + id;
@@ -156,12 +163,14 @@ public class PkgController {
public String deletePkg(@RequestParam int id) {
try {
- Pkg pkg = repo.findById(id).get();
-
- repo.delete(pkg);
+ Optional<Pkg> pkgOptional = repo.findById(id);
+ if (pkgOptional.isPresent()) {
+ Pkg pkg = pkgOptional.get();
+ repo.delete(pkg);
+ }
} catch (Exception ex) {
- logger.error("Exception: {}", ex.getMessage());
+ logger.error(BuilddbConstants.MSG_EXCEPTION, ex.getMessage());
}
return "redirect:/pkgs/";
diff --git a/src/main/java/org/berzerkula/builddb/models/AppUser.java b/src/main/java/org/berzerkula/builddb/models/AppUser.java
index 21c5a33..c6a4e04 100644
--- a/src/main/java/org/berzerkula/builddb/models/AppUser.java
+++ b/src/main/java/org/berzerkula/builddb/models/AppUser.java
@@ -29,6 +29,8 @@ public class AppUser {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
+ this.phone = phone;
+ this.address = address;
this.password = password;
this.role = role;
this.createdAt = new Date();
diff --git a/src/main/java/org/berzerkula/builddb/services/AppUserService.java b/src/main/java/org/berzerkula/builddb/services/AppUserService.java
index 02cc89f..f18077d 100644
--- a/src/main/java/org/berzerkula/builddb/services/AppUserService.java
+++ b/src/main/java/org/berzerkula/builddb/services/AppUserService.java
@@ -21,15 +21,12 @@ public class AppUserService implements UserDetailsService {
if (appUser != null) {
- var springUser = User.withUsername(appUser.getEmail())
+ return User.withUsername(appUser.getEmail())
.password(appUser.getPassword())
.roles(appUser.getRole())
.build();
-
- return springUser;
}
-
-
+
return null;
}