0.1.3 • Published 6 years ago

sails-policies-ext v0.1.3

Weekly downloads
15
License
ISC
Repository
github
Last release
6 years ago

sails-policies-ext

This is a simple Sails.js policy extension that enables a policy middleware to accept an optional parameter.

Installation

$ npm install sails-policies-ext

Usage

Require the module in config/policies.js then call the load() method to load policies from the default api/policies directory. The load() method accepts an optional parameter folder for loading policies from a different directory. You can mix it up with the default policy definition.

//-- config/policies.js

var policies = require("sails-policies-ext").load();

module.exports.policies = {

  ProfileController: {
    "*": "isLoggedIn",
    "update": ["isLoggedIn", policies.allow({ role: "admin", permission: [ "owner", "master" ] })],
    "delete": [policies.isLoggedIn(), policies.allow({ role: "admin", permission: [ "owner" ] })]
  }

};

Create a middleware in api/policies folder in the following format.

//-- api/policies/allow.js

module.exports = function(options) {

  return function(req, res, next) {
    console.log("allow options:", options);
    next();
  };

};

Default format still works as expected.

//-- api/policies/isLoggedIn.js

module.exports = function(req, res, next) {

  console.log("Typical middleware");
  next();

};
0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago