Skip to content

Commit 55fd65c

Browse files
Merge pull request #2400 from RedisInsight/be/feature/RI-4788_telemetry_event
#RI-4788
2 parents 3c9a16e + 5987ce7 commit 55fd65c

File tree

2 files changed

+38
-6
lines changed

2 files changed

+38
-6
lines changed

redisinsight/api/src/modules/cloud/database/cloud-database.analytics.ts

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { HttpException, Injectable } from '@nestjs/common';
22
import { TelemetryBaseService } from 'src/modules/analytics/telemetry.base.service';
33
import { EventEmitter2 } from '@nestjs/event-emitter';
44
import { TelemetryEvents } from 'src/constants';
5+
import { CloudSubscriptionCapiService } from '../subscription/cloud-subscription.capi.service';
6+
import { CloudSubscriptionType } from '../subscription/models';
7+
import { CloudCapiAuthDto } from '../common/dto';
8+
import { catchAclError } from 'src/utils';
59

610
@Injectable()
711
export class CloudDatabaseAnalytics extends TelemetryBaseService {
@@ -13,7 +17,30 @@ export class CloudDatabaseAnalytics extends TelemetryBaseService {
1317
this.sendEvent(TelemetryEvents.CloudFreeDatabaseCreated, eventData);
1418
}
1519

16-
sendCloudFreeDatabaseFailed(exception: HttpException, eventData: object = {}) {
17-
this.sendFailedEvent(TelemetryEvents.CloudFreeDatabaseFailed, exception, eventData);
20+
async sendCloudFreeDatabaseFailed(
21+
exception: HttpException,
22+
eventData: object = {},
23+
cloudSubscriptionCapiService: CloudSubscriptionCapiService,
24+
data: { planId: number, capiCredentials: CloudCapiAuthDto },
25+
) {
26+
try {
27+
const fixedPlans = await cloudSubscriptionCapiService.getSubscriptionsPlans(
28+
data.capiCredentials,
29+
CloudSubscriptionType.Fixed,
30+
);
31+
32+
const selectedPlan = CloudSubscriptionCapiService.findFreePlanById(fixedPlans, data.planId);
33+
34+
this.sendFailedEvent(
35+
TelemetryEvents.CloudFreeDatabaseFailed,
36+
exception,
37+
{
38+
region: selectedPlan?.region || '',
39+
provider: selectedPlan?.provider || '',
40+
...eventData,
41+
},
42+
);
43+
} catch (error) {
44+
}
1845
}
1946
}

redisinsight/api/src/modules/cloud/job/jobs/create-free-database.cloud-job.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,15 @@ export class CreateFreeDatabaseCloudJob extends CloudJob {
173173

174174
return database;
175175
} catch (e) {
176-
this.dependencies.cloudDatabaseAnalytics.sendCloudFreeDatabaseFailed(e, {
177-
region: freeSubscription?.region || '',
178-
provider: freeSubscription?.provider || '',
179-
});
176+
this.dependencies.cloudDatabaseAnalytics.sendCloudFreeDatabaseFailed(
177+
e,
178+
{
179+
region: freeSubscription?.region || '',
180+
provider: freeSubscription?.provider || '',
181+
},
182+
this.dependencies.cloudSubscriptionCapiService,
183+
this.data,
184+
);
180185

181186
throw e;
182187
}

0 commit comments

Comments
 (0)