feat: Add startsAt parameter to markMonitorsActiveForMonitoring and MonitorStatusTimelineService for improved timeline tracking

This commit is contained in:
Nawaz Dhandala
2026-03-26 16:49:35 +00:00
parent b1c2fdc33f
commit 98efe09cc1
3 changed files with 12 additions and 0 deletions

View File

@@ -1039,6 +1039,7 @@ ${incident.remediationNotes || "No remediation notes provided."}
" was created.",
createdItem.createdStateLog,
onCreate.createBy.props,
createdItem.declaredAt || undefined,
);
}
} catch (error) {
@@ -1693,6 +1694,7 @@ ${incidentSeverity.name}
public async markMonitorsActiveForMonitoring(
projectId: ObjectID,
monitors: Array<Monitor>,
startsAt?: Date | undefined,
): Promise<void> {
// resolve all the monitors.
@@ -1769,6 +1771,10 @@ ${incidentSeverity.name}
monitorStatusTimeline.projectId = projectId!;
monitorStatusTimeline.monitorStatusId = resolvedMonitorState.id!;
if (startsAt) {
monitorStatusTimeline.startsAt = startsAt;
}
await MonitorStatusTimelineService.create({
data: monitorStatusTimeline,
props: {

View File

@@ -497,6 +497,7 @@ ${createdItem.rootCause}`,
await IncidentService.markMonitorsActiveForMonitoring(
incident.projectId!,
incident.monitors || [],
createdItem.startsAt || undefined,
);
}
}

View File

@@ -1507,6 +1507,7 @@ ${createdItem.description?.trim() || "No description provided."}
rootCause: string | undefined,
statusChangeLog: JSONObject | undefined,
props: DatabaseCommonInteractionProps,
startsAt?: Date | undefined,
): Promise<void> {
for (const monitorId of monitorIds) {
// get last monitor status timeline.
@@ -1552,6 +1553,10 @@ ${createdItem.description?.trim() || "No description provided."}
statusTimeline.rootCause = rootCause;
}
if (startsAt) {
statusTimeline.startsAt = startsAt;
}
await MonitorStatusTimelineService.create({
data: statusTimeline,
props: props,