cal.pub0.org/lib/validations/schedule.ts

24 lines
739 B
TypeScript
Raw Normal View History

2022-04-01 23:55:41 +00:00
import { z } from "zod";
2022-10-06 18:38:17 +00:00
import { _ScheduleModel as Schedule, _AvailabilityModel as Availability } from "@calcom/prisma/zod";
2022-04-01 23:55:41 +00:00
const schemaScheduleBaseBodyParams = Schedule.omit({ id: true }).partial();
const schemaScheduleRequiredParams = z.object({
2022-10-06 18:38:17 +00:00
name: z.string().optional(),
userId: z.union([z.number(), z.array(z.number())]).optional(),
2022-04-01 23:55:41 +00:00
});
export const schemaScheduleBodyParams = schemaScheduleBaseBodyParams.merge(schemaScheduleRequiredParams);
export const schemaSchedulePublic = z
.object({ id: z.number() })
.merge(Schedule)
.merge(
z.object({
2022-10-06 18:38:17 +00:00
availability: z
.array(Availability.pick({ id: true, eventTypeId: true, days: true, startTime: true, endTime: true }))
.optional(),
})
);