feat(tracking): integrate HubSpot tracking functionality and reintroduce cancell-deployments export

This commit is contained in:
Mauricio Siu
2025-10-26 01:54:05 -06:00
parent a0868ad57c
commit 2cda9821a5
3 changed files with 150 additions and 3 deletions
+23 -1
View File
@@ -10,6 +10,7 @@ import { db } from "../db";
import * as schema from "../db/schema";
import { getUserByToken } from "../services/admin";
import { updateUser } from "../services/user";
import { getHubSpotUTK, submitToHubSpot } from "../utils/tracking/hubspot";
import { sendEmail } from "../verification/send-verification-email";
import { getPublicIpWithFallback } from "../wss/utils";
@@ -115,7 +116,7 @@ const { handler, api } = betterAuth({
}
}
},
after: async (user) => {
after: async (user, context) => {
const isAdminPresent = await db.query.member.findFirst({
where: eq(schema.member.role, "owner"),
});
@@ -126,6 +127,27 @@ const { handler, api } = betterAuth({
});
}
if (IS_CLOUD) {
try {
const hutk = getHubSpotUTK(
context?.request?.headers?.get("cookie") || undefined,
);
const hubspotSuccess = await submitToHubSpot(
{
email: user.email,
firstName: user.name,
lastName: user.name,
},
hutk,
);
if (!hubspotSuccess) {
console.error("Failed to submit to HubSpot");
}
} catch (error) {
console.error("Error submitting to HubSpot", error);
}
}
if (IS_CLOUD || !isAdminPresent) {
await db.transaction(async (tx) => {
const organization = await tx