Creates CRUD RESTfull endpoints for a given route
npm install crudeCreates CRUD RESTfull endpoints for a given route.

``shell`
npm install crude --save
Crude requires a controller with the following methods and signatures:
`js
var crude = require('crude');
var controller = {
create: function(data) { return Promise(response); }),
read: function(query) { return Promise(response); }),
readLimit: function(query, skip, limit) { return Promise(response); }),
readOne: function(query) { return Promise(response); }),
update: function(query, data) { return Promise(response); }),
count: function(query) { return Promise(response); }),
};
// Create the user CRUD routes
var userCrude = crude('/user', controller, expressApp);
`
That was it, you now have a RESTfull CRUD API under the route /user:
* POST /user Create a new user./user
* GET Get a list of all the users paginated./user/:id
* GET Get a single user item./user/:id
* PUT Update the user item, expects the entirety of the resource to be updated./user/:id
* PATCH Update the user item, expects a part of the resource to be updated./user/:id
* DELETE Delete the user item.
HTTP methods were mapped based on RFC7231 Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content: HTTP Method Definitions.
Find the complete API Documentation in the wiki.
This package assumes you have the following stack:
* Express
- v1.0.0, 03 Nov 2016
- Added the maxPaginateLimit option to cap allowed items per pagination.multiQueryAnd
- v0.9.1, 07 Sep 2015
- Added the option to allow for use of the AND operator in multiple items filter queries vs the default OR.PUT
- v0.9.0, 03 Sep 2015
- No longer performs a "readOne" after an update operation, this can potentially be a breaking change for you.
- v0.8.0, 28 Jul 2015
- Will now return an HTTP Status 200 when no results for reading multiple records (used to return 404).
- v0.7.5, 23 Jul 2015
- Will now allow for GET queries with multiple items per attribute.
- v0.7.4, 09 Dec 2014
- Upgrade all dependencies to latest.
- v0.7.3, 24 Nov 2014
- Better heuristics for detected nodeON Error objects
- v0.7.1, 16 Sep 2014
- Switched CRUD middleware to FIFO.
- Added Query Middleware on all CRUD OPs.
- v0.7.0, 14 Sep 2014
- Middleware are now of express type vs being Promises.
- v0.6.3, 11 Sep 2014
- Issue a HTTP Bad Request error code (400) by default vs Internal Error (500).
- v0.6.2, 11 Sep 2014
- Make config a synch method returning self.
- v0.6.1, 10 Sep 2014
- Changed HTTP Verbs for update to and PATCH, thank you @dmtrs.readLimit
- v0.6.0, 08 Sep 2014
- A complete refactor of the codebase and API has happened, documentation ready, time to hit the spotlight.
- v0.5.13, 01 Sep 2014
- Populates total item count for pagination query.
- Express 4.0 compatible.
- v0.5.12, 06 Aug 2014
- No longer assume that OP result is an array.opts.paginateLimit
- Invoke the right methods when performing an update
- v0.5.9, 07 Jul 2014
- Pagination limit is now configurable via .req.host
- v0.5.8, 07 Jul 2014
- if ownUser flag is on then auth is required.
- upgrade to req.hostname in par with express 4.xpage
- v0.5.7, 04 Jul 2014
- Exclude and limit` query variables.
View the rest of the changelog here.
Copyright [Thanasis Polychronakis][thanpolas]
Licensed under the MIT License
[thanpolas]: https://github.com/thanpolas "Thanasis Polychronakis"