refactor(SW-188): reintroduce tempHotelData

This commit is contained in:
Chuma McPhoy
2024-08-14 09:54:06 +02:00
parent bd5e754d8a
commit 400c0b48e4
8 changed files with 1327 additions and 9815 deletions

View File

@@ -15,7 +15,7 @@ import {
RoomSchema,
} from "./output"
import tempFilterData from "./tempFilterData.json"
// import tempHotelData from "./tempHotelData.json"
import tempHotelData from "./tempHotelData.json"
import tempRatesData from "./tempRatesData.json"
export const hotelQueryRouter = router({
@@ -33,43 +33,53 @@ export const hotelQueryRouter = router({
params.set("include", include.join(","))
}
const apiResponse = await api.get(
`${api.endpoints.v1.hotels}/${hotelId}`,
{
cache: "no-store",
headers: {
Authorization: `Bearer ${ctx.serviceToken}`,
},
},
params
// Enable once Hotel API has support for service token.
// const apiResponse = await api.get(
// `${api.endpoints.v1.hotels}/${hotelId}`,
// {
// cache: "no-store",
// headers: {
// Authorization: `Bearer ${ctx.serviceToken}`,
// },
// },
// params
// )
// if (!apiResponse.ok) {
// console.info(`API Response Failed - Getting Hotel`)
// console.error(apiResponse)
// return null
// }
// const apiJson = await apiResponse.json()
// const validatedHotelData = getHotelDataSchema.safeParse(apiJson)
const { included, ...apiJsonWithoutIncluded } = tempHotelData
const validatedHotelData = getHotelDataSchema.safeParse(
apiJsonWithoutIncluded
)
if (!apiResponse.ok) {
console.info(`API Response Failed - Getting Hotel`)
console.error(apiResponse)
return null
}
const apiJson = await apiResponse.json()
const validatedHotelData = getHotelDataSchema.safeParse(apiJson)
if (!validatedHotelData.success) {
console.error(`Get Individual Hotel Data - Verified Data Error`)
console.error(validatedHotelData.error)
throw badRequestError()
}
const included = validatedHotelData.data.included || []
// const included = validatedHotelData.data.included || []
const roomCategories = included
.filter((item) => item.type === "roomcategories")
.map((roomCategory) => {
const validatedRoom = RoomSchema.safeParse(roomCategory)
if (!validatedRoom.success) {
console.error(`Get Room Category Data - Verified Data Error`)
console.error(validatedRoom.error)
throw badRequestError()
}
return validatedRoom.data
})
? included
.filter((item) => item.type === "roomcategories")
.map((roomCategory) => {
const validatedRoom = RoomSchema.safeParse(roomCategory)
if (!validatedRoom.success) {
console.error(`Get Room Category Data - Verified Data Error`)
console.error(validatedRoom.error)
throw badRequestError()
}
return validatedRoom.data
})
: []
return {
hotel: validatedHotelData.data.data.attributes,