Skip to content

Commit 1f4805a

Browse files
committed
i don`t think so, but ok
1 parent c258b22 commit 1f4805a

File tree

4 files changed

+19
-12
lines changed

4 files changed

+19
-12
lines changed

src/main/java/mate/academy/Main.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import mate.academy.model.CinemaHall;
99
import mate.academy.model.Movie;
1010
import mate.academy.model.MovieSession;
11+
import mate.academy.model.User;
1112
import mate.academy.security.AuthenticationService;
1213
import mate.academy.service.CinemaHallService;
1314
import mate.academy.service.MovieService;
@@ -65,11 +66,15 @@ public static void main(String[] args) throws RegistrationException, Authenticat
6566
AuthenticationService authenticationService =
6667
(AuthenticationService) injector.getInstance(AuthenticationService.class);
6768
System.out.println("register method started");
68-
authenticationService.register("bob@gmail.com", "123456789qwerty!");
69+
User registeredUser = authenticationService.register("bob@gmail.com", "123456789qwerty!");
6970
System.out.println("register method finished");
71+
System.out.println(registeredUser.toString());
72+
7073
System.out.println("-----------------");
74+
7175
System.out.println("login method started");
72-
authenticationService.login("bob@gmail.com","123456789qwerty!");
76+
User loginedUser = authenticationService.login("bob@gmail.com", "123456789qwerty!");
7377
System.out.println("login method finished");
78+
System.out.println(loginedUser.toString());
7479
}
7580
}

src/main/java/mate/academy/dao/impl/UserDaoImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ public User add(User user) {
3434
public Optional<User> findByEmail(String email) {
3535
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
3636
try (Session session = sessionFactory.openSession()) {
37-
return session.createQuery("from User where u.login = :login", User.class)
38-
.setParameter("login", email)
37+
return session.createQuery("from User u where u.login = :email", User.class)
38+
.setParameter("email", email)
3939
.uniqueResultOptional();
40+
} catch (Exception e) {
41+
throw new DataProcessingException("Error finding user by email", e);
4042
}
4143
}
4244
}

src/main/java/mate/academy/model/User.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package mate.academy.model;
22

3+
import jakarta.persistence.Column;
34
import jakarta.persistence.Entity;
45
import jakarta.persistence.GeneratedValue;
56
import jakarta.persistence.GenerationType;
@@ -12,7 +13,10 @@ public class User {
1213
@Id
1314
@GeneratedValue(strategy = GenerationType.IDENTITY)
1415
private Long id;
16+
17+
@Column(unique = true)
1518
private String email;
19+
1620
private String password;
1721
private byte[] salt;
1822

src/main/java/mate/academy/security/AuthenticationServiceImpl.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,12 @@ public User register(String email, String password) throws RegistrationException
3232
@Override
3333
public User login(String email, String password) throws AuthenticationException {
3434
Optional<User> userFromDB = userService.findByEmail(email);
35-
if (userFromDB.isEmpty()) {
36-
throw new AuthenticationException("User with email: "
37-
+ email + " does not exist");
38-
}
39-
4035
User user = userFromDB.get();
4136
String hashedPasswordInput = HashUtil.hashPassword(password, user.getSalt());
42-
if (user.getPassword().equals(hashedPasswordInput)) {
43-
return user;
37+
38+
if (userFromDB.isEmpty() || !user.getPassword().equals(hashedPasswordInput)) {
39+
throw new AuthenticationException("Wrong password, try again.");
4440
}
45-
throw new AuthenticationException("Wrong password, try again.");
41+
return user;
4642
}
4743
}

0 commit comments

Comments
 (0)