import { GetHotelPage } from "@/lib/graphql/Query/HotelPage.graphql" import { request } from "@/lib/graphql/request" import { notFound } from "@/server/errors/trpc" import { contentstackBaseProcedure, router } from "@/server/trpc" import { HotelPage, HotelPageDataRaw, validateHotelPageSchema } from "./output" export const hotelPageQueryRouter = router({ get: contentstackBaseProcedure.query(async ({ ctx }) => { const { lang, uid } = ctx const response = await request(GetHotelPage, { locale: lang, uid, }) if (!response.data) { throw notFound(response) } const validatedHotelPage = validateHotelPageSchema.safeParse(response.data) if (!validatedHotelPage.success) { console.info( `Failed to validate Hotel Page - (uid: ${uid}, lang: ${lang})` ) console.error(validatedHotelPage.error) return null } const hotelPage = { ...validatedHotelPage.data.hotel_page, } as HotelPage return hotelPage }), })