3 var _ = require('lodash');
4 var Module = require('../../models').Module;
7 exports.index = function(req, res) {
10 .then(function (modules) {
11 return res.status(200).send(modules);
13 .catch(function(err) {
14 return handleError(res, err);
18 // Get a single module
19 exports.show = function(req, res) {
20 var moduleId = req.params.id;
24 .then(function (module) {
25 if(!module) { return res.sendStatus(404); }
26 return res.send(module);
29 return handleError(res, err);
33 // Creates a new module in the DB.
34 exports.create = function(req, res) {
37 .then(function(module) {
38 return res.status(201).send(module);
40 .catch(function(err) {
41 return handleError(res, err);
45 // Updates an existing module in the DB.
46 exports.update = function(req, res) {
47 var moduleId = req.body.id;
49 if(req.body.id) { delete req.body.id; }
53 .then(function (module) {
54 if(!module) { return res.sendStatus(404); }
55 var updated = _.merge(module, req.body);
58 return res.status(200).send(module);
60 .catch(function(err) {
61 return handleError(res, err);
64 .catch(function(err) {
65 return handleError(res, err);
69 // Deletes a module from the DB.
70 exports.destroy = function(req, res) {
71 var moduleId = req.params.id;
75 .then(function (module) {
76 if(!module) { return res.sendStatus(404); }
79 return res.sendStatus(204);
81 .catch(function(err) {
82 return handleError(res, err);
85 .catch(function(err) {
86 return handleError(res, err);
90 function handleError(res, err) {
91 return res.status(500).send(err);