diff options
Diffstat (limited to 'src/main/java/com/blog/web/services')
3 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/com/blog/web/services/ArticleService.java b/src/main/java/com/blog/web/services/ArticleService.java index 9cab70b..2c1e9f4 100644 --- a/src/main/java/com/blog/web/services/ArticleService.java +++ b/src/main/java/com/blog/web/services/ArticleService.java @@ -5,6 +5,7 @@ import com.blog.web.models.Article; import java.util.List; + public interface ArticleService { List<ArticleDto> findAllArticles(); diff --git a/src/main/java/com/blog/web/services/UserService.java b/src/main/java/com/blog/web/services/UserService.java new file mode 100644 index 0000000..8515cb1 --- /dev/null +++ b/src/main/java/com/blog/web/services/UserService.java @@ -0,0 +1,13 @@ +package com.blog.web.services; + +import com.blog.web.dto.RegistrationDto; +import com.blog.web.models.UserEntity; + + +public interface UserService { + void saveUser(RegistrationDto registrationDto); + + UserEntity findByEmail(String email); + + UserEntity findByUsername(String username); +} diff --git a/src/main/java/com/blog/web/services/impl/UserServiceImpl.java b/src/main/java/com/blog/web/services/impl/UserServiceImpl.java new file mode 100644 index 0000000..06dbc22 --- /dev/null +++ b/src/main/java/com/blog/web/services/impl/UserServiceImpl.java @@ -0,0 +1,46 @@ +package com.blog.web.services.impl; + +import com.blog.web.dto.RegistrationDto; +import com.blog.web.models.Role; +import com.blog.web.models.UserEntity; +import com.blog.web.repository.RoleRepository; +import com.blog.web.repository.UserRepository; +import com.blog.web.services.UserService; +import org.springframework.stereotype.Service; + +import java.util.Arrays; + +@Service +public class UserServiceImpl implements UserService { + private UserRepository userRepository; + private RoleRepository roleRepository; + + public UserServiceImpl(UserRepository userRepository, RoleRepository roleRepository) { + this.userRepository = userRepository; + this.roleRepository = roleRepository; + } + + @Override + public void saveUser(RegistrationDto registrationDto) { + UserEntity user = new UserEntity(); + user.setUsername(registrationDto.getUsername()); + user.setEmail(registrationDto.getEmail()); + // this is an unsafe way to store passwords in production + // it is left this way only because this is a practice project + user.setPassword(registrationDto.getPassword()); + + Role role = roleRepository.findByName("User"); + user.setRoles(Arrays.asList(role)); + userRepository.save(user); + } + + @Override + public UserEntity findByEmail(String email) { + return userRepository.findByEmail(email); + } + + @Override + public UserEntity findByUsername(String username) { + return userRepository.findByUsername(username); + } +} |
