agad / dogwater

A hapi plugin integrating Waterline ORM.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dogwater

A hapi plugin integrating Waterline ORM.


Dogwater takes four options:

  • connections (required)

  • adapters (required)

    • An object whose keys are adapter names (to be referenced in the connections option), and whose values are Waterline adapter modules
  • models (required)

    If a function is an element of this array, it will be called with the raw Waterline ORM object as an argument. It is expected to return an unextended Waterline collection. This allows one to reference Waterline in lifecycle callbacks.

  • data

    • An object containing the configuration used by waterline-fixtures to load data fixtures, with the exception of the collections option

Dogwater then exposes the collections to Server.plugins.dogwater via Plugin.expose and also to Request.model. The raw Waterline ORM object can be reteived from Server.methods.getWaterline() (asynchronously) on all servers to which this plugin has been registered.

Example of usage in a hapi route handler:

server.route({
    method: 'GET',
    path: '/monkeys',
    handler: function (request, reply) {
    
        var Monkeys = request.model.monkeys;
        
        Monkeys.find().then(function(monkeys) {
            reply(monkeys);
        });
        
    }
});

or equivalently,

var Monkeys = server.plugins.dogwater.monkeys;

server.route({
    method: 'GET',
    path: '/monkeys',
    handler: function (request, reply) {
        
        Monkeys.find().then(function(monkeys) {
            reply(monkeys);
        });
        
    }
});

About

A hapi plugin integrating Waterline ORM.

License:MIT License


Languages

Language:JavaScript 98.5%Language:Makefile 1.5%