Skip to content

Frapwings/fendjs-model-restful

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fendjs-model-restful

Build Status Coverage Status NPM version Dependency Status

RESTful model plugin for Fend.js model

Usage

var Modeler = require('fendjs-model');
var RESTfulable = require('fendjs-model-restful');

Modeler.use(RESTfulable());

var Pet = Modeler('Pet')
  .attr('id')
  .attr('name')
  .attr('species')
  .headers({ 'X-API-TOKEN': 'token string' });

var pet = new Pet({ name: 'Tobi', species: 'Ferret' });
pet.save(function (err, res) {
  if (err) {
    // Error something todo ...
    return;
  }
  // Something todo ...
});

API

Model.url([path])

Return base url, or url to path.

User.url()
// => "/users"

User.url('add')
// => "/users/add"

Model.route(path)

Set base path for urls. Note this is defaulted to '/' + modelName.toLowerCase() + 's'

User.route('/api/u')

User.url()
// => "/api/u"

User.url('add')
// => "/api/u/add"

Model.headers({header: value})

Sets custom headers for static and method requests on the model.

User.headers({
  'X-CSRF-Token': 'some token',
  'X-API-Token': 'api token 
});

Model#url([path])

Return this model's base url or relative to path:

var user = new User({ id: 5 });
user.url('edit');
// => "/users/5/edit"

Testing

$ npm install
$ make test

License

MIT license.

See the LICENSE.

Bitdeli Badge