Merged in BOOK-448-select-rate-reload-bookingcode (pull request #2974)
(BOOK-448): prevent refetching select rate availability when adding room bookingcode * (BOOK-448): prevent refetching select rate availability when adding room bookingcode Approved-by: Linus Flood
This commit is contained in:
@@ -37,7 +37,7 @@ export const rooms = safeProtectedServiceProcedure
|
||||
.query(async function ({ ctx, input }) {
|
||||
input.booking.rooms = input.booking.rooms.map((room) => ({
|
||||
...room,
|
||||
bookingCode: room.bookingCode || input.booking.bookingCode,
|
||||
bookingCode: input.booking.bookingCode,
|
||||
}))
|
||||
|
||||
const availability = await getRoomsAvailability(
|
||||
|
||||
@@ -3,7 +3,7 @@ import { z } from "zod"
|
||||
|
||||
import { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
import { baseBookingSchema, baseRoomSchema } from "../../../input"
|
||||
import { baseBookingSchema, selectRoomSchema } from "../../../input"
|
||||
|
||||
export type RoomsAvailabilityInputRoom =
|
||||
RoomsAvailabilityInputSchema["booking"]["rooms"][number]
|
||||
@@ -16,7 +16,7 @@ export type RoomsAvailabilityInputSchema = z.input<
|
||||
export const selectRateRoomsAvailabilityInputSchema = z
|
||||
.object({
|
||||
booking: baseBookingSchema.extend({
|
||||
rooms: z.array(baseRoomSchema),
|
||||
rooms: z.array(selectRoomSchema),
|
||||
}),
|
||||
lang: z.nativeEnum(Lang),
|
||||
})
|
||||
|
||||
@@ -16,13 +16,19 @@ const childrenInRoomSchema = z
|
||||
)
|
||||
.optional()
|
||||
|
||||
export const baseRoomSchema = z.object({
|
||||
const sharedRoomFields = {
|
||||
adults: z.number().int().min(1),
|
||||
bookingCode: z.string().optional(),
|
||||
childrenInRoom: childrenInRoomSchema,
|
||||
packages: z
|
||||
.array(z.nativeEnum({ ...BreakfastPackageEnum, ...RoomPackageCodeEnum }))
|
||||
.optional(),
|
||||
}
|
||||
|
||||
export const selectRoomSchema = z.object(sharedRoomFields)
|
||||
|
||||
export const baseRoomSchema = z.object({
|
||||
...sharedRoomFields,
|
||||
bookingCode: z.string().optional(),
|
||||
})
|
||||
|
||||
export const selectedRoomSchema = z.object({
|
||||
|
||||
@@ -69,7 +69,7 @@ export async function getRoomsAvailability(
|
||||
...(room.childrenInRoom?.length && {
|
||||
children: generateChildrenString(room.childrenInRoom),
|
||||
}),
|
||||
...(room.bookingCode && { bookingCode: room.bookingCode }),
|
||||
...(bookingCode && { bookingCode: bookingCode }),
|
||||
...(redemption && { isRedemption: "true" }),
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user