From 1a504a3cd95221d61afeb9a4288babca048e92f1 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Fri, 20 Mar 2026 12:22:22 -0700 Subject: [PATCH] fix migraiton lint errors --- .../src/db/migration/0002_convertChecksToTimeSeries.ts | 10 ++++++---- .../db/migration/0003_cleanupDuplicateMonitorStats.ts | 4 ++-- .../db/migration/0004_fixInfrastructureThresholds.ts | 3 ++- server/src/db/migration/index.ts | 5 +++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/server/src/db/migration/0002_convertChecksToTimeSeries.ts b/server/src/db/migration/0002_convertChecksToTimeSeries.ts index 01ed82def..cc2d20b23 100644 --- a/server/src/db/migration/0002_convertChecksToTimeSeries.ts +++ b/server/src/db/migration/0002_convertChecksToTimeSeries.ts @@ -1,4 +1,5 @@ import mongoose from "mongoose"; +import type { Document, AnyBulkWriteOperation } from "mongodb"; const CHECKS_COLLECTION = "checks"; const BACKUP_COLLECTION = "checks_backup"; @@ -85,7 +86,7 @@ const createTimeSeriesCollection = async (backedUp: boolean) => { } }; -const validateDocument = (doc: any): boolean => { +const validateDocument = (doc: Document): boolean => { if (!doc.createdAt) { return false; } @@ -95,7 +96,7 @@ const validateDocument = (doc: any): boolean => { return true; }; -const storeFailedDocument = async (doc: any, reason: string) => { +const storeFailedDocument = async (doc: Document, reason: string) => { const db = getDb(); await db.collection(FAILED_DOCS_COLLECTION).insertOne({ originalDoc: doc, @@ -124,8 +125,8 @@ const migrateBackupData = async (backedUp: boolean): Promise => stats.totalSource = await source.countDocuments(); const cursor = source.find().addCursorFlag("noCursorTimeout", true); - const operations: any[] = []; - const invalidDocs: any[] = []; + const operations: AnyBulkWriteOperation[] = []; + const invalidDocs: Document[] = []; while (await cursor.hasNext()) { const doc = await cursor.next(); @@ -139,6 +140,7 @@ const migrateBackupData = async (backedUp: boolean): Promise => } const { _id, monitorId, teamId, type, ...rest } = doc; + void _id; const metadata = { monitorId, teamId, type }; operations.push({ insertOne: { document: { ...rest, metadata } } }); diff --git a/server/src/db/migration/0003_cleanupDuplicateMonitorStats.ts b/server/src/db/migration/0003_cleanupDuplicateMonitorStats.ts index 1371ab798..c4dff2fc0 100644 --- a/server/src/db/migration/0003_cleanupDuplicateMonitorStats.ts +++ b/server/src/db/migration/0003_cleanupDuplicateMonitorStats.ts @@ -42,10 +42,10 @@ export async function cleanupDuplicateMonitorStats(): Promise { const monitorId = duplicate._id; const { ids, updatedAts } = duplicate; - type DocPair = { id: any; updatedAt: Date }; + type DocPair = { id: string; updatedAt: Date }; // Create array of {id, updatedAt} pairs and sort by updatedAt descending - const docs: DocPair[] = ids.map((id: any, index: number) => ({ + const docs: DocPair[] = ids.map((id: string, index: number) => ({ id, updatedAt: updatedAts[index], })); diff --git a/server/src/db/migration/0004_fixInfrastructureThresholds.ts b/server/src/db/migration/0004_fixInfrastructureThresholds.ts index 6d369f311..bf6458565 100644 --- a/server/src/db/migration/0004_fixInfrastructureThresholds.ts +++ b/server/src/db/migration/0004_fixInfrastructureThresholds.ts @@ -37,7 +37,8 @@ export async function fixInfrastructureThresholds(): Promise { const update: Record = {}; for (const field of thresholdFields) { - if ((monitor as any)[field] === 0 || (monitor as any)[field] === 5) { + const value = monitor.get(field); + if (value === 0 || value === 5) { update[field] = 100; } } diff --git a/server/src/db/migration/index.ts b/server/src/db/migration/index.ts index 61f16ed4d..f1a672af9 100644 --- a/server/src/db/migration/index.ts +++ b/server/src/db/migration/index.ts @@ -4,6 +4,7 @@ import { cleanupDuplicateMonitorStats } from "./0003_cleanupDuplicateMonitorStat import { fixInfrastructureThresholds } from "./0004_fixInfrastructureThresholds.js"; import MigrationModel from "../models/Migration.js"; import { migrateStatusPageTypeToArray } from "./0005_migrateStatusPageTypeToArray.js"; +import type { ILogger } from "@/utils/logger.js"; type MigrationEntry = { name: string; @@ -18,7 +19,7 @@ const migrations: MigrationEntry[] = [ { name: "0005_migrateStatusPageTypeToArray", execute: migrateStatusPageTypeToArray }, ]; -const runMigrations = async (logger?: { info: Function; error: Function }) => { +const runMigrations = async (logger?: ILogger) => { try { logger?.info({ message: "Running migrations", service: "Migrations" }); for (const migration of migrations) { @@ -45,7 +46,7 @@ const runMigrations = async (logger?: { info: Function; error: Function }) => { logger?.info({ message: "Migrations completed", service: "Migrations" }); } catch (error) { const err = error as Error; - logger?.error({ message: "Migration failed", service: "Migrations", details: err?.message, stack: err?.stack }); + logger?.error({ message: "Migration failed", service: "Migrations", details: { error: err?.message }, stack: err?.stack }); throw error; } };