From b5f4c041658a50aa927ec79ebee26b088146d58f Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 30 Jul 2025 15:21:22 -0700 Subject: [PATCH] module->class --- server/src/config/services.js | 3 + server/src/db/mongo/MongoDB.js | 3 +- .../db/mongo/modules/pageSpeedCheckModule.js | 80 +++++++------------ server/src/service/business/monitorService.js | 2 +- .../service/infrastructure/bufferService.js | 2 +- 5 files changed, 34 insertions(+), 56 deletions(-) diff --git a/server/src/config/services.js b/server/src/config/services.js index 2704baad0..93ad0ce46 100644 --- a/server/src/config/services.js +++ b/server/src/config/services.js @@ -63,6 +63,7 @@ import MaintenanceWindowModule from "../db/mongo/modules/maintenanceWindowModule import MonitorModule from "../db/mongo/modules/monitorModule.js"; import NetworkCheckModule from "../db/mongo/modules/networkCheckModule.js"; import NotificationModule from "../db/mongo/modules/notificationModule.js"; +import PageSpeedCheckModule from "../db/mongo/modules/pageSpeedCheckModule.js"; export const initializeServices = async ({ logger, envSettings, settingsService }) => { const serviceRegistry = new ServiceRegistry({ logger }); @@ -96,6 +97,7 @@ export const initializeServices = async ({ logger, envSettings, settingsService }); const networkCheckModule = new NetworkCheckModule({ NetworkCheck }); const notificationModule = new NotificationModule({ Notification, Monitor }); + const pageSpeedCheckModule = new PageSpeedCheckModule({ PageSpeedCheck }); const db = new MongoDB({ logger, @@ -109,6 +111,7 @@ export const initializeServices = async ({ logger, envSettings, settingsService monitorModule, networkCheckModule, notificationModule, + pageSpeedCheckModule, }); await db.connect(); diff --git a/server/src/db/mongo/MongoDB.js b/server/src/db/mongo/MongoDB.js index 2e13e0a42..de6ca0c4e 100755 --- a/server/src/db/mongo/MongoDB.js +++ b/server/src/db/mongo/MongoDB.js @@ -42,6 +42,7 @@ class MongoDB { monitorModule, networkCheckModule, notificationModule, + pageSpeedCheckModule, }) { this.logger = logger; this.envSettings = envSettings; @@ -49,7 +50,7 @@ class MongoDB { this.inviteModule = inviteModule; Object.assign(this, recoveryModule); Object.assign(this, monitorModule); - Object.assign(this, pageSpeedCheckModule); + this.pageSpeedCheckModule = pageSpeedCheckModule; this.hardwareCheckModule = hardwareCheckModule; this.checkModule = checkModule; this.maintenanceWindowModule = maintenanceWindowModule; diff --git a/server/src/db/mongo/modules/pageSpeedCheckModule.js b/server/src/db/mongo/modules/pageSpeedCheckModule.js index 9169a0836..b2a3eb71d 100755 --- a/server/src/db/mongo/modules/pageSpeedCheckModule.js +++ b/server/src/db/mongo/modules/pageSpeedCheckModule.js @@ -1,57 +1,31 @@ -import PageSpeedCheck from "../../models/PageSpeedCheck.js"; +// import PageSpeedCheck from "../../models/PageSpeedCheck.js"; const SERVICE_NAME = "pageSpeedCheckModule"; -/** - * 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} - * @throws {Error} - */ -const createPageSpeedCheck = async (pageSpeedCheckData) => { - try { - const pageSpeedCheck = await new PageSpeedCheck({ - ...pageSpeedCheckData, - }).save(); - return pageSpeedCheck; - } catch (error) { - error.service = SERVICE_NAME; - error.method = "createPageSpeedCheck"; - throw error; - } -}; -const createPageSpeedChecks = async (pageSpeedChecks) => { - try { - await PageSpeedCheck.insertMany(pageSpeedChecks, { ordered: false }); - return true; - } catch (error) { - error.service = SERVICE_NAME; - error.method = "createPageSpeedCheck"; - throw error; - } -}; -/** - * Delete all PageSpeed checks for a monitor - * @async - * @param {string} monitorId - * @returns {number} - * @throws {Error} - */ - -const deletePageSpeedChecksByMonitorId = async (monitorId) => { - try { - const result = await PageSpeedCheck.deleteMany({ monitorId }); - return result.deletedCount; - } catch (error) { - error.service = SERVICE_NAME; - error.method = "deletePageSpeedChecksByMonitorId"; - throw error; +class PageSpeedCheckModule { + constructor({ PageSpeedCheck }) { + this.PageSpeedCheck = PageSpeedCheck; } -}; -export { createPageSpeedCheck, createPageSpeedChecks, deletePageSpeedChecksByMonitorId }; + createPageSpeedChecks = async (pageSpeedChecks) => { + try { + await this.PageSpeedCheck.insertMany(pageSpeedChecks, { ordered: false }); + return true; + } catch (error) { + error.service = SERVICE_NAME; + error.method = "createPageSpeedCheck"; + throw error; + } + }; + + deletePageSpeedChecksByMonitorId = async (monitorId) => { + try { + const result = await this.PageSpeedCheck.deleteMany({ monitorId }); + return result.deletedCount; + } catch (error) { + error.service = SERVICE_NAME; + error.method = "deletePageSpeedChecksByMonitorId"; + throw error; + } + }; +} +export default PageSpeedCheckModule; diff --git a/server/src/service/business/monitorService.js b/server/src/service/business/monitorService.js index f9e5a8875..c52b5cadf 100644 --- a/server/src/service/business/monitorService.js +++ b/server/src/service/business/monitorService.js @@ -154,7 +154,7 @@ class MonitorService { try { await this.jobQueue.deleteJob(monitor); await this.db.checkModule.deleteChecks(monitor._id); - await this.db.deletePageSpeedChecksByMonitorId(monitor._id); + await this.db.pageSpeedCheckModule.deletePageSpeedChecksByMonitorId(monitor._id); await this.db.notificationsModule.deleteNotificationsByMonitorId(monitor._id); } catch (error) { this.logger.warn({ diff --git a/server/src/service/infrastructure/bufferService.js b/server/src/service/infrastructure/bufferService.js index b29cf533b..46da6bef3 100755 --- a/server/src/service/infrastructure/bufferService.js +++ b/server/src/service/infrastructure/bufferService.js @@ -22,7 +22,7 @@ class BufferService { }; this.OPERATION_MAP = { checks: this.db.checkModule.createChecks, - pagespeedChecks: this.db.createPageSpeedChecks, + pagespeedChecks: this.db.pageSpeedCheckModule.createPageSpeedChecks, hardwareChecks: this.db.hardwareCheckModule.createHardwareChecks, };