express-mongoose-generator
Version:
It’s a mongoose model, REST controller and Express router code generator for Express.js 4 application
121 lines (102 loc) • 2.9 kB
text/typescript
import {modelName} from {modelPath};
/**
* {controllerName}.ts
*
* @description :: Server-side logic for managing {pluralName}.
*/
export = {
/**
* {controllerName}.list()
*/
list: function (req, res) {
{modelName}.find((err, {pluralName}) => {
if (err) {
return res.status(500).json({
message: 'Error when getting {name}.',
error: err
});
}
return res.json({pluralName});
});
},
/**
* {controllerName}.show()
*/
show: function (req, res) {
const id = req.params.id;
{modelName}.findOne({_id: id}, (err, {name}) => {
if (err) {
return res.status(500).json({
message: 'Error when getting {name}.',
error: err
});
}
if (!{name}) {
return res.status(404).json({
message: 'No such {name}'
});
}
return res.json({name});
});
},
/**
* {controllerName}.create()
*/
create: function (req, res) {
const {name} = new {modelName}({{createFields}
});
{name}.save((err, {name}) => {
if (err) {
return res.status(500).json({
message: 'Error when creating {name}',
error: err
});
}
return res.status(201).json({name});
});
},
/**
* {controllerName}.update()
*/
update: function (req, res) {
const id = req.params.id;
{modelName}.findOne({_id: id}, (err, {name}) => {
if (err) {
return res.status(500).json({
message: 'Error when getting {name}',
error: err
});
}
if (!{name}) {
return res.status(404).json({
message: 'No such {name}'
});
}
{updateFields}
{name}.save((err, {name}) => {
if (err) {
return res.status(500).json({
message: 'Error when updating {name}.',
error: err
});
}
return res.json({name});
});
});
},
/**
* {controllerName}.remove()
*/
remove: function (req, res) {
const id = req.params.id;
{modelName}.findByIdAndRemove(id, (err, {name}) => {
if (err) {
return res.status(500).json({
message: 'Error when deleting the {name}.',
error: err
});
}
return res.status(204).json();
});
}
};