Skip to content

Commit c06d907

Browse files
committed
More renaming
1 parent e052929 commit c06d907

File tree

12 files changed

+40
-56
lines changed

12 files changed

+40
-56
lines changed

packages/twenty-server/src/engine/core-modules/audit/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This module provides analytics tracking functionality for the Twenty application
66

77
### Tracking Events
88

9-
The `AuditService` provides a `createAnalyticsContext` method that returns an object with a `track` method. The `track` method is used to track events.
9+
The `AuditService` provides a `createContext` method that returns an object with a `track` method. The `track` method is used to track events.
1010

1111
```typescript
1212
import { Injectable } from '@nestjs/common';
@@ -19,7 +19,7 @@ export class MyService {
1919

2020
async doSomething() {
2121
// Create an analytics context
22-
const analytics = this.auditService.createAnalyticsContext({
22+
const analytics = this.auditService.createContext({
2323
workspaceId: 'workspace-id',
2424
userId: 'user-id',
2525
});
@@ -89,7 +89,7 @@ export type TrackEventProperties<T extends TrackEventName> = T extends keyof Tra
8989

9090
### AuditService
9191

92-
#### createAnalyticsContext(context?)
92+
#### createContext(context?)
9393

9494
Creates an analytics context with the given user ID and workspace ID.
9595

packages/twenty-server/src/engine/core-modules/audit/audit.exception.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { CustomException } from 'src/utils/custom-exception';
22

3-
export class AnalyticsException extends CustomException {
3+
export class AuditException extends CustomException {
44
constructor(message: string, code: AuditExceptionCode) {
55
super(message, code);
66
}

packages/twenty-server/src/engine/core-modules/audit/audit.module.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ import { Module } from '@nestjs/common';
33
import { ClickHouseModule } from 'src/database/clickHouse/clickHouse.module';
44
import { JwtModule } from 'src/engine/core-modules/jwt/jwt.module';
55

6-
import { AnalyticsResolver } from './analytics.resolver';
6+
import { AuditResolver } from './audit.resolver';
77

88
import { AuditService } from './services/audit.service';
99

1010
@Module({
11-
providers: [AnalyticsResolver, AuditService],
11+
providers: [AuditResolver, AuditService],
1212
imports: [JwtModule, ClickHouseModule],
1313
exports: [AuditService],
1414
})

packages/twenty-server/src/engine/core-modules/audit/analytics.resolver.spec.ts renamed to packages/twenty-server/src/engine/core-modules/audit/audit.resolver.spec.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
import { Test, TestingModule } from '@nestjs/testing';
22

33
import {
4-
AnalyticsException,
4+
AuditException,
55
AuditExceptionCode,
66
} from 'src/engine/core-modules/audit/audit.exception';
77
import { User } from 'src/engine/core-modules/user/user.entity';
88
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
99

10-
import { AnalyticsResolver } from './analytics.resolver';
10+
import { AuditResolver } from './audit.resolver';
1111

1212
import { AuditService } from './services/audit.service';
1313

14-
describe('AnalyticsResolver', () => {
15-
let resolver: AnalyticsResolver;
14+
describe('AuditResolver', () => {
15+
let resolver: AuditResolver;
1616
let auditService: jest.Mocked<AuditService>;
1717

1818
beforeEach(async () => {
1919
auditService = {
20-
createAnalyticsContext: jest.fn(),
20+
createContext: jest.fn(),
2121
} as any;
2222

2323
const module: TestingModule = await Test.createTestingModule({
2424
providers: [
25-
AnalyticsResolver,
25+
AuditResolver,
2626
{
2727
provide: AuditService,
2828
useValue: auditService,
2929
},
3030
],
3131
}).compile();
3232

33-
resolver = module.get<AnalyticsResolver>(AnalyticsResolver);
33+
resolver = module.get<AuditResolver>(AuditResolver);
3434
});
3535

3636
it('should be defined', () => {
@@ -40,7 +40,7 @@ describe('AnalyticsResolver', () => {
4040
it('should handle a valid pageview input', async () => {
4141
const mockPageview = jest.fn().mockResolvedValue('Pageview created');
4242

43-
auditService.createAnalyticsContext.mockReturnValue({
43+
auditService.createContext.mockReturnValue({
4444
pageview: mockPageview,
4545
track: jest.fn(),
4646
});
@@ -56,7 +56,7 @@ describe('AnalyticsResolver', () => {
5656
{ id: 'user-1' } as User,
5757
);
5858

59-
expect(auditService.createAnalyticsContext).toHaveBeenCalledWith({
59+
expect(auditService.createContext).toHaveBeenCalledWith({
6060
workspaceId: 'workspace-1',
6161
userId: 'user-1',
6262
});
@@ -67,7 +67,7 @@ describe('AnalyticsResolver', () => {
6767
it('should handle a valid track input', async () => {
6868
const mockTrack = jest.fn().mockResolvedValue('Track created');
6969

70-
auditService.createAnalyticsContext.mockReturnValue({
70+
auditService.createContext.mockReturnValue({
7171
track: mockTrack,
7272
pageview: jest.fn(),
7373
});
@@ -83,21 +83,21 @@ describe('AnalyticsResolver', () => {
8383
{ id: 'user-2' } as User,
8484
);
8585

86-
expect(auditService.createAnalyticsContext).toHaveBeenCalledWith({
86+
expect(auditService.createContext).toHaveBeenCalledWith({
8787
workspaceId: 'workspace-2',
8888
userId: 'user-2',
8989
});
9090
expect(mockTrack).toHaveBeenCalledWith('Custom Domain Activated', {});
9191
expect(result).toBe('Track created');
9292
});
9393

94-
it('should throw an AnalyticsException for invalid input', async () => {
94+
it('should throw an AuditException for invalid input', async () => {
9595
const invalidInput = { type: 'invalid' };
9696

9797
await expect(
9898
resolver.trackAnalytics(invalidInput as any, undefined, undefined),
9999
).rejects.toThrowError(
100-
new AnalyticsException(
100+
new AuditException(
101101
'Invalid analytics input',
102102
AuditExceptionCode.INVALID_TYPE,
103103
),

packages/twenty-server/src/engine/core-modules/audit/analytics.resolver.ts renamed to packages/twenty-server/src/engine/core-modules/audit/audit.resolver.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Args, Mutation, Resolver } from '@nestjs/graphql';
22

33
import {
4-
AnalyticsException,
4+
AuditException,
55
AuditExceptionCode,
66
} from 'src/engine/core-modules/audit/audit.exception';
77
import { User } from 'src/engine/core-modules/user/user.entity';
@@ -18,7 +18,7 @@ import { Analytics } from './entities/analytics.entity';
1818
import { AuditService } from './services/audit.service';
1919

2020
@Resolver(() => Analytics)
21-
export class AnalyticsResolver {
21+
export class AuditResolver {
2222
constructor(private readonly auditService: AuditService) {}
2323

2424
// preparing for new name
@@ -38,7 +38,7 @@ export class AnalyticsResolver {
3838
@AuthWorkspace() workspace: Workspace | undefined,
3939
@AuthUser({ allowUndefined: true }) user: User | undefined,
4040
) {
41-
const analyticsContext = this.auditService.createAnalyticsContext({
41+
const analyticsContext = this.auditService.createContext({
4242
workspaceId: workspace?.id,
4343
userId: user?.id,
4444
});
@@ -57,7 +57,7 @@ export class AnalyticsResolver {
5757
);
5858
}
5959

60-
throw new AnalyticsException(
60+
throw new AuditException(
6161
'Invalid analytics input',
6262
AuditExceptionCode.INVALID_TYPE,
6363
);

packages/twenty-server/src/engine/core-modules/audit/services/audit.service.spec.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Test, TestingModule } from '@nestjs/testing';
22

3-
import { AnalyticsContextMock } from 'test/utils/analytics-context.mock';
3+
import { AuditContextMock } from 'test/utils/audit-context.mock';
44

55
import { ClickHouseService } from 'src/database/clickHouse/clickHouse.service';
66
import { CUSTOM_DOMAIN_ACTIVATED_EVENT } from 'src/engine/core-modules/audit/utils/events/track/custom-domain/custom-domain-activated';
@@ -18,7 +18,7 @@ describe('AuditService', () => {
1818
{
1919
provide: AuditService,
2020
useValue: {
21-
createAnalyticsContext: AnalyticsContextMock,
21+
createAnalyticsContext: AuditContextMock,
2222
},
2323
},
2424
{
@@ -64,7 +64,7 @@ describe('AuditService', () => {
6464

6565
it('should call track with correct parameters', async () => {
6666
const trackSpy = jest.fn().mockResolvedValue({ success: true });
67-
const mockContext = AnalyticsContextMock({
67+
const mockContext = AuditContextMock({
6868
track: trackSpy,
6969
});
7070

@@ -81,7 +81,7 @@ describe('AuditService', () => {
8181

8282
it('should call pageview with correct parameters', async () => {
8383
const pageviewSpy = jest.fn().mockResolvedValue({ success: true });
84-
const mockContext = AnalyticsContextMock({
84+
const mockContext = AuditContextMock({
8585
pageview: pageviewSpy,
8686
});
8787

packages/twenty-server/src/engine/core-modules/audit/services/audit.service.ts

+7-21
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common';
22

33
import { ClickHouseService } from 'src/database/clickHouse/clickHouse.service';
44
import {
5-
AnalyticsException,
5+
AuditException,
66
AuditExceptionCode,
77
} from 'src/engine/core-modules/audit/audit.exception';
88
import {
@@ -23,7 +23,7 @@ export class AuditService {
2323
private readonly clickHouseService: ClickHouseService,
2424
) {}
2525

26-
createAnalyticsContext(context?: {
26+
createContext(context?: {
2727
workspaceId?: string | null | undefined;
2828
userId?: string | null | undefined;
2929
}) {
@@ -39,44 +39,30 @@ export class AuditService {
3939
event: T,
4040
properties: TrackEventProperties<T>,
4141
) =>
42-
this.preventAnalyticsIfDisabled(() =>
42+
this.preventIfDisabled(() =>
4343
this.clickHouseService.insert('auditEvent', [
4444
{ ...userIdAndWorkspaceId, ...makeTrackEvent(event, properties) },
4545
]),
4646
),
4747
pageview: (name: string, properties: Partial<PageviewProperties>) =>
48-
this.preventAnalyticsIfDisabled(() =>
48+
this.preventIfDisabled(() =>
4949
this.clickHouseService.insert('pageview', [
5050
{ ...userIdAndWorkspaceId, ...makePageview(name, properties) },
5151
]),
5252
),
5353
};
5454
}
5555

56-
private async pushEvent(
57-
data: (
58-
| ReturnType<typeof makeTrackEvent>
59-
| ReturnType<typeof makePageview>
60-
) & { userId?: string | null; workspaceId?: string | null },
61-
) {
62-
const { type, ...rest } = data;
63-
64-
return await this.clickHouseService.insert(
65-
type === 'page' ? 'pageview' : 'auditEvent',
66-
[rest],
67-
);
68-
}
69-
70-
private preventAnalyticsIfDisabled(
56+
private preventIfDisabled(
7157
sendEventOrPageviewFunction: () => Promise<{ success: boolean }>,
7258
) {
73-
if (!this.twentyConfigService.get('ANALYTICS_ENABLED')) {
59+
if (!this.twentyConfigService.get('CLICKHOUSE_URL')) {
7460
return { success: true };
7561
}
7662
try {
7763
return sendEventOrPageviewFunction();
7864
} catch (err) {
79-
return new AnalyticsException(err, AuditExceptionCode.INVALID_INPUT);
65+
return new AuditException(err, AuditExceptionCode.INVALID_INPUT);
8066
}
8167
}
8268
}

packages/twenty-server/src/engine/core-modules/domain-manager/controllers/cloudflare.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Test, TestingModule } from '@nestjs/testing';
22
import { getRepositoryToken } from '@nestjs/typeorm';
33

44
import { Request, Response } from 'express';
5-
import { AnalyticsContextMock } from 'test/utils/analytics-context.mock';
5+
import { AuditContextMock } from 'test/utils/audit-context.mock';
66
import { Repository } from 'typeorm';
77

88
import { AuditService } from 'src/engine/core-modules/audit/services/audit.service';
@@ -66,7 +66,7 @@ describe('CloudflareController - customHostnameWebhooks', () => {
6666
{
6767
provide: AuditService,
6868
useValue: {
69-
createAnalyticsContext: AnalyticsContextMock,
69+
createAnalyticsContext: AuditContextMock,
7070
},
7171
},
7272
],

packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Test, TestingModule } from '@nestjs/testing';
22

33
import Cloudflare from 'cloudflare';
44
import { CustomHostnameCreateResponse } from 'cloudflare/resources/custom-hostnames/custom-hostnames';
5-
import { AnalyticsContextMock } from 'test/utils/analytics-context.mock';
5+
import { AuditContextMock } from 'test/utils/audit-context.mock';
66

77
import { AuditService } from 'src/engine/core-modules/audit/services/audit.service';
88
import { DomainManagerException } from 'src/engine/core-modules/domain-manager/domain-manager.exception';
@@ -30,7 +30,7 @@ describe('CustomDomainService', () => {
3030
{
3131
provide: AuditService,
3232
useValue: {
33-
createAnalyticsContext: AnalyticsContextMock,
33+
createAnalyticsContext: AuditContextMock,
3434
},
3535
},
3636
{

packages/twenty-server/src/engine/core-modules/twenty-config/enums/config-variables-group.enum.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ export enum ConfigVariablesGroup {
1616
ServerlessConfig = 'serverless-config',
1717
SSL = 'ssl',
1818
SupportChatConfig = 'support-chat-config',
19-
AnalyticsConfig = 'analytics-config',
19+
AnalyticsConfig = 'audit-config',
2020
TokensDuration = 'tokens-duration',
2121
}

packages/twenty-server/src/engine/core-modules/user/user.resolver.ts

-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import { In, Repository } from 'typeorm';
2020
import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface';
2121
import { SupportDriver } from 'src/engine/core-modules/twenty-config/interfaces/support.interface';
2222

23-
import { AuditService } from 'src/engine/core-modules/audit/services/audit.service';
2423
import {
2524
AuthException,
2625
AuthExceptionCode,
@@ -75,7 +74,6 @@ export class UserResolver {
7574
private readonly onboardingService: OnboardingService,
7675
private readonly userVarService: UserVarsService,
7776
private readonly fileService: FileService,
78-
private readonly auditService: AuditService,
7977
private readonly domainManagerService: DomainManagerService,
8078
@InjectRepository(UserWorkspace, 'core')
8179
private readonly userWorkspaceRepository: Repository<UserWorkspace>,

packages/twenty-server/test/utils/analytics-context.mock.ts renamed to packages/twenty-server/test/utils/audit-context.mock.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { TrackEventName } from 'src/engine/core-modules/audit/types/events.type';
22

3-
export const AnalyticsContextMock = (params?: {
3+
export const AuditContextMock = (params?: {
44
track?:
55
| ((
66
event: TrackEventName,

0 commit comments

Comments
 (0)