* migration and init to accept creationSource for new bookings * V1 create booking * V1 user creation * webapp booking + V1 user * user creation in V1, V2 and webapp * booking source V2 and fix for v1 user * fit type * --fix type * add test -- WIP * fix type * fix type * ^ * Need more sleep zzz * -_- * bump libraries platform * adds for v2 recurring booking * fix lint * instant meetings * fix: api v2 creation source * fixup! fix: api v2 creation source * bump libraries * add user * fix test * fixup! fix test * add more source * more source... * fix type & test --1 * fix type & test --2 * typefix * fixup test --------- Co-authored-by: Morgan Vernay <morgan@cal.com>
25 lines
772 B
TypeScript
25 lines
772 B
TypeScript
import { z } from "zod";
|
|
|
|
import { emailSchema } from "@calcom/lib/emailSchema";
|
|
import slugify from "@calcom/lib/slugify";
|
|
import { CreationSource } from "@calcom/prisma/enums";
|
|
|
|
export enum BillingPeriod {
|
|
MONTHLY = "MONTHLY",
|
|
ANNUALLY = "ANNUALLY",
|
|
}
|
|
|
|
export const ZCreateInputSchema = z.object({
|
|
name: z.string(),
|
|
slug: z.string().transform((val) => slugify(val.trim())),
|
|
orgOwnerEmail: emailSchema,
|
|
language: z.string().optional(),
|
|
seats: z.number().optional(),
|
|
pricePerSeat: z.number().optional(),
|
|
isPlatform: z.boolean().default(false),
|
|
billingPeriod: z.nativeEnum(BillingPeriod).default(BillingPeriod.MONTHLY).optional(),
|
|
creationSource: z.nativeEnum(CreationSource),
|
|
});
|
|
|
|
export type TCreateInputSchema = z.infer<typeof ZCreateInputSchema>;
|