From 9035762d432866e2812ac82d2ae5d76a5623167d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Malfait?= Date: Mon, 4 Mar 2024 19:04:55 +0100 Subject: [PATCH] Fix telemetry (#4303) --- .../src/core/analytics/analytics.resolver.ts | 12 ++++++++++-- .../src/core/analytics/analytics.service.ts | 9 +++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/twenty-server/src/core/analytics/analytics.resolver.ts b/packages/twenty-server/src/core/analytics/analytics.resolver.ts index 880708b3c..29725c7cd 100644 --- a/packages/twenty-server/src/core/analytics/analytics.resolver.ts +++ b/packages/twenty-server/src/core/analytics/analytics.resolver.ts @@ -1,6 +1,8 @@ -import { Resolver, Mutation, Args } from '@nestjs/graphql'; +import { Resolver, Mutation, Args, Context } from '@nestjs/graphql'; import { UseGuards } from '@nestjs/common'; +import { Request } from 'express'; + import { OptionalJwtAuthGuard } from 'src/guards/optional-jwt.auth.guard'; import { AuthWorkspace } from 'src/decorators/auth/auth-workspace.decorator'; import { AuthUser } from 'src/decorators/auth/auth-user.decorator'; @@ -22,7 +24,13 @@ export class AnalyticsResolver { @Args() createEventInput: CreateAnalyticsInput, @AuthWorkspace() workspace: Workspace | undefined, @AuthUser({ allowUndefined: true }) user: User | undefined, + @Context('req') request: Request, ) { - return this.analyticsService.create(createEventInput, user, workspace); + return this.analyticsService.create( + createEventInput, + user, + workspace, + request, + ); } } diff --git a/packages/twenty-server/src/core/analytics/analytics.service.ts b/packages/twenty-server/src/core/analytics/analytics.service.ts index 7b6ffb92d..b5b9a60c0 100644 --- a/packages/twenty-server/src/core/analytics/analytics.service.ts +++ b/packages/twenty-server/src/core/analytics/analytics.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@nestjs/common'; import { HttpService } from '@nestjs/axios'; +import { Request } from 'express'; + import { anonymize } from 'src/utils/anonymize'; import { EnvironmentService } from 'src/integrations/environment/environment.service'; import { User } from 'src/core/user/user.entity'; @@ -19,6 +21,7 @@ export class AnalyticsService { createEventInput: CreateAnalyticsInput, user: User | undefined, workspace: Workspace | undefined, + request: Request, ) { if (!this.environmentService.isTelemetryEnabled()) { return { success: true }; @@ -30,6 +33,7 @@ export class AnalyticsService { const data = { type: createEventInput.type, data: { + hostname: request.hostname, userUUID: user ? anonymizationEnabled ? anonymize(user.id) @@ -40,13 +44,14 @@ export class AnalyticsService { ? anonymize(workspace.id) : workspace.id : undefined, - workspaceDomain: workspace ? workspace.domainName : undefined, + workspaceDisplayName: workspace ? workspace.displayName : undefined, + workspaceDomainName: workspace ? workspace.domainName : undefined, ...createEventInput.data, }, }; try { - await this.httpService.post('/event?noToken', data); + await this.httpService.axiosRef.post('/v1', data); } catch {} return { success: true };