netstix/app/controllers/usersController.js
2022-11-27 20:58:22 +08:00

48 lines
991 B
JavaScript

var passport = require('passport');
var User = require('../models/user');
var controller = {};
controller.list = function(req, res) {
User.find(function(err, users) {
if(err) {
res.send(err);
}
res.json(users);
});
};
controller.create = function(req, res) {
var newUser = new User({
username: req.body.username
});
User.register(
newUser, req.body.password, function(err, account) {
if(err) {
return res.status(500).json({ err: err });
}
passport.authenticate('local')(req, res, function() {
return res.status(200).json({ status: 'Registration successful!', user: newUser });
});
}
);
};
controller.read = function(req, res) {
User.findById(req.params.id)
.populate({
path: 'submissions',
populate: {
path: 'achievement'
}
})
.exec(function(err, user) {
if(err) {
res.send(err);
}
res.json(user);
});
};
module.exports = controller;