lpio
Version:
The last dashboard app you'll ever need
31 lines (27 loc) • 961 B
JavaScript
var Q = require('q');
var _ = require('underscore');
var widgets = require('../../../database').widgets;
var log = require('../../../log');
exports.send = function(req, res, next){
var id = req.params.widget_id;
var value = req.body.data || {};
return Q.ninvoke(widgets,'update',{_id:id},{$set:{value:value}},{})
.then(function(numUpdated){
// @TODO: broadcast new value realtime
if(numUpdated >= 1) {
res.json({
status: "ok",
message: "Your widget with id: " + id + " was updated",
data: {
id: id,
value: value
}
});
}else {
throw new Error("Not updated");
}
}).catch(function(err){
log.error(err,"Error updating Widget");
next( new Error ("Error updating Widget"));
});
}