diff --git a/src/main/java/bg/softuni/invoice/model/bind/UserLoginBindingModel.java b/src/main/java/bg/softuni/invoice/model/bind/UserLoginBindingModel.java index 1ea56ff..1a0467e 100644 --- a/src/main/java/bg/softuni/invoice/model/bind/UserLoginBindingModel.java +++ b/src/main/java/bg/softuni/invoice/model/bind/UserLoginBindingModel.java @@ -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) @@ -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; - } } diff --git a/src/main/java/bg/softuni/invoice/model/bind/UserProfileBindingModel.java b/src/main/java/bg/softuni/invoice/model/bind/UserProfileBindingModel.java index ee3894e..dc765ec 100644 --- a/src/main/java/bg/softuni/invoice/model/bind/UserProfileBindingModel.java +++ b/src/main/java/bg/softuni/invoice/model/bind/UserProfileBindingModel.java @@ -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; @@ -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; @@ -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; - } } diff --git a/src/main/java/bg/softuni/invoice/model/bind/UserRegisterBindingModel.java b/src/main/java/bg/softuni/invoice/model/bind/UserRegisterBindingModel.java index cd8f807..c2089d7 100644 --- a/src/main/java/bg/softuni/invoice/model/bind/UserRegisterBindingModel.java +++ b/src/main/java/bg/softuni/invoice/model/bind/UserRegisterBindingModel.java @@ -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; @@ -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) @@ -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; - } } diff --git a/src/main/java/bg/softuni/invoice/model/service/UserServiceModel.java b/src/main/java/bg/softuni/invoice/model/service/UserServiceModel.java index e3cfe7d..871b2e4 100644 --- a/src/main/java/bg/softuni/invoice/model/service/UserServiceModel.java +++ b/src/main/java/bg/softuni/invoice/model/service/UserServiceModel.java @@ -1,8 +1,13 @@ 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; @@ -10,66 +15,7 @@ public class UserServiceModel { private String firstName; private String lastName; private String password; - private Set authorities; + private Set 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 getAuthorities() { - return authorities; - } - - public void setAuthorities(Set authorities) { - this.authorities = authorities; - } - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } } diff --git a/src/main/java/bg/softuni/invoice/model/view/UserViewModel.java b/src/main/java/bg/softuni/invoice/model/view/UserViewModel.java index c648568..4156b8b 100644 --- a/src/main/java/bg/softuni/invoice/model/view/UserViewModel.java +++ b/src/main/java/bg/softuni/invoice/model/view/UserViewModel.java @@ -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 authorities; + private Set 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 getAuthorities() { - return authorities; - } - - public void setAuthorities(Set authorities) { - this.authorities = authorities; - } - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } } diff --git a/src/main/java/bg/softuni/invoice/service/impl/UserServiceImpl.java b/src/main/java/bg/softuni/invoice/service/impl/UserServiceImpl.java index 8db0af5..7324297 100644 --- a/src/main/java/bg/softuni/invoice/service/impl/UserServiceImpl.java +++ b/src/main/java/bg/softuni/invoice/service/impl/UserServiceImpl.java @@ -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; @@ -22,6 +23,7 @@ import static bg.softuni.invoice.constant.ErrorMsg.USER_NOT_FOUND; @Service +@RequiredArgsConstructor public class UserServiceImpl implements UserService { private final UserRepository userRepository; @@ -29,13 +31,6 @@ public class UserServiceImpl implements UserService { 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); diff --git a/src/main/java/bg/softuni/invoice/web/controller/UserController.java b/src/main/java/bg/softuni/invoice/web/controller/UserController.java index e0d8749..bf7cc84 100644 --- a/src/main/java/bg/softuni/invoice/web/controller/UserController.java +++ b/src/main/java/bg/softuni/invoice/web/controller/UserController.java @@ -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; @@ -34,6 +34,7 @@ @Controller @RequestMapping("/user") +@RequiredArgsConstructor public class UserController { private static final String USER_REGISTER_BINDING_MODEL = "userRegisterBindingModel"; @@ -41,15 +42,10 @@ public class UserController { 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()") diff --git a/src/test/java/bg/softuni/invoice/model/view/UserViewModelTest.java b/src/test/java/bg/softuni/invoice/model/view/UserViewModelTest.java index ada12cb..cbf55c7 100644 --- a/src/test/java/bg/softuni/invoice/model/view/UserViewModelTest.java +++ b/src/test/java/bg/softuni/invoice/model/view/UserViewModelTest.java @@ -7,6 +7,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -136,7 +137,7 @@ void lastName_withNullValue_shouldSetAndReturnNull() { assertNull(actualLastName); } - // Authorities tests + // Authority tests @Test void authorities_withValidValue_shouldReturnCorrectAuthorities() { UserViewModel userViewModel = new UserViewModel(); @@ -152,12 +153,13 @@ void authorities_withValidValue_shouldReturnCorrectAuthorities() { } @Test - void authorities_whenNotSet_shouldReturnNull() { + void authorities_whenNotSet_shouldReturnEmptyList() { UserViewModel userViewModel = new UserViewModel(); Set actualAuthorities = userViewModel.getAuthorities(); - assertNull(actualAuthorities); + assertNotNull(actualAuthorities); + assertEquals(0, actualAuthorities.size()); } @Test