Added EspEasy (garden) handlers.

Added garden chart;
GetDevice messages has days filter;
Fixed charts & newchart data added.
This commit is contained in:
d-popov
2020-05-12 20:43:28 +03:00
parent d8a37e4b44
commit 8a68a07112
8 changed files with 348 additions and 49 deletions

View File

@@ -33,6 +33,32 @@ var DeviceMessage = sqlz.define('devicemessage', {
timestamp: { type: Sequelize.DATE, allowNull: false},
});
DeviceMessage.GetByName = function (name, days)
{
var User = sqlz.User;
User.find({
where: {
field_name: name,
timestamp: {$gte: new Date()}
}
}).then(function(user)
{
if(!user)
{
error.status = 500; error.message = "ERROR_INVALID_USER"; error.code = 301;
return next(error);
}
// Build the profile from the user object
profile = {
"firstName": user.firstName,
"lastName": user.lastName,
"emailAddress": user.emailAddress
}
response.status(200).send(profile);
});
}
var DeviceCommand = sqlz.define("command", {
device: { type: Sequelize.STRING},
command: {type: Sequelize.TEXT},

View File

@@ -9,10 +9,13 @@ var con = mysql.createConnection({
const got = require('got');
exports.findByName = function(fieldName, cb) {
exports.findByName = function(fieldName, days, cb) {
process.nextTick(function() {
con.query("SELECT * FROM devicemessages WHERE field_name=? OR ? IS NULL",
[fieldName, fieldName], (err, data) => {
// console.log("findByName(" +fieldName + ",?" + days +")" );
// days = days|365;
console.log("findByName(" +fieldName + "," + days +")" );
con.query("SELECT * FROM devicemessages WHERE (field_name=? OR ? IS NULL) AND (timestamp >= ( CURDATE() - INTERVAL ? DAY ))",
[fieldName, fieldName, days], (err, data) => {
if (!err) {
cb(null, data);
} else {

View File

@@ -21,3 +21,4 @@ data.init();
exports.devicemessages = require('./devicemessages');
exports.users = require('./users');
exports.orm = require('./database');