hapi-mongoose-handlers

1.0.4 • Public • Published

hapi-mongoose-handlers

REST handlers for models created in mongoose

Install

$ npm install hapi-mongoose-handlers

Usage

var Hapi = require('hapi');
var server = new Hapi.Server();
server.connection({ port: 8000 });
 
server.register([{
        register: require('hapi-mongoose-connect'),
        options: {
            mongooseUri: 'mongodb://localhost/my-database'
        }
    }, {
        register: require('hapi-mongoose-models'),
        options: {
            globPattern: './models/**/*.js',
            globOptions: {
                cwd: __dirname
            }
        }
    }, {
        register: require('hapi-mongoose-request'), // REQUIRED
        options: {
            param: 'model',
            capitalize: true,
            singularize: true
        }
    }, {
        register: require('hapi-mongoose-handlers'),
        options: {
            find: function (route, options) {},     // Custom handler
            meta: {                                 // Can personalize the meta information
                totalPagesKey: 'count'
            },
            onCreate: 'object',                     // Determine what information will return
            onRemove: 'no-content',
            where: true                             // Can activate advanced searches (be careful with this)
        }   
    }], function (err) {
 
        if (err) {
            throw err;
        }
 
        server.route({
            method: 'GET',
            path: '/api/{model}/{id?}'              // hapi-mongoose-request Plugin is necessary
            handler: {
                find: {}
            }
        });
 
        // Now can visit `/{yourmodel}/{id?}
 
        server.start(function (err) {
 
            if (err) {
                throw err;
            }
            console.log('Server started at: ' + server.info.uri);
        });
    }
});

Tests

Run comand make test or npm test. Include 100% test coverage.

License

MIT

Package Sidebar

Install

npm i hapi-mongoose-handlers

Weekly Downloads

1

Version

1.0.4

License

MIT

Last publish

Collaborators

  • bulaluis