From 8dedf2a7420961db5dd9dc7ab481b7dba7b0235d Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Thu, 11 Jun 2026 14:18:32 -0700 Subject: [PATCH] add last evaluated at field --- server/src/domain/monitors/monitor.model.ts | 5 +++++ server/src/domain/monitors/monitor.repository.mongo.ts | 2 ++ server/src/domain/monitors/monitor.service.ts | 1 + server/src/domain/monitors/monitor.types.ts | 1 + 4 files changed, 9 insertions(+) diff --git a/server/src/domain/monitors/monitor.model.ts b/server/src/domain/monitors/monitor.model.ts index e45e975e8..417599d2c 100644 --- a/server/src/domain/monitors/monitor.model.ts +++ b/server/src/domain/monitors/monitor.model.ts @@ -34,6 +34,7 @@ interface MonitorDocument extends MonitorDocumentBase { teamId: Types.ObjectId; createdAt: Date; updatedAt: Date; + lastEvaluatedAt: number; // epoch ms } const snapshotTimingPhasesSchema = new Schema( @@ -377,6 +378,10 @@ const MonitorSchema = new Schema( type: [checkSnapshotSchema], default: [], }, + lastEvaluatedAt: { + type: Number, + default: 0, + }, }, { timestamps: true, diff --git a/server/src/domain/monitors/monitor.repository.mongo.ts b/server/src/domain/monitors/monitor.repository.mongo.ts index 165db24e3..e41c8a6f2 100644 --- a/server/src/domain/monitors/monitor.repository.mongo.ts +++ b/server/src/domain/monitors/monitor.repository.mongo.ts @@ -571,6 +571,7 @@ class MongoMonitorsRepository implements IMonitorsRepository { dnsRecordType: doc.dnsRecordType ?? undefined, createdAt: toDateString(doc.createdAt), updatedAt: toDateString(doc.updatedAt), + lastEvaluatedAt: doc.lastEvaluatedAt, }; }; @@ -636,6 +637,7 @@ class MongoMonitorsRepository implements IMonitorsRepository { dnsRecordType: doc.dnsRecordType ?? undefined, createdAt: toDateString(doc.createdAt), updatedAt: toDateString(doc.updatedAt), + lastEvaluatedAt: doc.lastEvaluatedAt, }; }; diff --git a/server/src/domain/monitors/monitor.service.ts b/server/src/domain/monitors/monitor.service.ts index a72d5a50d..8fce77723 100644 --- a/server/src/domain/monitors/monitor.service.ts +++ b/server/src/domain/monitors/monitor.service.ts @@ -597,6 +597,7 @@ export class MonitorService implements IMonitorService { recentChecks: [], createdAt: "", updatedAt: "", + lastEvaluatedAt: 0, })); const createdMonitors = await this.createMonitors(cleanedMonitors); diff --git a/server/src/domain/monitors/monitor.types.ts b/server/src/domain/monitors/monitor.types.ts index 273d8de66..37d477704 100644 --- a/server/src/domain/monitors/monitor.types.ts +++ b/server/src/domain/monitors/monitor.types.ts @@ -88,6 +88,7 @@ export interface Monitor { recentChecks: CheckSnapshot[]; createdAt: string; updatedAt: string; + lastEvaluatedAt: number; // epoch ms } export interface MonitorsSummary {