ocean-sequelize

0.0.6 • Public • Published

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)
	})
})

Readme

Keywords

none

Package Sidebar

Install

npm i ocean-sequelize

Weekly Downloads

2

Version

0.0.6

License

MIT

Last publish

Collaborators

  • sniezekjp