[#18] 코드 정리 및 일부 컨벤션 통일 #19

Merged
pricelees merged 24 commits from refactor/#18 into main 2025-07-22 09:05:31 +00:00
7 changed files with 24 additions and 53 deletions
Showing only changes of commit d281517de9 - Show all commits

View File

@ -4,21 +4,18 @@ import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.Email import jakarta.validation.constraints.Email
import jakarta.validation.constraints.NotBlank import jakarta.validation.constraints.NotBlank
@JvmRecord
data class TokenResponse( data class TokenResponse(
val accessToken: String val accessToken: String
) )
@Schema(name = "로그인 체크 응답", description = "로그인 상태 체크 응답시 사용됩니다.") @Schema(name = "로그인 체크 응답", description = "로그인 상태 체크 응답시 사용됩니다.")
@JvmRecord
data class LoginCheckResponse( data class LoginCheckResponse(
@field:Schema(description = "로그인된 회원의 이름") @field:Schema(description = "로그인된 회원의 이름")
val name: String val name: String
) )
@Schema(name = "로그인 요청", description = "로그인 요청 시 사용됩니다.") @Schema(name = "로그인 요청", description = "로그인 요청 시 사용됩니다.")
@JvmRecord
data class LoginRequest( data class LoginRequest(
@Email(message = "이메일 형식이 일치하지 않습니다. 예시: abc123@gmail.com") @Email(message = "이메일 형식이 일치하지 않습니다. 예시: abc123@gmail.com")
@field:Schema(description = "필수 값이며, 이메일 형식으로 입력해야 합니다.", example = "abc123@gmail.com") @field:Schema(description = "필수 값이며, 이메일 형식으로 입력해야 합니다.", example = "abc123@gmail.com")

View File

@ -1,6 +1,5 @@
package roomescape.payment.infrastructure.client package roomescape.payment.infrastructure.client
@JvmRecord
data class TossPaymentErrorResponse( data class TossPaymentErrorResponse(
val code: String, val code: String,
val message: String val message: String

View File

@ -9,44 +9,38 @@ import roomescape.reservation.web.toResponse
import java.time.OffsetDateTime import java.time.OffsetDateTime
class PaymentApprove { class PaymentApprove {
@JvmRecord
data class Request( data class Request(
@JvmField val paymentKey: String, val paymentKey: String,
@JvmField val orderId: String, val orderId: String,
@JvmField val amount: Long, val amount: Long,
@JvmField val paymentType: String val paymentType: String
) )
@JvmRecord
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
data class Response( data class Response(
@JvmField val paymentKey: String, val paymentKey: String,
@JvmField val orderId: String, val orderId: String,
@JvmField val approvedAt: OffsetDateTime, val approvedAt: OffsetDateTime,
@JvmField val totalAmount: Long val totalAmount: Long
) )
} }
class PaymentCancel { class PaymentCancel {
@JvmRecord
data class Request( data class Request(
@JvmField val paymentKey: String, val paymentKey: String,
@JvmField val amount: Long, val amount: Long,
@JvmField val cancelReason: String val cancelReason: String
) )
@JvmRecord
@JsonDeserialize(using = PaymentCancelResponseDeserializer::class) @JsonDeserialize(using = PaymentCancelResponseDeserializer::class)
data class Response( data class Response(
@JvmField val cancelStatus: String, val cancelStatus: String,
@JvmField val cancelReason: String, val cancelReason: String,
@JvmField val cancelAmount: Long, val cancelAmount: Long,
@JvmField val canceledAt: OffsetDateTime val canceledAt: OffsetDateTime
) )
} }
@JvmRecord
data class ReservationPaymentResponse( data class ReservationPaymentResponse(
val id: Long, val id: Long,
val orderId: String, val orderId: String,

View File

@ -6,30 +6,26 @@ import roomescape.payment.web.PaymentApprove
import java.time.LocalDate import java.time.LocalDate
@Schema(name = "관리자 예약 저장 요청", description = "관리자의 예약 저장 요청시 사용됩니다.") @Schema(name = "관리자 예약 저장 요청", description = "관리자의 예약 저장 요청시 사용됩니다.")
@JvmRecord
data class AdminReservationRequest( data class AdminReservationRequest(
@JvmField @field:Schema(description = "예약 날짜. 지난 날짜는 지정할 수 없으며, yyyy-MM-dd 형식으로 입력해야 합니다.", type = "string", example = "2022-12-31") @field:Schema(description = "예약 날짜. 지난 날짜는 지정할 수 없으며, yyyy-MM-dd 형식으로 입력해야 합니다.", type = "string", example = "2022-12-31")
val date: LocalDate, val date: LocalDate,
@JvmField @field:Schema(description = "예약 시간 ID.", example = "1") @field:Schema(description = "예약 시간 ID.", example = "1")
val timeId: Long, val timeId: Long,
@JvmField @field:Schema(description = "테마 ID", example = "1") @field:Schema(description = "테마 ID", example = "1")
val themeId: Long, val themeId: Long,
@JvmField @field:Schema(description = "회원 ID", example = "1") @field:Schema(description = "회원 ID", example = "1")
val memberId: Long val memberId: Long
) )
@Schema(name = "회원의 예약 저장 요청", description = "회원의 예약 요청시 사용됩니다.") @Schema(name = "회원의 예약 저장 요청", description = "회원의 예약 요청시 사용됩니다.")
@JvmRecord
data class ReservationRequest( data class ReservationRequest(
@JvmField
@field:Schema(description = "예약 날짜. 지난 날짜는 지정할 수 없으며, yyyy-MM-dd 형식으로 입력해야 합니다.", type = "string", example = "2022-12-31") @field:Schema(description = "예약 날짜. 지난 날짜는 지정할 수 없으며, yyyy-MM-dd 형식으로 입력해야 합니다.", type = "string", example = "2022-12-31")
val date: LocalDate, val date: LocalDate,
@JvmField
@field:Schema(description = "예약 시간 ID.", example = "1") @field:Schema(description = "예약 시간 ID.", example = "1")
val timeId: Long, val timeId: Long,
@JvmField @field:Schema(description = "테마 ID", example = "1") @field:Schema(description = "테마 ID", example = "1")
val themeId: Long, val themeId: Long,
@field:Schema(description = "결제 위젯을 통해 받은 결제 키") @field:Schema(description = "결제 위젯을 통해 받은 결제 키")
@ -50,17 +46,16 @@ data class ReservationRequest(
} }
@Schema(name = "예약 대기 저장 요청", description = "회원의 예약 대기 요청시 사용됩니다.") @Schema(name = "예약 대기 저장 요청", description = "회원의 예약 대기 요청시 사용됩니다.")
@JvmRecord
data class WaitingRequest( data class WaitingRequest(
@JvmField
@field:Schema(description = "예약 날짜. 지난 날짜는 지정할 수 없으며, yyyy-MM-dd 형식으로 입력해야 합니다.", type = "string", example = "2022-12-31") @field:Schema(description = "예약 날짜. 지난 날짜는 지정할 수 없으며, yyyy-MM-dd 형식으로 입력해야 합니다.", type = "string", example = "2022-12-31")
val date: LocalDate, val date: LocalDate,
@JvmField
@field:Schema(description = "예약 시간 ID", example = "1") @field:Schema(description = "예약 시간 ID", example = "1")
val timeId: Long, val timeId: Long,
@JvmField
@field:Schema(description = "테마 ID", example = "1") @field:Schema(description = "테마 ID", example = "1")
val themeId: Long val themeId: Long
) )

View File

@ -12,7 +12,6 @@ import java.time.LocalDate
import java.time.LocalTime import java.time.LocalTime
@Schema(name = "회원의 예약 및 대기 응답", description = "회원의 예약 및 대기 정보 응답시 사용됩니다.") @Schema(name = "회원의 예약 및 대기 응답", description = "회원의 예약 및 대기 정보 응답시 사용됩니다.")
@JvmRecord
data class MyReservationResponse( data class MyReservationResponse(
@field:Schema(description = "예약 번호. 예약을 식별할 때 사용합니다.") @field:Schema(description = "예약 번호. 예약을 식별할 때 사용합니다.")
val id: Long, val id: Long,
@ -40,16 +39,14 @@ data class MyReservationResponse(
) )
@Schema(name = "회원의 예약 및 대기 목록 조회 응답", description = "회원의 예약 및 대기 목록 조회 응답시 사용됩니다.") @Schema(name = "회원의 예약 및 대기 목록 조회 응답", description = "회원의 예약 및 대기 목록 조회 응답시 사용됩니다.")
@JvmRecord
data class MyReservationsResponse( data class MyReservationsResponse(
@field:Schema(description = "현재 로그인한 회원의 예약 및 대기 목록") @field:Schema(description = "현재 로그인한 회원의 예약 및 대기 목록")
val reservations: List<MyReservationResponse> val reservations: List<MyReservationResponse>
) )
@Schema(name = "예약 정보", description = "예약 저장 및 조회 응답에 사용됩니다.") @Schema(name = "예약 정보", description = "예약 저장 및 조회 응답에 사용됩니다.")
@JvmRecord
data class ReservationResponse( data class ReservationResponse(
@JvmField
@field:Schema(description = "예약 번호. 예약을 식별할 때 사용합니다.") @field:Schema(description = "예약 번호. 예약을 식별할 때 사용합니다.")
val id: Long, val id: Long,
@ -96,7 +93,6 @@ fun ReservationEntity.toResponse(): ReservationResponse = ReservationResponse(
) )
@Schema(name = "예약 목록 조회 응답", description = "모든 예약 정보 조회 응답시 사용됩니다.") @Schema(name = "예약 목록 조회 응답", description = "모든 예약 정보 조회 응답시 사용됩니다.")
@JvmRecord
data class ReservationsResponse( data class ReservationsResponse(
@field:Schema(description = "모든 예약 및 대기 목록") @field:Schema(description = "모든 예약 및 대기 목록")
val reservations: List<ReservationResponse> val reservations: List<ReservationResponse>

View File

@ -5,17 +5,13 @@ import roomescape.reservation.infrastructure.persistence.ReservationTimeEntity
import java.time.LocalTime import java.time.LocalTime
@Schema(name = "예약 시간 저장 요청", description = "예약 시간 저장 요청시 사용됩니다.") @Schema(name = "예약 시간 저장 요청", description = "예약 시간 저장 요청시 사용됩니다.")
@JvmRecord
data class ReservationTimeRequest( data class ReservationTimeRequest(
@JvmField
@field:Schema(description = "예약 시간. HH:mm 형식으로 입력해야 합니다.", type = "string", example = "09:00") @field:Schema(description = "예약 시간. HH:mm 형식으로 입력해야 합니다.", type = "string", example = "09:00")
val startAt: LocalTime val startAt: LocalTime
) )
@Schema(name = "예약 시간 정보", description = "예약 시간 추가 및 조회 응답시 사용됩니다.") @Schema(name = "예약 시간 정보", description = "예약 시간 추가 및 조회 응답시 사용됩니다.")
@JvmRecord
data class ReservationTimeResponse( data class ReservationTimeResponse(
@JvmField
@field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.") @field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.")
val id: Long, val id: Long,
@ -36,7 +32,6 @@ fun ReservationTimeEntity.toResponse(): ReservationTimeResponse = ReservationTim
) )
@Schema(name = "예약 시간 정보 목록 응답", description = "모든 예약 시간 조회 응답시 사용됩니다.") @Schema(name = "예약 시간 정보 목록 응답", description = "모든 예약 시간 조회 응답시 사용됩니다.")
@JvmRecord
data class ReservationTimesResponse( data class ReservationTimesResponse(
@field:Schema(description = "모든 시간 목록") @field:Schema(description = "모든 시간 목록")
val times: List<ReservationTimeResponse> val times: List<ReservationTimeResponse>
@ -47,7 +42,6 @@ fun List<ReservationTimeEntity>.toResponses(): ReservationTimesResponse = Reserv
) )
@Schema(name = "특정 테마, 날짜에 대한 시간 정보 응답", description = "특정 날짜와 테마에 대해, 예약 가능 여부를 포함한 시간 정보를 저장합니다.") @Schema(name = "특정 테마, 날짜에 대한 시간 정보 응답", description = "특정 날짜와 테마에 대해, 예약 가능 여부를 포함한 시간 정보를 저장합니다.")
@JvmRecord
data class ReservationTimeInfoResponse( data class ReservationTimeInfoResponse(
@field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.") @field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.")
val id: Long, val id: Long,
@ -66,7 +60,6 @@ fun ReservationTimeEntity.toInfoResponse(alreadyBooked: Boolean): ReservationTim
) )
@Schema(name = "예약 시간 정보 목록 응답", description = "특정 테마, 날짜에 대한 모든 예약 가능 시간 정보를 저장합니다.") @Schema(name = "예약 시간 정보 목록 응답", description = "특정 테마, 날짜에 대한 모든 예약 가능 시간 정보를 저장합니다.")
@JvmRecord
data class ReservationTimeInfosResponse( data class ReservationTimeInfosResponse(
@field:Schema(description = "특정 테마, 날짜에 대한 예약 가능 여부를 포함한 시간 목록") @field:Schema(description = "특정 테마, 날짜에 대한 예약 가능 여부를 포함한 시간 목록")
val times: List<ReservationTimeInfoResponse> val times: List<ReservationTimeInfoResponse>

View File

@ -7,7 +7,6 @@ import org.hibernate.validator.constraints.URL
import roomescape.theme.infrastructure.persistence.ThemeEntity import roomescape.theme.infrastructure.persistence.ThemeEntity
@Schema(name = "테마 저장 요청", description = "테마 정보를 저장할 때 사용합니다.") @Schema(name = "테마 저장 요청", description = "테마 정보를 저장할 때 사용합니다.")
@JvmRecord
data class ThemeRequest( data class ThemeRequest(
@field:Schema(description = "필수 값이며, 최대 20글자까지 입력 가능합니다.") @field:Schema(description = "필수 값이며, 최대 20글자까지 입력 가능합니다.")
@NotBlank @NotBlank
@ -26,7 +25,6 @@ data class ThemeRequest(
) )
@Schema(name = "테마 정보", description = "테마 추가 및 조회 응답에 사용됩니다.") @Schema(name = "테마 정보", description = "테마 추가 및 조회 응답에 사용됩니다.")
@JvmRecord
data class ThemeResponse( data class ThemeResponse(
@field:Schema(description = "테마 번호. 테마를 식별할 때 사용합니다.") @field:Schema(description = "테마 번호. 테마를 식별할 때 사용합니다.")
val id: Long, val id: Long,
@ -57,7 +55,6 @@ fun ThemeEntity.toResponse(): ThemeResponse = ThemeResponse(
@Schema(name = "테마 목록 조회 응답", description = "모든 테마 목록 조회 응답시 사용됩니다.") @Schema(name = "테마 목록 조회 응답", description = "모든 테마 목록 조회 응답시 사용됩니다.")
@JvmRecord
data class ThemesResponse( data class ThemesResponse(
@field:Schema(description = "모든 테마 목록") @field:Schema(description = "모든 테마 목록")
val themes: List<ThemeResponse> val themes: List<ThemeResponse>