From 8df263fd938a7a2fd2a267414ff0bd04b5993c2d Mon Sep 17 00:00:00 2001 From: gorkem-bwl Date: Wed, 4 Mar 2026 16:44:20 -0500 Subject: [PATCH] fix: also migrate threshold value of 0 to 100, fix formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses review feedback — thresholds set to 0 also caused issues and should be migrated to 100 (disabled) alongside the value of 5. --- .../0004_fixInfrastructureThresholds.ts | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/server/src/db/migration/0004_fixInfrastructureThresholds.ts b/server/src/db/migration/0004_fixInfrastructureThresholds.ts index 041f8a9dc..6d369f311 100644 --- a/server/src/db/migration/0004_fixInfrastructureThresholds.ts +++ b/server/src/db/migration/0004_fixInfrastructureThresholds.ts @@ -2,7 +2,7 @@ import { MonitorModel } from "../models/Monitor.js"; import { logger } from "@/utils/logger.js"; /** - * Fix infrastructure monitors that had thresholds incorrectly set to 5 + * Fix infrastructure monitors that had thresholds incorrectly set to 0 or 5 * due to the old default value. Updates them to 100 (disabled). */ export async function fixInfrastructureThresholds(): Promise { @@ -11,29 +11,24 @@ export async function fixInfrastructureThresholds(): Promise { try { logger.info({ service: SERVICE_NAME, message: "Starting infrastructure threshold fix" }); - const thresholdFields = [ - "cpuAlertThreshold", - "memoryAlertThreshold", - "diskAlertThreshold", - "tempAlertThreshold", - ]; + const thresholdFields = ["cpuAlertThreshold", "memoryAlertThreshold", "diskAlertThreshold", "tempAlertThreshold"]; - // Find hardware monitors with any threshold set to 5 + // Find hardware monitors with any threshold set to 0 or 5 const filter = { type: "hardware", - $or: thresholdFields.map((field) => ({ [field]: 5 })), + $or: thresholdFields.flatMap((field) => [{ [field]: 0 }, { [field]: 5 }]), }; const monitors = await MonitorModel.find(filter); if (monitors.length === 0) { - logger.info({ service: SERVICE_NAME, message: "No monitors with threshold value of 5 found" }); + logger.info({ service: SERVICE_NAME, message: "No monitors with threshold value of 0 or 5 found" }); return; } logger.info({ service: SERVICE_NAME, - message: `Found ${monitors.length} monitors with threshold value of 5`, + message: `Found ${monitors.length} monitors with threshold value of 0 or 5`, }); let updatedCount = 0; @@ -42,7 +37,7 @@ export async function fixInfrastructureThresholds(): Promise { const update: Record = {}; for (const field of thresholdFields) { - if ((monitor as any)[field] === 5) { + if ((monitor as any)[field] === 0 || (monitor as any)[field] === 5) { update[field] = 100; } } @@ -55,7 +50,7 @@ export async function fixInfrastructureThresholds(): Promise { logger.info({ service: SERVICE_NAME, - message: `Fixed ${updatedCount} monitors — thresholds updated from 5 to 100`, + message: `Fixed ${updatedCount} monitors — thresholds updated from 0/5 to 100`, }); } catch (error) { const errorMessage = error instanceof Error ? error.message : String(error);