refactor(core): Rename UsageMetrics to LicenseMetrics (no-changelog) (#10053)
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { LicenseMetricsService } from '@/metrics/license-metrics.service';
|
||||
import type { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import type { LicenseMetricsRepository } from '@/databases/repositories/license-metrics.repository';
|
||||
|
||||
describe('LicenseMetricsService', () => {
|
||||
const workflowRepository = mock<WorkflowRepository>();
|
||||
const licenseMetricsService = new LicenseMetricsService(
|
||||
mock<LicenseMetricsRepository>(),
|
||||
workflowRepository,
|
||||
);
|
||||
|
||||
describe('collectPassthroughData', () => {
|
||||
test('should return an object with active workflow IDs', async () => {
|
||||
/**
|
||||
* Arrange
|
||||
*/
|
||||
const activeWorkflowIds = ['1', '2'];
|
||||
workflowRepository.getActiveIds.mockResolvedValue(activeWorkflowIds);
|
||||
|
||||
/**
|
||||
* Act
|
||||
*/
|
||||
const result = await licenseMetricsService.collectPassthroughData();
|
||||
|
||||
/**
|
||||
* Assert
|
||||
*/
|
||||
expect(result).toEqual({ activeWorkflowIds });
|
||||
});
|
||||
});
|
||||
});
|
||||
39
packages/cli/src/metrics/license-metrics.service.ts
Normal file
39
packages/cli/src/metrics/license-metrics.service.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { LicenseMetricsRepository } from '@/databases/repositories/license-metrics.repository';
|
||||
import { Service } from 'typedi';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
|
||||
@Service()
|
||||
export class LicenseMetricsService {
|
||||
constructor(
|
||||
private readonly licenseMetricsRepository: LicenseMetricsRepository,
|
||||
private readonly workflowRepository: WorkflowRepository,
|
||||
) {}
|
||||
|
||||
async collectUsageMetrics() {
|
||||
const {
|
||||
activeWorkflows,
|
||||
totalWorkflows,
|
||||
enabledUsers,
|
||||
totalUsers,
|
||||
totalCredentials,
|
||||
productionExecutions,
|
||||
manualExecutions,
|
||||
} = await this.licenseMetricsRepository.getLicenseRenewalMetrics();
|
||||
|
||||
return [
|
||||
{ name: 'activeWorkflows', value: activeWorkflows },
|
||||
{ name: 'totalWorkflows', value: totalWorkflows },
|
||||
{ name: 'enabledUsers', value: enabledUsers },
|
||||
{ name: 'totalUsers', value: totalUsers },
|
||||
{ name: 'totalCredentials', value: totalCredentials },
|
||||
{ name: 'productionExecutions', value: productionExecutions },
|
||||
{ name: 'manualExecutions', value: manualExecutions },
|
||||
];
|
||||
}
|
||||
|
||||
async collectPassthroughData() {
|
||||
return {
|
||||
activeWorkflowIds: await this.workflowRepository.getActiveIds(),
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user