1.0.1 • Published 9 years ago

asbestos v1.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

asbestos

Generate hapi CRUD handler functions from a model constructor function

use

var route = {
  method: "POST",
  path: "/models",
  handler: handlers.create
}

// model prototype
var model = {

  // model must expose create method
  create: function (obj, cb) {

    //... do some db stuff
    return cb("created");
  },

  // model must expose findOne method
  findOne: function (criteria, cb) {

    //... do some db stuff
    return cb("found");
  },

  // model must expose update method
  update: function (criteria, changes, cb) {

    //... do some db stuff
    return cb("updated");
  },

  // model must expose delete method
  del: function (criteria, cb) {

    //... do some db stuff
    return cb("deleted");
  }

  // model must expose search method
  find: function (criteria, cb) {

    //... do some db stuff
    return cb("deleted");
  }
}

var handlers = require("asbestos")(model);

api

asbestos exposes a single function that returns on object with 5 methods: 1. .create 2. .find 3. .findOne 4. .update 5. .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