diff --git a/src/libs/app.js b/src/libs/app.js index 1184e1e026ac6d17e79a90e975d273f1a700f918..c444c924092a5b0da685c0f592c51b0d287e6614 100644 --- a/src/libs/app.js +++ b/src/libs/app.js @@ -79,6 +79,7 @@ app.use((req, res, next) => { app.use((err, req, res, next) => { res.status(err.status || 500); log.error('%s %d %s', req.method, res.statusCode, err.message); + log.error(`Route: ${req.originalUrl}`); log.error(err); res.json({ error: err.message }).end(); }); diff --git a/src/libs/middlewares/downloadDatabase.js b/src/libs/middlewares/downloadDatabase.js index d1566b8c11c334e688da4f34641c728820c10e2c..28dfdaf1bac4181315bf4ce3074fe64c5c8f34a5 100644 --- a/src/libs/middlewares/downloadDatabase.js +++ b/src/libs/middlewares/downloadDatabase.js @@ -44,6 +44,17 @@ module.exports = function download(table, mappingTable) { Download.findOne({query: req.sql.toString()}, (err, download) => { if(download) { download.updatedAt = Date.now(); + if(download.userId != req.user._id) { + let dl = new Download({ + userId: req.user._id, + table, + mappingTable, + query: req.sql.toString() + }); + dl.save((err) => { + if(err) log.error(err); + }); + } } else { download = new Download({ userId: req.user._id, diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js index 24f67b710d5b13568c95cfac8fff0d223eb805c4..898e7107651dd898601539767b8bf96e84d42408 100644 --- a/src/libs/routes/user.js +++ b/src/libs/routes/user.js @@ -180,8 +180,10 @@ userApp.post('/', (req, res, next) => { log.error(err); res.json({msg: 'User created'}); } - log.info(`Message ${info.messageId} sent: ${info.response}`); - log.info(`Usuário ${user.email} foi criado`); + if(info) { + log.info(`Message ${info.messageId} sent: ${info.response}`); + log.info(`Usuário ${user.email} foi criado`); + } res.json({msg: 'User created'}); }); }); @@ -190,6 +192,53 @@ userApp.post('/', (req, res, next) => { }); +userApp.put('/:id', passport.authenticate('bearer', { session: false }), (req, res, next) => { + console.log(req.params.id); + console.log(req.user._id); + User.findById(req.params.id, (err, user) => { + if (err) { + log.error(err); + return next({err}); + } + + if(!user) { + res.statusCode = 404; + return next({err: { + message: 'Usuário não encontrado' + }}); + } + + user.email = req.body.email || user.email; + user.name = req.body.name || user.name; + user.nickname = req.body.nickname || user.nickname || user.name; + user.cep = req.body.cep || user.cep; + user.complement = req.body.complement || user.complement; + user.address = req.body.address || user.address; + user.phone = req.body.phone || user.phone; + user.schooling = req.body.schooling || user.schooling; + user.course = req.body.course || user.course; + user.segment = req.body.segment || user.segment; + user.role = req.body.role || user.role; + user.institutionName = req.body.institutionName || user.institutionName; + user.state = req.body.state || user.state; + user.city = req.body.city || user.city; + user.receiveEmails = req.body.receiveEmails || user.receiveEmails; + user.citesegment = req.body.citesegment || user.citesegment; + user.citerole = req.body.citerole || user.citerole; + + user.save(err => { + if(err) { + log.error(err); + return next({message: 'Erro ao atualizar usuário'}); + } + let u = user.toObject(); + delete u.hashedPassword; + delete u.salt; + res.json({user: u}); + }) + }) +}); + userApp.get('/reset/password', (req, res, next) => { let emailAddress = req.query.email; User.findOne({email: emailAddress}, (err, user)=> {