From a960e3aba2e9fffccb6bef2677bf7c1530b52971 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Fri, 6 Mar 2026 14:27:57 -0800 Subject: [PATCH] fix demo monitor import --- server/src/service/business/monitorService.ts | 32 +++++++------------ server/tsconfig.json | 3 +- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/server/src/service/business/monitorService.ts b/server/src/service/business/monitorService.ts index a7a30111c..a50598256 100644 --- a/server/src/service/business/monitorService.ts +++ b/server/src/service/business/monitorService.ts @@ -18,9 +18,7 @@ import type { IMonitorStatsRepository, IStatusPagesRepository, } from "@/repositories/index.js"; -import fs from "fs"; -import { fileURLToPath } from "url"; -import path from "path"; +import demoMonitorsData from "@/utils/demoMonitors.json" with { type: "json" }; import { AppError } from "@/utils/AppError.js"; import { ISuperSimpleQueue } from "../infrastructure/SuperSimpleQueue/SuperSimpleQueue.js"; @@ -177,23 +175,17 @@ export class MonitorService implements IMonitorService { }; addDemoMonitors = async ({ userId, teamId }: { userId: string; teamId: string }): Promise => { - const __filename = fileURLToPath(import.meta.url); - const __dirname = path.dirname(__filename); - const demoMonitorsPath = path.resolve(__dirname, "../../utils/demoMonitors.json"); - - const demoData = JSON.parse(fs.readFileSync(demoMonitorsPath, "utf8")); - const monitors: Monitor[] = demoData.map((monitor: Monitor) => { - return { - userId, - teamId, - name: monitor.name, - description: monitor.name, - type: "http", - url: monitor.url, - interval: 60000, - }; - }); - const demoMonitors = await this.monitorsRepository.createMonitors(monitors); + const demoData = demoMonitorsData; + const monitors = demoData.map((monitor) => ({ + userId, + teamId, + name: monitor.name, + description: monitor.name, + type: "http" as const, + url: monitor.url, + interval: 60000, + })); + const demoMonitors = await this.monitorsRepository.createMonitors(monitors as unknown as Monitor[]); await Promise.all(demoMonitors.map((monitor) => this.jobQueue.addJob(monitor.id, monitor))); return demoMonitors; diff --git a/server/tsconfig.json b/server/tsconfig.json index 34deaf8de..fe8233c0c 100644 --- a/server/tsconfig.json +++ b/server/tsconfig.json @@ -14,7 +14,8 @@ "moduleResolution": "nodenext", "skipLibCheck": true, "noUncheckedIndexedAccess": true, - "isolatedModules": true + "isolatedModules": true, + "resolveJsonModule": true }, "include": ["src"], "exclude": ["tests", "dist", "node_modules"]