package app.mealsmadeeasy.api.security; import app.mealsmadeeasy.api.user.UserRepository; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; @Service public final class JpaUserDetailsServiceImpl implements JpaUserDetailsService { private final UserRepository userRepository; public JpaUserDetailsServiceImpl(UserRepository userRepository) { this.userRepository = userRepository; } @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { return this.userRepository.findByUsername(username) .orElseThrow(() -> new UsernameNotFoundException("No such User with username: " + username)); } }