mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-06-19 18:56:48 +02:00
refactor: Clean up heartbeat range handling in status page
- Removed fallback to "auto" for heartbeat bar range in the StatusPage model. - Simplified heartbeat range logic in the status page router to ensure consistent date handling. - Updated socket handler to directly assign heartbeat bar range from config.
This commit is contained in:
parent
b441308545
commit
ebd47f1a45
3 changed files with 14 additions and 8 deletions
|
@ -409,7 +409,7 @@ class StatusPage extends BeanModel {
|
||||||
showPoweredBy: !!this.show_powered_by,
|
showPoweredBy: !!this.show_powered_by,
|
||||||
googleAnalyticsId: this.google_analytics_tag_id,
|
googleAnalyticsId: this.google_analytics_tag_id,
|
||||||
showCertificateExpiry: !!this.show_certificate_expiry,
|
showCertificateExpiry: !!this.show_certificate_expiry,
|
||||||
heartbeatBarRange: this.heartbeat_bar_range || "auto",
|
heartbeatBarRange: this.heartbeat_bar_range,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -86,24 +86,30 @@ router.get("/api/status-page/heartbeat/:slug", cache("1 minutes"), async (reques
|
||||||
|
|
||||||
// Get the status page to determine the heartbeat range
|
// Get the status page to determine the heartbeat range
|
||||||
let statusPage = await R.findOne("status_page", " id = ? ", [ statusPageID ]);
|
let statusPage = await R.findOne("status_page", " id = ? ", [ statusPageID ]);
|
||||||
let heartbeatRange = (statusPage && statusPage.heartbeat_bar_range) ? statusPage.heartbeat_bar_range : "auto";
|
let heartbeatRange = statusPage ? statusPage.heartbeat_bar_range : "auto";
|
||||||
|
|
||||||
// Calculate the date range for heartbeats based on range setting
|
// Calculate the date range for heartbeats based on range setting
|
||||||
let dateFrom = new Date();
|
let dateFrom = null;
|
||||||
if (heartbeatRange === "auto") {
|
if (heartbeatRange === "auto") {
|
||||||
// Auto mode: limit to last 100 beats (original behavior)
|
// Auto mode: limit to last 100 beats (original behavior)
|
||||||
dateFrom = null;
|
dateFrom = null;
|
||||||
} else if (heartbeatRange.endsWith("h")) {
|
} else if (heartbeatRange.endsWith("h")) {
|
||||||
// Hours
|
// Hours
|
||||||
let hours = parseInt(heartbeatRange);
|
let hours = parseInt(heartbeatRange);
|
||||||
dateFrom.setHours(dateFrom.getHours() - hours);
|
let date = new Date();
|
||||||
|
date.setHours(date.getHours() - hours);
|
||||||
|
dateFrom = date.toISOString().slice(0, 19).replace('T', ' ');
|
||||||
} else if (heartbeatRange.endsWith("d")) {
|
} else if (heartbeatRange.endsWith("d")) {
|
||||||
// Days
|
// Days
|
||||||
let days = parseInt(heartbeatRange);
|
let days = parseInt(heartbeatRange);
|
||||||
dateFrom.setDate(dateFrom.getDate() - days);
|
let date = new Date();
|
||||||
|
date.setDate(date.getDate() - days);
|
||||||
|
dateFrom = date.toISOString().slice(0, 19).replace('T', ' ');
|
||||||
} else {
|
} else {
|
||||||
// Fallback to 90 days
|
// Fallback to 90 days
|
||||||
dateFrom.setDate(dateFrom.getDate() - 90);
|
let date = new Date();
|
||||||
|
date.setDate(date.getDate() - 90);
|
||||||
|
dateFrom = date.toISOString().slice(0, 19).replace('T', ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let monitorID of monitorIDList) {
|
for (let monitorID of monitorIDList) {
|
||||||
|
@ -126,7 +132,7 @@ router.get("/api/status-page/heartbeat/:slug", cache("1 minutes"), async (reques
|
||||||
ORDER BY time DESC
|
ORDER BY time DESC
|
||||||
`, [
|
`, [
|
||||||
monitorID,
|
monitorID,
|
||||||
dateFrom.toISOString(),
|
dateFrom,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ module.exports.statusPageSocketHandler = (socket) => {
|
||||||
statusPage.custom_css = config.customCSS;
|
statusPage.custom_css = config.customCSS;
|
||||||
statusPage.show_powered_by = config.showPoweredBy;
|
statusPage.show_powered_by = config.showPoweredBy;
|
||||||
statusPage.show_certificate_expiry = config.showCertificateExpiry;
|
statusPage.show_certificate_expiry = config.showCertificateExpiry;
|
||||||
statusPage.heartbeat_bar_range = config.heartbeatBarRange || "auto";
|
statusPage.heartbeat_bar_range = config.heartbeatBarRange;
|
||||||
statusPage.modified_date = R.isoDateTime();
|
statusPage.modified_date = R.isoDateTime();
|
||||||
statusPage.google_analytics_tag_id = config.googleAnalyticsId;
|
statusPage.google_analytics_tag_id = config.googleAnalyticsId;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue