This commit is contained in:
commit
f265233a06
168 changed files with 31208 additions and 0 deletions
35
server/src/core/features/metrics/index.ts
Normal file
35
server/src/core/features/metrics/index.ts
Normal file
|
@ -0,0 +1,35 @@
|
|||
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
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue