feat: 예약 API 변경에 따른 DTO 재정의

This commit is contained in:
이상진 2025-09-07 21:42:32 +09:00
parent dd34a901b3
commit 9e8cb87641

View File

@ -0,0 +1,67 @@
package roomescape.reservation.web
import roomescape.member.web.MemberSummaryRetrieveResponse
import roomescape.payment.web.PaymentRetrieveResponse
import roomescape.reservation.infrastructure.persistence.ReservationEntity
import roomescape.reservation.infrastructure.persistence.ReservationStatus
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.LocalTime
data class PendingReservationCreateRequest(
val scheduleId: Long,
val reserverName: String,
val reserverContact: String,
val participantCount: Short,
val requirement: String
)
fun PendingReservationCreateRequest.toEntity(id: Long, memberId: Long) = ReservationEntity(
id = id,
memberId = memberId,
scheduleId = this.scheduleId,
reserverName = this.reserverName,
reserverContact = this.reserverContact,
participantCount = this.participantCount,
requirement = this.requirement,
status = ReservationStatus.PENDING
)
data class PendingReservationCreateResponse(
val id: Long
)
data class ReservationSummaryRetrieveResponse(
val id: Long,
val themeName: String,
val date: LocalDate,
val startAt: LocalTime,
val status: ReservationStatus
)
data class ReservationSummaryRetrieveListResponse(
val reservations: List<ReservationSummaryRetrieveResponse>
)
data class ReservationDetailRetrieveResponse(
val id: Long,
val member: MemberSummaryRetrieveResponse,
val applicationDateTime: LocalDateTime,
val payment: PaymentRetrieveResponse,
)
fun ReservationEntity.toReservationDetailRetrieveResponse(
member: MemberSummaryRetrieveResponse,
payment: PaymentRetrieveResponse,
): ReservationDetailRetrieveResponse {
return ReservationDetailRetrieveResponse(
id = this.id,
member = member,
applicationDateTime = this.createdAt,
payment = payment,
)
}
data class ReservationCancelRequest(
val cancelReason: String
)