1
1
import { Injectable } from '@nestjs/common' ;
2
2
import { EventEmitter2 } from '@nestjs/event-emitter' ;
3
3
import { differenceWith , has , isEqual } from 'lodash' ;
4
- import { AppAnalyticsEvents , TelemetryEvents , ToggleAnalyticsReasonType } from 'src/constants' ;
5
- import { getIsPipelineEnable , getRangeForNumber , SCAN_THRESHOLD_BREAKPOINTS } from 'src/utils' ;
4
+ import { AppAnalyticsEvents , TelemetryEvents } from 'src/constants' ;
5
+ import {
6
+ getIsPipelineEnable ,
7
+ getRangeForNumber ,
8
+ SCAN_THRESHOLD_BREAKPOINTS ,
9
+ } from 'src/utils' ;
6
10
import { TelemetryBaseService } from 'src/modules/analytics/telemetry.base.service' ;
7
11
import { GetAppSettingsResponse } from 'src/modules/settings/dto/settings.dto' ;
8
12
import { SessionMetadata } from 'src/common/models' ;
13
+ import { ToggleAnalyticsReasonType } from 'src/modules/settings/constants/settings' ;
9
14
10
15
@Injectable ( )
11
16
export class SettingsAnalytics extends TelemetryBaseService {
@@ -20,13 +25,25 @@ export class SettingsAnalytics extends TelemetryBaseService {
20
25
) : void {
21
26
try {
22
27
const dif = Object . fromEntries (
23
- differenceWith ( Object . entries ( newSettings ) , Object . entries ( oldSettings ) , isEqual ) ,
28
+ differenceWith (
29
+ Object . entries ( newSettings ) ,
30
+ Object . entries ( oldSettings ) ,
31
+ isEqual ,
32
+ ) ,
24
33
) ;
25
34
if ( has ( dif , 'scanThreshold' ) ) {
26
- this . sendScanThresholdChanged ( sessionMetadata , dif . scanThreshold , oldSettings . scanThreshold ) ;
35
+ this . sendScanThresholdChanged (
36
+ sessionMetadata ,
37
+ dif . scanThreshold ,
38
+ oldSettings . scanThreshold ,
39
+ ) ;
27
40
}
28
41
if ( has ( dif , 'batchSize' ) ) {
29
- this . sendWorkbenchPipelineChanged ( sessionMetadata , dif . batchSize , oldSettings . batchSize ) ;
42
+ this . sendWorkbenchPipelineChanged (
43
+ sessionMetadata ,
44
+ dif . batchSize ,
45
+ oldSettings . batchSize ,
46
+ ) ;
30
47
}
31
48
} catch ( e ) {
32
49
// continue regardless of error
@@ -44,18 +61,14 @@ export class SettingsAnalytics extends TelemetryBaseService {
44
61
const newPermission = newAgreements . get ( 'analytics' ) ;
45
62
const oldPermission = oldAgreements . get ( 'analytics' ) ;
46
63
if ( oldPermission !== newPermission ) {
47
- this . eventEmitter . emit (
48
- AppAnalyticsEvents . Track ,
49
- sessionMetadata ,
50
- {
51
- event : TelemetryEvents . AnalyticsPermission ,
52
- eventData : {
53
- state : newPermission ? 'enabled' : 'disabled' ,
54
- reason,
55
- } ,
56
- nonTracking : true ,
64
+ this . eventEmitter . emit ( AppAnalyticsEvents . Track , sessionMetadata , {
65
+ event : TelemetryEvents . AnalyticsPermission ,
66
+ eventData : {
67
+ state : newPermission ? 'enabled' : 'disabled' ,
68
+ reason,
57
69
} ,
58
- ) ;
70
+ nonTracking : true ,
71
+ } ) ;
59
72
}
60
73
} catch ( e ) {
61
74
// continue regardless of error
@@ -72,14 +85,24 @@ export class SettingsAnalytics extends TelemetryBaseService {
72
85
TelemetryEvents . SettingsScanThresholdChanged ,
73
86
{
74
87
currentValue,
75
- currentValueRange : getRangeForNumber ( currentValue , SCAN_THRESHOLD_BREAKPOINTS ) ,
88
+ currentValueRange : getRangeForNumber (
89
+ currentValue ,
90
+ SCAN_THRESHOLD_BREAKPOINTS ,
91
+ ) ,
76
92
previousValue,
77
- previousValueRange : getRangeForNumber ( previousValue , SCAN_THRESHOLD_BREAKPOINTS ) ,
93
+ previousValueRange : getRangeForNumber (
94
+ previousValue ,
95
+ SCAN_THRESHOLD_BREAKPOINTS ,
96
+ ) ,
78
97
} ,
79
98
) ;
80
99
}
81
100
82
- private sendWorkbenchPipelineChanged ( sessionMetadata : SessionMetadata , newValue : number , currentValue : number ) : void {
101
+ private sendWorkbenchPipelineChanged (
102
+ sessionMetadata : SessionMetadata ,
103
+ newValue : number ,
104
+ currentValue : number ,
105
+ ) : void {
83
106
this . sendEvent (
84
107
sessionMetadata ,
85
108
TelemetryEvents . SettingsWorkbenchPipelineChanged ,
0 commit comments