inject check repo

This commit is contained in:
Alex Holliday committed 2026-01-03 21:16:46 +00:00
1 parent af6c242a18
commit 6e341108bb
5 files changed
+25 -3

No files matched your search

+10 -2
View File
@@ -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();
Whitespace-only changes.
@@ -0,0 +1,4 @@
import type { IChecksRepository } from "@/repositories/index.js";
class MongoCheckRepository implements IChecksRepository {}
export default MongoCheckRepository;
+3
View File
@@ -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";
@@ -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 (