refactor(core): Decouple source control telemetry from internal hooks (no-changelog) (#10095)

This commit is contained in:
Iván Ovejero
2024-07-18 15:00:24 +02:00
committed by GitHub
parent 028a8a2c75
commit f876f9ec8b
8 changed files with 184 additions and 110 deletions

View File

@@ -1,4 +1,4 @@
import Container, { Service } from 'typedi';
import { Service } from 'typedi';
import path from 'path';
import {
getTagsPath,
@@ -30,7 +30,7 @@ import type { TagEntity } from '@db/entities/TagEntity';
import type { Variables } from '@db/entities/Variables';
import type { SourceControlWorkflowVersionId } from './types/sourceControlWorkflowVersionId';
import type { ExportableCredential } from './types/exportableCredential';
import { InternalHooks } from '@/InternalHooks';
import { EventRelay } from '@/eventbus/event-relay.service';
import { TagRepository } from '@db/repositories/tag.repository';
import { Logger } from '@/Logger';
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
@@ -52,6 +52,7 @@ export class SourceControlService {
private sourceControlExportService: SourceControlExportService,
private sourceControlImportService: SourceControlImportService,
private tagRepository: TagRepository,
private readonly eventRelay: EventRelay,
) {
const { gitFolder, sshFolder, sshKeyName } = sourceControlPreferencesService;
this.gitFolder = gitFolder;
@@ -291,7 +292,8 @@ export class SourceControlService {
});
// #region Tracking Information
void Container.get(InternalHooks).onSourceControlUserFinishedPushUI(
this.eventRelay.emit(
'source-control-user-finished-push-ui',
getTrackingInformationFromPostPushResult(statusResult),
);
// #endregion
@@ -368,7 +370,8 @@ export class SourceControlService {
}
// #region Tracking Information
void Container.get(InternalHooks).onSourceControlUserFinishedPullUI(
this.eventRelay.emit(
'source-control-user-finished-pull-ui',
getTrackingInformationFromPullResult(statusResult),
);
// #endregion
@@ -421,11 +424,13 @@ export class SourceControlService {
// #region Tracking Information
if (options.direction === 'push') {
void Container.get(InternalHooks).onSourceControlUserStartedPushUI(
this.eventRelay.emit(
'source-control-user-started-push-ui',
getTrackingInformationFromPrePushResult(sourceControlledFiles),
);
} else if (options.direction === 'pull') {
void Container.get(InternalHooks).onSourceControlUserStartedPullUI(
this.eventRelay.emit(
'source-control-user-started-pull-ui',
getTrackingInformationFromPullResult(sourceControlledFiles),
);
}