baucis-decorator-clone

1.0.1 • Public • Published

baucis-decorator-clone

Adds a clone method to baucis resources.

Install

npm install baucis-decorators baucis-decorator-clone --save

Usage

This is a WIP (currently untested), so use at your own discretion. Just add the decorator and it might work. It adds a clone endpoint so that you can POST something like {"id": "123} or {"name": "timbur"} to /api/users/clone and should return a new resource based on the first match.

Example

controllers/User.js

var baucis = require('baucis');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var extend = require('deep-extend');
var ResourceProps = require('../props/Resource.js');
var ResourceController = require('../controllers/Resource.js');

var UserProps = extend({}, ResourceProps);

UserProps.name = {
  type: String
};

var UserSchema = new Schema(UserProps);
var UserModel = mongoose.model('User', UserSchema);
var UserController = baucis.rest('User');

var decorators = require('baucis-decorators');

// decorate controller
decorators.add.call(UserController, [
  'baucis-decorator-clone',
  ResourceController        // `UserController` will inherit all of `ResourceController`'s decorators
]);

/**
 * Expose controller.
 */
module.exports = UserController;

Package Sidebar

Install

npm i baucis-decorator-clone

Weekly Downloads

1

Version

1.0.1

License

MIT

Last publish

Collaborators

  • timbur