From e1990258f18c3a82913ce343ee112eb01c4e46e7 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 9 May 2024 11:30:28 +0800 Subject: [PATCH] send analytic events for each digest channel --- packages/api/src/jobs/ai/create_digest.ts | 19 ++++++++++++++++--- packages/api/src/utils/analytics.ts | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/api/src/jobs/ai/create_digest.ts b/packages/api/src/jobs/ai/create_digest.ts index 5f2ad7988..5a4245d61 100644 --- a/packages/api/src/jobs/ai/create_digest.ts +++ b/packages/api/src/jobs/ai/create_digest.ts @@ -28,6 +28,7 @@ import { findUserAndPersonalization, sendPushNotifications, } from '../../services/user' +import { analytics } from '../../utils/analytics' import { enqueueSendEmail } from '../../utils/createTask' import { wordsCount } from '../../utils/helpers' import { logger } from '../../utils/logger' @@ -716,15 +717,27 @@ const sendToChannels = async ( deduplicateChannels.map(async (channel) => { switch (channel) { case 'push': - return sendPushNotification(user.id, digest) + await sendPushNotification(user.id, digest) + break case 'email': - return sendEmail(user, digest, deduplicateChannels) + await sendEmail(user, digest, deduplicateChannels) + break case 'library': - return moveDigestToLibrary(user, digest) + await moveDigestToLibrary(user, digest) + break default: logger.error('Unknown channel', { channel }) return } + + analytics.capture({ + distinctId: user.id, + event: 'digest_created', + properties: { + channel, + digestId: digest.id, + }, + }) }) ) } diff --git a/packages/api/src/utils/analytics.ts b/packages/api/src/utils/analytics.ts index d59b1622a..fa87a3166 100644 --- a/packages/api/src/utils/analytics.ts +++ b/packages/api/src/utils/analytics.ts @@ -30,6 +30,7 @@ class PostHogClient implements AnalyticClient { properties: { ...properties, client, + env: env.server.apiEnv, }, }) }