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/model/heartbeat.js

50 lines
1.1 KiB

3 years ago
const dayjs = require("dayjs");
const utc = require("dayjs/plugin/utc");
let timezone = require("dayjs/plugin/timezone");
dayjs.extend(utc);
dayjs.extend(timezone);
3 years ago
const { BeanModel } = require("redbean-node/dist/bean-model");
3 years ago
/**
* status:
* 0 = DOWN
* 1 = UP
3 years ago
* 2 = PENDING
* 3 = MAINTENANCE
3 years ago
*/
class Heartbeat extends BeanModel {
/**
* Return an object that ready to parse to JSON for public
* Only show necessary data to public
* @returns {Object}
*/
toPublicJSON() {
return {
status: this.status,
time: this.time,
msg: "", // Hide for public
ping: this.ping,
};
}
/**
* Return an object that ready to parse to JSON
* @returns {Object}
*/
3 years ago
toJSON() {
return {
monitorID: this.monitor_id,
status: this.status,
time: this.time,
msg: this.msg,
ping: this.ping,
important: this.important,
duration: this.duration,
3 years ago
};
}
}
module.exports = Heartbeat;