diff --git a/config.js b/config.js index 4841763cc8ae09ee51d6c44e38db17224d2d2430..71a2b5d7bdbc2b0c25e2d55a085f0873e4bdaf0d 100644 --- a/config.js +++ b/config.js @@ -26,7 +26,7 @@ module.exports = { databaseURL: 'mongodb://localhost:27017/', port: 4000, secret: 'longsecretislong', - logLevel: 'info', + logLevel: 'verbose', logFile: 'log.txt', admin: { username: 'admin', diff --git a/routes/files.js b/routes/files.js index 55199d221d1d51e6824241e81ce2c51678ce1186..bff503d23ba513675c02f5ee7c7e0ac1d8d2bb99 100644 --- a/routes/files.js +++ b/routes/files.js @@ -23,6 +23,7 @@ var express = require('express'); var auth = require('../auth'); +var logger = require('../utils/logger'); // models var File = require('../models/file'); @@ -36,29 +37,27 @@ var router = express.Router(); // routes router.get('/files', auth.validateToken, function(req, res) { - // find request author User.findOne({ _id: req.decoded._doc._id }, function(err, user) { if (err) { - console.error('Could find user requesting files', err); + logger.error('Could find user requesting files', err); } - + File.find({ _id: { $in : user.files } }, function(err, files) { if (err) { - console.error('Error while querying files from user', error, user); + logger.error('Error while querying files from user', { err, user }); return res.status(500).send({ success: false, message: 'Could not retrieve user\'s files.' }); } res.send({ files: files }); }); - }); - }); router.get('/files/:id', function(req, res) { File.findOne({ _id: req.params.id }, function(err, file) { if (err) { + logger.log('verbose', 'GET Unknown file for id: ' + req.params.id); return res.status(400).send(err); } @@ -69,11 +68,13 @@ router.get('/files/:id', function(req, res) { router.delete('/files/:id', function(req, res) { File.findOne({ _id: req.params.id }, function(err, file) { if (err) { + logger.log('verbose', 'DELETE Unknown file for id: ' + req.params.id); return res.status(400).send(err); } file.remove(function(err) { if (err) { + logger.error('Unable to remove file', file); return res.status(500).send(err); } diff --git a/routes/projects.js b/routes/projects.js index a9145905d3bb8cff11dadb1b85b0dbe9c9aee5e5..a278acc61ef50b3c115eba5290b64a5185191210 100644 --- a/routes/projects.js +++ b/routes/projects.js @@ -23,6 +23,7 @@ var express = require('express'); //var auth = require('../auth'); +var logger = require('../utils/logger'); // models var Project = require('../models/project'); @@ -40,6 +41,7 @@ router.get('/projects', /*auth.validateRole('project', 'read'),*/ function(req, // get all projects Project.find(function(err, projects) { if (err) { + logger.error('Unable to receive projects', err); return res.status(400).send(err); } @@ -54,6 +56,7 @@ router.post('/projects', /*auth.validateRole('project', 'create'),*/ function(re // save project project.save(function(err) { if (err) { + logger.error('Unable to create project', err); return res.status(500).send(err); } @@ -73,6 +76,7 @@ router.post('/projects', /*auth.validateRole('project', 'create'),*/ function(re // add project to simulation Simulation.findOne({ _id: project.simulation }, function(err, simulation) { if (err) { + logger.log('verbose', 'Unknown simulation for id: ' + project.simulation, { err, project }); return res.status(400).send(err); } @@ -80,6 +84,7 @@ router.post('/projects', /*auth.validateRole('project', 'create'),*/ function(re simulation.save(function(err) { if (err) { + logger.error('Unable to save simulation', { err, simulation }); return res.status(500).send(err); } @@ -95,6 +100,7 @@ router.put('/projects/:id', /*auth.validateRole('project', 'update'),*/ function // get project Project.findOne({ _id: req.params.id }, function(err, project) { if (err) { + logger.log('verbose', 'PUT Unknown project for id: ' + req.params.id); return res.status(400).send(err); } @@ -140,7 +146,8 @@ router.put('/projects/:id', /*auth.validateRole('project', 'update'),*/ function // remove from old simulation Simulation.findOne({ _id: project.simulation }, function(err, simulation) { if (err) { - return console.log(err); + logger.verbose('Unable to find simulation for id: ' + project.simulation); + return; } for (var i = 0; i < simulation.projects; i++) { @@ -151,7 +158,8 @@ router.put('/projects/:id', /*auth.validateRole('project', 'update'),*/ function simulation.save(function(err) { if (err) { - return console.log(err); + logger.error('Unable to save simulation', simulation); + return; } }); }); @@ -159,14 +167,16 @@ router.put('/projects/:id', /*auth.validateRole('project', 'update'),*/ function // add to new simulation Simulation.findOne({ _id: req.body.project.simulation }, function(err, simulation) { if (err) { - return console.log(err); + logger.error('Unable to find simulation for id: ' + req.body.project.simulation); + return; } simulation.projects.push(project._id); simulation.save(function(err) { if (err) { - return console.log(err); + logger.error('Unable to save simulation', simulation); + return; } }); }); @@ -180,6 +190,7 @@ router.put('/projects/:id', /*auth.validateRole('project', 'update'),*/ function // save the changes project.save(function(err) { if (err) { + logger.error('Unable to save project', project); return res.status(500).send(err); } @@ -191,6 +202,7 @@ router.put('/projects/:id', /*auth.validateRole('project', 'update'),*/ function router.get('/projects/:id', /*auth.validateRole('project', 'read'),*/ function(req, res) { Project.findOne({ _id: req.params.id }, function(err, project) { if (err) { + logger.log('verbose', 'GET Unknown project for id: ' + req.params.id); return res.status(400).send(err); } @@ -201,6 +213,7 @@ router.get('/projects/:id', /*auth.validateRole('project', 'read'),*/ function(r router.delete('/projects/:id', /*auth.validateRole('project', 'delete'),*/ function(req, res) { Project.findOne({ _id: req.params.id }, function(err, project) { if (err) { + logger.log('verbose', 'DELETE Unknown project for id: ' + req.params.id); return res.status(400).send(err); } @@ -225,6 +238,7 @@ router.delete('/projects/:id', /*auth.validateRole('project', 'delete'),*/ funct // remove the project project.remove(function(err) { if (err) { + logger.error('Unable to remove project', project); return res.status(500).send(err); } diff --git a/routes/simulationModels.js b/routes/simulationModels.js index bd9d078081e382f05b7e184e9db71b81ac59c2f1..f6eb4ff69504e1464abe52a9b44f4052393a5123 100644 --- a/routes/simulationModels.js +++ b/routes/simulationModels.js @@ -23,6 +23,7 @@ var express = require('express'); //var auth = require('../auth'); +var logger = require('../utils/logger'); // models var SimulationModel = require('../models/simulationModel'); @@ -39,6 +40,7 @@ router.get('/simulationModels', /*auth.validateRole('simulationModel', 'read'),* // get all user simulations SimulationModel.find(function(err, models) { if (err) { + logger.error('Unable to receive simulation models', err); return res.status(400).send(err); } @@ -52,12 +54,14 @@ router.post('/simulationModels', /*auth.validateRole('simulationModel', 'create' model.save(function(err) { if (err) { + logger.error('Unable to create simulation model', err); return res.status(400).send(err); } // add model to simulation Simulation.findOne({ _id: model.simulation }, function(err, simulation) { if (err) { + logger.verbose('Unable to find simulation for id: ' + model.simulation); return res.status(500).send(err); } @@ -65,6 +69,7 @@ router.post('/simulationModels', /*auth.validateRole('simulationModel', 'create' simulation.save(function(err) { if (err) { + logger.error('Unable to save simulation', simulation); return res.status(500).send(err); } @@ -78,6 +83,7 @@ router.put('/simulationModels/:id', /*auth.validateRole('simulationModel', 'upda // get model SimulationModel.findOne({ _id: req.params.id }, function(err, model) { if (err) { + logger.log('verbose', 'PUT Unknown simulation model for id: ' + req.params.id); return res.status(400).send(err); } @@ -89,6 +95,7 @@ router.put('/simulationModels/:id', /*auth.validateRole('simulationModel', 'upda // save the changes model.save(function(err) { if (err) { + logger.error('Unable to save simulation model', model); return res.status(500).send(err); } @@ -100,6 +107,7 @@ router.put('/simulationModels/:id', /*auth.validateRole('simulationModel', 'upda router.get('/simulationModels/:id', /*auth.validateRole('simulationModel', 'read'),*/ function(req, res) { SimulationModel.findOne({ _id: req.params.id }, function(err, model) { if (err) { + logger.log('verbose', 'GET Unknown project for id: ' + req.params.id); return res.status(400).send(err); } @@ -110,12 +118,14 @@ router.get('/simulationModels/:id', /*auth.validateRole('simulationModel', 'read router.delete('/simulationModels/:id', /*auth.validateRole('simulationModel', 'delete'),*/ function(req, res) { SimulationModel.findOne({ _id: req.params.id }, function(err, model) { if (err) { + logger.log('verbose', 'DELETE Unknown simulation model for id: ' + req.params.id); return res.status(400).send(err); } // remove from simulation's list Simulation.findOne({ _id: model.simulation }, function(err, simulation) { if (err) { + logger.log('verbose', 'Unable to find simulation for id: ' + model.simulation); return res.status(500).send(err); } @@ -128,11 +138,13 @@ router.delete('/simulationModels/:id', /*auth.validateRole('simulationModel', 'd simulation.save(function(err) { if (err) { + logger.error('Unable to save simulation', simulation); return res.status(500).send(err); } model.remove(function(err) { if (err) { + logger.error('Unable to remove simulation model', model); return res.status(500).send(err); } diff --git a/routes/simulations.js b/routes/simulations.js index 4afe88b36f9aeae824aee802ca554bba73d759bd..74a45c33d6812553386b1d7bdc77efe3f0fa540d 100644 --- a/routes/simulations.js +++ b/routes/simulations.js @@ -23,6 +23,7 @@ var express = require('express'); //var auth = require('../auth'); +var logger = require('../utils/logger'); // models var Simulation = require('../models/simulation'); @@ -38,6 +39,7 @@ var router = express.Router(); router.get('/simulations', /*auth.validateRole('simulation', 'read'),*/ function(req, res) { Simulation.find(function(err, simulations) { if (err) { + logger.error('Unable to receive simulations', err); return res.send(err); } @@ -51,6 +53,7 @@ router.post('/simulations', /*auth.validateRole('simulation', 'create'), auth.va simulation.save(function(err) { if (err) { + logger.error('Unable to create simulation', err); return res.status(400).send(err); } @@ -78,6 +81,7 @@ router.put('/simulations/:id', /*auth.validateRole('simulation', 'update'),*/ fu // get simulation Simulation.findOne({ _id: req.params.id }, function(err, simulation) { if (err) { + logger.log('verbose', 'PUT Unknown simulation for id: ' + req.params.id); return res.status(400).send(err); } @@ -131,6 +135,7 @@ router.put('/simulations/:id', /*auth.validateRole('simulation', 'update'),*/ fu // save the changes simulation.save(function(err) { if (err) { + logger.error('Unable to save simulation', simulation); return res.status(400).send(err); } @@ -142,6 +147,7 @@ router.put('/simulations/:id', /*auth.validateRole('simulation', 'update'),*/ fu router.get('/simulations/:id', /*auth.validateRole('simulation', 'read'),*/ function(req, res) { Simulation.findOne({ _id: req.params.id }, function(err, simulation) { if (err) { + logger.log('verbose', 'GET Unknown simulation for id: ' + req.params.id); return res.send(err); } @@ -157,6 +163,7 @@ router.get('/simulations/:id', /*auth.validateRole('simulation', 'read'),*/ func router.delete('/simulations/:id', /*auth.validateRole('simulation', 'delete'),*/ function(req, res) { Simulation.findOne({ _id: req.params.id }, function(err, simulation) { if (err) { + logger.log('verbose', 'DELETE Unknown simulation for id: ' + req.params.id); return res.status(400).send(err); } @@ -186,6 +193,7 @@ router.delete('/simulations/:id', /*auth.validateRole('simulation', 'delete'),*/ // remove simulation itself simulation.remove(function(err) { if (err) { + logger.error('Unable to remove simulation', simulation); return res.status(500).send(err); } diff --git a/routes/simulators.js b/routes/simulators.js index 9db2b2fec34af3436178a4399c4e81afa03f8246..bee398457f37664837af08d89a1ee93d5ddd1d89 100644 --- a/routes/simulators.js +++ b/routes/simulators.js @@ -23,6 +23,7 @@ var express = require('express'); //var auth = require('../auth'); +var logger = require('../utils/logger'); // models var Simulator = require('../models/simulator'); @@ -38,6 +39,7 @@ router.get('/simulators', /*auth.validateRole('simulator', 'read'),*/ function(r // get all simulators Simulator.find(function(err, simulators) { if (err) { + logger.error('Unable to receive simulators', err); return res.status(400).send(err); } @@ -51,6 +53,7 @@ router.post('/simulators', /*auth.validateRole('simulator', 'create'),*/ functio simulator.save(function(err) { if (err) { + logger.error('Unable to create simulator', err); return res.status(400).send(err); } @@ -62,6 +65,7 @@ router.put('/simulators/:id', /*auth.validateRole('simulator', 'update'),*/ func // get simulator Simulator.findOne({ _id: req.params.id }, function(err, simulator) { if (err) { + logger.log('verbose', 'PUT Unknown simulator for id: ' + req.params.id); return res.status(400).send(err); } @@ -73,6 +77,7 @@ router.put('/simulators/:id', /*auth.validateRole('simulator', 'update'),*/ func // save the changes simulator.save(function(err) { if (err) { + logger.error('Unable to save simulator', simulator); return res.status(500).send(err); } @@ -84,6 +89,7 @@ router.put('/simulators/:id', /*auth.validateRole('simulator', 'update'),*/ func router.get('/simulators/:id', /*auth.validateRole('simulator', 'read'),*/ function(req, res) { Simulator.findOne({ _id: req.params.id }, function(err, simulator) { if (err) { + logger.log('verbose', 'GET Unknown simulator for id: ' + req.params.id); return res.status(400).send(err); } @@ -94,11 +100,13 @@ router.get('/simulators/:id', /*auth.validateRole('simulator', 'read'),*/ functi router.delete('/simulators/:id', /*auth.validateRole('simulator', 'delete'),*/ function(req, res) { Simulator.findOne({ _id: req.params.id }, function(err, simulator) { if (err) { + logger.log('verbose', 'DELETE Unknown simulator for id: ' + req.params.id); return res.status(400).send(err); } simulator.remove(function(err) { if (err) { + logger.error('Unable to remove simulator', simulator); return res.status(500).send(err); } diff --git a/routes/upload.js b/routes/upload.js index 04430d7aa4d78bf80e9e871ac519218987a4e686..8f1ad917569b7bddb6c36667139277680937a364 100644 --- a/routes/upload.js +++ b/routes/upload.js @@ -28,6 +28,7 @@ var fs = require('fs'); // load configuration var config = require('../config'); var auth = require('../auth'); +var logger = require('../utils/logger'); var User = require('../models/user'); var File = require('../models/file'); @@ -44,11 +45,11 @@ router.use(express.static(publicDir)); // routes router.post('/upload', auth.validateRole('visualization', 'update'), function(req, res) { - + // find upload author User.findOne({ _id: req.decoded._doc._id }, function(err, user) { if (err) { - console.error('Could find author while uploading', err); + logger.log('verbose', 'GET Unable to find user for id: ' + req.decoded._doc._id); res.status(500).send({ success: false, message: 'File could not be uploaded.' }); } @@ -58,7 +59,7 @@ router.post('/upload', auth.validateRole('visualization', 'update'), function(re form.uploadDir = userFolder; form.on('error', function(error) { - console.error('Error while processing incoming form',error); + logger.error('Unable to process incoming form', error); res.status(400).send({ success: false, message: 'File could not be uploaded.' }); }); @@ -69,7 +70,7 @@ router.post('/upload', auth.validateRole('visualization', 'update'), function(re var fileObj = new File({ name: file.name, path: filePath }); fileObj.save(function(err) { if (err) { - console.error('Error while storing reference to uploaded file', err); + logger.error('Unable to save reference file', err); res.status(500).send({ success: false, message: 'File could not be uploaded.' }); } @@ -77,7 +78,7 @@ router.post('/upload', auth.validateRole('visualization', 'update'), function(re user.save(function(err) { if (err) { - console.error('Error while updating user\'s files references', err); + logger.error('Unable to save user', user); res.status(500).send({ success: false, message: 'File could not be uploaded.' }); } }); @@ -90,12 +91,13 @@ router.post('/upload', auth.validateRole('visualization', 'update'), function(re // Make sure user's folder exists fs.mkdir(userFolder, function(err) { - // error occurred (ignore already existing) + // error occurred (ignore already existing) if (err && err.code != 'EEXIST') { + logger.error('Unable to create directory', err); res.status(500).send({ success: false, message: 'File could not be uploaded.'}); return; } - + // handle the request form.parse(req); diff --git a/routes/users.js b/routes/users.js index e6a85d4f5dd5af7000180408c827494fc4c24495..8193999e8abb67f93620b2cca20c57f31bfa88b9 100644 --- a/routes/users.js +++ b/routes/users.js @@ -25,6 +25,7 @@ var jwt = require('jsonwebtoken'); var auth = require('../auth'); var config = require('../config')[process.env.NODE_ENV || 'development']; +var logger = require('../utils/logger'); // models var User = require('../models/user'); @@ -40,6 +41,7 @@ router.get('/users', auth.validateRole('user', 'read'), function(req, res) { // get all users User.find({}, 'username role mail', function(err, users) { if (err) { + logger.error('Unable to receive users', err); return next(err); } @@ -49,15 +51,17 @@ router.get('/users', auth.validateRole('user', 'read'), function(req, res) { router.post('/users', auth.validateRole('user', 'create'), function(req, res) { // create new user, only if username hasn't been taken - + User.findOne({ username: req.body.user.username }, function(err, foundUser) { if (err) { + logger.error('Unable to create user', err); return res.send(err); } // If query was successful, the username has already been taken if (foundUser) { // Send a Bad Request response code + logger.log('verbose', 'Unable to create user with existing username: ' + req.body.user.username); return res.status(400).send({ success: false, message: 'Username is already taken' }); } @@ -65,6 +69,7 @@ router.post('/users', auth.validateRole('user', 'create'), function(req, res) { user.save(function(err) { if (err) { + logger.error('Unable to create user', { err, user }); return res.send(err); } @@ -78,10 +83,12 @@ router.put('/users/:id', auth.validateRole('user', 'update'), function(req, res) // get user User.findOne({ _id: req.params.id }, function(err, user) { if (err) { + logger.log('verbose', 'PUT Unknown user for id: ' + req.params.id); return res.send(err); } if (user == null) { + logger.log('verbose', 'Unable to find user for id: ' + req.params.id); return res.status(404).send({}); } @@ -101,6 +108,7 @@ router.put('/users/:id', auth.validateRole('user', 'update'), function(req, res) user[property] = req.body.user[property]; } } else { + logger.log('verbose', 'Missing authorization for user change (id): ' + req.decoded._doc._id, user); return res.status(403).send({ success: false, message: 'Invalid authorization' }); } @@ -109,6 +117,7 @@ router.put('/users/:id', auth.validateRole('user', 'update'), function(req, res) if (err) { // catch 'duplicate' errors, send a Bad Request response code // Message is only valid as long as Username is the only unique field + logger.error('Unable to save user', user); return err.code === 11000? res.status(400).send({ success: false, message: 'Username is already taken' }) : res.send(err) } @@ -124,6 +133,7 @@ router.get('/users/me', function(req, res) { User.findOne({ _id: userId }, function(err, user) { if (err) { + logger.log('verbose', 'GET Unknown user for id: ' + req.decoded._doc._id); return res.send(err); } @@ -134,6 +144,7 @@ router.get('/users/me', function(req, res) { router.get('/users/:id', auth.validateRole('user', 'read'), function(req, res) { User.findOne({ _id: req.params.id }, function(err, user) { if (err) { + logger.log('verbose', 'GET Unknown user for id: ' + req.decoded._doc._id); return res.send(err); } @@ -144,11 +155,13 @@ router.get('/users/:id', auth.validateRole('user', 'read'), function(req, res) { router.delete('/users/:id', auth.validateRole('user', 'delete'), function(req, res) { User.findOne({ _id: req.params.id }, function(err, user) { if (err) { + logger.log('verbose', 'DELETE Unknown user for id: ' + req.params.id); return res.send(err); } user.remove(function(err) { if (err) { + logger.error('Unable to remove user', user); return res.send(err); } @@ -160,22 +173,26 @@ router.delete('/users/:id', auth.validateRole('user', 'delete'), function(req, r router.route('/authenticate').post(function(req, res) { // get the user by the name if (!req.body.username || !req.body.password) { + logger.log('verbose', 'Missing credentials', req.body); return res.status(401).send({ success: false, message: 'Invalid credentials' }); } User.findOne({ username: req.body.username }, function(err, user) { // handle errors and missing user if (err) { + logger.log('verbose', 'Unknown user for username: ' + req.body.username); return res.send(err); } if (!user) { + logger.log('verbose', 'Unknown user for username: ' + req.body.username); return res.status(401).send({ success: false, message: 'Invalid credentials' }); } // validate password user.verifyPassword(req.body.password, function(err, isMatch) { if (err || !isMatch) { + logger.log('verbose', 'Invalid credentials', req.body); return res.status(401).send({ success: false, message: 'Invalid credentials' }); } diff --git a/routes/visualizations.js b/routes/visualizations.js index 8d07c70ad649f13c561c75df1b3451bbd33dd393..759f4a43cb222c124481e8dcd4e34d9bd9976da3 100644 --- a/routes/visualizations.js +++ b/routes/visualizations.js @@ -23,6 +23,7 @@ var express = require('express'); //var auth = require('../auth'); +var logger = require('../utils/logger'); // models var Visualization = require('../models/visualization'); @@ -39,6 +40,7 @@ router.get('/visualizations', /*auth.validateRole('visualization', 'read'),*/ fu // get all visualizations Visualization.find(function(err, visualizations) { if (err) { + logger.error('Unable to receive visualizations', err); return res.send(err); } @@ -52,6 +54,7 @@ router.post('/visualizations', /*auth.validateRole('visualization', 'create'),*/ visualization.save(function(err) { if (err) { + logger.error('Unable to create visualization', err); return res.send(err); } @@ -61,14 +64,16 @@ router.post('/visualizations', /*auth.validateRole('visualization', 'create'),*/ // add visualization to project Project.findOne({ _id: visualization.project }, function(err, project) { if (err) { - return console.log(err); + logger.log('verbose', 'Unknown project for id: ' + visualization.project, visualization); + return; } project.visualizations.push(visualization._id); project.save(function(err) { if (err) { - return console.log(err); + logger.error('Unable to save project', project); + return; } }); }); @@ -78,6 +83,7 @@ router.put('/visualizations/:id', /*auth.validateRole('visualization', 'update') // get visualization Visualization.findOne({ _id: req.params.id }, function(err, visualization) { if (err) { + logger.log('verbose', 'PUT Unknown visualization for id: ' + req.params.id); return res.send(err); } @@ -89,6 +95,7 @@ router.put('/visualizations/:id', /*auth.validateRole('visualization', 'update') // save the changes visualization.save(function(err) { if (err) { + logger.error('Unable to save visualization', visualization); return res.send(err); } @@ -100,6 +107,7 @@ router.put('/visualizations/:id', /*auth.validateRole('visualization', 'update') router.get('/visualizations/:id', /*auth.validateRole('visualization', 'read'),*/ function(req, res) { Visualization.findOne({ _id: req.params.id }, function(err, visualization) { if (err) { + logger.log('verbose', 'GET Unknown visualization for id: ' + req.params.id); return res.send(err); } @@ -110,13 +118,15 @@ router.get('/visualizations/:id', /*auth.validateRole('visualization', 'read'),* router.delete('/visualizations/:id', /*auth.validateRole('visualization', 'delete'),*/ function(req, res) { Visualization.findOne({ _id: req.params.id }, function(err, visualization) { if (err) { + logger.log('verbose', 'DELETE Unknown visualization for id: ' + req.params.id); return res.send(err); } // remove from project's list Project.findOne({ _id: visualization.project }, function(err, project) { if (err) { - return console.log(err); + logger.log('verbose', 'Unknown project for id: ' + visualization.project); + return; } for (var i = 0; i < project.visualizations.length; i++) { @@ -128,13 +138,15 @@ router.delete('/visualizations/:id', /*auth.validateRole('visualization', 'delet project.save(function(err) { if (err) { - return console.log(err); + logger.error('Unable to save project', project); + return; } }); }); visualization.remove(function(err) { if (err) { + logger.error('Unable to remove visualization', visualization); return res.send(err); } diff --git a/routes/widgets.js b/routes/widgets.js index eb5bf35252385cc259ffbff7c649f4888765f0ac..23061e84cc24a9b77660e30f2b686bfe01d8bba4 100644 --- a/routes/widgets.js +++ b/routes/widgets.js @@ -23,6 +23,7 @@ var express = require('express'); //var auth = require('../auth'); +var logger = require('../utils/logger'); // models var Widget = require('../models/widget'); @@ -39,6 +40,7 @@ router.get('/widgets', /*auth.validateRole('visualization', 'read'),*/ function( // get all widgets Widget.find(function(err, widgets) { if (err) { + logger.error('Unable to receive widgets', err); return res.send(err); } @@ -52,6 +54,7 @@ router.post('/widgets', /*auth.validateRole('visualization', 'create'),*/ functi widget.save(function(err) { if (err) { + logger.error('Unable to create widget', err); return res.send(err); } @@ -61,14 +64,16 @@ router.post('/widgets', /*auth.validateRole('visualization', 'create'),*/ functi // add widget to visualization Visualization.findOne({ _id: widget.visualization }, function(err, visualization) { if (err) { - return console.log(err); + logger.log('verbose', 'Unknown visualization for id: ' + widget.visualization); + return; } visualization.widgets.push(widget._id); visualization.save(function(err) { if (err) { - return console.log(err); + logger.error('Unable to save visualization', visualization); + return; } }); }); @@ -78,6 +83,7 @@ router.put('/widgets/:id', /*auth.validateRole('visualization', 'update'),*/ fun // get widget Widget.findOne({ _id: req.params.id }, function(err, widget) { if (err) { + logger.log('verbose', 'PUT Unknown widget for id: ' + req.params.id); return res.send(err); } @@ -89,6 +95,7 @@ router.put('/widgets/:id', /*auth.validateRole('visualization', 'update'),*/ fun // save the changes widget.save(function(err) { if (err) { + logger.error('Unable to save widget', widget); return res.send(err); } @@ -100,6 +107,7 @@ router.put('/widgets/:id', /*auth.validateRole('visualization', 'update'),*/ fun router.get('/widgets/:id', /*auth.validateRole('visualization', 'read'),*/ function(req, res) { Widget.findOne({ _id: req.params.id }, function(err, widget) { if (err) { + logger.log('verbose', 'GET Unknown widget for id: ' + req.params.id); return res.send(err); } @@ -110,13 +118,15 @@ router.get('/widgets/:id', /*auth.validateRole('visualization', 'read'),*/ funct router.delete('/widgets/:id', /*auth.validateRole('visualization', 'delete'),*/ function(req, res) { Widget.findOne({ _id: req.params.id }, function(err, widget) { if (err) { + logger.log('verbose', 'DELETE Unknown widget for id: ' + req.params.id); return res.send(err); } // remove from visualization's list Visualization.findOne({ _id: widget.visualization }, function(err, visualization) { if (err) { - return console.log(err); + logger.log('verbose', 'Unknown visualization for id: ' + widget.visualization); + return; } for (var i = 0; i < visualization.widgets.length; i++) { @@ -128,13 +138,15 @@ router.delete('/widgets/:id', /*auth.validateRole('visualization', 'delete'),*/ visualization.save(function(err) { if (err) { - return console.log(err); + logger.error('Unable to save visualization', visualization); + return; } }); }); widget.remove(function(err) { if (err) { + logger.error('Unable to remove widget', widget); return res.send(err); }