You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.2 KiB

3 years ago
  1. package de.fd.fh.server.user;
  2. import de.fd.fh.server.user.events.ChangePasswordEvent;
  3. import de.fd.fh.server.user.web.ChangeUserRequest;
  4. import de.fd.fh.server.user.web.UserRequest;
  5. import lombok.RequiredArgsConstructor;
  6. import java.util.Observable;
  7. @RequiredArgsConstructor
  8. public class UserService extends Observable
  9. {
  10. private final UserRepository userRepository;
  11. public User changePlayer(final UserId userId, final ChangeUserRequest message)
  12. {
  13. System.out.println("changePlayer: " + message);
  14. User user = userRepository.findUserById(userId);
  15. if (message.getPassword() != null)
  16. {
  17. setChanged();
  18. notifyObservers(new ChangePasswordEvent(userId, message.getPassword()));
  19. }
  20. userRepository.save(user);
  21. return userRepository.findUserById(userId);
  22. }
  23. public User getPlayer(final UserId id)
  24. {
  25. return userRepository.findUserById(id);
  26. }
  27. public UserRequest getSmallPlayer(final UserId userId)
  28. {
  29. final User user = userRepository.findUserById(userId);
  30. if(user == null)
  31. {
  32. return null;
  33. }
  34. return new UserRequest(user.getId().getIdentifier(), user.getName());
  35. }
  36. }