[#44] 매장 기능 도입 #45

Merged
pricelees merged 116 commits from feat/#44 into main 2025-09-20 03:15:06 +00:00
10 changed files with 27 additions and 23 deletions
Showing only changes of commit dcb4233f5d - Show all commits

View File

@ -11,7 +11,7 @@ import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RequestBody
import roomescape.auth.web.LoginRequest
import roomescape.auth.web.LoginSuccessResponse
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.auth.web.support.Public
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
@ -34,7 +34,7 @@ interface AuthAPI {
ApiResponse(responseCode = "200"),
)
fun logout(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
servletResponse: HttpServletResponse
): ResponseEntity<CommonApiResponse<Unit>>
}

View File

@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import roomescape.auth.business.AuthService
import roomescape.auth.docs.AuthAPI
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
@ -30,7 +30,7 @@ class AuthController(
@PostMapping("/logout")
override fun logout(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
servletResponse: HttpServletResponse
): ResponseEntity<CommonApiResponse<Unit>> {
return ResponseEntity.ok().build()

View File

@ -22,4 +22,8 @@ annotation class Public
@Target(AnnotationTarget.VALUE_PARAMETER)
@Retention(AnnotationRetention.RUNTIME)
annotation class CurrentUser
annotation class User
@Target(AnnotationTarget.VALUE_PARAMETER)
@Retention(AnnotationRetention.RUNTIME)
annotation class Admin

View File

@ -13,7 +13,7 @@ import roomescape.auth.business.AuthService
import roomescape.auth.exception.AuthErrorCode
import roomescape.auth.exception.AuthException
import roomescape.auth.infrastructure.jwt.JwtUtils
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.auth.web.support.accessToken
private val log: KLogger = KotlinLogging.logger {}
@ -25,7 +25,7 @@ class CurrentUserContextResolver(
) : HandlerMethodArgumentResolver {
override fun supportsParameter(parameter: MethodParameter): Boolean {
return parameter.hasParameterAnnotation(CurrentUser::class.java)
return parameter.hasParameterAnnotation(User::class.java)
}
override fun resolveArgument(

View File

@ -7,7 +7,7 @@ import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestParam
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.auth.web.support.UserOnly
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
@ -29,7 +29,7 @@ interface PaymentAPI {
@Operation(summary = "결제 취소", tags = ["로그인이 필요한 API"])
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun cancelPayment(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
@Valid @RequestBody request: PaymentCancelRequest
): ResponseEntity<CommonApiResponse<Unit>>
}

View File

@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.payment.business.PaymentService
@ -31,7 +31,7 @@ class PaymentController(
@PostMapping("/cancel")
override fun cancelPayment(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
@Valid @RequestBody request: PaymentCancelRequest
): ResponseEntity<CommonApiResponse<Unit>> {
paymentService.cancel(user.id, request)

View File

@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestParam
import roomescape.auth.web.support.Authenticated
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.auth.web.support.Public
import roomescape.auth.web.support.UserOnly
import roomescape.common.dto.CurrentUserContext
@ -29,7 +29,7 @@ interface ReservationAPI {
@Operation(summary = "결제 대기 예약 저장", tags = ["로그인이 필요한 API"])
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun createPendingReservation(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
@Valid @RequestBody request: PendingReservationCreateRequest
): ResponseEntity<CommonApiResponse<PendingReservationCreateResponse>>
@ -44,7 +44,7 @@ interface ReservationAPI {
@Operation(summary = "예약 취소", tags = ["로그인이 필요한 API"])
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun cancelReservation(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
@PathVariable id: Long,
@Valid @RequestBody request: ReservationCancelRequest
): ResponseEntity<CommonApiResponse<Unit>>
@ -53,7 +53,7 @@ interface ReservationAPI {
@Operation(summary = "회원별 예약 요약 목록 조회", tags = ["로그인이 필요한 API"])
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun findSummaryByMemberId(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
): ResponseEntity<CommonApiResponse<ReservationSummaryListResponse>>
@UserOnly

View File

@ -3,7 +3,7 @@ package roomescape.reservation.web
import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.reservation.business.ReservationService
@ -26,7 +26,7 @@ class ReservationController(
@PostMapping("/pending")
override fun createPendingReservation(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
@Valid @RequestBody request: PendingReservationCreateRequest
): ResponseEntity<CommonApiResponse<PendingReservationCreateResponse>> {
val response = reservationService.createPendingReservation(user, request)
@ -45,7 +45,7 @@ class ReservationController(
@PostMapping("/{id}/cancel")
override fun cancelReservation(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
@PathVariable id: Long,
@Valid @RequestBody request: ReservationCancelRequest
): ResponseEntity<CommonApiResponse<Unit>> {
@ -56,7 +56,7 @@ class ReservationController(
@GetMapping("/summary")
override fun findSummaryByMemberId(
@CurrentUser user: CurrentUserContext,
@User user: CurrentUserContext,
): ResponseEntity<CommonApiResponse<ReservationSummaryListResponse>> {
val response = reservationService.findUserSummaryReservation(user)

View File

@ -7,7 +7,7 @@ import io.swagger.v3.oas.annotations.tags.Tag
import jakarta.validation.Valid
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RequestBody
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.auth.web.support.Public
import roomescape.auth.web.support.UserOnly
import roomescape.common.dto.CurrentUserContext
@ -42,7 +42,7 @@ interface UserAPI {
)
)
fun findContact(
@CurrentUser user: CurrentUserContext
@User user: CurrentUserContext
): ResponseEntity<CommonApiResponse<UserContactResponse>>
}

View File

@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import roomescape.auth.web.support.CurrentUser
import roomescape.auth.web.support.User
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.user.business.UserService
@ -30,7 +30,7 @@ class UserController(
@GetMapping("/contact")
override fun findContact(
@CurrentUser user: CurrentUserContext
@User user: CurrentUserContext
): ResponseEntity<CommonApiResponse<UserContactResponse>> {
val response = userService.findContactById(user.id)