From 7afd7d7e248c1a2bf7c83546319faaf320ead0d0 Mon Sep 17 00:00:00 2001 From: 8ACE8 Date: Sat, 22 Feb 2025 19:05:27 +0300 Subject: [PATCH] The code for checking the validity of email and password has been improved --- src/main/java/mate/academy/Main.java | 4 ++-- .../academy/service/AuthenticationService.java | 16 +++++++++++++++- .../java/mate/academy/service/UserService.java | 8 ++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/main/java/mate/academy/Main.java b/src/main/java/mate/academy/Main.java index 9c1dcdecf..2e22dadde 100644 --- a/src/main/java/mate/academy/Main.java +++ b/src/main/java/mate/academy/Main.java @@ -11,10 +11,10 @@ public static void main(String[] args) { test("john@i.ua", "1234", false); test("bob@i.ua", "qwerty", false); } - private static void test(String email, String password, boolean expected) { boolean actual = authenticationService.login(email, password); - if (expected == actual) { + + if (expected && actual) { System.out.println("Test passed for email: " + email + " and password " + password); } else { System.out.print("Expected to receive " + expected + ", but was " + actual + ". "); diff --git a/src/main/java/mate/academy/service/AuthenticationService.java b/src/main/java/mate/academy/service/AuthenticationService.java index 8f7c7c975..14b361106 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. @@ -11,6 +14,17 @@ public class AuthenticationService { * Return false in any other cases. */ public boolean login(String email, String password) { - return false; + User user = userService.findByEmail(email); + + if (user != null) { + + + if (!user.getPassword().equals(password)) { + return false; + } else { + return true; + } + } + 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..2c68d9011 100644 --- a/src/main/java/mate/academy/service/UserService.java +++ b/src/main/java/mate/academy/service/UserService.java @@ -2,6 +2,8 @@ import mate.academy.model.User; +import java.util.Scanner; + public class UserService { private static final User[] users = new User[] { new User("bob@i.ua", "1234"), @@ -14,7 +16,13 @@ public class UserService { * @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; } }