User routes
parent
cb092b7f91
commit
8201236c7d
|
@ -3,34 +3,40 @@ const user = require('express').Router();
|
||||||
const profile = require('./profile');
|
const profile = require('./profile');
|
||||||
const update = require('./update');
|
const update = require('./update');
|
||||||
const remove = require('./delete');
|
const remove = require('./delete');
|
||||||
// const notes = require('./notes');
|
const notes = require('./notes');
|
||||||
|
|
||||||
|
const Authentication = require.main.require('./app/validation/auth');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {get} /user/me Get user information
|
* @api {get} /user/me Get account information
|
||||||
* @apiName GetUser
|
* @apiName GetUser
|
||||||
* @apiGroup User
|
* @apiGroup User
|
||||||
*
|
*
|
||||||
* @apiSuccess {String} firstname Firstname of the User.
|
* @apiSuccess {String} firstname Firstname of the User.
|
||||||
* @apiSuccess {String} lastname Lastname of the User.
|
* @apiSuccess {String} lastname Lastname of the User.
|
||||||
* @apiSuccess {String} username Username of the User.
|
* @apiSuccess {String} email Email of the User.
|
||||||
*/
|
*/
|
||||||
user.get('/me', profile);
|
user.get('/me', Authentication, profile);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {put} /user/me Update account information
|
* @api {put} /user/me Update account information
|
||||||
* @apiName UpdateUser
|
* @apiName UpdateUser
|
||||||
* @apiGroup User
|
* @apiGroup User
|
||||||
*
|
*
|
||||||
|
* @apiParam {String} Firstname new firstname.
|
||||||
|
* @apiParam {String} Lastname new lastname.
|
||||||
|
* @apiParam {String} Email new email address.
|
||||||
|
*
|
||||||
* @apiSuccess {Object} user User object.
|
* @apiSuccess {Object} user User object.
|
||||||
*/
|
*/
|
||||||
user.put('/me', update);
|
user.put('/me', Authentication, update);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {delete} /user/me Delete account
|
* @api {delete} /user/me Delete account
|
||||||
* @apiName DeleteUser
|
* @apiName DeleteUser
|
||||||
* @apiGroup User
|
* @apiGroup User
|
||||||
*/
|
*/
|
||||||
user.delete('/me', remove);
|
user.delete('/me', Authentication, remove);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {get} /user/me/notes Get all notes
|
* @api {get} /user/me/notes Get all notes
|
||||||
|
@ -39,6 +45,6 @@ user.delete('/me', remove);
|
||||||
*
|
*
|
||||||
* @apiSuccess {Array} Array Notes of the user.
|
* @apiSuccess {Array} Array Notes of the user.
|
||||||
*/
|
*/
|
||||||
user.get('/me/notes', profile);
|
user.get('/me/notes', Authentication, notes);
|
||||||
|
|
||||||
module.exports = user;
|
module.exports = user;
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
const mongoose = require('mongoose');
|
||||||
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
|
module.exports = (req, res) => {
|
||||||
|
const NoteModel = mongoose.model('Note');
|
||||||
|
|
||||||
|
const { user } = jwt.decode(req.headers.authorization);
|
||||||
|
|
||||||
|
NoteModel.find({ user: user.id })
|
||||||
|
.lean()
|
||||||
|
.exec()
|
||||||
|
.then((notes) => {
|
||||||
|
res.status(200).json(notes);
|
||||||
|
});
|
||||||
|
};
|
|
@ -1,5 +1,20 @@
|
||||||
module.exports = (req, res) => {
|
const mongoose = require('mongoose');
|
||||||
const user = {};
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
res.status(200).json({ user });
|
module.exports = (req, res, next) => {
|
||||||
|
const UserModel = mongoose.model('User');
|
||||||
|
|
||||||
|
const { user } = jwt.decode(req.headers.authorization);
|
||||||
|
|
||||||
|
return UserModel.findById(user.id, 'id firstname lastname email')
|
||||||
|
.lean()
|
||||||
|
.exec()
|
||||||
|
.then((result) => {
|
||||||
|
if (result === null) {
|
||||||
|
return next({ status: 401, message: 'User does not exists.' });
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.status(200).json(result);
|
||||||
|
})
|
||||||
|
.catch(() => next({ status: 401, message: 'User does not exists.' }));
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue