import { router } from "../../.." import { publicProcedure } from "../../../procedures" import { getUidAndContentTypeByPath } from "../../../services/cms/getUidAndContentTypeByPath" import { getNonContentstackUrls } from "../metadata/output" import { getLanguageSwitcherInput } from "./input" import { getUrlsOfAllLanguages } from "./utils" import type { LanguageSwitcherData } from "../../../types/languageSwitcher" export const languageSwitcherQueryRouter = router({ get: publicProcedure .input(getLanguageSwitcherInput) .query(async ({ input }) => { const { pathName, lang } = input const { uid, contentType } = await getUidAndContentTypeByPath(pathName) let urls: LanguageSwitcherData | null = null if (!uid || !contentType) { urls = getNonContentstackUrls(lang, pathName) } else { urls = await getUrlsOfAllLanguages(lang, uid, contentType) } return { lang, urls, } }), })