UserService.java
package org.petify.backend.services;
import org.petify.backend.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
@Service
public class UserService implements UserDetailsService {
@Autowired
private PasswordEncoder encoder;
@Autowired
private UserRepository userRepository;
@Override
public UserDetails loadUserByUsername(final String login) throws UsernameNotFoundException {
System.out.println("In the user details service");
return userRepository.findByUsername(login)
.orElseGet(() -> userRepository.findByEmail(login)
.orElseGet(() -> userRepository.findByPhoneNumber(login)
.orElseThrow(() -> new UsernameNotFoundException("User is not valid"))));
}
}