Untitled
unknown
plain_text
2 years ago
2.5 kB
12
Indexable
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();
}
}
Editor is loading...