crud-generator

0.0.1 • Public • Published

CRUD Generator

CRUD generator is a Node.js helper for generating Create, Read, Update & Destroy (CRUD) actions for your methods and, optionally, attaching them to your controllers.

Features

  • Pagination
  • Filtering (When attached to controllers via query params)

How to use

Install CRUD Generator npm install crud-generator

An example controller might look like:

var CrudGenerator = require('crud-generator');
var model = require('../model');
var crud = new CrudGenerator(model);

var controller = {
    customAction: function() {
        // code
    }
};

// Attach all CRUD actions to your controller
crud.all(controller);

// Attach some CRUD actions to your controller
crud.only('create show', controller);

// Attach all but index
crud.without('index', controller);

// Just get crud show method for model
var show = crud.only('show');

// Get all methods for model
var crudMethods = crud.all();

module.exports = controller;

Overriding generated CRUD actions

Sometimes you need custom logic for CRUD actions. You can achieve this by manually writing a custom show action for your controller which will override anything attached by the Crud Generator.

var CrudGenerator = require('crud-generator');
var model = require('../model');
var crud = new CrudGenerator(model);

var controller = {
    // This method will always take precedence over the Crud Generator
    show: function() {}
};

// Attach all CRUD actions to your controller
crud.all().extend(controller);

// Controller show method will still reference custom method above

module.exports = controller;

Pagination

You can control pagination of data returned from the CRUD index method by passing options as query params. The 2 options available are:

  • perPage: Controls how many documents are returned for each page
  • page: Controls which page to show in conjuntion with the perPage option

Filtering

TODO

===================

Readme

Keywords

none

Package Sidebar

Install

npm i crud-generator

Weekly Downloads

1

Version

0.0.1

License

MIT

Last publish

Collaborators

  • tonymilne