update monitors

This commit is contained in:
Alex Holliday committed 2026-08-28 13:30:21 -07:00
1 parent 686ded2137
commit 03174d98dd
2 files changed
+13 -14

No files matched your search

@@ -9,7 +9,7 @@ import type {
GroupedGeoCheckResult,
} from "@/domain/monitors/monitor.type.js";
import { supportsGeoCheck, supportsUptimeDetails } from "@/domain/monitors/monitor.type.js";
import type { UptimeChecksResult, HardwareChecksResult, PageSpeedChecksResult } from "@/domain/checks/check.type.js";
import type { UptimeChecksResult, HardwareChecksResult, PageSpeedChecksResult, DockerChecksResult } from "@/domain/checks/check.type.js";
import type { GeoContinent } from "@/domain/geo-checks/geo-check.type.js";
import type { IChecksRepository } from "@/domain/checks/check.repository.interface.js";
import type { IGeoChecksRepository } from "@/domain/geo-checks/geo-check.repository.interface.js";
@@ -26,8 +26,9 @@ import { DateRange } from "@/types/query.js";
const SERVICE_NAME = "MonitorService";
const isUptimeChecksResult = (result: UptimeChecksResult | HardwareChecksResult | PageSpeedChecksResult): result is UptimeChecksResult =>
supportsUptimeDetails(result.monitorType);
const isUptimeChecksResult = (
result: UptimeChecksResult | HardwareChecksResult | PageSpeedChecksResult | DockerChecksResult
): result is UptimeChecksResult => supportsUptimeDetails(result.monitorType);
export interface IMonitorService {
// create
+9 -11
View File
@@ -1,9 +1,10 @@
import type { CheckSnapshot } from "@/domain/checks/check.type.js";
import type { CheckSnapshot, DockerStats } from "@/domain/checks/check.type.js";
export type { CheckSnapshot } from "@/domain/checks/check.type.js";
import type { GeoContinent, GroupedGeoCheck } from "@/domain/geo-checks/geo-check.type.js";
export type { GeoContinent } from "@/domain/geo-checks/geo-check.type.js";
import http from "node:http";
import { HardwareStats } from "@/domain/checks/check.type.js";
import { MonitorStats } from "@/domain/monitor-stats/monitor-stats.type.js";
export const HttpStatusCodes = [
...Object.keys(http.STATUS_CODES).map(Number),
@@ -44,16 +45,7 @@ export const supportsGeoCheck = (type: MonitorType): boolean => GeoCheckSupporte
export const ProxyModes = ["inherit", "none", "custom"] as const;
export type ProxyMode = (typeof ProxyModes)[number];
export const UptimeDetailsSupportedTypes = [
"http",
"ping",
"docker",
"port",
"game",
"grpc",
"websocket",
"dns",
] as const satisfies readonly MonitorType[];
export const UptimeDetailsSupportedTypes = ["http", "ping", "port", "game", "grpc", "websocket", "dns"] as const satisfies readonly MonitorType[];
export type UptimeDetailsSupportedType = (typeof UptimeDetailsSupportedTypes)[number];
export const supportsUptimeDetails = (type: MonitorType): type is UptimeDetailsSupportedType => UptimeDetailsSupportedTypes.some((t) => t === type);
@@ -162,6 +154,12 @@ export interface HardwareDetailsResult {
monitorStats: import("../monitor-stats/monitor-stats.type.js").MonitorStats | null;
}
export interface DockerDetailsResult {
monitor: Monitor;
stats: DockerStats;
monitorStats: MonitorStats | null;
}
export interface PageSpeedDetailsResult {
monitorData: {
monitor: Monitor;