refactor(core): Decouple projects telemetry (no-changelog) (#10081)

This commit is contained in:
Iván Ovejero
2024-07-17 11:56:27 +02:00
committed by GitHub
parent ab5688c582
commit 8b2f76b92e
6 changed files with 105 additions and 43 deletions

View File

@@ -23,7 +23,7 @@ import { ProjectRepository } from '@/databases/repositories/project.repository';
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
import { In, Not } from '@n8n/typeorm';
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
import { InternalHooks } from '@/InternalHooks';
import { EventRelay } from '@/eventbus/event-relay.service';
@RestController('/projects')
export class ProjectController {
@@ -31,7 +31,7 @@ export class ProjectController {
private readonly projectsService: ProjectService,
private readonly roleService: RoleService,
private readonly projectRepository: ProjectRepository,
private readonly internalHooks: InternalHooks,
private readonly eventRelay: EventRelay,
) {}
@Get('/')
@@ -52,8 +52,8 @@ export class ProjectController {
try {
const project = await this.projectsService.createTeamProject(req.body.name, req.user);
void this.internalHooks.onTeamProjectCreated({
user_id: req.user.id,
this.eventRelay.emit('team-project-created', {
userId: req.user.id,
role: req.user.role,
});
@@ -195,11 +195,11 @@ export class ProjectController {
throw e;
}
void this.internalHooks.onTeamProjectUpdated({
user_id: req.user.id,
this.eventRelay.emit('team-project-updated', {
userId: req.user.id,
role: req.user.role,
members: req.body.relations.map(({ userId, role }) => ({ user_id: userId, role })),
project_id: req.params.projectId,
members: req.body.relations,
projectId: req.params.projectId,
});
}
}
@@ -211,12 +211,12 @@ export class ProjectController {
migrateToProject: req.query.transferId,
});
void this.internalHooks.onTeamProjectDeleted({
user_id: req.user.id,
this.eventRelay.emit('team-project-deleted', {
userId: req.user.id,
role: req.user.role,
project_id: req.params.projectId,
removal_type: req.query.transferId !== undefined ? 'transfer' : 'delete',
target_project_id: req.query.transferId,
projectId: req.params.projectId,
removalType: req.query.transferId !== undefined ? 'transfer' : 'delete',
targetProjectId: req.query.transferId,
});
}
}