new container endpoint,service, repo methods

This commit is contained in:
Alex Holliday committed 2026-09-01 10:05:34 -07:00
1 parent d347e29a28
commit 8ccc7cbe9a
9 files changed
+195 -4

No files matched your search

@@ -19,6 +19,8 @@ import {
bulkPauseMonitorBodyValidation,
getDockerDetailsByIdParamValidation,
getDockerDetailsByIdQueryValidation,
getDockerContainerNameParamValidation,
getDockerContainerByNameQueryValidation,
} from "@/api/validation/monitorValidation.js";
import sslChecker from "ssl-checker";
import * as whoiser from "whoiser";
@@ -34,6 +36,7 @@ export interface IMonitorController {
getHardwareDetailsById: RequestHandler;
getPageSpeedDetailsById: RequestHandler;
getDockerDetailsById: RequestHandler;
getDockerContainerByName: RequestHandler;
getGeoChecksByMonitorId: RequestHandler;
getMonitorById: RequestHandler;
createMonitor: RequestHandler;
@@ -173,6 +176,28 @@ class MonitorController implements IMonitorController {
});
});
getDockerContainerByName = catchAsync(async (req: Request, res: Response) => {
const validatedParams = getDockerContainerNameParamValidation.parse(req.params);
const validatedQuery = getDockerContainerByNameQueryValidation.parse(req.query);
const { monitorId, containerName } = validatedParams;
const dateRange = validatedQuery.dateRange || "recent";
const teamId = requireTeamId(req.user?.teamId);
const data = await this.monitorService.getDockerContainerByName({
teamId,
monitorId,
containerName,
dateRange,
});
return res.status(200).json({
success: true,
msg: "Docker container retrieved successfully",
data,
});
});
getGeoChecksByMonitorId = catchAsync(async (req: Request, res: Response) => {
const validatedParams = getMonitorByIdParamValidation.parse(req.params);
const validatedQuery = getMonitorByIdQueryValidation.parse(req.query);