From 560d64a482436946ac62c1c50164d07f4170f235 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Fri, 28 Aug 2026 14:00:34 -0700 Subject: [PATCH] add controller method for docker monitors --- .../src/api/controllers/monitorController.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/server/src/api/controllers/monitorController.ts b/server/src/api/controllers/monitorController.ts index f05e0df5c..d636830e2 100644 --- a/server/src/api/controllers/monitorController.ts +++ b/server/src/api/controllers/monitorController.ts @@ -17,6 +17,8 @@ import { getUptimeDetailsByIdQueryValidation, importMonitorsBodyValidation, bulkPauseMonitorBodyValidation, + getDockerDetailsByIdParamValidation, + getDockerDetailsByIdQueryValidation, } from "@/api/validation/monitorValidation.js"; import sslChecker from "ssl-checker"; import * as whoiser from "whoiser"; @@ -31,6 +33,7 @@ export interface IMonitorController { getUptimeDetailsById: RequestHandler; getHardwareDetailsById: RequestHandler; getPageSpeedDetailsById: RequestHandler; + getDockerDetailsById: RequestHandler; getGeoChecksByMonitorId: RequestHandler; getMonitorById: RequestHandler; createMonitor: RequestHandler; @@ -149,6 +152,27 @@ class MonitorController implements IMonitorController { }); }); + getDockerDetailsById = catchAsync(async (req: Request, res: Response) => { + const validatedParams = getDockerDetailsByIdParamValidation.parse(req.params); + const validatedQuery = getDockerDetailsByIdQueryValidation.parse(req.query); + + const monitorId = validatedParams.monitorId; + const dateRange = validatedQuery.dateRange || "recent"; + const teamId = requireTeamId(req.user?.teamId); + + const data = await this.monitorService.getDockerDetailsById({ + teamId, + monitorId, + dateRange, + }); + + return res.status(200).json({ + success: true, + msg: "Docker details retrieved successfully", + data: data, + }); + }); + getGeoChecksByMonitorId = catchAsync(async (req: Request, res: Response) => { const validatedParams = getMonitorByIdParamValidation.parse(req.params); const validatedQuery = getMonitorByIdQueryValidation.parse(req.query);