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

43 lines
1.1 KiB
TypeScript
Raw Normal View History

import { z } from "zod";
import { _AvailabilityModel as Availability } from "@calcom/prisma/zod";
2022-03-30 12:17:55 +00:00
2022-04-25 01:12:33 +00:00
export const schemaAvailabilityBaseBodyParams = Availability.pick({
startTime: true,
endTime: true,
date: true,
scheduleId: true,
days: true,
}).partial();
export const schemaAvailabilityReadPublic = Availability.pick({
id: true,
startTime: true,
endTime: true,
date: true,
scheduleId: true,
days: true,
userId: true,
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 schemaAvailabilityEditParams = z.object({
2022-04-25 04:13:27 +00:00
startTime: z.date().or(z.string()).optional(),
endTime: z.date().or(z.string()).optional(),
2022-04-25 01:12:33 +00:00
days: z.array(z.number()).optional(),
eventTypeId: z.number().optional(),
});
export const schemaAvailabilityEditBodyParams = schemaAvailabilityBaseBodyParams.merge(
schemaAvailabilityEditParams
);
export const schemaAvailabilityCreateBodyParams = schemaAvailabilityBaseBodyParams.merge(
schemaAvailabilityCreateParams
);