fix: prevent phone input from running validation on mount when empty

This commit is contained in:
Simon Emanuelsson
2024-10-31 13:39:08 +01:00
parent eb0494c2a2
commit 46a1874a76
8 changed files with 56 additions and 35 deletions

View File

@@ -68,6 +68,15 @@ export const getHotelDataInputSchema = z.object({
include: z.array(z.nativeEnum(HotelIncludeEnum)).optional(),
})
export const getBreakfastPackageInput = z.object({
export const getBreakfastPackageInputSchema = z.object({
adults: z.number().min(1, { message: "at least one adult is required" }),
fromDate: z
.string()
.min(1, { message: "fromDate is required" })
.pipe(z.coerce.date()),
hotelId: z.string().min(1, { message: "hotelId is required" }),
toDate: z
.string()
.min(1, { message: "toDate is required" })
.pipe(z.coerce.date()),
})

View File

@@ -2,6 +2,7 @@ import { metrics } from "@opentelemetry/api"
import { Lang } from "@/constants/languages"
import * as api from "@/lib/api"
import { dt } from "@/lib/dt"
import { GetHotelPage } from "@/lib/graphql/Query/HotelPage/HotelPage.graphql"
import { request } from "@/lib/graphql/request"
import {
@@ -31,7 +32,7 @@ import {
getRoomPackagesSchema,
} from "./schemas/packages"
import {
getBreakfastPackageInput,
getBreakfastPackageInputSchema,
getHotelDataInputSchema,
getHotelInputSchema,
getHotelsAvailabilityInputSchema,
@@ -982,14 +983,14 @@ export const hotelQueryRouter = router({
return validatedPackagesData.data
}),
breakfast: safeProtectedServiceProcedure
.input(getBreakfastPackageInput)
.input(getBreakfastPackageInputSchema)
.query(async function ({ ctx, input }) {
const params = {
Adults: 2,
EndDate: "2024-10-28",
StartDate: "2024-10-25",
Adults: input.adults,
EndDate: dt(input.toDate).format("YYYY-MM-DD"),
StartDate: dt(input.fromDate).format("YYYY-MM-DD"),
}
const metricsData = { ...input, ...params }
const metricsData = { ...params, hotelId: input.hotelId }
breakfastPackagesCounter.add(1, metricsData)
console.info(
"api.package.breakfast start",