Licence
MIT
Version
1.0.5
Deps
3
Vulns
8
Weekly
0
Express-Mongoose Controller Factory
Controller (middleware) factory product instances of which provide basic api for handling CRUD requests.
Using this component provides flexibility of creating very common in most cases Express routes middlewares. It helps to avoid code duplication and keep you code DRY and in the same time customize controllers when needed.
Installation
npm install controller-factory
Usage Example
import express from 'express'
import ControllerFactory from 'controller-factory'
import Entity from './model'
const controller = ControllerFactory.getControllerFor(Entity)
const entityRoutes = express.Router()
entityRoutes
.post('/', controller.create)
.get('/', controller.find)
.get('/:id', controller.findById)
.put('/:id', controller.update)
.delete('/:id', controller.remove)
API
ControllerFactory.getControllerFor(entity, overrides, base)
Parameters:
entity <Object> Mongoose model instance, required
overrides <Object> Mixin containing CRUD methods to override base ones, default plain object
base <Object> Base object containing CRUD methods, default ControllerBase
Please find base implementation in ./lib/controller-base.js