Files
formbricks-formbricks/packages/lib/posthogServer.ts
2024-04-05 18:47:36 +02:00

37 lines
887 B
TypeScript

import { PostHog } from "posthog-node";
import { env } from "./env";
const enabled =
process.env.NODE_ENV === "production" &&
env.NEXT_PUBLIC_POSTHOG_API_HOST &&
env.NEXT_PUBLIC_POSTHOG_API_KEY;
export const capturePosthogEnvironmentEvent = async (
environmentId: string,
eventName: string,
properties: any = {}
) => {
if (
!enabled ||
typeof env.NEXT_PUBLIC_POSTHOG_API_HOST !== "string" ||
typeof env.NEXT_PUBLIC_POSTHOG_API_KEY !== "string"
) {
return;
}
try {
const client = new PostHog(env.NEXT_PUBLIC_POSTHOG_API_KEY, {
host: env.NEXT_PUBLIC_POSTHOG_API_HOST,
});
client.capture({
distinctId: environmentId,
event: eventName,
groups: { environment: environmentId },
properties,
});
await client.shutdown();
} catch (error) {
console.error("error sending posthog event:", error);
}
};