Files
calendar/packages/prisma/extensions/usage-tracking.ts
T
fba3f46779 fix: use singleton in license key service (#16131)
* use singleton

* fix typo

* Fix getInstance call

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2024-08-08 15:08:11 +00:00

33 lines
836 B
TypeScript

import { Prisma } from "@prisma/client";
import { waitUntil } from "@vercel/functions";
import { UsageEvent, LicenseKeySingleton } from "@calcom/ee/common/server/LicenseKeyService";
async function incrementUsage(event?: UsageEvent) {
try {
const licenseKeyService = await LicenseKeySingleton.getInstance();
await licenseKeyService.incrementUsage(event);
} catch (e) {
console.log(e);
}
}
export function usageTrackingExtention() {
return Prisma.defineExtension({
query: {
booking: {
async create({ args, query }) {
waitUntil(incrementUsage(UsageEvent.BOOKING));
return query(args);
},
},
user: {
async create({ args, query }) {
waitUntil(incrementUsage(UsageEvent.USER));
return query(args);
},
},
},
});
}