added sqlserver monitor

This commit is contained in:
Christopher Pickering 2022-05-12 12:48:03 -05:00
parent 332b9ab248
commit 87f933df4f
No known key found for this signature in database
GPG key ID: E14DB3B0A0FACF84
9 changed files with 1796 additions and 42 deletions

View file

@ -10,6 +10,7 @@ const chardet = require("chardet");
const mqtt = require("mqtt");
const chroma = require("chroma-js");
const { badgeConstants } = require("./config");
const sql = require("mssql");
// From ping-lite
exports.WIN = /^win/.test(process.platform);
@ -203,6 +204,30 @@ exports.dnsResolve = function (hostname, resolverServer, rrtype) {
});
};
/**
* Run a query on SQL Server
* @param {string} connectionString The database connection string
* @param {string} query The query to validate the database with
* @returns {Promise<(string[]|Object[]|Object)>}
*/
exports.sqlserver = function (connectionString, query) {
return new Promise((resolve, reject) => {
sql.on("error", err => {
reject(err);
});
sql.connect(connectionString).then(pool => {
return pool.request()
.query(query);
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
};
/**
* Retrieve value of setting based on key
* @param {string} key Key of setting to retrieve