UserService.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.platform2easy.genesis.domain.service;
  2. import com.platform2easy.genesis.domain.model.AppUser;
  3. import com.platform2easy.genesis.domain.repository.AppUserRepository;
  4. import lombok.AllArgsConstructor;
  5. import org.springframework.security.core.userdetails.UserDetails;
  6. import org.springframework.security.core.userdetails.UserDetailsService;
  7. import org.springframework.security.core.userdetails.UsernameNotFoundException;
  8. import org.springframework.stereotype.Service;
  9. import java.util.List;
  10. import java.util.Collections;
  11. import org.springframework.security.core.authority.SimpleGrantedAuthority;
  12. import org.springframework.security.core.userdetails.User;
  13. @Service
  14. @AllArgsConstructor
  15. public class UserService implements UserDetailsService {
  16. private final AppUserRepository appUserRepository;
  17. @Override
  18. public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
  19. AppUser appUser = appUserRepository.findByUserEmail(username)
  20. .orElseThrow(() -> new UsernameNotFoundException("User not found: " + username));
  21. return new User(appUser.getUserEmail(), appUser.getUserPassword(),
  22. Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER")));
  23. }
  24. @Transactional
  25. public AppUser salvar(AppUser user) {
  26. appUserRepository.save(user);
  27. return user;
  28. }
  29. public AppUser buscarPorEmpresa(Integer companyId) {
  30. return appUserRepository.findByCompanyId(companyId).orElseThrow();
  31. }
  32. public List<AppUser> listAll(){
  33. return appUserRepository.findAll();
  34. }
  35. public void deletarPorId(Long id) {
  36. appUserRepository.deleteById(id);
  37. }
  38. }