You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
uptime-kuma/server/user-monitor-list.js

54 lines
1.1 KiB

/**
* Main monitor list
*/
class UserMonitorList {
list = {};
add(userID, monitor) {
if (! this.list[userID]) {
this.list[userID] = {};
}
this.list[userID][monitor.id] = monitor;
}
delete(userID, monitorID) {
let monitorList = this.getMonitorList(userID);
delete monitorList[monitorID];
}
getMonitor(userID, monitorID) {
let monitorList = this.getMonitorList(userID);
if (monitorList[monitorID]) {
return monitorList[monitorID];
} else {
return {};
}
}
getMonitorList(userID) {
if (this.list[userID]) {
return this.list[userID];
} else {
return {};
}
}
getAllMonitorList() {
let list = {};
for (let userID in this.list) {
let monitorList = this.list[userID];
for (let monitorID in monitorList) {
list[monitorID] = monitorList[monitorID];
}
}
return list;
}
}
module.exports = {
userMonitorList: new UserMonitorList(),
};