From 1202f4da2f8666a47f68ebf716be6363807c0998 Mon Sep 17 00:00:00 2001 From: pricelees Date: Sun, 13 Jul 2025 16:18:10 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20auth=20=ED=8C=A8=ED=82=A4=EC=A7=80=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=20=EB=A6=AC=ED=8C=A9=ED=84=B0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - web 관련(controller, 어노테이션, interceptor, argument_resolver) - business 관련(service..) - infrastructure 관련(jwt..) --- src/main/java/roomescape/member/web/MemberAPI.kt | 2 +- .../reservation/controller/ReservationController.java | 6 +++--- .../controller/ReservationTimeController.java | 4 ++-- .../auth/{ => infrastructure}/jwt/JwtHandler.java | 3 +-- .../system/auth/infrastructure/jwt/TokenDto.java | 4 ++++ .../java/roomescape/system/auth/jwt/dto/TokenDto.java | 4 ---- .../roomescape/system/auth/service/AuthService.java | 8 ++++---- .../auth/{controller => web}/AuthController.java | 10 ++++------ .../system/auth/{dto => web}/LoginCheckResponse.java | 2 +- .../system/auth/{dto => web}/LoginRequest.java | 2 +- .../java/roomescape/system/auth/web/support/Admin.java | 2 +- .../{interceptor => web/support}/AdminInterceptor.java | 5 ++--- .../{interceptor => web/support}/LoginInterceptor.java | 5 ++--- .../system/auth/web/support/LoginRequired.java | 2 +- .../roomescape/system/auth/web/support/MemberId.java | 2 +- .../{resolver => web/support}/MemberIdResolver.java | 5 ++--- .../java/roomescape/system/config/WebMvcConfig.java | 6 +++--- .../roomescape/theme/controller/ThemeController.java | 4 ++-- .../java/roomescape/view/controller/PageController.kt | 4 ++-- src/test/java/roomescape/common/RoomescapeApiTest.kt | 2 +- .../roomescape/global/auth/jwt/JwtHandlerTest.java | 2 +- .../auth/{service => business}/AuthServiceTest.java | 9 +++++---- .../auth/{controller => web}/AuthControllerTest.java | 2 +- 23 files changed, 45 insertions(+), 50 deletions(-) rename src/main/java/roomescape/system/auth/{ => infrastructure}/jwt/JwtHandler.java (96%) create mode 100644 src/main/java/roomescape/system/auth/infrastructure/jwt/TokenDto.java delete mode 100644 src/main/java/roomescape/system/auth/jwt/dto/TokenDto.java rename src/main/java/roomescape/system/auth/{controller => web}/AuthController.java (92%) rename src/main/java/roomescape/system/auth/{dto => web}/LoginCheckResponse.java (88%) rename src/main/java/roomescape/system/auth/{dto => web}/LoginRequest.java (95%) rename src/main/java/roomescape/system/auth/{interceptor => web/support}/AdminInterceptor.java (94%) rename src/main/java/roomescape/system/auth/{interceptor => web/support}/LoginInterceptor.java (94%) rename src/main/java/roomescape/system/auth/{resolver => web/support}/MemberIdResolver.java (92%) rename src/test/java/roomescape/system/auth/{service => business}/AuthServiceTest.java (88%) rename src/test/java/roomescape/system/auth/{controller => web}/AuthControllerTest.java (98%) diff --git a/src/main/java/roomescape/member/web/MemberAPI.kt b/src/main/java/roomescape/member/web/MemberAPI.kt index 5ce92093..92aa4bbd 100644 --- a/src/main/java/roomescape/member/web/MemberAPI.kt +++ b/src/main/java/roomescape/member/web/MemberAPI.kt @@ -6,7 +6,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses import io.swagger.v3.oas.annotations.tags.Tag import org.springframework.http.HttpStatus import org.springframework.web.bind.annotation.ResponseStatus -import roomescape.system.auth.annotation.Admin +import roomescape.system.auth.web.support.Admin import roomescape.system.dto.response.RoomEscapeApiResponse @Tag(name = "2. 회원 API", description = "회원 정보를 관리할 때 사용합니다.") diff --git a/src/main/java/roomescape/reservation/controller/ReservationController.java b/src/main/java/roomescape/reservation/controller/ReservationController.java index 2836c12d..0b2c2705 100644 --- a/src/main/java/roomescape/reservation/controller/ReservationController.java +++ b/src/main/java/roomescape/reservation/controller/ReservationController.java @@ -37,9 +37,9 @@ import roomescape.reservation.dto.response.ReservationResponse; import roomescape.reservation.dto.response.ReservationsResponse; import roomescape.reservation.service.ReservationService; import roomescape.reservation.service.ReservationWithPaymentService; -import roomescape.system.auth.annotation.Admin; -import roomescape.system.auth.annotation.LoginRequired; -import roomescape.system.auth.annotation.MemberId; +import roomescape.system.auth.web.support.Admin; +import roomescape.system.auth.web.support.LoginRequired; +import roomescape.system.auth.web.support.MemberId; import roomescape.system.dto.response.ErrorResponse; import roomescape.system.dto.response.RoomEscapeApiResponse; import roomescape.system.exception.RoomEscapeException; diff --git a/src/main/java/roomescape/reservation/controller/ReservationTimeController.java b/src/main/java/roomescape/reservation/controller/ReservationTimeController.java index bd6d3fd8..6d804b1a 100644 --- a/src/main/java/roomescape/reservation/controller/ReservationTimeController.java +++ b/src/main/java/roomescape/reservation/controller/ReservationTimeController.java @@ -28,8 +28,8 @@ import roomescape.reservation.dto.response.ReservationTimeInfosResponse; import roomescape.reservation.dto.response.ReservationTimeResponse; import roomescape.reservation.dto.response.ReservationTimesResponse; import roomescape.reservation.service.ReservationTimeService; -import roomescape.system.auth.annotation.Admin; -import roomescape.system.auth.annotation.LoginRequired; +import roomescape.system.auth.web.support.Admin; +import roomescape.system.auth.web.support.LoginRequired; import roomescape.system.dto.response.ErrorResponse; import roomescape.system.dto.response.RoomEscapeApiResponse; diff --git a/src/main/java/roomescape/system/auth/jwt/JwtHandler.java b/src/main/java/roomescape/system/auth/infrastructure/jwt/JwtHandler.java similarity index 96% rename from src/main/java/roomescape/system/auth/jwt/JwtHandler.java rename to src/main/java/roomescape/system/auth/infrastructure/jwt/JwtHandler.java index d2f24a5f..5b8afc69 100644 --- a/src/main/java/roomescape/system/auth/jwt/JwtHandler.java +++ b/src/main/java/roomescape/system/auth/infrastructure/jwt/JwtHandler.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.jwt; +package roomescape.system.auth.infrastructure.jwt; import java.util.Date; @@ -12,7 +12,6 @@ import io.jsonwebtoken.MalformedJwtException; import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SignatureException; import io.jsonwebtoken.UnsupportedJwtException; -import roomescape.system.auth.jwt.dto.TokenDto; import roomescape.system.exception.ErrorType; import roomescape.system.exception.RoomEscapeException; diff --git a/src/main/java/roomescape/system/auth/infrastructure/jwt/TokenDto.java b/src/main/java/roomescape/system/auth/infrastructure/jwt/TokenDto.java new file mode 100644 index 00000000..70e0f4f3 --- /dev/null +++ b/src/main/java/roomescape/system/auth/infrastructure/jwt/TokenDto.java @@ -0,0 +1,4 @@ +package roomescape.system.auth.infrastructure.jwt; + +public record TokenDto(String accessToken) { +} diff --git a/src/main/java/roomescape/system/auth/jwt/dto/TokenDto.java b/src/main/java/roomescape/system/auth/jwt/dto/TokenDto.java deleted file mode 100644 index cd6302de..00000000 --- a/src/main/java/roomescape/system/auth/jwt/dto/TokenDto.java +++ /dev/null @@ -1,4 +0,0 @@ -package roomescape.system.auth.jwt.dto; - -public record TokenDto(String accessToken) { -} diff --git a/src/main/java/roomescape/system/auth/service/AuthService.java b/src/main/java/roomescape/system/auth/service/AuthService.java index 087fe05a..c2bf1a00 100644 --- a/src/main/java/roomescape/system/auth/service/AuthService.java +++ b/src/main/java/roomescape/system/auth/service/AuthService.java @@ -4,10 +4,10 @@ import org.springframework.stereotype.Service; import roomescape.member.business.MemberService; import roomescape.member.infrastructure.persistence.Member; -import roomescape.system.auth.dto.LoginCheckResponse; -import roomescape.system.auth.dto.LoginRequest; -import roomescape.system.auth.jwt.JwtHandler; -import roomescape.system.auth.jwt.dto.TokenDto; +import roomescape.system.auth.web.LoginCheckResponse; +import roomescape.system.auth.web.LoginRequest; +import roomescape.system.auth.infrastructure.jwt.JwtHandler; +import roomescape.system.auth.infrastructure.jwt.TokenDto; @Service public class AuthService { diff --git a/src/main/java/roomescape/system/auth/controller/AuthController.java b/src/main/java/roomescape/system/auth/web/AuthController.java similarity index 92% rename from src/main/java/roomescape/system/auth/controller/AuthController.java rename to src/main/java/roomescape/system/auth/web/AuthController.java index 4d2d87e5..d7e72f5a 100644 --- a/src/main/java/roomescape/system/auth/controller/AuthController.java +++ b/src/main/java/roomescape/system/auth/web/AuthController.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.controller; +package roomescape.system.auth.web; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.GetMapping; @@ -18,11 +18,9 @@ import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; -import roomescape.system.auth.annotation.LoginRequired; -import roomescape.system.auth.annotation.MemberId; -import roomescape.system.auth.dto.LoginCheckResponse; -import roomescape.system.auth.dto.LoginRequest; -import roomescape.system.auth.jwt.dto.TokenDto; +import roomescape.system.auth.web.support.LoginRequired; +import roomescape.system.auth.web.support.MemberId; +import roomescape.system.auth.infrastructure.jwt.TokenDto; import roomescape.system.auth.service.AuthService; import roomescape.system.dto.response.ErrorResponse; import roomescape.system.dto.response.RoomEscapeApiResponse; diff --git a/src/main/java/roomescape/system/auth/dto/LoginCheckResponse.java b/src/main/java/roomescape/system/auth/web/LoginCheckResponse.java similarity index 88% rename from src/main/java/roomescape/system/auth/dto/LoginCheckResponse.java rename to src/main/java/roomescape/system/auth/web/LoginCheckResponse.java index 957012cb..3388aa5e 100644 --- a/src/main/java/roomescape/system/auth/dto/LoginCheckResponse.java +++ b/src/main/java/roomescape/system/auth/web/LoginCheckResponse.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.dto; +package roomescape.system.auth.web; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/src/main/java/roomescape/system/auth/dto/LoginRequest.java b/src/main/java/roomescape/system/auth/web/LoginRequest.java similarity index 95% rename from src/main/java/roomescape/system/auth/dto/LoginRequest.java rename to src/main/java/roomescape/system/auth/web/LoginRequest.java index 72a5125a..8c314df7 100644 --- a/src/main/java/roomescape/system/auth/dto/LoginRequest.java +++ b/src/main/java/roomescape/system/auth/web/LoginRequest.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.dto; +package roomescape.system.auth.web; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Email; diff --git a/src/main/java/roomescape/system/auth/web/support/Admin.java b/src/main/java/roomescape/system/auth/web/support/Admin.java index e525ecc6..683f151e 100644 --- a/src/main/java/roomescape/system/auth/web/support/Admin.java +++ b/src/main/java/roomescape/system/auth/web/support/Admin.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.annotation; +package roomescape.system.auth.web.support; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/src/main/java/roomescape/system/auth/interceptor/AdminInterceptor.java b/src/main/java/roomescape/system/auth/web/support/AdminInterceptor.java similarity index 94% rename from src/main/java/roomescape/system/auth/interceptor/AdminInterceptor.java rename to src/main/java/roomescape/system/auth/web/support/AdminInterceptor.java index 8d5d38eb..6fc60e79 100644 --- a/src/main/java/roomescape/system/auth/interceptor/AdminInterceptor.java +++ b/src/main/java/roomescape/system/auth/web/support/AdminInterceptor.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.interceptor; +package roomescape.system.auth.web.support; import java.util.Arrays; @@ -12,8 +12,7 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import roomescape.member.business.MemberService; import roomescape.member.infrastructure.persistence.Member; -import roomescape.system.auth.annotation.Admin; -import roomescape.system.auth.jwt.JwtHandler; +import roomescape.system.auth.infrastructure.jwt.JwtHandler; import roomescape.system.exception.ErrorType; import roomescape.system.exception.RoomEscapeException; diff --git a/src/main/java/roomescape/system/auth/interceptor/LoginInterceptor.java b/src/main/java/roomescape/system/auth/web/support/LoginInterceptor.java similarity index 94% rename from src/main/java/roomescape/system/auth/interceptor/LoginInterceptor.java rename to src/main/java/roomescape/system/auth/web/support/LoginInterceptor.java index 07152963..eed33819 100644 --- a/src/main/java/roomescape/system/auth/interceptor/LoginInterceptor.java +++ b/src/main/java/roomescape/system/auth/web/support/LoginInterceptor.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.interceptor; +package roomescape.system.auth.web.support; import java.util.Arrays; @@ -12,8 +12,7 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import roomescape.member.business.MemberService; import roomescape.member.infrastructure.persistence.Member; -import roomescape.system.auth.annotation.LoginRequired; -import roomescape.system.auth.jwt.JwtHandler; +import roomescape.system.auth.infrastructure.jwt.JwtHandler; import roomescape.system.exception.ErrorType; import roomescape.system.exception.RoomEscapeException; diff --git a/src/main/java/roomescape/system/auth/web/support/LoginRequired.java b/src/main/java/roomescape/system/auth/web/support/LoginRequired.java index e2df7c1f..cbbfa3d7 100644 --- a/src/main/java/roomescape/system/auth/web/support/LoginRequired.java +++ b/src/main/java/roomescape/system/auth/web/support/LoginRequired.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.annotation; +package roomescape.system.auth.web.support; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/src/main/java/roomescape/system/auth/web/support/MemberId.java b/src/main/java/roomescape/system/auth/web/support/MemberId.java index 208b6ee2..ca2b5752 100644 --- a/src/main/java/roomescape/system/auth/web/support/MemberId.java +++ b/src/main/java/roomescape/system/auth/web/support/MemberId.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.annotation; +package roomescape.system.auth.web.support; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/src/main/java/roomescape/system/auth/resolver/MemberIdResolver.java b/src/main/java/roomescape/system/auth/web/support/MemberIdResolver.java similarity index 92% rename from src/main/java/roomescape/system/auth/resolver/MemberIdResolver.java rename to src/main/java/roomescape/system/auth/web/support/MemberIdResolver.java index d72c3d55..987b0985 100644 --- a/src/main/java/roomescape/system/auth/resolver/MemberIdResolver.java +++ b/src/main/java/roomescape/system/auth/web/support/MemberIdResolver.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.resolver; +package roomescape.system.auth.web.support; import java.util.Arrays; @@ -12,8 +12,7 @@ import org.springframework.web.method.support.ModelAndViewContainer; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; -import roomescape.system.auth.annotation.MemberId; -import roomescape.system.auth.jwt.JwtHandler; +import roomescape.system.auth.infrastructure.jwt.JwtHandler; import roomescape.system.exception.ErrorType; import roomescape.system.exception.RoomEscapeException; diff --git a/src/main/java/roomescape/system/config/WebMvcConfig.java b/src/main/java/roomescape/system/config/WebMvcConfig.java index 000349bc..9c286cab 100644 --- a/src/main/java/roomescape/system/config/WebMvcConfig.java +++ b/src/main/java/roomescape/system/config/WebMvcConfig.java @@ -7,9 +7,9 @@ import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import roomescape.system.auth.interceptor.AdminInterceptor; -import roomescape.system.auth.interceptor.LoginInterceptor; -import roomescape.system.auth.resolver.MemberIdResolver; +import roomescape.system.auth.web.support.AdminInterceptor; +import roomescape.system.auth.web.support.LoginInterceptor; +import roomescape.system.auth.web.support.MemberIdResolver; @Configuration public class WebMvcConfig implements WebMvcConfigurer { diff --git a/src/main/java/roomescape/theme/controller/ThemeController.java b/src/main/java/roomescape/theme/controller/ThemeController.java index d57f9da4..0c44bf4c 100644 --- a/src/main/java/roomescape/theme/controller/ThemeController.java +++ b/src/main/java/roomescape/theme/controller/ThemeController.java @@ -21,8 +21,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import roomescape.system.auth.annotation.Admin; -import roomescape.system.auth.annotation.LoginRequired; +import roomescape.system.auth.web.support.Admin; +import roomescape.system.auth.web.support.LoginRequired; import roomescape.system.dto.response.ErrorResponse; import roomescape.system.dto.response.RoomEscapeApiResponse; import roomescape.theme.dto.ThemeRequest; diff --git a/src/main/java/roomescape/view/controller/PageController.kt b/src/main/java/roomescape/view/controller/PageController.kt index 5bbe9afc..62504e7e 100644 --- a/src/main/java/roomescape/view/controller/PageController.kt +++ b/src/main/java/roomescape/view/controller/PageController.kt @@ -4,8 +4,8 @@ import org.springframework.stereotype.Controller import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.RequestMapping -import roomescape.system.auth.annotation.Admin -import roomescape.system.auth.annotation.LoginRequired +import roomescape.system.auth.web.support.Admin +import roomescape.system.auth.web.support.LoginRequired @Controller class AuthPageController { diff --git a/src/test/java/roomescape/common/RoomescapeApiTest.kt b/src/test/java/roomescape/common/RoomescapeApiTest.kt index f69fce78..a67cf87e 100644 --- a/src/test/java/roomescape/common/RoomescapeApiTest.kt +++ b/src/test/java/roomescape/common/RoomescapeApiTest.kt @@ -12,7 +12,7 @@ import org.springframework.boot.test.web.server.LocalServerPort import org.springframework.data.repository.findByIdOrNull import roomescape.member.infrastructure.persistence.Member import roomescape.member.infrastructure.persistence.MemberRepository -import roomescape.system.auth.jwt.JwtHandler +import roomescape.system.auth.infrastructure.jwt.JwtHandler const val NOT_LOGGED_IN_USERID: Long = 0; diff --git a/src/test/java/roomescape/global/auth/jwt/JwtHandlerTest.java b/src/test/java/roomescape/global/auth/jwt/JwtHandlerTest.java index 8b22eb86..4a400666 100644 --- a/src/test/java/roomescape/global/auth/jwt/JwtHandlerTest.java +++ b/src/test/java/roomescape/global/auth/jwt/JwtHandlerTest.java @@ -17,7 +17,7 @@ import org.springframework.test.context.jdbc.Sql; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import io.restassured.RestAssured; -import roomescape.system.auth.jwt.JwtHandler; +import roomescape.system.auth.infrastructure.jwt.JwtHandler; import roomescape.system.exception.ErrorType; import roomescape.system.exception.RoomEscapeException; diff --git a/src/test/java/roomescape/system/auth/service/AuthServiceTest.java b/src/test/java/roomescape/system/auth/business/AuthServiceTest.java similarity index 88% rename from src/test/java/roomescape/system/auth/service/AuthServiceTest.java rename to src/test/java/roomescape/system/auth/business/AuthServiceTest.java index 776a4a54..0bcfcd26 100644 --- a/src/test/java/roomescape/system/auth/service/AuthServiceTest.java +++ b/src/test/java/roomescape/system/auth/business/AuthServiceTest.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.service; +package roomescape.system.auth.business; import static org.assertj.core.api.Assertions.*; @@ -13,9 +13,10 @@ import roomescape.member.business.MemberService; import roomescape.member.infrastructure.persistence.Member; import roomescape.member.infrastructure.persistence.MemberRepository; import roomescape.member.infrastructure.persistence.Role; -import roomescape.system.auth.dto.LoginRequest; -import roomescape.system.auth.jwt.JwtHandler; -import roomescape.system.auth.jwt.dto.TokenDto; +import roomescape.system.auth.service.AuthService; +import roomescape.system.auth.web.LoginRequest; +import roomescape.system.auth.infrastructure.jwt.JwtHandler; +import roomescape.system.auth.infrastructure.jwt.TokenDto; import roomescape.system.exception.RoomEscapeException; @SpringBootTest diff --git a/src/test/java/roomescape/system/auth/controller/AuthControllerTest.java b/src/test/java/roomescape/system/auth/web/AuthControllerTest.java similarity index 98% rename from src/test/java/roomescape/system/auth/controller/AuthControllerTest.java rename to src/test/java/roomescape/system/auth/web/AuthControllerTest.java index 2bd51dd1..a3c2a274 100644 --- a/src/test/java/roomescape/system/auth/controller/AuthControllerTest.java +++ b/src/test/java/roomescape/system/auth/web/AuthControllerTest.java @@ -1,4 +1,4 @@ -package roomescape.system.auth.controller; +package roomescape.system.auth.web; import static org.assertj.core.api.Assertions.*; import static org.hamcrest.Matchers.*;