diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java
index 8f7c7c975..b849d1af8 100644
--- a/src/main/java/mate/academy/service/AuthenticationService.java
+++ b/src/main/java/mate/academy/service/AuthenticationService.java
@@ -1,16 +1,20 @@
package mate.academy.service;
+import mate.academy.model.User;
+
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..8fd87c960 100644
--- a/src/main/java/mate/academy/service/UserService.java
+++ b/src/main/java/mate/academy/service/UserService.java
@@ -2,19 +2,29 @@
import mate.academy.model.User;
+import java.util.Arrays;
+import java.util.Optional;
+
public class UserService {
private static final User[] users = new User[] {
new User("bob@i.ua", "1234"),
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();
+ }
+
}