fix: 잘못 분류된 DTO 클래스 이동

This commit is contained in:
이상진 2025-07-18 18:32:08 +09:00
parent 0ac7539734
commit 0307eefce2
2 changed files with 41 additions and 36 deletions

View File

@ -6,7 +6,6 @@ import roomescape.member.web.MemberResponse
import roomescape.member.web.MemberResponse.Companion.fromEntity import roomescape.member.web.MemberResponse.Companion.fromEntity
import roomescape.reservation.infrastructure.persistence.ReservationEntity import roomescape.reservation.infrastructure.persistence.ReservationEntity
import roomescape.reservation.infrastructure.persistence.ReservationStatus import roomescape.reservation.infrastructure.persistence.ReservationStatus
import roomescape.reservation.infrastructure.persistence.ReservationTimeEntity
import roomescape.theme.web.ThemeResponse import roomescape.theme.web.ThemeResponse
import java.time.LocalDate import java.time.LocalDate
import java.time.LocalTime import java.time.LocalTime
@ -93,25 +92,3 @@ data class ReservationsResponse(
val reservations: List<ReservationResponse> val reservations: List<ReservationResponse>
) )
@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
)

View File

@ -12,25 +12,27 @@ data class ReservationTimeRequest(
val startAt: LocalTime val startAt: LocalTime
) )
@Schema(name = "예약 시간 정보", description = "예약 시간 추가 및 조회 응답시 사용됩니다.")
@Schema(name = "특정 테마, 날짜에 대한 시간 정보 응답", description = "특정 날짜와 테마에 대해, 예약 가능 여부를 포함한 시간 정보를 저장합니다.")
@JvmRecord @JvmRecord
data class ReservationTimeInfoResponse( data class ReservationTimeResponse(
@JvmField
@field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.") @field:Schema(description = "예약 시간 번호. 예약 시간을 식별할 때 사용합니다.")
val timeId: Long, val id: Long,
@field:Schema(description = "예약 시간", type = "string", example = "09:00") @field:Schema(description = "예약 시간", type = "string", example = "09:00")
val startAt: LocalTime, val startAt: LocalTime
) {
@field:Schema(description = "이미 예약이 완료된 시간인지 여부") companion object {
val alreadyBooked: Boolean @JvmStatic
) fun from(reservationTime: ReservationTimeEntity): ReservationTimeResponse {
return ReservationTimeResponse(reservationTime.id!!, reservationTime.startAt)
}
}
}
@Schema(name = "예약 시간 정보 목록 응답", description = "특정 테마, 날짜에 대한 모든 예약 가능 시간 정보를 저장합니다.") fun ReservationTimeEntity.toResponse(): ReservationTimeResponse = ReservationTimeResponse(
@JvmRecord this.id!!, this.startAt
data class ReservationTimeInfosResponse(
@field:Schema(description = "특정 테마, 날짜에 대한 예약 가능 여부를 포함한 시간 목록")
val reservationTimes: List<ReservationTimeInfoResponse>
) )
@Schema(name = "예약 시간 정보 목록 응답", description = "모든 예약 시간 조회 응답시 사용됩니다.") @Schema(name = "예약 시간 정보 목록 응답", description = "모든 예약 시간 조회 응답시 사용됩니다.")
@ -43,3 +45,29 @@ data class ReservationTimesResponse(
fun List<ReservationTimeEntity>.toResponses(): ReservationTimesResponse = ReservationTimesResponse( fun List<ReservationTimeEntity>.toResponses(): ReservationTimesResponse = ReservationTimesResponse(
this.map { it.toResponse() } 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<ReservationTimeInfoResponse>
)