package pl.sudra.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import pl.sudra.domain.AppUser; import pl.sudra.repository.AppUserRepository; import pl.sudra.repository.AppUserRoleRepository; import java.util.List; @Service public class AppUserServiceImpl implements AppUserService { private AppUserRepository appUserRepository; private AppUserRoleRepository appUserRoleRepository; private PasswordEncoder passwordEncoder; @Autowired public AppUserServiceImpl(AppUserRepository appUserRepository, AppUserRoleRepository appUserRoleRepository, PasswordEncoder passwordEncoder) { this.appUserRepository = appUserRepository; this.appUserRoleRepository = appUserRoleRepository; this.passwordEncoder = passwordEncoder; } @Transactional public void addAppUser(AppUser appUser) { appUser.getAppUserRole().add(appUserRoleRepository.findByRole("ROLE_USER")); appUser.setPassword(passwordEncoder.encode(appUser.getPassword())); appUserRepository.save(appUser); } @Transactional public void editAppUser(AppUser appUser) { appUser.getAppUserRole().add(appUserRoleRepository.findByRole("ROLE_USER")); appUser.setPassword(passwordEncoder.encode(appUser.getPassword())); appUserRepository.save(appUser); } @Transactional public List listAppUser() { return appUserRepository.findAll(); } @Transactional public void removeAppUser(long id) { appUserRepository.deleteById(id); } @Transactional public AppUser getAppUser(long id) { return appUserRepository.findById(id); } @Transactional public AppUser findByLogin(String login) { return appUserRepository.findByLogin(login); } }