added mongose and express, modified server, for testing purpose added user controller, model and routes

This commit is contained in:
Amra Šabić
2018-02-17 11:44:35 +01:00
parent e51d046374
commit fda840d119
6 changed files with 231 additions and 4 deletions

View File

@@ -0,0 +1,54 @@
'use strict';
var mongoose = require('mongoose'),
User = mongoose.model('User');
exports.list_all = function(req, res) {
User.find({}, function(err, user) {
if (err) {
res.send(err);
}
res.json(user);
});
};
exports.add_user = function(req, res) {
var new_user = new User(req.body);
new_user.save(function(err, user) {
if (err) {
res.send(err);
}
res.json(user);
});
};
exports.get_user = function(req, res) {
User.findById(req.params.userId, function(err, user) {
if (err) {
res.send(err);
}
res.json(user);
});
};
// TODO modify to update user permitions
exports.update_user = function(req, res) {
User.findOneAndUpdate({_id: req.params.userId}, req.body, {new: true}, function(err, user) {
if (err) {
res.send(err);
}
res.json(user);
});
};
// TODO modify to remove user permitions / group
exports.remove_user = function(req, res) {
User.remove({
_id: req.params.userId
}, function(err, user) {
if (err) {
res.send(err);
}
res.json({ message: 'User successfully deleted' });
});
};

View File

@@ -0,0 +1,18 @@
'use strict';
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UserSchema = new Schema({
// TODO modify later, just for testing
name: {
type: String,
required: 'Name'
},
Created_date: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model('User', UserSchema);

View File

@@ -0,0 +1,15 @@
'use strict';
module.exports = function(app) {
var user = require('../controllers/userController');
// TODO Routes
app.route('/users')
.get(user.list_all)
.post(user.add_user);
app.route('/users/:userId')
.get(user.get_user)
.put(user.update_user)
.delete(user.remove_user);
};