Make capturing according to serverless
This commit is contained in:
18
package-lock.json
generated
18
package-lock.json
generated
@@ -14,6 +14,7 @@
|
||||
"@nuxt/image": "^1.10.0",
|
||||
"@nuxt/ui": "3.0.2",
|
||||
"@vee-validate/nuxt": "^4.15.0",
|
||||
"@vercel/functions": "^2.2.3",
|
||||
"@vueuse/nuxt": "^13.0.0",
|
||||
"destr": "^2.0.5",
|
||||
"drizzle-orm": "^0.41.0",
|
||||
@@ -3872,6 +3873,23 @@
|
||||
"pathe": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@vercel/functions": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@vercel/functions/-/functions-2.2.3.tgz",
|
||||
"integrity": "sha512-Z6xwsxM/57/92PLW2HoLLmVw4+Nb5OZzMzDA4qfkksWgG1k5dGV7kvP1TDEOlW3WHjqWtfPJBcd61dE2p0mbxQ==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@aws-sdk/credential-provider-web-identity": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@aws-sdk/credential-provider-web-identity": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@vercel/nft": {
|
||||
"version": "0.29.2",
|
||||
"resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.29.2.tgz",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"@nuxt/image": "^1.10.0",
|
||||
"@nuxt/ui": "3.0.2",
|
||||
"@vee-validate/nuxt": "^4.15.0",
|
||||
"@vercel/functions": "^2.2.3",
|
||||
"@vueuse/nuxt": "^13.0.0",
|
||||
"destr": "^2.0.5",
|
||||
"drizzle-orm": "^0.41.0",
|
||||
|
||||
@@ -54,15 +54,7 @@ export default defineEventHandler(async (event) => {
|
||||
});
|
||||
});
|
||||
|
||||
posthog.identify({
|
||||
distinctId: String(user.id),
|
||||
properties: {
|
||||
name: user.name,
|
||||
country: user.country,
|
||||
},
|
||||
});
|
||||
|
||||
posthog.capture({
|
||||
posthog.captureImmediate({
|
||||
distinctId: String(user.id),
|
||||
event: "content generated",
|
||||
properties: {
|
||||
|
||||
@@ -20,7 +20,7 @@ export default defineEventHandler(async (event) => {
|
||||
},
|
||||
});
|
||||
|
||||
posthog.identify({
|
||||
posthog.identifyImmediate({
|
||||
distinctId: String(user!.id),
|
||||
properties: {
|
||||
name: user!.name,
|
||||
@@ -32,7 +32,7 @@ export default defineEventHandler(async (event) => {
|
||||
.delete(tables.users)
|
||||
.where(eq(tables.users.id, get(body, "object_id")));
|
||||
|
||||
posthog.capture({
|
||||
posthog.captureImmediate({
|
||||
distinctId: get(body, "object_id"),
|
||||
event: "user deleted",
|
||||
});
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
import { PostHog } from "posthog-node";
|
||||
|
||||
import { waitUntil } from "@vercel/functions";
|
||||
export default defineNitroPlugin((nitroApp) => {
|
||||
const runtimeConfig = useRuntimeConfig();
|
||||
|
||||
const posthog = new PostHog(runtimeConfig.public.posthogPublicKey, {
|
||||
host: runtimeConfig.public.posthogHost,
|
||||
defaults: runtimeConfig.public.posthogDefaults,
|
||||
flushAt: 1,
|
||||
flushInterval: 0,
|
||||
});
|
||||
|
||||
nitroApp.hooks.hook("request", (event) => {
|
||||
event.context.posthog = posthog;
|
||||
});
|
||||
|
||||
nitroApp.hooks.hook("beforeResponse", async () => {
|
||||
await posthog.shutdown();
|
||||
nitroApp.hooks.hook("beforeResponse", () => {
|
||||
waitUntil(posthog.shutdown());
|
||||
});
|
||||
|
||||
nitroApp.hooks.hook("close", async () => {
|
||||
await posthog.shutdown();
|
||||
nitroApp.hooks.hook("close", () => {
|
||||
waitUntil(posthog.shutdown());
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ export default defineOAuthStravaEventHandler({
|
||||
user: userPayload,
|
||||
});
|
||||
|
||||
posthog.identify({
|
||||
posthog.identifyImmediate({
|
||||
distinctId: String(user!.id),
|
||||
properties: {
|
||||
name: user!.name,
|
||||
@@ -90,7 +90,7 @@ export default defineOAuthStravaEventHandler({
|
||||
},
|
||||
});
|
||||
|
||||
posthog.capture({
|
||||
posthog.captureImmediate({
|
||||
distinctId: String(user!.id),
|
||||
event: "user logged in",
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user