From 6e341108bbe433a618fac0c42a77afd9e54bcb68 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Sat, 3 Jan 2026 21:16:46 +0000 Subject: [PATCH] inject check repo --- server/src/init/services.ts | 12 ++++++++++-- server/src/repositories/checks/ICheckRepository.ts | 0 .../src/repositories/checks/MongoCheckRepository.ts | 4 ++++ server/src/repositories/index.ts | 3 +++ server/src/services/business/MonitorService.ts | 9 ++++++++- 5 files changed, 25 insertions(+), 3 deletions(-) delete mode 100644 server/src/repositories/checks/ICheckRepository.ts create mode 100644 server/src/repositories/checks/MongoCheckRepository.ts diff --git a/server/src/init/services.ts b/server/src/init/services.ts index e607dd446..b233b6add 100644 --- a/server/src/init/services.ts +++ b/server/src/init/services.ts @@ -33,10 +33,14 @@ import { } from "@/services/index.js"; import { EntitlementsFactory } from "@/services/system/EntitlementsService.js"; import { MeService } from "@/services/index.js"; -import { MongoMonitorRepository } from "@/repositories/index.js"; +import { + MongoMonitorRepository, + MongoChecksRepository, +} from "@/repositories/index.js"; export const initServices = async () => { const monitorRepository = new MongoMonitorRepository(); + const checksRepository = new MongoChecksRepository(); const checkService = new CheckService(); const inviteService = new InviteService(); @@ -78,7 +82,11 @@ export const initServices = async () => { monitorRepository ); const meService = new MeService(entitlementsProvider); - const monitorService = new MonitorService(jobQueue, monitorRepository); + const monitorService = new MonitorService( + jobQueue, + monitorRepository, + checksRepository + ); const queueService = new QueueService(jobQueue); const teamService = new TeamService(jobQueue); const roleService = new RoleService(); diff --git a/server/src/repositories/checks/ICheckRepository.ts b/server/src/repositories/checks/ICheckRepository.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/server/src/repositories/checks/MongoCheckRepository.ts b/server/src/repositories/checks/MongoCheckRepository.ts new file mode 100644 index 000000000..646895624 --- /dev/null +++ b/server/src/repositories/checks/MongoCheckRepository.ts @@ -0,0 +1,4 @@ +import type { IChecksRepository } from "@/repositories/index.js"; +class MongoCheckRepository implements IChecksRepository {} + +export default MongoCheckRepository; diff --git a/server/src/repositories/index.ts b/server/src/repositories/index.ts index 0d32ec8a1..3299401e5 100644 --- a/server/src/repositories/index.ts +++ b/server/src/repositories/index.ts @@ -3,3 +3,6 @@ export type { TeamQueryConfig, } from "@/repositories/monitors/IMonitorRepoistory.js"; export { default as MongoMonitorRepository } from "@/repositories/monitors/MongoMonitorRepository.js"; + +export type { IChecksRepository } from "@/repositories/checks/IChecksRepository.js"; +export { default as MongoChecksRepository } from "@/repositories/checks/MongoCheckRepository.js"; diff --git a/server/src/services/business/MonitorService.ts b/server/src/services/business/MonitorService.ts index 43af4a42c..e0e6e4a6a 100644 --- a/server/src/services/business/MonitorService.ts +++ b/server/src/services/business/MonitorService.ts @@ -9,6 +9,7 @@ import { MonitorStatus, MonitorType } from "@/db/models/monitors/Monitor.js"; import { Entitlements } from "@/types/entitlements.js"; import { getStartDate } from "@/utils/TimeUtils.js"; import { IMonitorRepository } from "@/repositories/index.js"; +import type IChecksRepository from "@/repositories/checks/IChecksRepository.js"; import type { Monitor as MonitorEntity } from "@/types/domain/index.js"; export interface IImportedMonitor { @@ -96,10 +97,16 @@ class MonitorService implements IMonitorService { public SERVICE_NAME: string; private jobQueue: IJobQueue; private monitorRepository: IMonitorRepository; - constructor(jobQueue: IJobQueue, monitorRepository: IMonitorRepository) { + private checksRepository: IChecksRepository; + constructor( + jobQueue: IJobQueue, + monitorRepository: IMonitorRepository, + checksRepository: IChecksRepository + ) { this.SERVICE_NAME = SERVICE_NAME; this.jobQueue = jobQueue; this.monitorRepository = monitorRepository; + this.checksRepository = checksRepository; } create = async (