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
RevLine 
[2a5d6a3]1package com.wediscussmovies.project.service.impl;
2
[e0ef1b1]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;
[2a5d6a3]8import com.wediscussmovies.project.repository.UserRepository;
9import com.wediscussmovies.project.service.UserService;
[e0ef1b1]10import org.springframework.security.core.userdetails.UserDetails;
11import org.springframework.security.core.userdetails.UsernameNotFoundException;
12import org.springframework.security.crypto.password.PasswordEncoder;
[2a5d6a3]13import org.springframework.stereotype.Service;
14
15@Service
16public class UserServiceImpl implements UserService {
[e0ef1b1]17
[2a5d6a3]18 private final UserRepository userRepository;
[e0ef1b1]19 private final PasswordEncoder passwordEncoder;
20
[2a5d6a3]21
[e0ef1b1]22 public UserServiceImpl(UserRepository userRepository, PasswordEncoder passwordEncoder) {
[2a5d6a3]23 this.userRepository = userRepository;
[e0ef1b1]24 this.passwordEncoder = passwordEncoder;
25 }
26
27 @Override
28 public User findByUsername(String username) {
29 return this.userRepository.findByUsername(username).orElseThrow(() -> new UserNotExistException(username));
[2a5d6a3]30 }
31
[e0ef1b1]32
33
[2a5d6a3]34 @Override
[e0ef1b1]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
[2a5d6a3]47 }
48
49 @Override
[e0ef1b1]50 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
51 return this.findByUsername(username);
[2a5d6a3]52 }
53}
Note: See TracBrowser for help on using the repository browser.