Skip to content

moklick/dogwater

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%