Skip to content

Commit

Permalink
Do homework.
Browse files Browse the repository at this point in the history
  • Loading branch information
yurlis committed Oct 7, 2024
1 parent 88df7f4 commit 9fb8fec
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 17 deletions.
24 changes: 14 additions & 10 deletions src/main/java/mate/academy/service/AuthenticationService.java
Original file line number Diff line number Diff line change
@@ -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 <code>UserService</code> 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);
24 changes: 17 additions & 7 deletions src/main/java/mate/academy/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -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("[email protected]", "1234"),
new User("[email protected]", "1234")
};

/**
* Find user by email. All users are stored in <code>private static final User[] users</code>
* @param email - the input parameter
* @return - user if his email is equal to passed email.
* Return <code>null</code> 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<User> findByEmail(String email) {
return Arrays.stream(users)
.filter(user -> user.getEmail().equals(email))
.findFirst();
}

}

0 comments on commit 9fb8fec

Please sign in to comment.