refactor(core): Send active workflow IDs during license renewal (#9804)

This commit is contained in:
Iván Ovejero
2024-06-19 12:35:42 +02:00
committed by GitHub
parent de3981cbde
commit cfc4db00e3
7 changed files with 83 additions and 8 deletions

View File

@@ -84,6 +84,9 @@ export class License {
const collectUsageMetrics = isMainInstance
? async () => await this.usageMetricsService.collectUsageMetrics()
: async () => [];
const collectPassthroughData = isMainInstance
? async () => await this.usageMetricsService.getActiveWorkflowIds()
: async () => ({});
const renewalEnabled = this.renewalEnabled(instanceType);
@@ -101,6 +104,7 @@ export class License {
saveCertStr,
deviceFingerprint: () => this.instanceSettings.instanceId,
collectUsageMetrics,
collectPassthroughData,
onFeatureChange,
});

View File

@@ -1,9 +1,13 @@
import { UsageMetricsRepository } from '@/databases/repositories/usageMetrics.repository';
import { Service } from 'typedi';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
@Service()
export class UsageMetricsService {
constructor(private readonly usageMetricsRepository: UsageMetricsRepository) {}
constructor(
private readonly usageMetricsRepository: UsageMetricsRepository,
private readonly workflowRepository: WorkflowRepository,
) {}
async collectUsageMetrics() {
const {
@@ -26,4 +30,10 @@ export class UsageMetricsService {
{ name: 'manualExecutions', value: manualExecutions },
];
}
async getActiveWorkflowIds() {
return {
activeWorkflowIds: await this.workflowRepository.getActiveIds(),
};
}
}