diff --git a/lib/validations/attendee.ts b/lib/validations/attendee.ts index d603eaaf63..70444437aa 100644 --- a/lib/validations/attendee.ts +++ b/lib/validations/attendee.ts @@ -15,14 +15,13 @@ const schemaAttendeeCreateParams = z .object({ bookingId: z.number().int(), email: z.string().email(), - name: z.string(), + name: z.string().optional(), timeZone: timeZone, }) .strict(); const schemaAttendeeEditParams = z .object({ - // @note: disallowing bookingId changes in attendee via API for now as it would introduce side effects name: z.string().optional(), email: z.string().email().optional(), timeZone: timeZone.optional(), diff --git a/lib/validations/availability.ts b/lib/validations/availability.ts index 6039dfb80f..a6ddf4b5c6 100644 --- a/lib/validations/availability.ts +++ b/lib/validations/availability.ts @@ -21,19 +21,24 @@ export const schemaAvailabilityReadPublic = Availability.pick({ eventTypeId: true, }); -const schemaAvailabilityCreateParams = z.object({ - startTime: z.date().or(z.string()), - endTime: z.date().or(z.string()), - days: z.array(z.number()).optional(), - eventTypeId: z.number().optional(), -}); +const schemaAvailabilityCreateParams = z + .object({ + startTime: z.date().or(z.string()), + endTime: z.date().or(z.string()), + days: z.array(z.number()).optional(), + eventTypeId: z.number().optional(), + }) + .strict(); + +const schemaAvailabilityEditParams = z + .object({ + startTime: z.date().or(z.string()).optional(), + endTime: z.date().or(z.string()).optional(), + days: z.array(z.number()).optional(), + eventTypeId: z.number().optional(), + }) + .strict(); -const schemaAvailabilityEditParams = z.object({ - startTime: z.date().or(z.string()).optional(), - endTime: z.date().or(z.string()).optional(), - days: z.array(z.number()).optional(), - eventTypeId: z.number().optional(), -}); export const schemaAvailabilityEditBodyParams = schemaAvailabilityBaseBodyParams.merge( schemaAvailabilityEditParams ); diff --git a/lib/validations/booking-reference.ts b/lib/validations/booking-reference.ts index f207b09208..66aabc3d88 100644 --- a/lib/validations/booking-reference.ts +++ b/lib/validations/booking-reference.ts @@ -23,22 +23,28 @@ export const schemaBookingReferenceReadPublic = BookingReference.pick({ deleted: true, }); -const schemaBookingReferenceEditParams = z.object({ - type: z.string(), - uid: z.string(), - meetingId: z.string(), - meetingPassword: z.string(), - meetingUrl: z.string(), - deleted: z.boolean(), -}); -const schemaBookingReferenceCreateParams = z.object({ - type: z.string(), - uid: z.string(), - meetingId: z.string(), - meetingPassword: z.string(), - meetingUrl: z.string(), - deleted: z.boolean(), -}); +const schemaBookingReferenceCreateParams = z + .object({ + type: z.string(), + uid: z.string(), + meetingId: z.string(), + meetingPassword: z.string(), + meetingUrl: z.string(), + deleted: z.boolean(), + }) + .strict(); + +const schemaBookingReferenceEditParams = z + .object({ + type: z.string().optional(), + uid: z.string().optional(), + meetingId: z.string().optional(), + meetingPassword: z.string().optional(), + meetingUrl: z.string().optional(), + deleted: z.boolean().optional(), + }) + .strict(); + export const schemaBookingCreateBodyParams = schemaBookingReferenceBaseBodyParams.merge( schemaBookingReferenceCreateParams ); diff --git a/lib/validations/booking.ts b/lib/validations/booking.ts index 5bf187f523..60c231efa5 100644 --- a/lib/validations/booking.ts +++ b/lib/validations/booking.ts @@ -11,24 +11,27 @@ const schemaBookingBaseBodyParams = Booking.pick({ endTime: true, }).partial(); -const schemaBookingCreateParams = z.object({ - uid: z.string(), - userId: z.number(), - eventTypeId: z.number(), - title: z.string(), - startTime: z.date(), - endTime: z.date(), -}); +const schemaBookingCreateParams = z + .object({ + uid: z.string(), + userId: z.number(), + eventTypeId: z.number(), + title: z.string(), + startTime: z.date(), + endTime: z.date(), + }) + .strict(); export const schemaBookingCreateBodyParams = schemaBookingBaseBodyParams.merge(schemaBookingCreateParams); -// @note: disallowing userId/eventTypeId changes in booking endpoint via PATCH for now as it would introduce side effects -const schemaBookingEditParams = z.object({ - uid: z.string(), - title: z.string(), - startTime: z.date(), - endTime: z.date(), -}); +const schemaBookingEditParams = z + .object({ + uid: z.string().optional(), + title: z.string().optional(), + startTime: z.date().optional(), + endTime: z.date().optional(), + }) + .strict(); export const schemaBookingEditBodyParams = schemaBookingBaseBodyParams.merge(schemaBookingEditParams); diff --git a/lib/validations/daily-event-reference.ts b/lib/validations/daily-event-reference.ts index ca74d5a95f..0ce79e6324 100644 --- a/lib/validations/daily-event-reference.ts +++ b/lib/validations/daily-event-reference.ts @@ -8,21 +8,24 @@ export const schemaDailyEventReferenceBaseBodyParams = DailyEventReference.pick( bookingId: true, }).partial(); -const schemaDailyEventReferenceCreateParams = z.object({ - dailytoken: z.string(), - dailyurl: z.string(), - bookingId: z.number(), -}); +const schemaDailyEventReferenceCreateParams = z + .object({ + dailytoken: z.string(), + dailyurl: z.string(), + bookingId: z.number(), + }) + .strict(); export const schemaDailyEventReferenceCreateBodyParams = schemaDailyEventReferenceBaseBodyParams.merge( schemaDailyEventReferenceCreateParams ); -const schemaDailyEventReferenceEditParams = z.object({ - dailytoken: z.string(), - dailyurl: z.string(), - // @note: disallowing bookingId changes in daily-event-reference via API endpoint for now as it would introduce side effects -}); +const schemaDailyEventReferenceEditParams = z + .object({ + dailytoken: z.string().optional(), + dailyurl: z.string().optional(), + }) + .strict(); export const schemaDailyEventReferenceEditBodyParams = schemaDailyEventReferenceBaseBodyParams.merge( schemaDailyEventReferenceEditParams diff --git a/lib/validations/destination-calendar.ts b/lib/validations/destination-calendar.ts index 541260d4dc..7f90cd0002 100644 --- a/lib/validations/destination-calendar.ts +++ b/lib/validations/destination-calendar.ts @@ -10,29 +10,34 @@ export const schemaDestinationCalendarBaseBodyParams = DestinationCalendar.pick( userId: true, }).partial(); -const schemaDestinationCalendarEditParams = z.object({ - integration: z.string(), - externalId: z.string(), - eventTypeId: z.number(), - bookingId: z.number(), - userId: z.number(), -}); - -export const schemaDestinationCalendarEditBodyParams = schemaDestinationCalendarBaseBodyParams.merge( - schemaDestinationCalendarEditParams -); -const schemaDestinationCalendarCreateParams = z.object({ - integration: z.string(), - externalId: z.string(), - eventTypeId: z.number(), - bookingId: z.number(), - userId: z.number(), -}); +const schemaDestinationCalendarCreateParams = z + .object({ + integration: z.string(), + externalId: z.string(), + eventTypeId: z.number(), + bookingId: z.number(), + userId: z.number(), + }) + .strict(); export const schemaDestinationCalendarCreateBodyParams = schemaDestinationCalendarBaseBodyParams.merge( schemaDestinationCalendarCreateParams ); +const schemaDestinationCalendarEditParams = z + .object({ + integration: z.string().optional(), + externalId: z.string().optional(), + eventTypeId: z.number().optional(), + bookingId: z.number().optional(), + userId: z.number().optional(), + }) + .strict(); + +export const schemaDestinationCalendarEditBodyParams = schemaDestinationCalendarBaseBodyParams.merge( + schemaDestinationCalendarEditParams +); + export const schemaDestinationCalendarReadPublic = DestinationCalendar.pick({ id: true, integration: true,