chore: move toApiLang util to hotel trpc folder

This commit is contained in:
Chuma McPhoy
2024-07-04 15:05:02 +02:00
parent 74993f6c3c
commit f89d17cd7f
3 changed files with 27 additions and 3 deletions

View File

@@ -1,8 +1,8 @@
import { z } from "zod"
import { Lang, toUppercaseLang } from "@/constants/languages"
import { Lang } from "@/constants/languages"
export const getHotelInputSchema = z.object({
hotelId: z.string(),
language: z.nativeEnum(Lang).transform((val) => toUppercaseLang(val)),
language: z.nativeEnum(Lang),
})

View File

@@ -5,6 +5,7 @@ import { publicProcedure, router } from "@/server/trpc"
import { getHotelInputSchema } from "./input"
import { getHotelDataSchema } from "./output"
import tempHotelData from "./tempHotelData.json"
import { toApiLang } from "./utils"
export const hotelQueryRouter = router({
getHotel: publicProcedure
@@ -13,8 +14,9 @@ export const hotelQueryRouter = router({
const { hotelId, language } = input
const params = new URLSearchParams()
const apiLang = toApiLang(language)
params.set("hotelId", hotelId.toString())
params.set("language", language.toString())
params.set("language", apiLang)
// TODO: Enable once we have authorized API access.
// const apiResponse = await api.get(

View File

@@ -0,0 +1,22 @@
import { Lang } from "@/constants/languages"
const langMap: { [key in Lang]: string } = {
[Lang.en]: "En",
[Lang.sv]: "Sv",
[Lang.no]: "No",
[Lang.fi]: "Fi",
[Lang.da]: "Da",
[Lang.de]: "De",
}
/**
* Helper function to convert Lang enum to uppercase
* Needed for the Hotel endpoint.
*/
export const toApiLang = (lang: Lang): string => {
const result = langMap[lang]
if (!result) {
throw new Error("Invalid language")
}
return result
}