From 481d70104b46737918d83fcf0703f7418b2e9b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matilda=20Landstr=C3=B6m?= Date: Tue, 4 Mar 2025 07:32:44 +0000 Subject: [PATCH] Merged in fix/zod-validation (pull request #1463) fix: displayWebPage zod schema * fix: displayWebPage zod schema Approved-by: Michael Zetterberg Approved-by: Erik Tiekstra Approved-by: Fredrik Thorsson --- .../include/additionalData/displayWebPage.ts | 23 ++++++++++++++----- .../schemas/hotel/include/nearbyHotels.ts | 16 +++---------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/apps/scandic-web/server/routers/hotels/schemas/hotel/include/additionalData/displayWebPage.ts b/apps/scandic-web/server/routers/hotels/schemas/hotel/include/additionalData/displayWebPage.ts index 139cb063b..8905ad6d2 100644 --- a/apps/scandic-web/server/routers/hotels/schemas/hotel/include/additionalData/displayWebPage.ts +++ b/apps/scandic-web/server/routers/hotels/schemas/hotel/include/additionalData/displayWebPage.ts @@ -1,8 +1,19 @@ import { z } from "zod" -export const displayWebPageSchema = z.object({ - healthGym: z.boolean(), - meetingRoom: z.boolean(), - parking: z.boolean(), - specialNeeds: z.boolean(), -}) +export const displayWebPageSchema = z + .object({ + healthGym: z.boolean().default(false), + meetingRoom: z.boolean().default(false), + parking: z.boolean().default(false), + specialNeeds: z.boolean().default(false), + }) + .nullish() + .transform( + (object) => + object ?? { + healthGym: false, + meetingRoom: false, + parking: false, + specialNeeds: false, + } + ) diff --git a/apps/scandic-web/server/routers/hotels/schemas/hotel/include/nearbyHotels.ts b/apps/scandic-web/server/routers/hotels/schemas/hotel/include/nearbyHotels.ts index 175cd806a..74cbd2ad2 100644 --- a/apps/scandic-web/server/routers/hotels/schemas/hotel/include/nearbyHotels.ts +++ b/apps/scandic-web/server/routers/hotels/schemas/hotel/include/nearbyHotels.ts @@ -2,23 +2,13 @@ import { z } from "zod" import { attributesSchema } from "@/server/routers/hotels/schemas/hotel" +import { displayWebPageSchema } from "./additionalData/displayWebPage" + export const nearbyHotelsSchema = z.object({ attributes: z.lazy(() => z .object({ - displayWebPage: z - .object({ - healthGym: z.boolean().default(false), - meetingRoom: z.boolean().default(false), - parking: z.boolean().default(false), - specialNeeds: z.boolean().default(false), - }) - .default({ - healthGym: false, - meetingRoom: false, - parking: false, - specialNeeds: false, - }), + displayWebPage: displayWebPageSchema, }) .merge( attributesSchema.pick({