3.4.0 • Published 7 years ago
curdy v3.4.0
curdy
Generate CRUD controllers for your express application!
Install
npm install curdy --save
Usage
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.