mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-01-19 16:19:45 -06:00
Merge pull request #364 from bluewave-labs/feat/speedcheck-route-validation
Added validation to speedcheck route.
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
const PageSpeedCheck = require("../models/PageSpeedCheck");
|
||||
const { successMessages } = require("../utils/messages");
|
||||
const SERVICE_NAME = "pagespeed";
|
||||
const {
|
||||
getPageSpeedCheckParamValidation,
|
||||
createPageSpeedCheckParamValidation,
|
||||
deletePageSpeedCheckParamValidation,
|
||||
} = require("../validation/joi");
|
||||
|
||||
/**
|
||||
* Gets all PageSpeedChecks for a monitor
|
||||
@@ -12,9 +17,14 @@ const SERVICE_NAME = "pagespeed";
|
||||
*/
|
||||
const getPageSpeedChecks = async (req, res, next) => {
|
||||
try {
|
||||
// Validate monitorId parameter
|
||||
await getPageSpeedCheckParamValidation.validateAsync(req.params);
|
||||
|
||||
return res.status(200).json({ msg: "Hit getPageSpeedChecks" });
|
||||
} catch (error) {
|
||||
error.service = SERVICE_NAME;
|
||||
if (error.isJoi) {
|
||||
return res.status(400).json({ error: error.details[0].message });
|
||||
}
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
@@ -29,8 +39,14 @@ const getPageSpeedChecks = async (req, res, next) => {
|
||||
*/
|
||||
const createPageSpeedCheck = async (req, res, next) => {
|
||||
try {
|
||||
// Validate monitorId parameter
|
||||
await createPageSpeedCheckParamValidation.validateAsync(req.params);
|
||||
|
||||
return res.status(200).json({ msg: "Hit createPageSpeedCheck" });
|
||||
} catch (error) {
|
||||
if (error.isJoi) {
|
||||
return res.status(400).json({ error: error.details[0].message });
|
||||
}
|
||||
error.service = SERVICE_NAME;
|
||||
next(error);
|
||||
}
|
||||
@@ -46,8 +62,14 @@ const createPageSpeedCheck = async (req, res, next) => {
|
||||
*/
|
||||
const deletePageSpeedCheck = async (req, res, next) => {
|
||||
try {
|
||||
// Validate monitorId parameter
|
||||
await deletePageSpeedCheckParamValidation.validateAsync(req.params);
|
||||
|
||||
return res.status(200).json({ msg: "Hit deletePageSpeedCheck" });
|
||||
} catch (error) {
|
||||
if (error.isJoi) {
|
||||
return res.status(400).json({ error: error.details[0].message });
|
||||
}
|
||||
error.service = SERVICE_NAME;
|
||||
next(error);
|
||||
}
|
||||
|
||||
@@ -1,54 +1,46 @@
|
||||
const router = require("express").Router();
|
||||
const { verifyOwnership } = require("../middleware/verifyOwnership");
|
||||
const Monitor = require("../models/Monitor");
|
||||
const {
|
||||
getPageSpeedChecks,
|
||||
createPageSpeedCheck,
|
||||
deletePageSpeedCheck,
|
||||
} = require("../controllers/pageSpeedCheckController");
|
||||
const { createPageSpeedCheck, getPageSpeedChecks, deletePageSpeedCheck } = require("../controllers/pageSpeedCheckController");
|
||||
|
||||
|
||||
/**
|
||||
* @route POST /:monitorId
|
||||
* @route POST /pagespeed/:monitorId
|
||||
* @description Create a new PageSpeedCheck for a monitor
|
||||
* @access Private
|
||||
* @param {string} monitorId - The ID of the monitor
|
||||
* @middleware verifyOwnership - Ensures the user owns the monitor
|
||||
*/
|
||||
|
||||
router.post(
|
||||
"/:monitorId",
|
||||
verifyOwnership(Monitor, "monitorId"),
|
||||
"/pagespeed/:monitorId",
|
||||
verifyOwnership(Monitor, "monitorId"),
|
||||
createPageSpeedCheck
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* @route GET /:monitorId
|
||||
* @route GET /pagespeed/:monitorId
|
||||
* @description Get all PageSpeedChecks for a monitor
|
||||
* @access Private
|
||||
* @param {string} monitorId - The ID of the monitor
|
||||
* @middleware verifyOwnership - Ensures the user owns the monitor
|
||||
*/
|
||||
|
||||
router.get(
|
||||
"/:monitorId",
|
||||
verifyOwnership(Monitor, "monitorId"),
|
||||
"/pagespeed/:monitorId",
|
||||
verifyOwnership(Monitor, "monitorId"),
|
||||
getPageSpeedChecks
|
||||
);
|
||||
|
||||
/**
|
||||
* @route POST /delete/:monitorId
|
||||
* @route DELETE /pagespeed/:monitorId
|
||||
* @description Delete all PageSpeedChecks for a monitor
|
||||
* @access Private
|
||||
* @param {string} monitorId - The ID of the monitor
|
||||
* @middleware verifyOwnership - Ensures the user owns the monitor
|
||||
*/
|
||||
|
||||
router.delete(
|
||||
"/:monitorId",
|
||||
"/pagespeed/:monitorId",
|
||||
verifyOwnership(Monitor, "monitorId"),
|
||||
deletePageSpeedCheck
|
||||
);
|
||||
|
||||
|
||||
module.exports = router;
|
||||
|
||||
@@ -145,6 +145,21 @@ const deleteChecksParamValidation = joi.object({
|
||||
monitorId: joi.string().required(),
|
||||
});
|
||||
|
||||
//****************************************
|
||||
// PageSpeedCheckValidation
|
||||
//****************************************
|
||||
const getPageSpeedCheckParamValidation = joi.object({
|
||||
monitorId: joi.string().required(),
|
||||
});
|
||||
|
||||
const createPageSpeedCheckParamValidation = joi.object({
|
||||
monitorId: joi.string().required(),
|
||||
});
|
||||
|
||||
const deletePageSpeedCheckParamValidation = joi.object({
|
||||
monitorId: joi.string().required(),
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
loginValidation,
|
||||
registerValidation,
|
||||
@@ -169,4 +184,7 @@ module.exports = {
|
||||
getChecksParamValidation,
|
||||
deleteChecksParamValidation,
|
||||
deleteUserParamValidation,
|
||||
getPageSpeedCheckParamValidation,
|
||||
createPageSpeedCheckParamValidation,
|
||||
deletePageSpeedCheckParamValidation,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user