diff --git a/server/src/domain/monitors/monitor.repository.interface.ts b/server/src/domain/monitors/monitor.repository.interface.ts index e5a0fa585..46f3df396 100644 --- a/server/src/domain/monitors/monitor.repository.interface.ts +++ b/server/src/domain/monitors/monitor.repository.interface.ts @@ -22,6 +22,8 @@ export interface IMonitorsRepository { createMonitors(monitors: Monitor[]): Promise; // single fetch findById(monitorId: string, teamId: string): Promise; + // for workers, don't need all details + findByIdLean(monitorId: string): Promise; // collection fetch findAll(): Promise; diff --git a/server/src/domain/monitors/monitor.repository.mongo.ts b/server/src/domain/monitors/monitor.repository.mongo.ts index e41c8a6f2..0ce0d48a6 100644 --- a/server/src/domain/monitors/monitor.repository.mongo.ts +++ b/server/src/domain/monitors/monitor.repository.mongo.ts @@ -38,6 +38,11 @@ class MongoMonitorsRepository implements IMonitorsRepository { return this.toEntity(monitor); }; + findByIdLean = async (monitorId: string): Promise => { + const monitor = await MonitorModel.findOne({ _id: monitorId }); + return monitor ? this.toEntity(monitor) : null; + }; + findAll = async (): Promise => { const monitors = await MonitorModel.find(); return this.mapDocuments(monitors);