Fix migration to check column existence and add missing JSDoc @returns declarations

This commit is contained in:
circlecrystalin 2026-01-16 18:42:34 +01:00
parent b8ee80fd76
commit 1e1019b9c6
2 changed files with 21 additions and 12 deletions

View File

@ -1,15 +1,21 @@
exports.up = function (knex) {
return knex.schema.alterTable("heartbeat", function (table) {
table
.float("numeric_value")
.nullable()
.defaultTo(null)
.comment("Numeric value from monitor check (e.g., from JSON query or SNMP)");
});
exports.up = async function (knex) {
const hasColumn = await knex.schema.hasColumn("heartbeat", "numeric_value");
if (!hasColumn) {
return knex.schema.alterTable("heartbeat", function (table) {
table
.float("numeric_value")
.nullable()
.defaultTo(null)
.comment("Numeric value from monitor check (e.g., from JSON query or SNMP)");
});
}
};
exports.down = function (knex) {
return knex.schema.alterTable("heartbeat", function (table) {
table.dropColumn("numeric_value");
});
exports.down = async function (knex) {
const hasColumn = await knex.schema.hasColumn("heartbeat", "numeric_value");
if (hasColumn) {
return knex.schema.alterTable("heartbeat", function (table) {
table.dropColumn("numeric_value");
});
}
};

View File

@ -227,6 +227,7 @@ class UptimeCalculator {
* @param {object} dailyData Daily data object
* @param {number} status Status value
* @param {number} flatStatus Flattened status value
* @returns {void}
*/
updateStatusCounts(minutelyData, hourlyData, dailyData, status, flatStatus) {
if (status === MAINTENANCE) {
@ -251,6 +252,7 @@ class UptimeCalculator {
* @param {object} hourlyData Hourly data object
* @param {object} dailyData Daily data object
* @param {number} ping Ping value
* @returns {void}
*/
updatePing(minutelyData, hourlyData, dailyData, ping) {
if (isNaN(ping)) {
@ -298,6 +300,7 @@ class UptimeCalculator {
* @param {object} hourlyData Hourly data object
* @param {object} dailyData Daily data object
* @param {number} numericValue Numeric value
* @returns {void}
*/
updateNumeric(minutelyData, hourlyData, dailyData, numericValue) {
if (numericValue === null || isNaN(numericValue)) {