diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index 8f7c7c975..3027d4186 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -1,16 +1,19 @@ package mate.academy.service; public class AuthenticationService { - /** - * Imagine that some user wants to login to your site. - * You should check if user credentials (login and password) are valid or not. - * All users are stored in UserService class. - * @param email - user's email - * @param password - user's password - * @return true if user by email exists and passed password is equal to user's password. - * Return false in any other cases. - */ public boolean login(String email, String password) { - return false; + UserService userService = new UserService(); + return userService.findByEmail(email) + .map(user -> user.getPassword().equals(password)) + .orElse(false); } } + + +// User user = userService.findByEmail(email); +// return userService.findByEmail(email) != null +// ? user.getPassword().equals(password) : false; + +// return Optional.ofNullable(userService.findByEmail(email)) +// .map(user -> user.getPassword().equals(password)) +// .orElse(false); diff --git a/src/main/java/mate/academy/service/UserService.java b/src/main/java/mate/academy/service/UserService.java index 1652d7d68..a704741ed 100644 --- a/src/main/java/mate/academy/service/UserService.java +++ b/src/main/java/mate/academy/service/UserService.java @@ -1,5 +1,7 @@ package mate.academy.service; +import java.util.Arrays; +import java.util.Optional; import mate.academy.model.User; public class UserService { @@ -8,13 +10,20 @@ public class UserService { new User("alice@i.ua", "1234") }; - /** - * Find user by email. All users are stored in private static final User[] users - * @param email - the input parameter - * @return - user if his email is equal to passed email. - * Return null if there is no suitable user - */ - public User findByEmail(String email) { + public User findByEmailClassic(String email) { + for (User user : users + ) { + if (user.getEmail().equals(email)) { + return user; + } + } return null; } + + public Optional findByEmail(String email) { + return Arrays.stream(users) + .filter(user -> user.getEmail().equals(email)) + .findFirst(); + } + }