From 0307eefce2dd720ed85f37c64ddb6409fdf961e4 Mon Sep 17 00:00:00 2001 From: pricelees Date: Fri, 18 Jul 2025 18:32:08 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=9E=98=EB=AA=BB=20=EB=B6=84=EB=A5=98?= =?UTF-8?q?=EB=90=9C=20DTO=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reservation/web/ReservationResponse.kt | 23 -------- .../reservation/web/ReservationTimeDTO.kt | 54 ++++++++++++++----- 2 files changed, 41 insertions(+), 36 deletions(-) diff --git a/src/main/java/roomescape/reservation/web/ReservationResponse.kt b/src/main/java/roomescape/reservation/web/ReservationResponse.kt index e325369e..0503367b 100644 --- a/src/main/java/roomescape/reservation/web/ReservationResponse.kt +++ b/src/main/java/roomescape/reservation/web/ReservationResponse.kt @@ -6,7 +6,6 @@ import roomescape.member.web.MemberResponse import roomescape.member.web.MemberResponse.Companion.fromEntity import roomescape.reservation.infrastructure.persistence.ReservationEntity import roomescape.reservation.infrastructure.persistence.ReservationStatus -import roomescape.reservation.infrastructure.persistence.ReservationTimeEntity import roomescape.theme.web.ThemeResponse import java.time.LocalDate import java.time.LocalTime @@ -93,25 +92,3 @@ data class ReservationsResponse( val reservations: List ) -@Schema(name = "예약 시간 정보", description = "예약 시간 추가 및 조회 응답시 사용됩니다.") -@JvmRecord -data class ReservationTimeResponse( - @JvmField - @field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.") - val id: Long, - - @field:Schema(description = "예약 시간", type = "string", example = "09:00") - val startAt: LocalTime -) { - - companion object { - @JvmStatic - fun from(reservationTime: ReservationTimeEntity): ReservationTimeResponse { - return ReservationTimeResponse(reservationTime.id!!, reservationTime.startAt) - } - } -} - -fun ReservationTimeEntity.toResponse(): ReservationTimeResponse = ReservationTimeResponse( - this.id!!, this.startAt -) diff --git a/src/main/java/roomescape/reservation/web/ReservationTimeDTO.kt b/src/main/java/roomescape/reservation/web/ReservationTimeDTO.kt index e4d09e5d..e0b06678 100644 --- a/src/main/java/roomescape/reservation/web/ReservationTimeDTO.kt +++ b/src/main/java/roomescape/reservation/web/ReservationTimeDTO.kt @@ -12,25 +12,27 @@ data class ReservationTimeRequest( val startAt: LocalTime ) - -@Schema(name = "특정 테마, 날짜에 대한 시간 정보 응답", description = "특정 날짜와 테마에 대해, 예약 가능 여부를 포함한 시간 정보를 저장합니다.") +@Schema(name = "예약 시간 정보", description = "예약 시간 추가 및 조회 응답시 사용됩니다.") @JvmRecord -data class ReservationTimeInfoResponse( +data class ReservationTimeResponse( + @JvmField @field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.") - val timeId: Long, + val id: Long, @field:Schema(description = "예약 시간", type = "string", example = "09:00") - val startAt: LocalTime, + val startAt: LocalTime +) { - @field:Schema(description = "이미 예약이 완료된 시간인지 여부") - val alreadyBooked: Boolean -) + companion object { + @JvmStatic + fun from(reservationTime: ReservationTimeEntity): ReservationTimeResponse { + return ReservationTimeResponse(reservationTime.id!!, reservationTime.startAt) + } + } +} -@Schema(name = "예약 시간 정보 목록 응답", description = "특정 테마, 날짜에 대한 모든 예약 가능 시간 정보를 저장합니다.") -@JvmRecord -data class ReservationTimeInfosResponse( - @field:Schema(description = "특정 테마, 날짜에 대한 예약 가능 여부를 포함한 시간 목록") - val reservationTimes: List +fun ReservationTimeEntity.toResponse(): ReservationTimeResponse = ReservationTimeResponse( + this.id!!, this.startAt ) @Schema(name = "예약 시간 정보 목록 응답", description = "모든 예약 시간 조회 응답시 사용됩니다.") @@ -43,3 +45,29 @@ data class ReservationTimesResponse( fun List.toResponses(): ReservationTimesResponse = ReservationTimesResponse( this.map { it.toResponse() } ) + +@Schema(name = "특정 테마, 날짜에 대한 시간 정보 응답", description = "특정 날짜와 테마에 대해, 예약 가능 여부를 포함한 시간 정보를 저장합니다.") +@JvmRecord +data class ReservationTimeInfoResponse( + @field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.") + val id: Long, + + @field:Schema(description = "예약 시간", type = "string", example = "09:00") + val startAt: LocalTime, + + @field:Schema(description = "이미 예약이 완료된 시간인지 여부") + val alreadyBooked: Boolean +) + +fun ReservationTimeEntity.toInfoResponse(alreadyBooked: Boolean): ReservationTimeInfoResponse = ReservationTimeInfoResponse( + id = this.id!!, + startAt = this.startAt, + alreadyBooked = alreadyBooked +) + +@Schema(name = "예약 시간 정보 목록 응답", description = "특정 테마, 날짜에 대한 모든 예약 가능 시간 정보를 저장합니다.") +@JvmRecord +data class ReservationTimeInfosResponse( + @field:Schema(description = "특정 테마, 날짜에 대한 예약 가능 여부를 포함한 시간 목록") + val times: List +)