asbestos
Generate hapi CRUD handler functions from a model constructor function
use
var route = method: "POST" path: "/models" handler: handlerscreate // model prototypevar model = // model must expose create method { //... do some db stuff return ; } // model must expose findOne method { //... do some db stuff return ; } // model must expose update method { //... do some db stuff return ; } // model must expose delete method { //... do some db stuff return ; } // model must expose search method { //... do some db stuff return ; } var handlers = model;
api
asbestos exposes a single function that returns on object with 5 methods:
.create
.find
.findOne
.update
.del
createHandlers(obj)
params
obj
: an object with create, find, findOne, update, and del methods.
returns
An object with 5 methods:
.create(req, res)
: a hapi handler function. It passes req.payload to the constructor's create method. It returns the object just created on success.
.find(req, res)
: a hapi handler function. It passes req.query to the constructor's find method. It returns the matched documents on success. It returns an empty array if not found.
.findOne(req, res)
: a hapi handler function. It passes req.params.id to the constructor's findOne method. It returns the matched document on success. It returns an empty object and a 404 if not found.
.update(req, res)
: a hapi handler function. It passes req.params.id and req.payload to the constructor's update method. It returns the updated document on success. It returns an empty object and a 404 if not found.
.del(req, res)
: a hapi handler function. It passes req.params.id to the constructor's delete method. It returns the deleted document on success. It returns an empty object and a 404 if not found.
license
MIT