Files
web/packages/trpc/lib/routers/hotels/schemas/hotel/include.ts
Linus Flood 40e1efa81f Merged in feat/SW-3688-nerbyhotels (pull request #3372)
feat(SW-3688): remove nearbyHotels prop/fetch from hotelscheme

* feat(SW-3688): remove nearbyHotels prop/fetch from hotelscheme

* Cleanup


Approved-by: Joakim Jäderberg
2025-12-18 13:43:56 +00:00

42 lines
930 B
TypeScript

import { z } from "zod"
import { citySchema } from "../city"
import {
additionalDataSchema,
transformAdditionalData,
} from "./include/additionalData"
import { restaurantsSchema } from "./include/restaurants"
import {
roomCategoriesSchema,
transformRoomCategories,
} from "./include/roomCategories"
export const includeSchema = z
.union([
z.null(),
z.undefined(),
z.discriminatedUnion("type", [
additionalDataSchema,
citySchema,
restaurantsSchema,
roomCategoriesSchema,
]),
])
.transform((data) => {
switch (data?.type) {
case "additionalData":
return transformAdditionalData(data)
case "cities":
case "restaurants":
return {
...data.attributes,
id: data.id,
type: data.type,
}
case "roomcategories":
return transformRoomCategories(data)
default:
return null
}
})