a little documentation

This commit is contained in:
Jens Neuber 2022-01-03 16:04:37 +01:00
parent 8b5997691e
commit 1c5bce8afa
2 changed files with 13 additions and 1 deletions

View file

@ -244,6 +244,8 @@ router.get("/api/badge/:id/:type", cache("5 minutes"), async (request, response)
const badgeValues = {};
if (!publicMonitor) {
// return a "n/a" badge in grey, if monitor is not public / not available / non exsitant
badgeValues.message = "N/A";
badgeValues.color = "#CCCCCC";
} else {
@ -261,9 +263,9 @@ router.get("/api/badge/:id/:type", cache("5 minutes"), async (request, response)
badgeValues.message = [prefix, `${uptime * 100} %`, suffix]
.filter((part) => part ?? part !== "")
.join("");
}
// build the svg based on given values
const svg = makeBadge(badgeValues);
response.type("image/svg+xml");

View file

@ -372,6 +372,16 @@ exports.errorLog = (error, outputToConsole = true) => {
} catch (_) { }
};
/**
* Returns a color code in hex format based on a given percentage:
* 0% => hue = 10 => red
* 100% => hue = 90 => green
*
* @param {number} percentage, float, 0 to 1
* @param {number} maxHue, int
* @param {number} minHue, int
* @returns {string}, hex value
*/
exports.percentageToColor = (percentage, maxHue = 90, minHue = 10) => {
const hue = percentage * (maxHue - minHue) + minHue;
try {