fix(SW-925): Don't throw error if api for packages throws error

This commit is contained in:
Pontus Dreij
2024-11-19 14:25:48 +01:00
parent eb5dd49981
commit a1f1531fc2
2 changed files with 21 additions and 20 deletions

View File

@@ -864,22 +864,24 @@ export const packagesSchema = z.object({
export const getRoomPackagesSchema = z export const getRoomPackagesSchema = z
.object({ .object({
data: z.object({ data: z
attributes: z.object({ .object({
hotelId: z.number(), attributes: z.object({
packages: z.array(packagesSchema).optional().default([]), hotelId: z.number(),
}), packages: z.array(packagesSchema).optional().default([]),
relationships: z }),
.object({ relationships: z
links: z.array( .object({
z.object({ links: z.array(
url: z.string(), z.object({
type: z.string(), url: z.string(),
}) type: z.string(),
), })
}) ),
.optional(), })
type: z.string(), .optional(),
}), type: z.string(),
})
.optional(),
}) })
.transform((data) => data.data.attributes.packages) .transform((data) => data.data?.attributes?.packages ?? [])

View File

@@ -939,12 +939,11 @@ export const hotelQueryRouter = router({
"api.hotels.packages error", "api.hotels.packages error",
JSON.stringify({ query: { hotelId, params } }) JSON.stringify({ query: { hotelId, params } })
) )
throw serverErrorByStatus(apiResponse.status, apiResponse)
} }
const apiJson = await apiResponse.json() const apiJson = await apiResponse.json()
const validatedPackagesData = getRoomPackagesSchema.safeParse(apiJson) const validatedPackagesData = getRoomPackagesSchema.safeParse(apiJson)
console.log("validatedPackagesData", validatedPackagesData)
if (!validatedPackagesData.success) { if (!validatedPackagesData.success) {
getHotelFailCounter.add(1, { getHotelFailCounter.add(1, {
hotelId, hotelId,