84 return userViewMapper.toUserView(user);
85 }
86
87 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { 88 return userRepo 89 .findByUsername(username) 90 .orElseThrow( 91 () -> 92 new UsernameNotFoundException( 93 format("User with username - %s, not found", username))); 94 } 95
96 public boolean usernameExists(String username) {
97 return userRepo.findByUsername(username).isPresent();
72 }
73 }
74
75 @Transactional 76 public UserView delete(ObjectId id) { 77 var user = userRepo.getById(id); 78 79 user.setUsername( 80 user.getUsername().replace("@", String.format("_%s@", user.getId().toString()))); 81 user.setEnabled(false); 82 user = userRepo.save(user); 83 84 return userViewMapper.toUserView(user); 85 } 86
87 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
88 return userRepo
97 return userRepo.findByUsername(username).isPresent();
98 }
99
100 public UserView getUser(ObjectId id) {101 return userViewMapper.toUserView(userRepo.getById(id));102 }103
104 public List<UserView> searchUsers(Page page, SearchUsersQuery query) {
105 List<User> users = userRepo.searchUsers(page, query);
101 return userViewMapper.toUserView(userRepo.getById(id));
102 }
103
104 public List<UserView> searchUsers(Page page, SearchUsersQuery query) {105 List<User> users = userRepo.searchUsers(page, query);106 return userViewMapper.toUserView(users);107 }108}
32 private final UserViewMapper userViewMapper;
33 private final PasswordEncoder passwordEncoder;
34
35 @Transactional 36 public UserView create(CreateUserRequest request) { 37 if (userRepo.findByUsername(request.username()).isPresent()) { 38 throw new ValidationException("Username exists!"); 39 } 40 if (!request.password().equals(request.rePassword())) { 41 throw new ValidationException("Passwords don't match!"); 42 } 43 44 var user = userEditMapper.create(request); 45 user.setPassword(passwordEncoder.encode(request.password())); 46 47 user = userRepo.save(user); 48 49 return userViewMapper.toUserView(user); 50 } 51
52 @Transactional
53 public UserView update(ObjectId id, UpdateUserRequest request) {
This method does not have any documentation.
Consider adding a documentation comment to explain its use.
While it may seem like the usage of a method is perfectly obvious, any consumers of your API may not be able to pick up on certain details.
This method appears to return an address string based on its name and the return type, but it is hard to say anything further about it. We neither know if the address will be formatted in a special way nor are we given any useful information regarding the returned value.
String getAddress() {
// ...
}
Provide a detailed description of what the method does.
/**
* Returns the address in 3 line format,
* with street address on line 1, area/city on line 2
* and state and country as well as postal code on line 3.
*/
String getAddress() {
// ...
}