[#41] 예약 스키마 재정의 #42

Merged
pricelees merged 41 commits from refactor/#41 into main 2025-09-09 00:43:39 +00:00
Showing only changes of commit 9e8cb87641 - Show all commits

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
)