// 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"}); };