curdy
v3.4.0
Published
Generate CRUD controllers for your express application!
Readme
curdy
Generate CRUD controllers for your express application!
Install
npm install curdy --saveUsage
Checkout the example curdy app.
Model simple.model.js
const mongoose = require('mongoose');
module.exports = mongoose.model('SimpleModel', new mongoose.Schema({
string: String,
number: Number,
date: Date,
boolean: Boolean
}, {
timestamps: true,
}));Controller simpleModel.controller.js
const curdy = require('curdy');
const SimpleModel = require('./simpleModel.model');
module.exports = curdy.generateController(
SimpleModel, // Model
'simpleModel', // Model name
{
find: { // Find Template
_id: 'params._id'
},
operation: { // Operation Template
string: 'body.string',
number: 'body.number',
boolean: 'body.boolean'
},
render: { // Render Template
_id: '_id',
string: 'string',
number: 'number',
boolean: 'boolean'
}
}
);Routes index.js
const express = require('express');
const Controller = require('./simpleModel.controller');
const router = express.Router();
const curdy = require('curdy');
router.use('/', curdy.generateRoutes(Controller));
// This creates the following routes
// GET / This is the showAll route, returning all models
// GET /:_id This is the show route, returning the model matched by the find
// POST / This is the create route, allowing the user to create a new model
// PUT /:_id This is the update route, allowing the user update a model
// DELETE /:_id This is the delete route, allowing the user delete a model
module.exports = router;Goals
- Easy to install
- Easy to override and extend
- Make working with CRUD simpler and faster.
Contributing
Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.
Built with ❤️ at Hubba.
