fix: build and validations for event-type, bring back req extension

pull/9078/head
Agusti Fernandez Pardo 2022-05-20 02:47:20 +02:00
parent 29deb1fd3c
commit b755d2bd71
3 changed files with 24 additions and 4 deletions

View File

@ -12,7 +12,7 @@ declare module "next" {
body: Body;
method: string;
query: {
apiKey: string;
apiKey?: string;
};
}
}

View File

@ -125,7 +125,7 @@ export type EventTypeCustomInputsResponse = BaseResponse & {
event_type_custom_inputs?: Partial<EventTypeCustomInput>[];
};
// From rrule https://jakubroztocil.github.io/rrule freq
enum Frequency {
export enum Frequency {
"YEARLY",
"MONTHLY",
"WEEKLY",

View File

@ -1,7 +1,11 @@
import { z } from "zod";
import { AppStoreLocationType, DefaultLocationType } from "@calcom/app-store/locations";
import { _EventTypeModel as EventType } from "@calcom/prisma/zod";
import { Frequency } from "@lib/types";
import { timeZone } from "@lib/validations/shared/timeZone";
import { jsonSchema } from "./shared/jsonSchema";
export const schemaEventTypeBaseBodyParams = EventType.pick({
@ -89,8 +93,24 @@ export const schemaEventTypeReadPublic = EventType.pick({
metadata: true,
}).merge(
z.object({
recurringEvent: jsonSchema.nullable(),
locations: z.array(jsonSchema).nullable(),
// { dtstart?: Date | undefined; interval?: number | undefined; count?: number | undefined; freq?: Frequency | undefined; until?: Date | undefined; tzid?: string | undefined; } | undefined'
// recurringEvent: jsonSchema.nullable(),
recurringEvent: z.object({
dtstart: z.date().optional(),
interval: z.number().int().optional(),
count: z.number().int().optional(),
freq: z.nativeEnum(Frequency).optional(),
until: z.date().optional(),
tzid: timeZone,
}),
locations: z.array(
z.object({
link: z.string().optional(),
address: z.string().optional(),
hostPhoneNumber: z.string().optional(),
type: z.nativeEnum(DefaultLocationType).or(z.nativeEnum(AppStoreLocationType)),
})
),
metadata: jsonSchema.nullable(),
})
);