Merge pull request #769 from bluewave-labs/fix/notifications

Notifications added to monitor object
This commit is contained in:
Alexander Holliday
2024-08-30 18:39:13 -07:00
committed by GitHub
4 changed files with 18 additions and 15 deletions
@@ -52,7 +52,7 @@ const Configure = () => {
const [monitor, setMonitor] = useState({});
const [errors, setErrors] = useState({});
const { monitorId } = useParams();
console.log(monitor);
const idMap = {
"monitor-url": "url",
"monitor-name": "name",
+6 -7
View File
@@ -205,12 +205,14 @@ const createMonitor = async (req, res, next) => {
const monitor = await req.db.createMonitor(req, res);
if (notifications && notifications.length !== 0) {
await Promise.all(
const setNotifications = await Promise.all(
notifications.map(async (notification) => {
notification.monitorId = monitor._id;
await req.db.createNotification(notification);
})
);
monitor.notifications = setNotifications;
await monitor.save();
}
// Add monitor to job queue
req.jobQueue.addJob(monitor._id, monitor);
@@ -357,16 +359,13 @@ const pauseMonitor = async (req, res, next) => {
await req.jobQueue.addJob(monitor._id, monitor);
}
monitor.isActive = !monitor.isActive;
const updatedMonitor = await req.db.editMonitor(
req.params.monitorId,
monitor
);
monitor.save();
return res.status(200).json({
success: true,
msg: updatedMonitor.isActive
msg: monitor.isActive
? successMessages.MONITOR_RESUME
: successMessages.MONITOR_PAUSE,
data: updatedMonitor,
data: monitor,
});
} catch (error) {
error.service = SERVICE_NAME;
+4 -7
View File
@@ -284,7 +284,9 @@ const getMonitorById = async (monitorId) => {
const notifications = await Notification.find({
monitorId: monitorId,
});
return { ...monitor.toObject(), notifications };
monitor.notifications = notifications;
const monitorWithNotifications = await monitor.save();
return monitorWithNotifications;
} catch (error) {
throw error;
}
@@ -344,12 +346,7 @@ const getMonitorsByTeamId = async (req, res) => {
if (normalize !== undefined) {
checks = NormalizeData(checks, 10, 100);
}
// Get notifications
const notifications = await Notification.find({
monitorId: monitor._id,
});
return { ...monitor.toObject(), checks, notifications };
return { ...monitor.toObject(), checks };
})
);
return monitorsWithChecks;
+7
View File
@@ -1,4 +1,5 @@
const mongoose = require("mongoose");
const Notification = require("./Notification");
const MonitorSchema = mongoose.Schema(
{
@@ -43,6 +44,12 @@ const MonitorSchema = mongoose.Schema(
type: Number,
default: 60000,
},
notifications: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Notification",
},
],
},
{
timestamps: true,