mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-06-19 18:56:48 +02:00
44 lines
No EOL
1 KiB
JavaScript
44 lines
No EOL
1 KiB
JavaScript
/**
|
|
* Utility functions for heartbeat range handling
|
|
*/
|
|
|
|
/**
|
|
* Parse heartbeat range string and return hours
|
|
* @param {string} range - Range string like "6h", "7d", "auto"
|
|
* @returns {number|null} Hours or null for auto
|
|
*/
|
|
function parseRangeHours(range) {
|
|
if (!range || range === "auto") {
|
|
return null;
|
|
}
|
|
|
|
if (range.endsWith("h")) {
|
|
return parseInt(range);
|
|
} else if (range.endsWith("d")) {
|
|
return parseInt(range) * 24;
|
|
}
|
|
|
|
// Fallback
|
|
return 90 * 24;
|
|
}
|
|
|
|
/**
|
|
* Convert range to database-compatible date string
|
|
* @param {string} range - Range string like "6h", "7d", "auto"
|
|
* @returns {string|null} Date string or null for auto
|
|
*/
|
|
function rangeToDatabaseDate(range) {
|
|
const hours = parseRangeHours(range);
|
|
if (hours === null) {
|
|
return null;
|
|
}
|
|
|
|
const date = new Date();
|
|
date.setHours(date.getHours() - hours);
|
|
return date.toISOString().slice(0, 19).replace('T', ' ');
|
|
}
|
|
|
|
module.exports = {
|
|
parseRangeHours,
|
|
rangeToDatabaseDate
|
|
}; |