chore: move toApiLang util to hotel trpc folder
This commit is contained in:
@@ -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),
|
||||
})
|
||||
|
||||
@@ -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(
|
||||
|
||||
22
server/routers/hotels/utils.ts
Normal file
22
server/routers/hotels/utils.ts
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user