summaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/blog/web/services
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/blog/web/services')
-rw-r--r--src/main/java/com/blog/web/services/ArticleService.java1
-rw-r--r--src/main/java/com/blog/web/services/UserService.java13
-rw-r--r--src/main/java/com/blog/web/services/impl/UserServiceImpl.java46
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);
+ }
+}