Untitled
plain_text
2 months ago
2.5 kB
4
Indexable
Never
import java.util.ArrayList; import java.util.List; import java.util.Optional; public class UserService { private List<User> users = new ArrayList<>(); public void register(User user) { getUserBy(user.getUsername()) .ifPresent(u -> { users.add(u); System.out.println("Dodano użytkownika " + user); }); } public boolean login(String username, String password) { return getUserBy(username) .map(u -> u.getPassword().equals(password)) .orElse(false); } public void getUserDetails(String username, String password) { if (login(username, password)) { getUserBy(username) .ifPresent(System.out::println); } } public void changeUserDetails(String username, String password, UserEditInfo userEditInfo) { if (login(username, password)) { getUserBy(username) .ifPresent(u -> { u.setName(userEditInfo.getName()); u.setSurname(userEditInfo.getSurname()); u.setEmail(userEditInfo.getEmail()); }); } } public void changeUserPassword(String username, String password, String newPassword) { if (login(username, password)) { getUserBy(username) .ifPresent(u -> u.setPassword(newPassword)); } } public boolean isTheSameUser(User user, String username, String password) { if (login(username, password)) { User loggedUser = getUserBy(username).get(); return loggedUser.equals(user); } return false; } public boolean isTheSameUserDummy(User user, String username, String password) { if (login(username, password)) { User loggedUser = getUserBy(username).get(); return loggedUser == user; } return false; } public void deleteUser(String username, String password) { if (login(username, password)) { users.removeIf(user -> user.getUsername().equals(username) && user.getPassword().equals(password)); } } public void deleteUser(User user) { deleteUser(user.getUsername(), user.getPassword()); } private Optional<User> getUserBy(String username) { return users.stream() .filter(u -> u.getUsername().equals(username)) .findFirst(); } }