From 9381f842f3ce5527bd7418b1fcc268db615d3323 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Sun, 15 Sep 2024 12:28:11 +0800 Subject: [PATCH] Add service name and method name to errors in misc services and middleware --- Server/middleware/isAllowed.js | 1 + Server/middleware/verifyJWT.js | 1 + Server/middleware/verifyOwnership.js | 1 + Server/middleware/verifySuperAdmin.js | 1 + Server/service/networkService.js | 4 ++++ Server/service/pageSpeedService.js | 16 +++++++++++++--- 6 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Server/middleware/isAllowed.js b/Server/middleware/isAllowed.js index fefb26099..c7d78785a 100644 --- a/Server/middleware/isAllowed.js +++ b/Server/middleware/isAllowed.js @@ -43,6 +43,7 @@ const isAllowed = (allowedRoles) => { } } catch (error) { error.status = 401; + error.method = "isAllowed"; error.service = SERVICE_NAME; next(error); return; diff --git a/Server/middleware/verifyJWT.js b/Server/middleware/verifyJWT.js index 1c4231959..d79c2eddc 100644 --- a/Server/middleware/verifyJWT.js +++ b/Server/middleware/verifyJWT.js @@ -28,6 +28,7 @@ const verifyJWT = (req, res, next) => { const error = new Error(errorMessages.INVALID_AUTH_TOKEN); // Instantiate a new Error object for improperly formatted token error.status = 400; error.service = SERVICE_NAME; + error.method = "verifyJWT"; next(error); return; } diff --git a/Server/middleware/verifyOwnership.js b/Server/middleware/verifyOwnership.js index 419115227..8bfadeebb 100644 --- a/Server/middleware/verifyOwnership.js +++ b/Server/middleware/verifyOwnership.js @@ -39,6 +39,7 @@ const verifyOwnership = (Model, paramName) => { return; } catch (error) { error.service = SERVICE_NAME; + error.method = "verifyOwnership"; next(error); return; } diff --git a/Server/middleware/verifySuperAdmin.js b/Server/middleware/verifySuperAdmin.js index 82401b3b7..e977a1591 100644 --- a/Server/middleware/verifySuperAdmin.js +++ b/Server/middleware/verifySuperAdmin.js @@ -26,6 +26,7 @@ const verifySuperAdmin = (req, res, next) => { const error = new Error(errorMessages.INVALID_AUTH_TOKEN); // Instantiate a new Error object for improperly formatted token error.status = 400; error.service = SERVICE_NAME; + error.method = "verifySuperAdmin"; next(error); return; } diff --git a/Server/service/networkService.js b/Server/service/networkService.js index 0664ee05a..971998ace 100644 --- a/Server/service/networkService.js +++ b/Server/service/networkService.js @@ -89,6 +89,10 @@ class NetworkService { } catch (error) { const endTime = Date.now(); error.responseTime = endTime - startTime; + error.service === undefined ? (error.service = SERVICE_NAME) : null; + error.mheotd === undefined + ? (error.method = "measureResponseTime") + : null; throw error; } } diff --git a/Server/service/pageSpeedService.js b/Server/service/pageSpeedService.js index 3ac00236e..b482e7860 100644 --- a/Server/service/pageSpeedService.js +++ b/Server/service/pageSpeedService.js @@ -24,7 +24,9 @@ class PageSpeedService { service: this.SERVICE_NAME, error: error.message, }); - throw new Error("Failed to run PageSpeed check"); + error.service === undefined ? (error.service = SERVICE_NAME) : null; + error.method === undefined ? (error.method = "runPageSpeedCheck") : null; + throw error; } } @@ -34,8 +36,16 @@ class PageSpeedService { * @returns {Promise} The created PageSpeedCheck document. */ async createPageSpeedCheck(data) { - const newPageSpeedCheck = new PageSpeedCheck(data); - return await newPageSpeedCheck.save(); + try { + const newPageSpeedCheck = new PageSpeedCheck(data); + return await newPageSpeedCheck.save(); + } catch (error) { + error.service === undefined ? (error.service = SERVICE_NAME) : null; + error.method === undefined + ? (error.method = "createPageSpeedCheck") + : null; + throw error; + } } }