Adapts the Sequelize model to the ocean-json-api interface.
###Usage
var OceanApi = require('ocean-json-api');
var seqAdapter = require('ocean-sequelize');
var Sequelize = require('sequelize');
//db, api init
var sequelize = new Sequelize(DB, USER, PASS)
var api = new OceanApi();
//models
var User = sequelize.define('User', {
name: Sequelize.STRING
})
var Account = sequelize.define('Account', {
name: Sequelize.STRING
})
//adapt models
var UserAdapter = seqAdapter(User);
var AcctAdapter = seqAdapter(Account);
//prefix api routes
api.prefix = '/api/v2';
//generate json-api
api.generate('/user', {
model: UserAdapter
})
api.generate('/account', {
model: AcctAdapter
})
//start api server
api.listen()
####ocean-json-api interface
Model.create(options, cb)
Model.update(options, cb)
Model.find(options, cb)
Model.destroy(options, cb)
####Sequelize interface
//create
Sequelize.create(options)
.success(cb)
.error(cb)
//update
Sequelize.find(options.id)
.success(function(model){
model.updateAttributes(options)
.success(function(updated){
cb(null, updated)
})
})
//find
Sequelize.find(options)
.success(function(models){
cb(null, models)
})
//destroy
Sequelize.find(options)
.success(function(model){
model.destroy()
.success(function(){
cb(null, model)
})
})