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

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

Added CRUD for movies,persons,discussion,replies,genres
Added ajaxcalls

  • Property mode set to 100644
File size: 2.1 KB
Line 
1package com.wediscussmovies.project.service.impl;
2
3import com.wediscussmovies.project.model.exception.InvalidArgumentsException;
4import com.wediscussmovies.project.model.exception.PasswordsDoNotMatchException;
5import com.wediscussmovies.project.model.exception.UserNotExistException;
6import com.wediscussmovies.project.model.User;
7import com.wediscussmovies.project.model.exception.UsernameAlreadyExistsException;
8import com.wediscussmovies.project.repository.UserRepository;
9import com.wediscussmovies.project.service.UserService;
10import org.springframework.security.core.userdetails.UserDetails;
11import org.springframework.security.core.userdetails.UsernameNotFoundException;
12import org.springframework.security.crypto.password.PasswordEncoder;
13import org.springframework.stereotype.Service;
14
15@Service
16public class UserServiceImpl implements UserService {
17
18 private final UserRepository userRepository;
19 private final PasswordEncoder passwordEncoder;
20
21
22 public UserServiceImpl(UserRepository userRepository, PasswordEncoder passwordEncoder) {
23 this.userRepository = userRepository;
24 this.passwordEncoder = passwordEncoder;
25 }
26
27 @Override
28 public User findByUsername(String username) {
29 return this.userRepository.findByUsername(username).orElseThrow(() -> new UserNotExistException(username));
30 }
31
32
33
34 @Override
35 public User register( String email, String username, String password, String confirmPassword
36 , String name, String surname) {
37
38 if ( username.isEmpty() || password.isEmpty())
39 throw new InvalidArgumentsException();
40 if (!password.equals(confirmPassword))
41 throw new PasswordsDoNotMatchException();
42 if(this.userRepository.findByUsername(username).isPresent())
43 throw new UsernameAlreadyExistsException(username);
44 User user = new User(email,username,passwordEncoder.encode(password),name,surname);
45 return userRepository.save(user);
46
47 }
48
49 @Override
50 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
51 return this.findByUsername(username);
52 }
53}
Note: See TracBrowser for help on using the repository browser.