fix: Update getRoomsAvailability

This commit is contained in:
Pontus Dreij
2025-01-27 10:22:29 +01:00
parent bebf6c99c3
commit 4bc459f0a4
2 changed files with 19 additions and 15 deletions

View File

@@ -477,7 +477,7 @@ export const childrenSchema = z.object({
const occupancySchema = z.object({
adults: z.number(),
children: z.array(childrenSchema),
children: z.array(childrenSchema).default([]),
})
const linksSchema = z.object({
@@ -551,17 +551,19 @@ const roomConfigurationSchema = z.object({
roomTypeCode: z.string(),
roomType: z.string(),
roomsLeft: z.number(),
features: z.array(
z.object({
inventory: z.number(),
code: z.enum([
RoomPackageCodeEnum.PET_ROOM,
RoomPackageCodeEnum.ALLERGY_ROOM,
RoomPackageCodeEnum.ACCESSIBILITY_ROOM,
]),
})
),
products: z.array(productSchema),
features: z
.array(
z.object({
inventory: z.number(),
code: z.enum([
RoomPackageCodeEnum.PET_ROOM,
RoomPackageCodeEnum.ALLERGY_ROOM,
RoomPackageCodeEnum.ACCESSIBILITY_ROOM,
]),
})
)
.default([]),
products: z.array(productSchema).default([]),
})
const rateDefinitionSchema = z.object({
@@ -583,6 +585,7 @@ const roomsAvailabilitySchema = z
checkOutDate: z.string(),
occupancy: occupancySchema.optional(),
hotelId: z.number(),
bookingCode: z.string().optional(),
roomConfigurations: z.array(roomConfigurationSchema),
rateDefinitions: z.array(rateDefinitionSchema),
mustBeGuaranteed: z.boolean().optional(),

View File

@@ -330,7 +330,7 @@ export const hotelQueryRouter = router({
roomStayEndDate,
adults,
...(children && { children }),
bookingCode,
...(bookingCode && { bookingCode }),
}
roomsAvailabilityCounter.add(1, {
@@ -385,6 +385,7 @@ export const hotelQueryRouter = router({
return null
}
const apiJson = await apiResponse.json()
const validateAvailabilityData =
getRoomsAvailabilitySchema.safeParse(apiJson)
if (!validateAvailabilityData.success) {
@@ -394,7 +395,7 @@ export const hotelQueryRouter = router({
roomStayEndDate,
adults,
children,
bookingCode,
bookingCode: bookingCode ?? undefined,
error_type: "validation_error",
error: JSON.stringify(validateAvailabilityData.error),
})
@@ -413,7 +414,7 @@ export const hotelQueryRouter = router({
roomStayEndDate,
adults,
children,
bookingCode,
bookingCode: bookingCode ?? undefined,
})
console.info(
"api.hotels.roomsAvailability success",