import { Lang } from "@/constants/languages" import { request } from "@/lib/graphql/request" import { internalServerError, notFound } from "@/server/errors/trpc" import { getMetaDataSchema, Page } from "./output" export type Variables = { locale: Lang url: string } export async function getResponse(query: string, variables: Variables) { const response = await request(query, variables) if (!response.data) { throw notFound(response) } return response } export function getMetaData(page: Page) { const pageMetaData = { breadcrumbsTitle: page.web.breadcrumbs.title, title: page.web.seo_metadata.title, description: page.web.seo_metadata.description, imageConnection: page.web.seo_metadata.imageConnection, uid: page.system.uid, } const validatedMetaData = getMetaDataSchema.safeParse(pageMetaData) if (!validatedMetaData.success) { throw internalServerError(validatedMetaData.error) } return validatedMetaData.data }