diff --git a/Client/src/Components/MonitorTable/index.jsx b/Client/src/Components/MonitorTable/index.jsx
index 536c2c019..f26b44a78 100644
--- a/Client/src/Components/MonitorTable/index.jsx
+++ b/Client/src/Components/MonitorTable/index.jsx
@@ -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: ,
+ handleClick: () => {
+ navigate(`/monitors/${monitor._id}`);
+ },
+ });
+ data.push({
+ id: data.length + 1,
+ data: ,
+ });
data.push({
id: data.length + 1,
data: ,
diff --git a/Server/controllers/pageSpeedCheckController.js b/Server/controllers/pageSpeedCheckController.js
new file mode 100644
index 000000000..29cc10f95
--- /dev/null
+++ b/Server/controllers/pageSpeedCheckController.js
@@ -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}
+ */
+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}
+ */
+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}
+ */
+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,
+};
diff --git a/Server/routes/pageSpeedCheckRoute.js b/Server/routes/pageSpeedCheckRoute.js
index 0881a3bd5..d4d06820a 100644
--- a/Server/routes/pageSpeedCheckRoute.js
+++ b/Server/routes/pageSpeedCheckRoute.js
@@ -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;