From c0836a744f397a26db8d3f6fabafbff75c6c6a72 Mon Sep 17 00:00:00 2001 From: Dmytro Nedashkovskyi Date: Sun, 21 Jan 2024 15:45:30 +0200 Subject: [PATCH 1/3] Working with services --- .../service/AuthenticationService.java | 19 +++++++++---------- .../mate/academy/service/UserService.java | 13 ++++++------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index 8f7c7c975..c777c8f41 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -1,16 +1,15 @@ 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(); + // Find the user by email + User user = userService.findByEmail(email); + + // Check if the user exists and the provided password matches the user's password + return user != null && user.getPassword().equals(password); } } diff --git a/src/main/java/mate/academy/service/UserService.java b/src/main/java/mate/academy/service/UserService.java index 1652d7d68..98c20549b 100644 --- a/src/main/java/mate/academy/service/UserService.java +++ b/src/main/java/mate/academy/service/UserService.java @@ -3,18 +3,17 @@ import mate.academy.model.User; public class UserService { - private static final User[] users = new User[] { + 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) { + for (User user : users) { + if (user.getEmail().equals(email)) { + return user; + } + } return null; } } From 2a75edfcfb5db9b285aba64f43bb8d3f6a519447 Mon Sep 17 00:00:00 2001 From: Dmytro Nedashkovskyi Date: Sun, 21 Jan 2024 15:56:04 +0200 Subject: [PATCH 2/3] make user a private field --- .../java/mate/academy/service/AuthenticationService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index c777c8f41..f682572a5 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -3,13 +3,13 @@ import mate.academy.model.User; public class AuthenticationService { + private User user; public boolean login(String email, String password) { UserService userService = new UserService(); - // Find the user by email - User user = userService.findByEmail(email); - // Check if the user exists and the provided password matches the user's password - return user != null && user.getPassword().equals(password); + this.user = userService.findByEmail(email); + + return this.user != null && this.user.getPassword().equals(password); } } From 00842aea9b179c11723e3eb71728d5fe176221b0 Mon Sep 17 00:00:00 2001 From: Dmytro Nedashkovskyi Date: Sun, 21 Jan 2024 16:07:22 +0200 Subject: [PATCH 3/3] make userService a private field --- .../java/mate/academy/service/AuthenticationService.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index f682572a5..7ffcc160f 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -3,13 +3,12 @@ import mate.academy.model.User; public class AuthenticationService { - private User user; + private UserService userService = new UserService(); public boolean login(String email, String password) { - UserService userService = new UserService(); - this.user = userService.findByEmail(email); + User user = userService.findByEmail(email); - return this.user != null && this.user.getPassword().equals(password); + return user != null && user.getPassword().equals(password); } }