chore: Use relative imports for @calcom/prisma inside of @calcom/prisma (#26245)

<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Switch @calcom/prisma to use relative imports for client and enums. This removes self-references, stabilizes builds, and improves type resolution.

- **Refactors**
  - Replaced imports from "@calcom/prisma/*" with local "./client" and "./enums" across extensions, selects, mocks, and availability check.
  - Updated safeJSONStringify parameter type from any to unknown.
  - Minor formatting cleanup in zod-utils.

<sup>Written for commit 85c0a7b75fb1291be5b848a73d1ccb5543283f49. Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
This commit is contained in:
Keith Williams
2025-12-29 00:52:12 -03:00
committed by GitHub
parent 83dcb71947
commit 716e66b0c3
12 changed files with 16 additions and 16 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import { beforeEach } from "vitest";
import { mockDeep, mockReset } from "vitest-mock-extended";
import type { PrismaClient } from "@calcom/prisma";
import type { PrismaClient } from "../client";
beforeEach(() => {
mockReset(prisma);
@@ -1,7 +1,7 @@
import { v5 as uuidv5 } from "uuid";
import { Prisma } from "@calcom/prisma/client";
import { BookingStatus } from "@calcom/prisma/enums";
import { Prisma } from "../client";
import { BookingStatus } from "../enums";
function generateIdempotencyKey({
startTime,
@@ -1,4 +1,4 @@
import { Prisma } from "@calcom/prisma/client";
import { Prisma } from "../client";
export function excludeLockedUsersExtension() {
return Prisma.defineExtension({
@@ -24,7 +24,7 @@ export function excludeLockedUsersExtension() {
});
}
function safeJSONStringify(x: any) {
function safeJSONStringify(x: unknown) {
try {
return JSON.stringify(x);
} catch {
@@ -1,4 +1,4 @@
import { Prisma } from "@calcom/prisma/client";
import { Prisma } from "../client";
export function excludePendingPaymentsExtension() {
return Prisma.defineExtension({
+1 -1
View File
@@ -1,4 +1,4 @@
import { Prisma } from "@calcom/prisma/client";
import { Prisma } from "./client";
export async function isPrismaAvailableCheck(): Promise<boolean> {
try {
+1 -1
View File
@@ -1,4 +1,4 @@
import type { Prisma } from "@calcom/prisma/client";
import type { Prisma } from "../client";
export const safeAppSelect = {
slug: true,
+1 -1
View File
@@ -1,4 +1,4 @@
import type { Prisma } from "@calcom/prisma/client";
import type { Prisma } from "../client";
export const bookingMinimalSelect = {
id: true,
+1 -1
View File
@@ -1,4 +1,4 @@
import type { Prisma } from "@calcom/prisma/client";
import type { Prisma } from "../client";
export const credentialForCalendarServiceSelect = {
id: true,
+1 -1
View File
@@ -1,4 +1,4 @@
import type { Prisma } from "@calcom/prisma/client";
import type { Prisma } from "../client";
export const baseEventTypeSelect = {
id: true,
+1 -1
View File
@@ -1,4 +1,4 @@
import type { Prisma } from "@calcom/prisma/client";
import type { Prisma } from "../client";
export const paymentDataSelect = {
data: true,
+1 -1
View File
@@ -1,4 +1,4 @@
import type { Prisma } from "@calcom/prisma/client";
import type { Prisma } from "../client";
export const availabilityUserSelect = {
id: true,
+3 -3
View File
@@ -11,9 +11,8 @@ import type {
ZodTypeAny,
} from "zod";
import { EventTypeCustomInputType } from "@calcom/prisma/enums";
import type { Prisma } from "./client";
import { EventTypeCustomInputType } from "./enums";
/** @see https://github.com/colinhacks/zod/issues/3155#issuecomment-2060045794 */
export const emailRegex =
@@ -1056,7 +1055,8 @@ export const excludeOrRequireEmailSchema = z.string().superRefine((val, ctx) =>
// Accept forms: domain-only, `@domain`, or `local@domain`
// - Domain labels: alnum, hyphens allowed internally, no leading/trailing hyphen
// - Require at least one dot and end with an alpha TLD of length ≥2
const EMAIL_OR_DOMAIN_PATTERN = /^(?:[a-z0-9._+'-]+@|@)?(?:[a-z]{2,}|(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,})$/i;
const EMAIL_OR_DOMAIN_PATTERN =
/^(?:[a-z0-9._+'-]+@|@)?(?:[a-z]{2,}|(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,})$/i;
const isValid = allDomains.every((entry) => EMAIL_OR_DOMAIN_PATTERN.test(entry));