diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java index aca0317..a70ddae 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/api/UserController.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/api/UserController.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.base.user.api; +package com.hideyoshi.backendportfolio.base.auth.api; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; -import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.model.TokenDTO; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import com.hideyoshi.backendportfolio.microservice.storageService.enums.FileTypeEnum; import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceUploadResponse; import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; @@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.net.URI; import java.util.List; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java index fcd24f4..55a79bf 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/config/SecurityConfig.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/config/SecurityConfig.java @@ -1,12 +1,12 @@ -package com.hideyoshi.backendportfolio.base.security.config; +package com.hideyoshi.backendportfolio.base.auth.config; import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; -import com.hideyoshi.backendportfolio.base.security.filter.CustomAuthenticationFilter; -import com.hideyoshi.backendportfolio.base.security.filter.CustomAuthorizationFilter; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.oauth.repo.OAuthRequestRepository; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.filter.CustomAuthenticationFilter; +import com.hideyoshi.backendportfolio.base.auth.filter.CustomAuthorizationFilter; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.oauth.repo.OAuthRequestRepository; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java index 29514f9..7e46909 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Provider.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Provider.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.entity; +package com.hideyoshi.backendportfolio.base.auth.entity; import lombok.Getter; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Role.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java similarity index 91% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Role.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java index 23e970d..ece6638 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/Role.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/Role.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.entity; +package com.hideyoshi.backendportfolio.base.auth.entity; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/User.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java similarity index 96% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/entity/User.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java index 3aae63c..541dfd8 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/entity/User.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/entity/User.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.entity; +package com.hideyoshi.backendportfolio.base.auth.entity; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java similarity index 90% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java index 5886288..73294e4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthenticationFilter.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthenticationFilter.java @@ -1,10 +1,10 @@ -package com.hideyoshi.backendportfolio.base.security.filter; +package com.hideyoshi.backendportfolio.base.auth.filter; import com.fasterxml.jackson.databind.ObjectMapper; import com.hideyoshi.backendportfolio.base.config.RestAuthenticationEntryPointConfig; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import lombok.extern.log4j.Log4j2; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java similarity index 96% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java index af9132b..f8f0a72 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/filter/CustomAuthorizationFilter.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/filter/CustomAuthorizationFilter.java @@ -1,7 +1,7 @@ -package com.hideyoshi.backendportfolio.base.security.filter; +package com.hideyoshi.backendportfolio.base.auth.filter; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.security.service.AuthService; +import com.hideyoshi.backendportfolio.base.auth.service.AuthService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidExceptionDetails; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/ConfigInterceptor.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/ConfigInterceptor.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java index 7188701..7e84034 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/ConfigInterceptor.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/ConfigInterceptor.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.security.interceptor; +package com.hideyoshi.backendportfolio.base.auth.interceptor; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/UserResourceAccessInterceptor.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java similarity index 87% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/UserResourceAccessInterceptor.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java index c02f5dc..2742822 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/interceptor/UserResourceAccessInterceptor.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/interceptor/UserResourceAccessInterceptor.java @@ -1,9 +1,8 @@ -package com.hideyoshi.backendportfolio.base.security.interceptor; +package com.hideyoshi.backendportfolio.base.auth.interceptor; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import com.hideyoshi.backendportfolio.util.exception.AuthenticationInvalidException; -import com.hideyoshi.backendportfolio.util.exception.BadRequestException; import com.hideyoshi.backendportfolio.util.guard.UserResourceGuard; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/model/AuthDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java similarity index 78% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/model/AuthDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java index be9baed..5087e87 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/model/AuthDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/AuthDTO.java @@ -1,11 +1,9 @@ -package com.hideyoshi.backendportfolio.base.security.model; +package com.hideyoshi.backendportfolio.base.auth.model; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/RoleToUserDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java similarity index 67% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/model/RoleToUserDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java index 260d06f..972231a 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/RoleToUserDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/RoleToUserDTO.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.model; +package com.hideyoshi.backendportfolio.base.auth.model; import lombok.Data; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/TokenDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java similarity index 92% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/model/TokenDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java index 0a033eb..9730067 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/TokenDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/TokenDTO.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.user.model; +package com.hideyoshi.backendportfolio.base.auth.model; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/UserDTO.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java similarity index 93% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/model/UserDTO.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java index a1126fa..3090b08 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/model/UserDTO.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/model/UserDTO.java @@ -1,11 +1,11 @@ -package com.hideyoshi.backendportfolio.base.user.model; +package com.hideyoshi.backendportfolio.base.auth.model; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; import com.hideyoshi.backendportfolio.util.validator.email.unique.UniqueEmail; import com.hideyoshi.backendportfolio.util.validator.email.valid.ValidEmail; import com.hideyoshi.backendportfolio.util.validator.password.ValidPassword; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GithubOAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GithubOAuthMap.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java index 8e53d2c..5ce76dd 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GithubOAuthMap.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GithubOAuthMap.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.AllArgsConstructor; import org.springframework.security.oauth2.core.user.OAuth2User; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GoogleOAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java similarity index 80% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GoogleOAuthMap.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java index a12904c..1cf9ca5 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/GoogleOAuthMap.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/GoogleOAuthMap.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.AllArgsConstructor; import org.springframework.security.oauth2.core.user.OAuth2User; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java new file mode 100644 index 0000000..0f50c65 --- /dev/null +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMap.java @@ -0,0 +1,13 @@ +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; + +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; + +public interface OAuthMap { + + String getPrincipal(); + + String getProfilePicture(); + + Provider getProvider(); + +} diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java similarity index 85% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java index 0f9abbb..1126c1e 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMapper.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/mapper/OAuthMapper.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; +package com.hideyoshi.backendportfolio.base.auth.oauth.mapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.Getter; public enum OAuthMapper { diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java similarity index 97% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java index b49a359..977d7bf 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/repo/OAuthRequestRepository.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/oauth/repo/OAuthRequestRepository.java @@ -1,4 +1,4 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.repo; +package com.hideyoshi.backendportfolio.base.auth.oauth.repo; import lombok.extern.log4j.Log4j2; import org.springframework.security.oauth2.client.web.AuthorizationRequestRepository; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepository.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java similarity index 73% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepository.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java index e771b17..05fbc41 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepository.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/repo/UserRepository.java @@ -1,6 +1,6 @@ -package com.hideyoshi.backendportfolio.base.user.repo; +package com.hideyoshi.backendportfolio.base.auth.repo; -import com.hideyoshi.backendportfolio.base.user.entity.User; +import com.hideyoshi.backendportfolio.base.auth.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java similarity index 92% rename from src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java index 35b6bbb..9b043b1 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/service/AuthService.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/AuthService.java @@ -1,18 +1,16 @@ -package com.hideyoshi.backendportfolio.base.security.service; +package com.hideyoshi.backendportfolio.base.auth.service; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; -import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMap; -import com.hideyoshi.backendportfolio.base.security.oauth.mapper.OAuthMapper; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.TokenDTO; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.oauth.mapper.OAuthMap; +import com.hideyoshi.backendportfolio.base.auth.oauth.mapper.OAuthMapper; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.model.TokenDTO; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import com.hideyoshi.backendportfolio.microservice.storageService.model.StorageServiceDownloadResponse; import com.hideyoshi.backendportfolio.microservice.storageService.service.StorageService; import com.hideyoshi.backendportfolio.util.exception.BadRequestException; @@ -35,7 +33,6 @@ import java.util.*; import java.util.stream.Collectors; import static java.util.Arrays.stream; -import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @Log4j2 @Service diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImpl.java b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java similarity index 89% rename from src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImpl.java rename to src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java index 16a7746..8cbd511 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImpl.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/auth/service/UserService.java @@ -1,14 +1,15 @@ -package com.hideyoshi.backendportfolio.base.user.service; +package com.hideyoshi.backendportfolio.base.auth.service; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; import com.hideyoshi.backendportfolio.util.exception.BadRequestException; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; @@ -22,13 +23,12 @@ import java.util.stream.Collectors; @Service @Transactional @RequiredArgsConstructor -public class UserServiceImpl implements UserService { +public class UserService implements UserDetailsService { private final UserRepository userRepo; private final PasswordEncoder passwordEncoder; - @Override public UserDTO saveUser(@Valid UserDTO user) { this.userRepo.findByUsername(user.getUsername()).ifPresent(userOnDB -> { @@ -45,7 +45,6 @@ public class UserServiceImpl implements UserService { return userSaved; } - @Override public void alterUser(Long id, @Valid UserDTO user) { this.userRepo.findById(id).ifPresentOrElse(userOnDB -> { @@ -57,7 +56,6 @@ public class UserServiceImpl implements UserService { }); } - @Override public void deleteUser(Long id) { this.userRepo.findById(id).ifPresentOrElse(userOnDB -> { @@ -68,7 +66,6 @@ public class UserServiceImpl implements UserService { } - @Override public void addRoleToUser(Long id, String roleName) { UserDTO userOnDB = this.getUser(id); @@ -89,7 +86,6 @@ public class UserServiceImpl implements UserService { } - @Override public void removeRoleFromUser(Long id, String roleName) { UserDTO userOnDB = this.getUser(id); @@ -109,7 +105,6 @@ public class UserServiceImpl implements UserService { } } - @Override public UserDTO getUser(Long id) { log.info(String.format("Fetching user with id: %o", id)); @@ -119,7 +114,6 @@ public class UserServiceImpl implements UserService { ); } - @Override public UserDTO getUser(String username) { log.info(String.format("Fetching user: %s", username)); @@ -129,7 +123,6 @@ public class UserServiceImpl implements UserService { ); } - @Override public List getUsers() { log.info("Fetching all users."); @@ -138,7 +131,6 @@ public class UserServiceImpl implements UserService { .collect(Collectors.toList()); } - @Override public UserDetails loadUserByUsername(String username) { return this.getUser(username); } diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java b/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java index 8ed808f..7c56ebd 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/config/DefaultUserConfig.java @@ -1,10 +1,10 @@ package com.hideyoshi.backendportfolio.base.config; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMap.java b/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMap.java deleted file mode 100644 index 4155572..0000000 --- a/src/main/java/com/hideyoshi/backendportfolio/base/security/oauth/mapper/OAuthMap.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hideyoshi.backendportfolio.base.security.oauth.mapper; - -import com.hideyoshi.backendportfolio.base.user.entity.Provider; - -public interface OAuthMap { - - String getPrincipal(); - - String getProfilePicture(); - - Provider getProvider(); - -} diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java b/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java index 2c2f0b1..01f0305 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/session/api/SessionController.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.base.session.api; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; import com.hideyoshi.backendportfolio.base.session.service.SessionManagerService; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java index add7bac..5c8cd0f 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerService.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.base.session.service; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; import javax.servlet.http.HttpSession; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java index f2e25ab..ef4a3df 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java +++ b/src/main/java/com/hideyoshi/backendportfolio/base/session/service/SessionManagerServiceImpl.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.base.session.service; -import com.hideyoshi.backendportfolio.base.security.model.AuthDTO; +import com.hideyoshi.backendportfolio.base.auth.model.AuthDTO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserService.java b/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserService.java deleted file mode 100644 index 5405ed5..0000000 --- a/src/main/java/com/hideyoshi/backendportfolio/base/user/service/UserService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hideyoshi.backendportfolio.base.user.service; - -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import org.springframework.security.core.userdetails.UserDetailsService; - -import javax.validation.Valid; -import java.util.List; - -public interface UserService extends UserDetailsService { - - UserDTO saveUser(@Valid UserDTO user); - - void alterUser(Long id, @Valid UserDTO user); - - void deleteUser(Long id); - - void addRoleToUser(Long id, String roleName); - - void removeRoleFromUser(Long id, String roleName); - - UserDTO getUser(Long id); - - UserDTO getUser(String username); - - List getUsers(); -} diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java index 68d1974..e5c9da4 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceGuardEnum.java @@ -1,9 +1,9 @@ package com.hideyoshi.backendportfolio.util.guard; import com.fasterxml.jackson.databind.ObjectMapper; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; import lombok.Getter; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java index f76c33d..e71754c 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/guard/UserResourceValidator.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.guard; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import org.springframework.security.core.context.SecurityContextHolder; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java b/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java index 869368f..0982971 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/validator/email/unique/EmailUnique.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.validator.email.unique; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; import lombok.RequiredArgsConstructor; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java index 4806060..ee5a95a 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/PasswordValidator.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.validator.password; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import lombok.RequiredArgsConstructor; import javax.validation.ConstraintValidator; diff --git a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java index 32e773c..347b3a6 100644 --- a/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java +++ b/src/main/java/com/hideyoshi/backendportfolio/util/validator/password/ValidPassword.java @@ -1,6 +1,6 @@ package com.hideyoshi.backendportfolio.util.validator.password; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; import javax.validation.Constraint; import javax.validation.Payload; diff --git a/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java b/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java index d567c6b..35977fb 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java +++ b/src/test/java/com/hideyoshi/backendportfolio/base/user/repo/UserRepositoryTest.java @@ -1,9 +1,10 @@ package com.hideyoshi.backendportfolio.base.user.repo; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImplTest.java b/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java similarity index 96% rename from src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImplTest.java rename to src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java index 0813842..735f594 100644 --- a/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceImplTest.java +++ b/src/test/java/com/hideyoshi/backendportfolio/base/user/service/UserServiceTest.java @@ -1,10 +1,11 @@ package com.hideyoshi.backendportfolio.base.user.service; -import com.hideyoshi.backendportfolio.base.user.entity.Provider; -import com.hideyoshi.backendportfolio.base.user.entity.Role; -import com.hideyoshi.backendportfolio.base.user.entity.User; -import com.hideyoshi.backendportfolio.base.user.model.UserDTO; -import com.hideyoshi.backendportfolio.base.user.repo.UserRepository; +import com.hideyoshi.backendportfolio.base.auth.service.UserService; +import com.hideyoshi.backendportfolio.base.auth.entity.Provider; +import com.hideyoshi.backendportfolio.base.auth.entity.Role; +import com.hideyoshi.backendportfolio.base.auth.entity.User; +import com.hideyoshi.backendportfolio.base.auth.model.UserDTO; +import com.hideyoshi.backendportfolio.base.auth.repo.UserRepository; import com.hideyoshi.backendportfolio.util.exception.BadRequestException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -31,9 +32,9 @@ import static org.mockito.Mockito.verify; @DataJpaTest @ExtendWith(MockitoExtension.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -class UserServiceImplTest { +class UserServiceTest { - private UserServiceImpl underTest; + private UserService underTest; @Mock private UserRepository userRepository; @@ -42,7 +43,7 @@ class UserServiceImplTest { @BeforeEach void setUp() { PasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - this.underTest = new UserServiceImpl(userRepository, passwordEncoder); + this.underTest = new UserService(userRepository, passwordEncoder); } @Test