Easily wire up models to APIs with supported for complex, nested saving.
MIT License
Model & Collection manager for Bookshelf.js to make it easy to create & save deep, nested JSON structures from API requests.
npm install bookshelf-manager --save
Register as a plugin in Bookshelf:
bookshelf.plugin('bookshelf-manager');
Optionally, you can pass in an object with a root
property to read models from a specified directory:
bookshelf.plugin('bookshelf-manager', { root: 'path/to/models' });
Register individual models (not required if you passed in a root
model directory as above):
bookshelf.manager.register(model, modelName);
Use the methods on bookshelf.manager
to create, fetch, and save models or collections with support for deeply-nested attributes. E.g.:
return bookshelf.manager.create('car', {
features: [
{ name: 'ABS', cost: '1250' },
{ name: 'GPS', cost: '500' }
],
quantity: 1
}).then(function(car) {
// created car should now have the associated features
});
In progress...
setHasOne
functionality (#12)devDependencies
and peerDependencies
:
bluebird
and lodash
dependenciesbelongsToMany
IDshasMany
models_pivot_
keys.attach
and .detach
Bookshelf.initialize
is used.Copyright (c) 2013 Eric Clemmons Licensed under the MIT license.