From 8e87bdccd06298c23a97d841184a71c75639bb89 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Fri, 4 Oct 2024 12:31:44 +0800 Subject: [PATCH] Add teamID to maintenance-window --- Server/controllers/maintenanceWindowController.js | 8 ++++++-- Server/db/models/MaintenanceWindow.js | 4 ++-- Server/validation/joi.js | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Server/controllers/maintenanceWindowController.js b/Server/controllers/maintenanceWindowController.js index 742b98687..d11e757bd 100644 --- a/Server/controllers/maintenanceWindowController.js +++ b/Server/controllers/maintenanceWindowController.js @@ -3,9 +3,9 @@ const { getMaintenanceWindowsByUserIdParamValidation, getMaintenanceWindowsByMonitorIdParamValidation, } = require("../validation/joi"); - +const jwt = require("jsonwebtoken"); +const { getTokenFromHeaders } = require("../utils/utils"); const { successMessages } = require("../utils/messages"); - const SERVICE_NAME = "maintenanceWindowController"; const createMaintenanceWindows = async (req, res, next) => { @@ -20,9 +20,13 @@ const createMaintenanceWindows = async (req, res, next) => { return; } try { + const token = getTokenFromHeaders(req.headers); + const { jwtSecret } = req.settingsService.getSettings(); + const { teamId } = jwt.verify(token, jwtSecret); const monitorIds = req.body.monitors; const dbTransactions = monitorIds.map((monitorId) => { return req.db.createMaintenanceWindow({ + teamId, monitorId, active: req.body.active ? req.body.active : true, repeat: req.body.repeat, diff --git a/Server/db/models/MaintenanceWindow.js b/Server/db/models/MaintenanceWindow.js index 50c750d0f..06141cc60 100644 --- a/Server/db/models/MaintenanceWindow.js +++ b/Server/db/models/MaintenanceWindow.js @@ -34,9 +34,9 @@ const MaintenanceWindow = mongoose.Schema( ref: "Monitor", immutable: true, }, - userId: { + teamId: { type: mongoose.Schema.Types.ObjectId, - ref: "User", + ref: "Team", immutable: true, }, active: { diff --git a/Server/validation/joi.js b/Server/validation/joi.js index 53901ada1..30c782bf8 100644 --- a/Server/validation/joi.js +++ b/Server/validation/joi.js @@ -364,7 +364,7 @@ const deletePageSpeedCheckParamValidation = joi.object({ const createMaintenanceWindowBodyValidation = joi.object({ monitors: joi.array().items(joi.string()).required(), - userId: joi.string().required(), + teamId: joi.string().required(), active: joi.boolean(), start: joi.date().required(), end: joi.date().required(),