From 15bfeb30d7ce22a44f6dce9a74803a97ef43e2e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Omar=20L=C3=B3pez?= Date: Thu, 17 Feb 2022 17:25:19 -0700 Subject: [PATCH] Tweak/gitignore prisma zod (#1905) * Extracts ignored createEventTypeBaseInput * Adds postinstall script --- apps/web/server/routers/viewer/eventTypes.tsx | 2 +- package.json | 1 + packages/prisma/zod-utils.ts | 18 ++++++++++++++++++ turbo.json | 3 +++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/apps/web/server/routers/viewer/eventTypes.tsx b/apps/web/server/routers/viewer/eventTypes.tsx index b6519406..53c0dd75 100644 --- a/apps/web/server/routers/viewer/eventTypes.tsx +++ b/apps/web/server/routers/viewer/eventTypes.tsx @@ -8,7 +8,7 @@ import { _EventTypeModel, } from "@calcom/prisma/zod"; import { stringOrNumber } from "@calcom/prisma/zod-utils"; -import { createEventTypeInput } from "@calcom/prisma/zod/eventtypeCustom"; +import { createEventTypeInput } from "@calcom/prisma/zod-utils"; import { createProtectedRouter } from "@server/createRouter"; import { viewerRouter } from "@server/routers/viewer"; diff --git a/package.json b/package.json index d0bacc2b..ae045be2 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "lint": "turbo run lint", "pre-commit": "lint-staged", "prepare": "husky install", + "postinstall": "yarn workspace @calcom/prisma generate-schemas", "start": "turbo run start --scope=\"@calcom/web\"", "test": "turbo run test", "test-playwright": "yarn playwright test", diff --git a/packages/prisma/zod-utils.ts b/packages/prisma/zod-utils.ts index 76dc746b..011c9710 100644 --- a/packages/prisma/zod-utils.ts +++ b/packages/prisma/zod-utils.ts @@ -2,6 +2,8 @@ import { z } from "zod"; import { LocationType } from "@calcom/lib/location"; +import { _EventTypeModel } from "./zod/eventtype"; + export const eventTypeLocations = z.array( z.object({ type: z.nativeEnum(LocationType), address: z.string().optional() }) ); @@ -9,3 +11,19 @@ export const eventTypeLocations = z.array( export const eventTypeSlug = z.string().transform((val) => val.trim()); export const stringToDate = z.string().transform((a) => new Date(a)); export const stringOrNumber = z.union([z.string().transform((v) => parseInt(v, 10)), z.number().int()]); + +const createEventTypeBaseInput = _EventTypeModel + .pick({ + title: true, + slug: true, + description: true, + length: true, + teamId: true, + schedulingType: true, + }) + .refine((data) => (data.teamId ? data.teamId && data.schedulingType : true), { + path: ["schedulingType"], + message: "You must select a scheduling type for team events", + }); + +export const createEventTypeInput = createEventTypeBaseInput; diff --git a/turbo.json b/turbo.json index 1ee7e8eb..862195a4 100644 --- a/turbo.json +++ b/turbo.json @@ -51,6 +51,9 @@ ], "outputs": [".next/**"] }, + "@calcom/web#dev": { + "dependsOn": ["@calcom/prisma#build"] + }, "@calcom/web#dx": { "dependsOn": ["@calcom/prisma#dx"] },