generated from pricelees/issue-pr-template
32 lines
1.1 KiB
Java
32 lines
1.1 KiB
Java
package roomescape.reservation.dto.request;
|
|
|
|
import java.time.LocalTime;
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
|
import io.micrometer.common.util.StringUtils;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
import jakarta.validation.constraints.NotNull;
|
|
import roomescape.common.exception.ErrorType;
|
|
import roomescape.common.exception.RoomescapeException;
|
|
import roomescape.reservation.domain.ReservationTime;
|
|
|
|
@Schema(name = "예약 시간 저장 요청", description = "예약 시간 저장 요청시 사용됩니다.")
|
|
public record ReservationTimeRequest(
|
|
@NotNull(message = "예약 시간은 null일 수 없습니다.")
|
|
@Schema(description = "예약 시간. HH:mm 형식으로 입력해야 합니다.", type = "string", example = "09:00")
|
|
LocalTime startAt
|
|
) {
|
|
|
|
public ReservationTimeRequest {
|
|
if (StringUtils.isBlank(startAt.toString())) {
|
|
throw new RoomescapeException(ErrorType.REQUEST_DATA_BLANK,
|
|
String.format("[values: %s]", this), HttpStatus.BAD_REQUEST);
|
|
}
|
|
}
|
|
|
|
public ReservationTime toTime() {
|
|
return new ReservationTime(this.startAt);
|
|
}
|
|
}
|