diff --git a/project/server/src/layer/scheduler/scheduled/derive/subject.module.ts b/project/server/src/layer/scheduler/scheduled/derive/subject.module.ts new file mode 100644 index 00000000..12c93661 --- /dev/null +++ b/project/server/src/layer/scheduler/scheduled/derive/subject.module.ts @@ -0,0 +1,11 @@ +import { Module } from "@nestjs/common"; + +import { ModuleDatabase } from "../../../database/database.module"; +import { ServiceSchedulerScheduledDeriveSubject } from "./subject.service"; + +@Module({ + imports: [ModuleDatabase], + providers: [ServiceSchedulerScheduledDeriveSubject], + exports: [ServiceSchedulerScheduledDeriveSubject], +}) +export class ModuleSchedulerScheduledDeriveSubject {} diff --git a/project/server/src/layer/scheduler/scheduled/derive/subject.service.ts b/project/server/src/layer/scheduler/scheduled/derive/subject.service.ts new file mode 100644 index 00000000..6cb9ddf4 --- /dev/null +++ b/project/server/src/layer/scheduler/scheduled/derive/subject.service.ts @@ -0,0 +1,13 @@ +import { Inject, Injectable } from "@nestjs/common"; + +import { SchedulerScheduledDeriveSubject } from "../../../../service/scheduler/scheduled/derive/subject"; +import { DatabaseDerived } from "../../../database/database.module"; + +import type { IDatabase } from "../../../../service/database"; + +@Injectable() +export class ServiceSchedulerScheduledDeriveSubject extends SchedulerScheduledDeriveSubject { + constructor(@Inject(DatabaseDerived) db: IDatabase<"derived">) { + super(db); + } +} diff --git a/project/server/src/layer/scheduler/scheduler.module.ts b/project/server/src/layer/scheduler/scheduler.module.ts index f45e8fc7..aace8137 100644 --- a/project/server/src/layer/scheduler/scheduler.module.ts +++ b/project/server/src/layer/scheduler/scheduler.module.ts @@ -3,20 +3,29 @@ import { Module } from "@nestjs/common"; import { ModuleIntrospection } from "../introspection/introspection.module"; import { ModuleSchedulerScheduledDeriveDevice } from "./scheduled/derive/device.module"; import { ServiceSchedulerScheduledDeriveDevice } from "./scheduled/derive/device.service"; +import { ModuleSchedulerScheduledDeriveSubject } from "./scheduled/derive/subject.module"; +import { ServiceSchedulerScheduledDeriveSubject } from "./scheduled/derive/subject.service"; import { SchedulerScheduled } from "./scheduler.registry"; import { ServiceScheduler } from "./scheduler.service"; import type { SchedulerScheduledInstance } from "../../service/scheduler/base"; @Module({ - imports: [ModuleIntrospection, ModuleSchedulerScheduledDeriveDevice], + imports: [ + ModuleIntrospection, + ModuleSchedulerScheduledDeriveDevice, + ModuleSchedulerScheduledDeriveSubject, + ], providers: [ { provide: SchedulerScheduled, useFactory: ( ...units: SchedulerScheduledInstance[] ): SchedulerScheduled => units, - inject: [ServiceSchedulerScheduledDeriveDevice], + inject: [ + ServiceSchedulerScheduledDeriveDevice, + ServiceSchedulerScheduledDeriveSubject, + ], }, ServiceScheduler, ],