From 7751a67372f2eaa5f2803009d326826b3f7223ce Mon Sep 17 00:00:00 2001 From: Skorpios <70910395+Skorpios604@users.noreply.github.com> Date: Thu, 25 Jul 2024 14:54:50 -0700 Subject: [PATCH] Feat/db operations psc (#449) * Add screenshot, fix wording * Update README.md * setting up PSC in DB. * Add docs. --------- Co-authored-by: Gorkem Cetin (BWL) <167266851+gorkem-bwl@users.noreply.github.com> --- README.md | 12 +++++-- Server/db/MongoDB.js | 64 +++++++++++++++++++++++++++++++++ Server/models/PageSpeedCheck.js | 2 ++ 3 files changed, 75 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5e0ade008..e40dc81e6 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,17 @@   -![]() -# BlueWave Uptime +
An open source server monitoring application
+ + + + + + +BlueWave Uptime is an open source server monitoring application used to track the operational status and performance of servers and websites. It regularly checks whether a server/website is accessible and performs optimally, providing real-time alerts and reports on the monitored services' availability, downtime, and response time. ## Contributing diff --git a/Server/db/MongoDB.js b/Server/db/MongoDB.js index 02447022e..fbe3faf91 100644 --- a/Server/db/MongoDB.js +++ b/Server/db/MongoDB.js @@ -4,6 +4,7 @@ const UserModel = require("../models/user"); const Check = require("../models/Check"); const Alert = require("../models/Alert"); const RecoveryToken = require("../models/RecoveryToken"); +const PageSpeedCheck = require("../models/PageSpeedCheck"); const InviteToken = require("../models/InviteToken"); const crypto = require("crypto"); const DUPLICATE_KEY_CODE = 11000; // MongoDB error code for duplicate key @@ -508,6 +509,66 @@ const editMonitor = async (req, res) => { } }; +//**************************************** +// Page Speed Checks +//**************************************** + +/** + * Create a PageSpeed check for a monitor + * @async + * @param {Object} pageSpeedCheckData + * @param {string} pageSpeedCheckData.monitorId + * @param {number} pageSpeedCheckData.accessibility + * @param {number} pageSpeedCheckData.bestPractices + * @param {number} pageSpeedCheckData.seo + * @param {number} pageSpeedCheckData.performance + * @returns {Promise