awary/server/src/core/features/metrics/index.ts
Vyn f265233a06
Some checks are pending
Run tests / build (6.0, 18.x) (push) Waiting to run
Reupload
2025-06-11 09:50:52 +02:00

35 lines
1 KiB
TypeScript

import {Feature, AppServices} from "@app/core/Feature";
import {ProjectFeature} from "../projects";
import {UserFeature} from "../users";
import {MetricEvents} from "./MetricsEvents";
import {MetricsRepository} from "./MetricsRepository";
import {MetricsUseCases} from "./MetricsUseCases";
export * from "./MetricsUseCases"
export * from "./entities"
export type MetricFeatureDependencies = {
userFeature: UserFeature
projectFeature: ProjectFeature
}
export class MetricFeature extends Feature {
name = "Metric"
events: MetricEvents = new MetricEvents()
dependencies: MetricFeatureDependencies
repository: MetricsRepository
useCases: MetricsUseCases
constructor(services: AppServices, dependencies: MetricFeatureDependencies) {
super(services);
this.repository = new MetricsRepository(services.db)
this.dependencies = dependencies
this.useCases = new MetricsUseCases({
projectService: this.dependencies.projectFeature.service,
metricRepository: this.repository,
metricEvents: this.events
})
}
}