Files
DataLogger-Generic/www/functions_MySQL.js
2016-01-22 14:06:43 -06:00

81 lines
2.7 KiB
JavaScript

// app.get('/json/add/:tag', fns.addTag); // Adds a tag to the scan list
// app.get('/json/remove/:tag', fns.removeTag); // Removes a tag from the scan list
// app.get('/json/val/:tag', fns.latestTagValue); // Gets the latest value of a single tag
// app.get('/json/series/:tag/:hours', fns.seriesTagValues); // Gets all the values of a tag for the last X hours
// app.get('/json/tags', fns.allTags); // Lists all tags in the scan list
// app.get('/json/all', fns.allValues); // Gets the latest values of all tags in the scan list
var getScanList = function(sl){
var query = "SELECT * FROM TagData.tags WHERE deleted = 0;";
};
exports.addTag = function(req, res){
var vals = {
tagName: req.params.tagName,
units: req.params.units,
};
var query = "INSERT INTO TagData.tags SET ?";
req.app.locals.db.query(query, vals, function(err, rows, fields) {
if (err) {
res.json({status:"error", message:err});
console.log(err);
} else {
res.json({status:"OK"});
}
});
};
exports.removeTag = function(req, res){
var query = "UPDATE TagData.tags SET deleted = 1 WHERE id = " + parseInt(req.params.tag) + ";";
req.app.locals.db.query(query, function(err, rows, fields) {
if (err) {
res.json({status:"error", message:err});
console.log(err);
} else {
res.json({status:"OK"});
}
});
};
exports.latestTagValue = function(req, res){
var query = "SELECT * FROM TagData.values WHERE id = (SELECT MAX(id) FROM TagData.values WHERE tagID = (SELECT id FROM TagData.tags WHERE tagName = '" + req.params.tag + "'));";
req.app.locals.db.query(query, function(err, rows, fields) {
if (err) {
res.json({status:"error", message:err});
console.log(err);
} else {
res.json({status:"OK", tag_val:rows[0]});
}
});
};
exports.seriesTagValues = function(req, res){
var query = "SELECT * FROM TagData.values WHERE tagID = "+ req.params.tag +" AND dateAdded > DATE_SUB(NOW(),INTERVAL "+ req.params.hours +" HOUR)";
req.app.locals.db.query(query, function(err, rows, fields) {
if (err){
console.log(err);
res.json({status:"error", message:err, query:query});
} else {
res.json({status:"OK", tag: req.params.tag, values:rows});
}
});
};
exports.allTags = function(req, res){
var query = "SELECT * FROM TagData.tags WHERE deleted = 0;";
req.app.locals.db.query(query, function(err, rows, fields) {
if (err) {
res.json({status:"error", message:err});
console.log(err);
} else {
res.json({status:"OK", tags:rows});
}
});
};
exports.allValues = function(req, res){
res.json(status:"error", message:"not implemented"});
};