refactor(SW-188): replace anon or auth procedure with serviceProcedure

This commit is contained in:
Chuma McPhoy
2024-08-13 15:59:07 +02:00
parent a1a0a73e3a
commit ed379202c8
7 changed files with 55 additions and 80 deletions

View File

@@ -1,11 +1,7 @@
import * as api from "@/lib/api"
import { getHotelEndpoint } from "@/lib/api/endpoints"
import { badRequestError } from "@/server/errors/trpc"
import {
anonymousOrAuthProcedure,
publicProcedure,
router,
} from "@/server/trpc"
import { publicProcedure, router, serviceProcedure } from "@/server/trpc"
import { toApiLang } from "@/server/utils"
import {
getFiltersInputSchema,
@@ -21,28 +17,28 @@ import {
import tempFilterData from "./tempFilterData.json"
// import tempHotelData from "./tempHotelData.json"
import tempRatesData from "./tempRatesData.json"
import { toApiLang } from "./utils"
export const hotelQueryRouter = router({
getHotel: anonymousOrAuthProcedure
getHotel: serviceProcedure
.input(getHotelInputSchema)
.query(async ({ input, ctx }) => {
const { hotelId, language, include } = input
const params = new URLSearchParams()
const apiLang = toApiLang(language)
params.set("language", apiLang)
if (include) {
params.set("include", include.join(","))
}
const authToken = await ctx.getToken()
const apiResponse = await api.get(
getHotelEndpoint(hotelId),
`${api.endpoints.v1.hotels}/${hotelId}`,
{
cache: "no-store",
headers: {
Authorization: `Bearer ${authToken}`,
Authorization: `Bearer ${ctx.serviceToken}`,
},
},
params

View File

@@ -1,22 +0,0 @@
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
}