diff --git a/app/[lang]/(live)/(public)/hotelreservation/select-hotel/page.tsx b/app/[lang]/(live)/(public)/hotelreservation/select-hotel/page.tsx index 939451a06..2b216d29a 100644 --- a/app/[lang]/(live)/(public)/hotelreservation/select-hotel/page.tsx +++ b/app/[lang]/(live)/(public)/hotelreservation/select-hotel/page.tsx @@ -28,7 +28,7 @@ export default async function SelectHotelPage({ hotelId: "879", }) - const availability = await serverClient().hotel.availability({ + const availability = await serverClient().hotel.availability.get({ cityId: "8ec4bba3-1c38-4606-82d1-bbe3f6738e54", roomStayStartDate: "2024-11-01", roomStayEndDate: "2024-11-02", diff --git a/server/routers/hotels/query.ts b/server/routers/hotels/query.ts index 55fb3e9ba..289d0c96d 100644 --- a/server/routers/hotels/query.ts +++ b/server/routers/hotels/query.ts @@ -218,97 +218,100 @@ export const hotelQueryRouter = router({ roomCategories, } }), - availability: serviceProcedure - .input(getAvailabilityInputSchema) - .query(async ({ input, ctx }) => { - const { cityId, roomStayStartDate, roomStayEndDate, adults } = input - const params: Record = { - roomStayStartDate, - roomStayEndDate, - adults, - } - availabilityCounter.add(1, { - cityId, - roomStayStartDate, - roomStayEndDate, - adults, - }) - console.info( - "api.hotels.availability start", - JSON.stringify({ query: { cityId, params } }) - ) - const apiResponse = await api.get( - `${api.endpoints.v0.availability}/${cityId}`, - { - cache: "no-store", - headers: { - Authorization: `Bearer ${ctx.serviceToken}`, - }, - }, - params - ) - if (!apiResponse.ok) { - const text = await apiResponse.text() - availabilityFailCounter.add(1, { + availability: router({ + get: serviceProcedure + .input(getAvailabilityInputSchema) + .query(async ({ input, ctx }) => { + const { cityId, roomStayStartDate, roomStayEndDate, adults } = input + const params: Record = { + roomStayStartDate, + roomStayEndDate, + adults, + } + availabilityCounter.add(1, { cityId, roomStayStartDate, roomStayEndDate, adults, - error_type: "http_error", - error: JSON.stringify({ - status: apiResponse.status, - statusText: apiResponse.statusText, - text, - }), }) - console.error( - "api.hotels.availability error", - JSON.stringify({ - query: { cityId, params }, - error: { + console.info( + "api.hotels.availability start", + JSON.stringify({ query: { cityId, params } }) + ) + const apiResponse = await api.get( + `${api.endpoints.v0.availability}/${cityId}`, + { + cache: "no-store", + headers: { + Authorization: `Bearer ${ctx.serviceToken}`, + }, + }, + params + ) + if (!apiResponse.ok) { + const text = await apiResponse.text() + availabilityFailCounter.add(1, { + cityId, + roomStayStartDate, + roomStayEndDate, + adults, + error_type: "http_error", + error: JSON.stringify({ status: apiResponse.status, statusText: apiResponse.statusText, text, - }, + }), }) - ) - return null - } - const apiJson = await apiResponse.json() - const validateAvailabilityData = getAvailabilitySchema.safeParse(apiJson) - if (!validateAvailabilityData.success) { - availabilityFailCounter.add(1, { + console.error( + "api.hotels.availability error", + JSON.stringify({ + query: { cityId, params }, + error: { + status: apiResponse.status, + statusText: apiResponse.statusText, + text, + }, + }) + ) + return null + } + const apiJson = await apiResponse.json() + const validateAvailabilityData = + getAvailabilitySchema.safeParse(apiJson) + if (!validateAvailabilityData.success) { + availabilityFailCounter.add(1, { + cityId, + roomStayStartDate, + roomStayEndDate, + adults, + error_type: "validation_error", + error: JSON.stringify(validateAvailabilityData.error), + }) + console.error( + "api.hotels.availability validation error", + JSON.stringify({ + query: { cityId, params }, + error: validateAvailabilityData.error, + }) + ) + throw badRequestError() + } + availabilitySuccessCounter.add(1, { cityId, roomStayStartDate, roomStayEndDate, adults, - error_type: "validation_error", - error: JSON.stringify(validateAvailabilityData.error), }) - console.error( - "api.hotels.availability validation error", + console.info( JSON.stringify({ - query: { cityId, params }, - error: validateAvailabilityData.error, + query: { cityId, params: params }, }) ) - throw badRequestError() - } - availabilitySuccessCounter.add(1, { - cityId, - roomStayStartDate, - roomStayEndDate, - adults, - }) - console.info( - JSON.stringify({ - query: { cityId, params: params }, - }) - ) - return { - availability: validateAvailabilityData.data, - } - }), + return { + availability: validateAvailabilityData.data, + } + }), + }), rates: router({ get: publicProcedure .input(getRatesInputSchema)