Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,16 @@

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;

import static bg.softuni.invoice.constant.ErrorMsg.*;
import static bg.softuni.invoice.constant.ErrorMsg.EMAIL_NOT_CORRECT;
import static bg.softuni.invoice.constant.ErrorMsg.EMAIL_NOT_EMPTY;
import static bg.softuni.invoice.constant.ErrorMsg.EMAIL_REGEX;
import static bg.softuni.invoice.constant.ErrorMsg.PASSWORD_NOT_EMPTY;

@Setter
@Getter
public class UserLoginBindingModel {

@NotBlank(message = EMAIL_NOT_EMPTY)
Expand All @@ -15,19 +22,4 @@ public class UserLoginBindingModel {
@NotBlank(message = PASSWORD_NOT_EMPTY)
private String password;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;

import static bg.softuni.invoice.constant.ErrorMsg.EMAIL_NOT_CORRECT;
Expand All @@ -14,6 +16,8 @@
import static bg.softuni.invoice.constant.ErrorMsg.NAME_REGEX;
import static bg.softuni.invoice.constant.ErrorMsg.STRING_MIN_LENGTH;

@Setter
@Getter
public class UserProfileBindingModel {

private String id;
Expand All @@ -32,35 +36,4 @@ public class UserProfileBindingModel {
@Pattern(regexp = NAME_REGEX, message = LAST_NAME_FIRST_LETTER_UPPERCASE)
private String lastName;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;

import static bg.softuni.invoice.constant.ErrorMsg.EMAIL_NOT_CORRECT;
Expand All @@ -16,6 +18,8 @@
import static bg.softuni.invoice.constant.ErrorMsg.PASSWORD_NOT_EMPTY;
import static bg.softuni.invoice.constant.ErrorMsg.STRING_MIN_LENGTH;

@Setter
@Getter
public class UserRegisterBindingModel {

@NotEmpty(message = EMAIL_NOT_EMPTY)
Expand All @@ -38,43 +42,4 @@ public class UserRegisterBindingModel {

private String confirmPassword;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getConfirmPassword() {
return confirmPassword;
}

public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Original file line number Diff line number Diff line change
@@ -1,75 +1,21 @@
package bg.softuni.invoice.model.service;

import lombok.Getter;
import lombok.Setter;

import java.util.HashSet;
import java.util.Set;

@Setter
@Getter
public class UserServiceModel {

private String id;
private String username;
private String firstName;
private String lastName;
private String password;
private Set<RoleServiceModel> authorities;
private Set<RoleServiceModel> authorities = new HashSet<>();
private boolean enabled;

public UserServiceModel() {
setAuthorities(new HashSet<>());
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public Set<RoleServiceModel> getAuthorities() {
return authorities;
}

public void setAuthorities(Set<RoleServiceModel> authorities) {
this.authorities = authorities;
}

public boolean isEnabled() {
return enabled;
}

public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
}
55 changes: 7 additions & 48 deletions src/main/java/bg/softuni/invoice/model/view/UserViewModel.java
Original file line number Diff line number Diff line change
@@ -1,61 +1,20 @@
package bg.softuni.invoice.model.view;

import lombok.Getter;
import lombok.Setter;

import java.util.HashSet;
import java.util.Set;

@Setter
@Getter
public class UserViewModel {

private String id;
private String username;
private String firstName;
private String lastName;
private Set<String> authorities;
private Set<String> authorities = new HashSet<>();
private boolean enabled;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public Set<String> getAuthorities() {
return authorities;
}

public void setAuthorities(Set<String> authorities) {
this.authorities = authorities;
}

public boolean isEnabled() {
return enabled;
}

public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import bg.softuni.invoice.repository.UserRepository;
import bg.softuni.invoice.service.RoleService;
import bg.softuni.invoice.service.UserService;
import lombok.RequiredArgsConstructor;
import org.modelmapper.ModelMapper;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
Expand All @@ -22,20 +23,14 @@
import static bg.softuni.invoice.constant.ErrorMsg.USER_NOT_FOUND;

@Service
@RequiredArgsConstructor
public class UserServiceImpl implements UserService {

private final UserRepository userRepository;
private final ModelMapper modelMapper;
private final RoleService roleService;
private final BCryptPasswordEncoder bCryptPasswordEncoder;

public UserServiceImpl(UserRepository userRepository, ModelMapper modelMapper, RoleService roleService, BCryptPasswordEncoder bCryptPasswordEncoder) {
this.userRepository = userRepository;
this.modelMapper = modelMapper;
this.roleService = roleService;
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
}

@Override
public void registerUser(UserServiceModel userServiceModel) {
User user = this.modelMapper.map(userServiceModel, User.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import bg.softuni.invoice.service.UserService;
import bg.softuni.invoice.web.annotation.PageTitle;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
Expand All @@ -34,22 +34,18 @@

@Controller
@RequestMapping("/user")
@RequiredArgsConstructor
public class UserController {

private static final String USER_REGISTER_BINDING_MODEL = "userRegisterBindingModel";
private static final String USER_PROFILE_BINDING_MODEL = "userProfileBindingModel";
private static final String VALIDATION_BINDING_RESULT = "org.springframework.validation.BindingResult.";
private static final String REDIRECT_USER_ALL = "redirect:/user/all";
private static final String REDIRECT_REGISTER = "redirect:register";

private final UserService userService;
private final ModelMapper modelMapper;

@Autowired
public UserController(UserService userService, ModelMapper modelMapper) {
this.userService = userService;
this.modelMapper = modelMapper;
}

@GetMapping("/register")
@PageTitle("User register")
@PreAuthorize("isAnonymous()")
Expand Down
Loading