From 82dfca827272d4b48e321f4b95ce8d0fc1f3fc83 Mon Sep 17 00:00:00 2001 From: Alex van Andel Date: Thu, 25 Sep 2025 18:32:11 +0100 Subject: [PATCH] chore: Add createdAt default to eventtype table and remove extension (#24075) --- .../extensions/event-type-timestamps.ts | 27 ------------------- packages/prisma/index.ts | 3 --- .../migration.sql | 2 ++ packages/prisma/schema.prisma | 2 +- 4 files changed, 3 insertions(+), 31 deletions(-) delete mode 100644 packages/prisma/extensions/event-type-timestamps.ts create mode 100644 packages/prisma/migrations/20250925122623_add_default_now_eventtype_table_created_at/migration.sql diff --git a/packages/prisma/extensions/event-type-timestamps.ts b/packages/prisma/extensions/event-type-timestamps.ts deleted file mode 100644 index 9f1f8d5388..0000000000 --- a/packages/prisma/extensions/event-type-timestamps.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Prisma } from "@calcom/prisma/client"; - -export function eventTypeTimestampsExtension() { - return Prisma.defineExtension({ - query: { - eventType: { - async create({ args, query }) { - const now = new Date(); - args.data.createdAt = now; - return query(args); - }, - async createMany({ args, query }) { - const now = new Date(); - if (Array.isArray(args.data)) { - args.data = args.data.map((item) => ({ - ...item, - createdAt: now, - })); - } else { - args.data.createdAt = now; - } - return query(args); - }, - }, - }, - }); -} diff --git a/packages/prisma/index.ts b/packages/prisma/index.ts index 03a4456ab4..c014de6c7d 100644 --- a/packages/prisma/index.ts +++ b/packages/prisma/index.ts @@ -2,7 +2,6 @@ import { PrismaClient, type Prisma } from "@calcom/prisma/client"; import { bookingIdempotencyKeyExtension } from "./extensions/booking-idempotency-key"; import { disallowUndefinedDeleteUpdateManyExtension } from "./extensions/disallow-undefined-delete-update-many"; -import { eventTypeTimestampsExtension } from "./extensions/event-type-timestamps"; import { excludeLockedUsersExtension } from "./extensions/exclude-locked-users"; import { excludePendingPaymentsExtension } from "./extensions/exclude-pending-payment-teams"; import { usageTrackingExtention } from "./extensions/usage-tracking"; @@ -43,7 +42,6 @@ export const customPrisma = (options?: Prisma.PrismaClientOptions) => .$extends(excludeLockedUsersExtension()) .$extends(excludePendingPaymentsExtension()) .$extends(bookingIdempotencyKeyExtension()) - .$extends(eventTypeTimestampsExtension()) .$extends(disallowUndefinedDeleteUpdateManyExtension()) as unknown as PrismaClient; // If any changed on middleware server restart is required @@ -60,7 +58,6 @@ export const prisma: PrismaClient = baseClient .$extends(excludeLockedUsersExtension()) .$extends(excludePendingPaymentsExtension()) .$extends(bookingIdempotencyKeyExtension()) - .$extends(eventTypeTimestampsExtension()) .$extends(disallowUndefinedDeleteUpdateManyExtension()) as unknown as PrismaClient; // This prisma instance is meant to be used only for READ operations. diff --git a/packages/prisma/migrations/20250925122623_add_default_now_eventtype_table_created_at/migration.sql b/packages/prisma/migrations/20250925122623_add_default_now_eventtype_table_created_at/migration.sql new file mode 100644 index 0000000000..37d45c08dd --- /dev/null +++ b/packages/prisma/migrations/20250925122623_add_default_now_eventtype_table_created_at/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "public"."EventType" ALTER COLUMN "createdAt" SET DEFAULT CURRENT_TIMESTAMP; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 4f08fa2c63..52d99614f0 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -244,7 +244,7 @@ model EventType { bookingRequiresAuthentication Boolean @default(false) - createdAt DateTime? + createdAt DateTime? @default(now()) updatedAt DateTime? @updatedAt @@unique([userId, slug])