feat(SW-70): Create TRPC route to get rates

This commit is contained in:
Niclas Edenvin
2024-07-09 13:23:59 +02:00
parent 78c1452ed3
commit 722bab97ad
6 changed files with 106 additions and 87 deletions

View File

@@ -2,9 +2,10 @@ import * as api from "@/lib/api"
import { badRequestError } from "@/server/errors/trpc"
import { publicProcedure, router } from "@/server/trpc"
import { getHotelInputSchema } from "./input"
import { getHotelDataSchema } from "./output"
import { getHotelInputSchema, getRatesInputSchema } from "./input"
import { getHotelDataSchema, getRatesSchema } from "./output"
import tempHotelData from "./tempHotelData.json"
import tempRatesData from "./tempRatesData.json"
import { toApiLang } from "./utils"
export const hotelQueryRouter = router({
@@ -49,4 +50,25 @@ export const hotelQueryRouter = router({
return validatedHotelData.data.data.attributes
}),
getRates: publicProcedure
.input(getRatesInputSchema)
.query(async ({ input, ctx }) => {
// TODO: Do a real API call when the endpoint is ready
// const { hotelId } = input
// const params = new URLSearchParams()
// const apiLang = toApiLang(language)
// params.set("hotelId", hotelId.toString())
// params.set("language", apiLang)
const validatedHotelData = getRatesSchema.safeParse(tempRatesData)
if (!validatedHotelData.success) {
console.info(`Get Individual Rates Data - Verified Data Error`)
console.error(validatedHotelData.error)
throw badRequestError()
}
return validatedHotelData.data
}),
})