11import { Injectable } from '@nestjs/common' ;
22import { EventEmitter2 } from '@nestjs/event-emitter' ;
33import { 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' ;
610import { TelemetryBaseService } from 'src/modules/analytics/telemetry.base.service' ;
711import { GetAppSettingsResponse } from 'src/modules/settings/dto/settings.dto' ;
812import { SessionMetadata } from 'src/common/models' ;
13+ import { ToggleAnalyticsReasonType } from 'src/modules/settings/constants/settings' ;
914
1015@Injectable ( )
1116export class SettingsAnalytics extends TelemetryBaseService {
@@ -20,13 +25,25 @@ export class SettingsAnalytics extends TelemetryBaseService {
2025 ) : void {
2126 try {
2227 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+ ) ,
2433 ) ;
2534 if ( has ( dif , 'scanThreshold' ) ) {
26- this . sendScanThresholdChanged ( sessionMetadata , dif . scanThreshold , oldSettings . scanThreshold ) ;
35+ this . sendScanThresholdChanged (
36+ sessionMetadata ,
37+ dif . scanThreshold ,
38+ oldSettings . scanThreshold ,
39+ ) ;
2740 }
2841 if ( has ( dif , 'batchSize' ) ) {
29- this . sendWorkbenchPipelineChanged ( sessionMetadata , dif . batchSize , oldSettings . batchSize ) ;
42+ this . sendWorkbenchPipelineChanged (
43+ sessionMetadata ,
44+ dif . batchSize ,
45+ oldSettings . batchSize ,
46+ ) ;
3047 }
3148 } catch ( e ) {
3249 // continue regardless of error
@@ -44,18 +61,14 @@ export class SettingsAnalytics extends TelemetryBaseService {
4461 const newPermission = newAgreements . get ( 'analytics' ) ;
4562 const oldPermission = oldAgreements . get ( 'analytics' ) ;
4663 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,
5769 } ,
58- ) ;
70+ nonTracking : true ,
71+ } ) ;
5972 }
6073 } catch ( e ) {
6174 // continue regardless of error
@@ -72,14 +85,24 @@ export class SettingsAnalytics extends TelemetryBaseService {
7285 TelemetryEvents . SettingsScanThresholdChanged ,
7386 {
7487 currentValue,
75- currentValueRange : getRangeForNumber ( currentValue , SCAN_THRESHOLD_BREAKPOINTS ) ,
88+ currentValueRange : getRangeForNumber (
89+ currentValue ,
90+ SCAN_THRESHOLD_BREAKPOINTS ,
91+ ) ,
7692 previousValue,
77- previousValueRange : getRangeForNumber ( previousValue , SCAN_THRESHOLD_BREAKPOINTS ) ,
93+ previousValueRange : getRangeForNumber (
94+ previousValue ,
95+ SCAN_THRESHOLD_BREAKPOINTS ,
96+ ) ,
7897 } ,
7998 ) ;
8099 }
81100
82- private sendWorkbenchPipelineChanged ( sessionMetadata : SessionMetadata , newValue : number , currentValue : number ) : void {
101+ private sendWorkbenchPipelineChanged (
102+ sessionMetadata : SessionMetadata ,
103+ newValue : number ,
104+ currentValue : number ,
105+ ) : void {
83106 this . sendEvent (
84107 sessionMetadata ,
85108 TelemetryEvents . SettingsWorkbenchPipelineChanged ,
0 commit comments