var config = require('../../config/environment');
var jwt = require('jsonwebtoken');
-var validationError = function(res, err) {
- return res.status(422).json(err);
+var validationError = function (res, err) {
+ return res.status(422).json(err);
};
/**
* Get list of users
* restriction: 'admin'
*/
-exports.index = function(req, res) {
- User.find({}, '-salt -hashedPassword', function (err, users) {
- if(err) return res.status(500).send(err);
- res.status(200).json(users);
- });
+exports.index = function (req, res) {
+ User.find({}, '-salt -hashedPassword', function (err, users) {
+ if (err) return res.status(500).send(err);
+ res.status(200).json(users);
+ });
};
/**
* Creates a new user
*/
exports.create = function (req, res, next) {
- var newUser = new User(req.body);
- newUser.provider = 'local';
- //newUser.role = 'user';
- newUser.save(function(err, user) {
- if (err) return validationError(res, err);
- return res.status(200).json({_id: user._id});
- });
+ var newUser = new User(req.body);
+ newUser.provider = 'local';
+ //newUser.role = 'user';
+ newUser.save(function (err, user) {
+ if (err) return validationError(res, err);
+ return res.status(200).json({_id: user._id});
+ });
};
/**
* Update a user
*/
exports.update = function (req, res, next) {
- var user = new User(req.body);
- var userData = user.toObject();
- delete userData._id;
- User.update({_id: user._id}, userData, {upsert: true}, function(err) {
- console.log(err);
- if (err) {
- return res.status(500).send('11000');
- } else {
- return res.status(200).json(user.toObject());
- }
- });
+ var user = new User(req.body);
+ var userData = user.toObject();
+ delete userData._id;
+ User.update({_id: user._id}, userData, {upsert: true}, function (err) {
+ if (err) {
+ return res.status(500).send('11000');
+ } else {
+ return res.status(200).json(user.toObject());
+ }
+ });
};
/**
* Get a single user
*/
exports.show = function (req, res, next) {
- var userId = req.params.id;
+ var userId = req.params.id;
- User.findById(userId, function (err, user) {
- if (err) return next(err);
- if (!user) return res.status(401).send('Unauthorized');
- res.json(user.profile);
- });
+ User.findById(userId, function (err, user) {
+ if (err) return next(err);
+ if (!user) return res.status(401).send('Unauthorized');
+ res.json(user.profile);
+ });
};
/**
* Deletes a user
* restriction: 'admin'
*/
-exports.destroy = function(req, res) {
- User.findByIdAndRemove(req.params.id, function(err, user) {
- if(err) return res.status(500).send(err);
- return res.status(204).send('No Content');
- });
+exports.destroy = function (req, res) {
+ User.findByIdAndRemove(req.params.id, function (err, user) {
+ if (err) return res.status(500).send(err);
+ return res.status(204).send('No Content');
+ });
};
/**
* Change a users password
*/
-exports.changePassword = function(req, res, next) {
- var userId = req.user._id;
- var oldPass = String(req.body.oldPassword);
- var newPass = String(req.body.newPassword);
+exports.changePassword = function (req, res, next) {
+ var userId = req.user._id;
+ var oldPass = String(req.body.oldPassword);
+ var newPass = String(req.body.newPassword);
- User.findById(userId, function (err, user) {
- if(user.authenticate(oldPass)) {
- user.password = newPass;
- user.save(function(err) {
- if (err) return validationError(res, err);
- res.status(200).send('OK');
- });
- } else {
- res.status(403).send('Forbidden');
- }
- });
+ User.findById(userId, function (err, user) {
+ if (user.authenticate(oldPass)) {
+ user.password = newPass;
+ user.save(function (err) {
+ if (err) return validationError(res, err);
+ res.status(200).send('OK');
+ });
+ } else {
+ res.status(403).send('Forbidden');
+ }
+ });
};
/**
* Get my info
*/
-exports.me = function(req, res, next) {
- var userId = req.user._id;
- User.findOne({
- _id: userId
- }, '-salt -hashedPassword', function(err, user) { // don't ever give out the password or salt
- if (err) return next(err);
- if (!user) return res.status(401).send('Unauthorized');
- res.json(user);
- });
+exports.me = function (req, res, next) {
+ var userId = req.user._id;
+ User.findOne({
+ _id: userId
+ }, '-salt -hashedPassword', function (err, user) { // don't ever give out the password or salt
+ if (err) return next(err);
+ if (!user) return res.status(401).send('Unauthorized');
+ res.json(user);
+ });
+};
+
+/**
+ * Update my info
+ */
+exports.updateMe = function (req, res, next) {
+ var userId = req.user._id;
+ User.findOne({
+ _id: userId
+ }, '-salt -hashedPassword', function (err, user) { // don't ever give out the password or salt
+ if (err) return next(err);
+ if (!user) return res.status(401).send('Unauthorized');
+ user.referential = req.body.referential;
+ user.save(function (err) {
+ if (err) return validationError(res, err);
+ res.status(200).send('OK');
+ });
+ });
};
/**
* Authentication callback
*/
-exports.authCallback = function(req, res, next) {
- res.redirect('/');
+exports.authCallback = function (req, res, next) {
+ res.redirect('/');
};