From 912cce998ce08eef5c252c2b08da5d9c1b43ca70 Mon Sep 17 00:00:00 2001 From: Artem Horopakha Date: Wed, 19 Feb 2025 19:41:12 +0200 Subject: [PATCH 1/5] implemented login and findByEmail methods along with getUseEmail and getUsePassword getters --- .../academy/service/AuthenticationService.java | 7 +++++++ .../java/mate/academy/service/UserService.java | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index 8f7c7c975..a2f47596b 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -11,6 +11,13 @@ public class AuthenticationService { * Return false in any other cases. */ public boolean login(String email, String password) { + for (int i = 0; i < 2; i++) { + if (email.equals(UserService.getUserEmail(i)) + && password.equals(UserService.getUserPassword(i))) { + return true; + } + } return false; } } + diff --git a/src/main/java/mate/academy/service/UserService.java b/src/main/java/mate/academy/service/UserService.java index 1652d7d68..07579fa07 100644 --- a/src/main/java/mate/academy/service/UserService.java +++ b/src/main/java/mate/academy/service/UserService.java @@ -15,6 +15,20 @@ public class UserService { * Return null if there is no suitable user */ public User findByEmail(String email) { + for (int i = 0; i < users.length; i++) { + if (users[i].getEmail().equals(email)) { + return users[i]; + } + } return null; } + + public static String getUserEmail(int id) { + return users[id].getEmail(); + } + + public static String getUserPassword(int id) { + return users[id].getPassword(); + } + } From f42a4ad8c3168c4b48e493bb3637bbfe8302d22a Mon Sep 17 00:00:00 2001 From: Artem Horopakha <149478108+dudumargato@users.noreply.github.com> Date: Wed, 19 Feb 2025 23:28:46 +0200 Subject: [PATCH 2/5] Update src/main/java/mate/academy/service/UserService.java Co-authored-by: Olena Bruiako --- src/main/java/mate/academy/service/UserService.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/java/mate/academy/service/UserService.java b/src/main/java/mate/academy/service/UserService.java index 07579fa07..ea2fa44c8 100644 --- a/src/main/java/mate/academy/service/UserService.java +++ b/src/main/java/mate/academy/service/UserService.java @@ -22,13 +22,4 @@ public User findByEmail(String email) { } return null; } - - public static String getUserEmail(int id) { - return users[id].getEmail(); - } - - public static String getUserPassword(int id) { - return users[id].getPassword(); - } - } From 6ca3cefc647afdedd399c84684df4e55e4039e42 Mon Sep 17 00:00:00 2001 From: Artem Horopakha Date: Thu, 20 Feb 2025 19:52:27 +0200 Subject: [PATCH 3/5] rewrited AuthenticationService method after review, deleted getters from UseService method --- .../java/mate/academy/service/AuthenticationService.java | 9 ++++----- src/main/java/mate/academy/service/UserService.java | 9 --------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index a2f47596b..66a31f528 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -11,11 +11,10 @@ public class AuthenticationService { * Return false in any other cases. */ public boolean login(String email, String password) { - for (int i = 0; i < 2; i++) { - if (email.equals(UserService.getUserEmail(i)) - && password.equals(UserService.getUserPassword(i))) { - return true; - } + UserService user = new UserService(); + if (email != null && password != null) { + return user.findByEmail(email).getEmail().equals(email) + && user.findByEmail(email).getPassword().equals(password); } return false; } diff --git a/src/main/java/mate/academy/service/UserService.java b/src/main/java/mate/academy/service/UserService.java index 07579fa07..ea2fa44c8 100644 --- a/src/main/java/mate/academy/service/UserService.java +++ b/src/main/java/mate/academy/service/UserService.java @@ -22,13 +22,4 @@ public User findByEmail(String email) { } return null; } - - public static String getUserEmail(int id) { - return users[id].getEmail(); - } - - public static String getUserPassword(int id) { - return users[id].getPassword(); - } - } From 1752fc6e8da180ee12efdab80df79079680dfe08 Mon Sep 17 00:00:00 2001 From: Artem Horopakha Date: Thu, 20 Feb 2025 21:28:06 +0200 Subject: [PATCH 4/5] Made userService a class-level variable and implemented foundUser local variable for method. Replaced 'if' method with additional 'return' condition. --- .../academy/service/AuthenticationService.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index 66a31f528..d82bb6162 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -1,6 +1,9 @@ package mate.academy.service; +import mate.academy.model.User; + public class AuthenticationService { + private final UserService userService = new UserService(); /** * Imagine that some user wants to login to your site. * You should check if user credentials (login and password) are valid or not. @@ -10,13 +13,11 @@ public class AuthenticationService { * @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) { - UserService user = new UserService(); - if (email != null && password != null) { - return user.findByEmail(email).getEmail().equals(email) - && user.findByEmail(email).getPassword().equals(password); - } - return false; + User foundUser = userService.findByEmail(email); + return foundUser != null + && foundUser.getEmail().equals(email) + && foundUser.getPassword().equals(password); } } - From f69bfe746853a83ac3038349c85354ce66fe2ee8 Mon Sep 17 00:00:00 2001 From: Artem Horopakha Date: Thu, 20 Feb 2025 21:42:38 +0200 Subject: [PATCH 5/5] Deleted unneeded second email check and renamed User local variable --- .../java/mate/academy/service/AuthenticationService.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index d82bb6162..5c14b118f 100644 --- a/src/main/java/mate/academy/service/AuthenticationService.java +++ b/src/main/java/mate/academy/service/AuthenticationService.java @@ -15,9 +15,7 @@ public class AuthenticationService { */ public boolean login(String email, String password) { - User foundUser = userService.findByEmail(email); - return foundUser != null - && foundUser.getEmail().equals(email) - && foundUser.getPassword().equals(password); + User user = userService.findByEmail(email); + return user != null && user.getPassword().equals(password); } }