From 83465dff2df9f10d8cd3cf901c670eced68be61e Mon Sep 17 00:00:00 2001 From: Vladyslav Matsiiako Date: Sun, 13 Aug 2023 18:26:41 -0700 Subject: [PATCH 1/2] added a check for signup events --- backend/src/controllers/v3/secretsController.ts | 6 ++++-- backend/src/helpers/secrets.ts | 5 +++-- backend/src/interfaces/services/SecretService/index.ts | 1 + frontend/src/helpers/project.ts | 3 ++- frontend/src/hooks/api/secrets/types.ts | 1 + 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/backend/src/controllers/v3/secretsController.ts b/backend/src/controllers/v3/secretsController.ts index 4b6c1adab..bbfc74a52 100644 --- a/backend/src/controllers/v3/secretsController.ts +++ b/backend/src/controllers/v3/secretsController.ts @@ -362,7 +362,8 @@ export const createSecret = async (req: Request, res: Response) => { secretCommentCiphertext, secretCommentIV, secretCommentTag, - secretPath = "/" + secretPath = "/", + source } = req.body; const secret = await SecretService.createSecret({ @@ -380,7 +381,8 @@ export const createSecret = async (req: Request, res: Response) => { secretPath, secretCommentCiphertext, secretCommentIV, - secretCommentTag + secretCommentTag, + source }); await EventService.handleEvent({ diff --git a/backend/src/helpers/secrets.ts b/backend/src/helpers/secrets.ts index 880e7cee3..a37da47bb 100644 --- a/backend/src/helpers/secrets.ts +++ b/backend/src/helpers/secrets.ts @@ -326,7 +326,8 @@ export const createSecretHelper = async ({ secretCommentCiphertext, secretCommentIV, secretCommentTag, - secretPath = "/" + secretPath = "/", + source }: CreateSecretParams) => { const secretBlindIndex = await generateSecretBlindIndexHelper({ secretName, @@ -463,7 +464,7 @@ export const createSecretHelper = async ({ const postHogClient = await TelemetryService.getPostHogClient(); - if (postHogClient) { + if (postHogClient && source !== "signup") { postHogClient.capture({ event: "secrets added", distinctId: await TelemetryService.getDistinctId({ diff --git a/backend/src/interfaces/services/SecretService/index.ts b/backend/src/interfaces/services/SecretService/index.ts index 678c67711..3fd19fd7a 100644 --- a/backend/src/interfaces/services/SecretService/index.ts +++ b/backend/src/interfaces/services/SecretService/index.ts @@ -17,6 +17,7 @@ export interface CreateSecretParams { secretCommentIV?: string; secretCommentTag?: string; secretPath: string; + source?: string; } export interface GetSecretsParams { diff --git a/frontend/src/helpers/project.ts b/frontend/src/helpers/project.ts index f0cb8ec4c..938d571de 100644 --- a/frontend/src/helpers/project.ts +++ b/frontend/src/helpers/project.ts @@ -140,7 +140,8 @@ const initProjectHelper = async ({ secretCommentCiphertext: secret.secretCommentCiphertext, secretCommentIV: secret.secretCommentIV, secretCommentTag: secret.secretCommentTag, - secretPath: "/" + secretPath: "/", + source: "signup" }); }); diff --git a/frontend/src/hooks/api/secrets/types.ts b/frontend/src/hooks/api/secrets/types.ts index 964bac6c2..a9ad18f65 100644 --- a/frontend/src/hooks/api/secrets/types.ts +++ b/frontend/src/hooks/api/secrets/types.ts @@ -165,4 +165,5 @@ export type CreateSecretDTO = { secretCommentIV: string; secretCommentTag: string; secretPath: string; + source?: string; } \ No newline at end of file From baa907dbb690f8f3ac9a3837e2b99dfcc7a084f5 Mon Sep 17 00:00:00 2001 From: Tuan Dang Date: Mon, 14 Aug 2023 11:09:22 +0700 Subject: [PATCH 2/2] Update source to metadata.source --- backend/src/controllers/v3/secretsController.ts | 4 ++-- backend/src/helpers/secrets.ts | 6 +++--- backend/src/interfaces/services/SecretService/index.ts | 4 +++- backend/src/routes/v3/secrets.ts | 2 ++ frontend/src/helpers/project.ts | 4 +++- frontend/src/hooks/api/secrets/types.ts | 4 +++- 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/backend/src/controllers/v3/secretsController.ts b/backend/src/controllers/v3/secretsController.ts index bbfc74a52..cd00f0429 100644 --- a/backend/src/controllers/v3/secretsController.ts +++ b/backend/src/controllers/v3/secretsController.ts @@ -363,7 +363,7 @@ export const createSecret = async (req: Request, res: Response) => { secretCommentIV, secretCommentTag, secretPath = "/", - source + metadata } = req.body; const secret = await SecretService.createSecret({ @@ -382,7 +382,7 @@ export const createSecret = async (req: Request, res: Response) => { secretCommentCiphertext, secretCommentIV, secretCommentTag, - source + metadata }); await EventService.handleEvent({ diff --git a/backend/src/helpers/secrets.ts b/backend/src/helpers/secrets.ts index a37da47bb..31341d647 100644 --- a/backend/src/helpers/secrets.ts +++ b/backend/src/helpers/secrets.ts @@ -327,7 +327,7 @@ export const createSecretHelper = async ({ secretCommentIV, secretCommentTag, secretPath = "/", - source + metadata }: CreateSecretParams) => { const secretBlindIndex = await generateSecretBlindIndexHelper({ secretName, @@ -463,8 +463,8 @@ export const createSecretHelper = async ({ }); const postHogClient = await TelemetryService.getPostHogClient(); - - if (postHogClient && source !== "signup") { + + if (postHogClient && (metadata?.source !== "signup")) { postHogClient.capture({ event: "secrets added", distinctId: await TelemetryService.getDistinctId({ diff --git a/backend/src/interfaces/services/SecretService/index.ts b/backend/src/interfaces/services/SecretService/index.ts index 3fd19fd7a..fb3e4442c 100644 --- a/backend/src/interfaces/services/SecretService/index.ts +++ b/backend/src/interfaces/services/SecretService/index.ts @@ -17,7 +17,9 @@ export interface CreateSecretParams { secretCommentIV?: string; secretCommentTag?: string; secretPath: string; - source?: string; + metadata?: { + source?: string; + } } export interface GetSecretsParams { diff --git a/backend/src/routes/v3/secrets.ts b/backend/src/routes/v3/secrets.ts index 224123445..8f8fac9c4 100644 --- a/backend/src/routes/v3/secrets.ts +++ b/backend/src/routes/v3/secrets.ts @@ -180,6 +180,8 @@ router.post( body("secretCommentIV").optional().isString().trim(), body("secretCommentTag").optional().isString().trim(), body("secretPath").default("/").isString().trim(), + body("metadata").optional().isObject().withMessage("Metadata should be an object"), + body("metadata.source").optional().isString().withMessage("Source should be a string"), validateRequest, requireAuth({ acceptedAuthModes: [ diff --git a/frontend/src/helpers/project.ts b/frontend/src/helpers/project.ts index 938d571de..6a1efc135 100644 --- a/frontend/src/helpers/project.ts +++ b/frontend/src/helpers/project.ts @@ -141,7 +141,9 @@ const initProjectHelper = async ({ secretCommentIV: secret.secretCommentIV, secretCommentTag: secret.secretCommentTag, secretPath: "/", - source: "signup" + metadata: { + source: "signup" + } }); }); diff --git a/frontend/src/hooks/api/secrets/types.ts b/frontend/src/hooks/api/secrets/types.ts index a9ad18f65..2bf304f4e 100644 --- a/frontend/src/hooks/api/secrets/types.ts +++ b/frontend/src/hooks/api/secrets/types.ts @@ -165,5 +165,7 @@ export type CreateSecretDTO = { secretCommentIV: string; secretCommentTag: string; secretPath: string; - source?: string; + metadata?: { + source?: string; + } } \ No newline at end of file