source: Git/src/main/java/com/wediscussmovies/project/service/impl/UserServiceImpl.java@ 3ded84d

main
Last change on this file since 3ded84d was 3ded84d, checked in by Test <matonikolov77@…>, 2 years ago

Model-database resolved bugs for mapping

  • Property mode set to 100644
File size: 2.6 KB
Line 
1package com.wediscussmovies.project.service.impl;
2
3import com.wediscussmovies.project.model.*;
4import com.wediscussmovies.project.model.exception.PasswordsDontMatchException;
5import com.wediscussmovies.project.model.exception.UserWithEmailAlreadyExists;
6import com.wediscussmovies.project.model.exception.UserWithUsernameAlreadyExists;
7import com.wediscussmovies.project.repository.UserRepository;
8import com.wediscussmovies.project.service.UserService;
9import org.springframework.stereotype.Service;
10
11import javax.servlet.http.HttpServletRequest;
12import java.util.Optional;
13
14@Service
15public class UserServiceImpl implements UserService {
16 private final UserRepository userRepository;
17
18 public UserServiceImpl(UserRepository userRepository) {
19 this.userRepository = userRepository;
20 }
21
22 @Override
23 public Optional<User> login(String email, String password) {
24 Optional<User> userEmail = userRepository.findByEmailAndPassword(email, password);
25 Optional<User> userUsername = userRepository.findByUsernameAndPassword(email, password);
26 if(userEmail.isPresent())
27 return userEmail;
28 else if(userUsername.isPresent())
29 return userUsername;
30 else
31 return Optional.empty();
32 }
33
34 @Override
35 public Optional<User> register(HttpServletRequest request, String email, String password, String confirmPassword,
36 String username, String name, String surname) {
37 if(email == null || email.isEmpty() || password == null || password.isEmpty() ||
38 confirmPassword == null || confirmPassword.isEmpty() || username == null || username.isEmpty() ||
39 name == null || name.isEmpty() || surname == null || surname.isEmpty()) {
40 request.getSession().setAttribute("error", "Not all of the fields had a value in them, check again.");
41 return Optional.empty();
42 }
43 if(userRepository.findByUsername(username).isPresent()){
44 request.getSession().setAttribute("error", new UserWithUsernameAlreadyExists(username).getMessage());
45 return Optional.empty();
46 }
47 if(userRepository.findByEmail(email).isPresent()){
48 request.getSession().setAttribute("error", new UserWithEmailAlreadyExists(email).getMessage());
49 return Optional.empty();
50 }
51 if(!password.equals(confirmPassword)){
52 request.getSession().setAttribute("error", new PasswordsDontMatchException().getMessage());
53 return Optional.empty();
54 }
55 User user = new User(email, username, password, name, surname);
56 return Optional.of(userRepository.save(user));
57 }
58}
Note: See TracBrowser for help on using the repository browser.