fix: refacotr away optional pricing

This commit is contained in:
Christel Westerberg
2024-11-12 08:57:45 +01:00
parent 5e2d2abd17
commit 32d12bae58
5 changed files with 25 additions and 26 deletions

View File

@@ -554,15 +554,14 @@ export const productTypePriceSchema = z.object({
const productSchema = z.object({
productType: z.object({
public: productTypePriceSchema.optional(),
public: productTypePriceSchema,
member: productTypePriceSchema.optional(),
}),
})
const roomConfigurationSchema = z.object({
status: z.string(),
// TODO: Remove the optional when the API change has been deployed
roomTypeCode: z.string().optional(),
roomTypeCode: z.string(),
roomType: z.string(),
roomsLeft: z.number(),
features: z.array(
@@ -825,17 +824,11 @@ export const apiLocationsSchema = z.object({
),
})
const breakfastPackagePriceSchema = z
.object({
currency: z.nativeEnum(CurrencyEnum),
price: z.string(),
totalPrice: z.string(),
})
.default({
currency: CurrencyEnum.SEK,
price: "0",
totalPrice: "0",
}) // TODO: Remove optional and default when the API change has been deployed
const breakfastPackagePriceSchema = z.object({
currency: z.nativeEnum(CurrencyEnum),
price: z.string(),
totalPrice: z.string(),
})
export const breakfastPackageSchema = z.object({
code: z.string(),

View File

@@ -733,9 +733,15 @@ export const hotelQueryRouter = router({
const rateTypes = selectedRoom.products.find(
(rate) =>
rate.productType.public?.rateCode === rateCode ||
rate.productType.public.rateCode === rateCode ||
rate.productType.member?.rateCode === rateCode
)?.productType
)
if (!rateTypes) {
console.error("No matching rate found")
return null
}
const rates = rateTypes.productType
const mustBeGuaranteed =
validateAvailabilityData.data.rateDefinitions.filter(
@@ -785,8 +791,8 @@ export const hotelQueryRouter = router({
selectedRoom,
mustBeGuaranteed,
cancellationText,
memberRate: rateTypes?.member,
publicRate: rateTypes?.public,
memberRate: rates?.member,
publicRate: rates.public,
bedTypes,
}
}),