add controller method for docker monitors

This commit is contained in:
Alex Holliday committed 2026-08-28 14:00:34 -07:00
1 parent c8826d90d5
commit 560d64a482
1 file changed
+24
@@ -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);