0.3.0 • Published 9 years ago
bookshelf-manager v0.3.0
Bookshelf Manager
Model & Collection manager for Bookshelf.js to make it easy to create & save deep, nested JSON structures from API requests.
Installation
npm install bookshelf-manager --saveUsage
Register as a plugin in Bookshelf:
bookshelf.plugin('bookshelf-manager');Optionally, you can pass in an object with a
rootproperty 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
rootmodel directory as above):bookshelf.manager.register(model, modelName);- Note: Also compatible with models registered with the Bookshelf Registry plugin.
Use the methods on
bookshelf.managerto 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 });
API
In progress...
Changelog
- v0.3.0 - Add
setHasOnefunctionality (#12) - v0.2.1 - Several breaking changes occurred with this version due to updating
devDependenciesandpeerDependencies:- Knex and Bookshelf updated their
bluebirdandlodashdependencies - Knex changed how undefined values are inserted
- Knex and Bookshelf updated their
- v0.1.0 - Reimplement as a plugin for Bookshelf/Knex 0.8.x
- v0.0.10 - Enforce
belongsToManyIDs - v0.0.9 - Destroy removed
hasManymodels - v0.0.8 - Fetch empty collections
- v0.0.7 - Attempt to use existing, eager-loaded models rather than re-fetch
- v0.0.6 - Ignore
_pivot_keys - v0.0.5 - Improve error handling for unintialized instances & missing files
- v0.0.4 - Improve
.attachand.detach - v0.0.3 - Add support for lazy-managed models.
- v0.0.2 - If instanceof Bookshelf is not provided, instance from
Bookshelf.initializeis used. - v0.0.1 - Initial Release.
License
Copyright (c) 2013 Eric Clemmons Licensed under the MIT license.


