Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Bookshelf Manager

Build Status Dependencies devDependencies

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 --save

Usage

  1. 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' });
  2. Register individual models (not required if you passed in a root model directory as above):

    bookshelf.manager.register(model, modelName);
  3. 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
    });

API

In progress...

Changelog

  • v0.3.0 - Add setHasOne functionality (#12)
  • v0.2.1 - Several breaking changes occurred with this version due to updating devDependencies and peerDependencies:
    • Knex and Bookshelf updated their bluebird and lodash dependencies
    • Knex changed how undefined values are inserted
  • v0.1.0 - Reimplement as a plugin for Bookshelf/Knex 0.8.x
  • v0.0.10 - Enforce belongsToMany IDs
  • v0.0.9 - Destroy removed hasMany models
  • 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 .attach and .detach
  • v0.0.3 - Add support for lazy-managed models.
  • v0.0.2 - If instanceof Bookshelf is not provided, instance from Bookshelf.initialize is used.
  • v0.0.1 - Initial Release.

License

Copyright (c) 2013 Eric Clemmons Licensed under the MIT license.

About

Easily wire up models to APIs with supported for complex, nested saving.

Resources

License

Packages

No packages published