From dfcfe64b1b87064d8a241123c2703328154ba640 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Wed, 13 Sep 2023 13:44:26 +0800 Subject: [PATCH] Add a create_user event --- packages/api/src/events/user/user_created.ts | 3 --- packages/api/src/services/create_user.ts | 22 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/api/src/events/user/user_created.ts b/packages/api/src/events/user/user_created.ts index 1de798307..13c46aae0 100644 --- a/packages/api/src/events/user/user_created.ts +++ b/packages/api/src/events/user/user_created.ts @@ -5,11 +5,8 @@ import { } from 'typeorm' import { createPubSubClient } from '../../datalayer/pubsub' import { Profile } from '../../entity/profile' -import { env } from '../../env' import { addPopularReadsForNewUser } from '../../services/popular_reads' -import { analytics } from '../../utils/analytics' import { IntercomClient } from '../../utils/intercom' -import { logger } from '../../utils/logger' @EventSubscriber() export class CreateIntercomAccount diff --git a/packages/api/src/services/create_user.ts b/packages/api/src/services/create_user.ts index 5324fd82d..649e04b34 100644 --- a/packages/api/src/services/create_user.ts +++ b/packages/api/src/services/create_user.ts @@ -12,6 +12,8 @@ import { logger } from '../utils/logger' import { validateUsername } from '../utils/usernamePolicy' import { sendConfirmationEmail } from './send_emails' import { Filter } from '../entity/filter' +import { analytics } from '../utils/analytics' +import { env } from '../env' export const createUser = async (input: { provider: AuthProvider @@ -41,6 +43,16 @@ export const createUser = async (input: { user: existingUser, }) + analytics.track({ + userId: existingUser.id, + event: 'create_user', + properties: { + env: env.server.apiEnv, + email: existingUser.email, + username: profile.username, + }, + }) + return [existingUser, profile] } @@ -99,6 +111,16 @@ export const createUser = async (input: { } } + analytics.track({ + userId: user.id, + event: 'create_user', + properties: { + env: env.server.apiEnv, + email: user.email, + username: profile.username, + }, + }) + return [user, profile] }