методы для работы с юзерами в бд
parent
d2257d4323
commit
8cb50f6762
|
@ -1,8 +1,11 @@
|
||||||
package ru.ldeloff.hedgehogcloud.repository;
|
package ru.ldeloff.hedgehogcloud.repository;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
||||||
|
|
||||||
|
@Repository
|
||||||
public interface UserRepository extends JpaRepository<UserEntity, String> {
|
public interface UserRepository extends JpaRepository<UserEntity, String> {
|
||||||
UserEntity findByUsername(String username);
|
UserEntity findByUsername(String username);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +1,11 @@
|
||||||
package ru.ldeloff.hedgehogcloud.service;
|
package ru.ldeloff.hedgehogcloud.service;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
||||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
||||||
import ru.ldeloff.hedgehogcloud.repository.RoleRepository;
|
|
||||||
import ru.ldeloff.hedgehogcloud.repository.UserRepository;
|
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
public interface UserService extends UserDetailsService {
|
||||||
import javax.persistence.EntityManager;
|
UserDetails loadUserByUsername(String username);
|
||||||
import javax.persistence.PersistenceContext;
|
void saveUser(UserEntity user);
|
||||||
|
UserEntity getByUserName(String name); // TODO попробовать userdetails юзать
|
||||||
|
|
||||||
@Service
|
|
||||||
public class UserService implements UserDetailsService {
|
|
||||||
UserRepository userRepository;
|
|
||||||
RoleRepository roleRepository;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public UserService(UserRepository userRepository,
|
|
||||||
RoleRepository roleRepository) {
|
|
||||||
this.userRepository = userRepository;
|
|
||||||
this.roleRepository = roleRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
|
||||||
UserEntity user = userRepository.findByUsername(username);
|
|
||||||
if (user == null) {
|
|
||||||
throw new UsernameNotFoundException("User not found");
|
|
||||||
}
|
|
||||||
return user;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package ru.ldeloff.hedgehogcloud.service;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
||||||
|
import ru.ldeloff.hedgehogcloud.repository.RoleRepository;
|
||||||
|
import ru.ldeloff.hedgehogcloud.repository.UserRepository;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class UserServiceImpl implements UserService {
|
||||||
|
UserRepository userRepository;
|
||||||
|
RoleRepository roleRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public UserServiceImpl(UserRepository userRepository,
|
||||||
|
RoleRepository roleRepository) {
|
||||||
|
this.userRepository = userRepository;
|
||||||
|
this.roleRepository = roleRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||||
|
UserEntity user = userRepository.findByUsername(username);
|
||||||
|
if (user == null) {
|
||||||
|
throw new UsernameNotFoundException("User not found");
|
||||||
|
}
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveUser(UserEntity user) {
|
||||||
|
UserEntity userTemp = getByUserName(user.getUsername());
|
||||||
|
if (userTemp == null) {
|
||||||
|
userRepository.save(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserEntity getByUserName(String name) {
|
||||||
|
return userRepository.findByUsername(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue