intaglio-rest

A REST service built on top of Intaglio

intaglio-rest

A RESTful interface built on top of Intaglio

var Intaglio = require('intaglio'),
    rest = require('intaglio-rest'),
    Hapi = require('hapi');
 
// Initialize the repository 
var mysqlRepository = new Intaglio.repositories.mysql({
        host: "192.168.33.10",
        user: "dba",
        password: "somepass",
        database: "db",
        "connectionLimit": 50
    });
 
// Initialize the ORM 
Intaglio.ORM.create(mysqlRepository).then(function (orm) {
    var plugin = rest(orm),
        server = Hapi.createServer('localhost', 8080);
 
    // Register the plugin 
    server.pack.register(plugin, function (err) {
        console.error(err);
    });
 
    // Add some custom things to the models 
    orm.extend('model', {
        preGetHookfunction () {
            console.info('GET STUFF');
        },
        postGetHookfunction () {
            console.info('GOT STUFF');
        },
        prePostHookfunction () {
            console.info('POST STUFF');
        },
        postPostHookfunction () {
            console.info('POSTED STUFF');
        },
        prePutHookfunction () {
            console.info('PUT STUFF');
        },
        postPutHookfunction () {
            console.info('PUTTED STUFF');
        },
        preDeleteHookfunction () {
            console.info('DELETE STUFF');
        },
        postDeleteHookfunction () {
            console.info('DELETED STUFF');
        }
    });
 
    // Start the server 
    server.start();
    console.info('Server Ready!');
}).catch( function (err) {
    console.info(err.message);
});