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.
|
|
package de.fd.fh.server.user;
import de.fd.fh.server.user.events.ChangePasswordEvent; import de.fd.fh.server.user.events.ChangeUserNameEvent; import de.fd.fh.shared.network.messages.ChangeUserRequest; import de.fd.fh.shared.network.messages.UserRequest; import lombok.RequiredArgsConstructor;
import java.util.Observable;
@RequiredArgsConstructor public class UserService extends Observable { private final UserRepository userRepository;
public User changePlayer(final UserId userId, final ChangeUserRequest message) { User user = userRepository.findUserById(userId);
if (message.getPassword() != null) { setChanged(); notifyObservers(new ChangePasswordEvent(userId, message.getPassword())); }
if (message.getName() != null) { if (userRepository.findUserByName(message.getName()) == null) { user.rename(message.getName()); userRepository.save(user);
setChanged(); notifyObservers(new ChangeUserNameEvent(userId, message.getName())); } }
return user; }
public User getPlayer(final UserId id) { return userRepository.findUserById(id); }
public UserRequest getSmallPlayer(final UserId userId) { final User user = userRepository.findUserById(userId);
if(user == null) { return null; }
return new UserRequest(user.getId().getIdentifier(), user.getName()); } }
|