diff --git a/packages/prisma/extensions/usage-tracking.ts b/packages/prisma/extensions/usage-tracking.ts index 08e5186f40..dad16cb1a2 100644 --- a/packages/prisma/extensions/usage-tracking.ts +++ b/packages/prisma/extensions/usage-tracking.ts @@ -1,12 +1,32 @@ import { waitUntil } from "@vercel/functions"; import { UsageEvent, LicenseKeySingleton } from "@calcom/ee/common/server/LicenseKeyService"; -import { DeploymentRepository } from "@calcom/lib/server/repository/deployment"; +import type { IDeploymentRepository } from "@calcom/lib/server/repository/deployment.interface"; import { Prisma } from "@calcom/prisma/client"; import type { PrismaClient } from "@calcom/prisma/client"; +class InlineDeploymentRepository implements IDeploymentRepository { + constructor(private prisma: PrismaClient) {} + + async getLicenseKeyWithId(id: number): Promise { + const deployment = await this.prisma.deployment.findUnique({ + where: { id }, + select: { licenseKey: true }, + }); + return deployment?.licenseKey || null; + } + + async getSignatureToken(id: number): Promise { + const deployment = await this.prisma.deployment.findUnique({ + where: { id }, + select: { signatureTokenEncrypted: true }, + }); + return deployment?.signatureTokenEncrypted || null; + } +} + async function incrementUsage(prismaClient: PrismaClient, event?: UsageEvent) { - const deploymentRepo = new DeploymentRepository(prismaClient); + const deploymentRepo = new InlineDeploymentRepository(prismaClient); try { const licenseKeyService = await LicenseKeySingleton.getInstance(deploymentRepo); await licenseKeyService.incrementUsage(event);