Merge branch 'master' into feat/basic-table-row-onclick

This commit is contained in:
Alexander Holliday
2024-07-16 11:56:44 -07:00
committed by GitHub
3 changed files with 83 additions and 21 deletions

View File

@@ -3,6 +3,7 @@ import PropTypes from "prop-types";
import ResponseTimeChart from "../Charts/ResponseTimeChart";
import BasicTable from "../BasicTable";
import OpenInNewPage from "../../assets/icons/open-in-new-page.svg?react";
import { useNavigate } from "react-router-dom";
/**
* Host component.
@@ -80,6 +81,8 @@ const Status = ({ params }) => {
* @returns {React.Component} Returns a table with the monitor data.
*/
const MonitorTable = ({ monitors = [] }) => {
const navigate = useNavigate();
const headers = [
{ id: 1, name: "Host" },
{ id: 2, name: "Status" },
@@ -106,6 +109,17 @@ const MonitorTable = ({ monitors = [] }) => {
? "var(--env-var-color-17)"
: "var(--env-var-color-19)",
};
data.push({
id: data.length + 1,
data: <Host params={params} />,
handleClick: () => {
navigate(`/monitors/${monitor._id}`);
},
});
data.push({
id: data.length + 1,
data: <Status params={params} />,
});
data.push({
id: data.length + 1,
data: <Host params={params} />,

View File

@@ -0,0 +1,60 @@
const PageSpeedCheck = require("../models/PageSpeedCheck");
const { successMessages } = require("../utils/messages");
const SERVICE_NAME = "pagespeed";
/**
* Gets all PageSpeedChecks for a monitor
* @async
* @param {Express.Request} req - The request object
* @param {Express.Response} res - The response object
* @param {Function} next - The next middleware function
* @returns {Promise<Express.Response>}
*/
const getPageSpeedChecks = async (req, res, next) => {
try {
return res.status(200).json({ msg: "Hit getPageSpeedChecks" });
} catch (error) {
error.service = SERVICE_NAME;
next(error);
}
};
/**
* Creates a new PageSpeedCheck for a monitor
* @async
* @param {Express.Request} req - The request object
* @param {Express.Response} res - The response object
* @param {Function} next - The next middleware function
* @returns {Promise<Express.Response>}
*/
const createPageSpeedCheck = async (req, res, next) => {
try {
return res.status(200).json({ msg: "Hit createPageSpeedCheck" });
} catch (error) {
error.service = SERVICE_NAME;
next(error);
}
};
/**
* Deletes all PageSpeedChecks for a monitor
* @async
* @param {Express.Request} req - The request object
* @param {Express.Response} res - The response object
* @param {Function} next - The next middleware function
* @returns {Promise<Express.Response>}
*/
const deletePageSpeedCheck = async (req, res, next) => {
try {
return res.status(200).json({ msg: "Hit deletePageSpeedCheck" });
} catch (error) {
error.service = SERVICE_NAME;
next(error);
}
};
module.exports = {
getPageSpeedChecks,
createPageSpeedCheck,
deletePageSpeedCheck,
};

View File

@@ -9,13 +9,9 @@ const Monitor = require("../models/Monitor");
* @param {string} monitorId - The ID of the monitor
* @middleware verifyOwnership - Ensures the user owns the monitor
*/
router.post(
"/:monitorId",
verifyOwnership(Monitor, "monitorId"),
() => {
console.log("Create check");
}
);
router.post("/:monitorId", verifyOwnership(Monitor, "monitorId"), () => {
console.log("Create check");
});
/**
* @route GET /:monitorId
@@ -24,13 +20,9 @@ router.post(
* @param {string} monitorId - The ID of the monitor
* @middleware verifyOwnership - Ensures the user owns the monitor
*/
router.get(
"/:monitorId",
verifyOwnership(Monitor, "monitorId"),
() => {
console.log("Get checks");
}
);
router.get("/:monitorId", verifyOwnership(Monitor, "monitorId"), () => {
console.log("Get checks");
});
/**
* @route POST /delete/:monitorId
@@ -39,12 +31,8 @@ router.get(
* @param {string} monitorId - The ID of the monitor
* @middleware verifyOwnership - Ensures the user owns the monitor
*/
router.post(
"/delete/:monitorId",
verifyOwnership(Monitor, "monitorId"),
() => {
console.log("Delete checks");
}
);
router.delete("/:monitorId", verifyOwnership(Monitor, "monitorId"), () => {
console.log("Delete checks");
});
module.exports = router;