chore: move toApiLang util to hotel trpc folder
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
import { z } from "zod"
|
import { z } from "zod"
|
||||||
|
|
||||||
import { Lang, toUppercaseLang } from "@/constants/languages"
|
import { Lang } from "@/constants/languages"
|
||||||
|
|
||||||
export const getHotelInputSchema = z.object({
|
export const getHotelInputSchema = z.object({
|
||||||
hotelId: z.string(),
|
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 { getHotelInputSchema } from "./input"
|
||||||
import { getHotelDataSchema } from "./output"
|
import { getHotelDataSchema } from "./output"
|
||||||
import tempHotelData from "./tempHotelData.json"
|
import tempHotelData from "./tempHotelData.json"
|
||||||
|
import { toApiLang } from "./utils"
|
||||||
|
|
||||||
export const hotelQueryRouter = router({
|
export const hotelQueryRouter = router({
|
||||||
getHotel: publicProcedure
|
getHotel: publicProcedure
|
||||||
@@ -13,8 +14,9 @@ export const hotelQueryRouter = router({
|
|||||||
const { hotelId, language } = input
|
const { hotelId, language } = input
|
||||||
|
|
||||||
const params = new URLSearchParams()
|
const params = new URLSearchParams()
|
||||||
|
const apiLang = toApiLang(language)
|
||||||
params.set("hotelId", hotelId.toString())
|
params.set("hotelId", hotelId.toString())
|
||||||
params.set("language", language.toString())
|
params.set("language", apiLang)
|
||||||
|
|
||||||
// TODO: Enable once we have authorized API access.
|
// TODO: Enable once we have authorized API access.
|
||||||
// const apiResponse = await api.get(
|
// 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